diff --git a/js/main.js b/js/main.js index 70145f73..5ae7aab7 100644 --- a/js/main.js +++ b/js/main.js @@ -103,11 +103,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _str /*!**********************************!*\ !*** ./src/builtins/builtins.js ***! \**********************************/ -/*! exports provided: VoiceMode, ClassNormalizer, DeveloperMode, PublicServers, DarkMode, MinimalMode, TwentyFourHour, ColoredText, VoiceDisconnect, EmoteMenu, EmoteAutocaps, EmoteModule */ +/*! exports provided: VoiceMode, ClassNormalizer, DeveloperMode, PublicServers, DarkMode, MinimalMode, TwentyFourHour, ColoredText, VoiceDisconnect, EmoteMenu, EmoteAutocaps, EmoteModule, WindowPrefs, CustomCSS */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _voicemode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./voicemode */ \"./src/builtins/voicemode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VoiceMode\", function() { return _voicemode__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _classnormalizer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./classnormalizer */ \"./src/builtins/classnormalizer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClassNormalizer\", function() { return _classnormalizer__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _developermode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./developermode */ \"./src/builtins/developermode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DeveloperMode\", function() { return _developermode__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _publicservers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./publicservers */ \"./src/builtins/publicservers.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PublicServers\", function() { return _publicservers__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _darkmode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./darkmode */ \"./src/builtins/darkmode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DarkMode\", function() { return _darkmode__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _minimalmode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./minimalmode */ \"./src/builtins/minimalmode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MinimalMode\", function() { return _minimalmode__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _24hour__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./24hour */ \"./src/builtins/24hour.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TwentyFourHour\", function() { return _24hour__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _coloredtext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./coloredtext */ \"./src/builtins/coloredtext.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ColoredText\", function() { return _coloredtext__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _voicedisconnect__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./voicedisconnect */ \"./src/builtins/voicedisconnect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VoiceDisconnect\", function() { return _voicedisconnect__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _emotemenu__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./emotemenu */ \"./src/builtins/emotemenu.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteMenu\", function() { return _emotemenu__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _emoteautocaps__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./emoteautocaps */ \"./src/builtins/emoteautocaps.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteAutocaps\", function() { return _emoteautocaps__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _emotes__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./emotes */ \"./src/builtins/emotes.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteModule\", function() { return _emotes__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2J1aWx0aW5zLmpzPzU5YTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vc3JjL2J1aWx0aW5zL2J1aWx0aW5zLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtkZWZhdWx0IGFzIFZvaWNlTW9kZX0gZnJvbSBcIi4vdm9pY2Vtb2RlXCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBDbGFzc05vcm1hbGl6ZXJ9IGZyb20gXCIuL2NsYXNzbm9ybWFsaXplclwiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgRGV2ZWxvcGVyTW9kZX0gZnJvbSBcIi4vZGV2ZWxvcGVybW9kZVwiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgUHVibGljU2VydmVyc30gZnJvbSBcIi4vcHVibGljc2VydmVyc1wiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgRGFya01vZGV9IGZyb20gXCIuL2Rhcmttb2RlXCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNaW5pbWFsTW9kZX0gZnJvbSBcIi4vbWluaW1hbG1vZGVcIjtcclxuZXhwb3J0IHtkZWZhdWx0IGFzIFR3ZW50eUZvdXJIb3VyfSBmcm9tIFwiLi8yNGhvdXJcIjtcclxuZXhwb3J0IHtkZWZhdWx0IGFzIENvbG9yZWRUZXh0fSBmcm9tIFwiLi9jb2xvcmVkdGV4dFwiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgVm9pY2VEaXNjb25uZWN0fSBmcm9tIFwiLi92b2ljZWRpc2Nvbm5lY3RcIjtcclxuZXhwb3J0IHtkZWZhdWx0IGFzIEVtb3RlTWVudX0gZnJvbSBcIi4vZW1vdGVtZW51XCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBFbW90ZUF1dG9jYXBzfSBmcm9tIFwiLi9lbW90ZWF1dG9jYXBzXCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBFbW90ZU1vZHVsZX0gZnJvbSBcIi4vZW1vdGVzXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/builtins/builtins.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _voicemode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./voicemode */ \"./src/builtins/voicemode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VoiceMode\", function() { return _voicemode__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _classnormalizer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./classnormalizer */ \"./src/builtins/classnormalizer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClassNormalizer\", function() { return _classnormalizer__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _developermode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./developermode */ \"./src/builtins/developermode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DeveloperMode\", function() { return _developermode__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _publicservers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./publicservers */ \"./src/builtins/publicservers.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PublicServers\", function() { return _publicservers__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _darkmode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./darkmode */ \"./src/builtins/darkmode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DarkMode\", function() { return _darkmode__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _minimalmode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./minimalmode */ \"./src/builtins/minimalmode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MinimalMode\", function() { return _minimalmode__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _24hour__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./24hour */ \"./src/builtins/24hour.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TwentyFourHour\", function() { return _24hour__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _coloredtext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./coloredtext */ \"./src/builtins/coloredtext.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ColoredText\", function() { return _coloredtext__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _voicedisconnect__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./voicedisconnect */ \"./src/builtins/voicedisconnect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VoiceDisconnect\", function() { return _voicedisconnect__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _emotemenu__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./emotemenu */ \"./src/builtins/emotemenu.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteMenu\", function() { return _emotemenu__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _emoteautocaps__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./emoteautocaps */ \"./src/builtins/emoteautocaps.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteAutocaps\", function() { return _emoteautocaps__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _emotes__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./emotes */ \"./src/builtins/emotes.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteModule\", function() { return _emotes__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _windowprefs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./windowprefs */ \"./src/builtins/windowprefs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WindowPrefs\", function() { return _windowprefs__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _customcss__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./customcss */ \"./src/builtins/customcss.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomCSS\", function() { return _customcss__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2J1aWx0aW5zLmpzPzU5YTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL3NyYy9idWlsdGlucy9idWlsdGlucy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7ZGVmYXVsdCBhcyBWb2ljZU1vZGV9IGZyb20gXCIuL3ZvaWNlbW9kZVwiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgQ2xhc3NOb3JtYWxpemVyfSBmcm9tIFwiLi9jbGFzc25vcm1hbGl6ZXJcIjtcclxuZXhwb3J0IHtkZWZhdWx0IGFzIERldmVsb3Blck1vZGV9IGZyb20gXCIuL2RldmVsb3Blcm1vZGVcIjtcclxuZXhwb3J0IHtkZWZhdWx0IGFzIFB1YmxpY1NlcnZlcnN9IGZyb20gXCIuL3B1YmxpY3NlcnZlcnNcIjtcclxuZXhwb3J0IHtkZWZhdWx0IGFzIERhcmtNb2RlfSBmcm9tIFwiLi9kYXJrbW9kZVwiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgTWluaW1hbE1vZGV9IGZyb20gXCIuL21pbmltYWxtb2RlXCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBUd2VudHlGb3VySG91cn0gZnJvbSBcIi4vMjRob3VyXCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBDb2xvcmVkVGV4dH0gZnJvbSBcIi4vY29sb3JlZHRleHRcIjtcclxuZXhwb3J0IHtkZWZhdWx0IGFzIFZvaWNlRGlzY29ubmVjdH0gZnJvbSBcIi4vdm9pY2VkaXNjb25uZWN0XCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBFbW90ZU1lbnV9IGZyb20gXCIuL2Vtb3RlbWVudVwiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgRW1vdGVBdXRvY2Fwc30gZnJvbSBcIi4vZW1vdGVhdXRvY2Fwc1wiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgRW1vdGVNb2R1bGV9IGZyb20gXCIuL2Vtb3Rlc1wiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgV2luZG93UHJlZnN9IGZyb20gXCIuL3dpbmRvd3ByZWZzXCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBDdXN0b21DU1N9IGZyb20gXCIuL2N1c3RvbWNzc1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/builtins.js\n"); /***/ }), @@ -135,6 +135,18 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _str /***/ }), +/***/ "./src/builtins/customcss.js": +/*!***********************************!*\ + !*** ./src/builtins/customcss.js ***! + \***********************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _ui_customcss_editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui/customcss/editor */ \"./src/ui/customcss/editor.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class CustomCSS extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"Custom CSS\";\n }\n\n get category() {\n return \"customcss\";\n }\n\n get id() {\n return \"customcss\";\n }\n\n enabled() {\n modules__WEBPACK_IMPORTED_MODULE_1__[\"Settings\"].registerPanel(this.id, this.name, {\n element: _ui_customcss_editor__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n order: 2\n });\n }\n\n disabled() {\n modules__WEBPACK_IMPORTED_MODULE_1__[\"Settings\"].removePanel(this.id);\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2N1c3RvbWNzcy5qcz9jM2YyIl0sIm5hbWVzIjpbIkN1c3RvbUNTUyIsIkJ1aWx0aW4iLCJuYW1lIiwiY2F0ZWdvcnkiLCJpZCIsImVuYWJsZWQiLCJTZXR0aW5ncyIsInJlZ2lzdGVyUGFuZWwiLCJlbGVtZW50IiwiQ1NTRWRpdG9yIiwib3JkZXIiLCJkaXNhYmxlZCIsInJlbW92ZVBhbmVsIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVlLG1FQUFJLE1BQU1BLFNBQU4sU0FBd0JDLHdEQUF4QixDQUFnQztBQUMvQyxNQUFJQyxJQUFKLEdBQVc7QUFBQyxXQUFPLFlBQVA7QUFBcUI7O0FBQ2pDLE1BQUlDLFFBQUosR0FBZTtBQUFDLFdBQU8sV0FBUDtBQUFvQjs7QUFDcEMsTUFBSUMsRUFBSixHQUFTO0FBQUMsV0FBTyxXQUFQO0FBQW9COztBQUU5QkMsU0FBTyxHQUFHO0FBQ05DLG9EQUFRLENBQUNDLGFBQVQsQ0FBdUIsS0FBS0gsRUFBNUIsRUFBZ0MsS0FBS0YsSUFBckMsRUFBMkM7QUFDdkNNLGFBQU8sRUFBRUMsNERBRDhCO0FBRXZDQyxXQUFLLEVBQUU7QUFGZ0MsS0FBM0M7QUFJSDs7QUFFREMsVUFBUSxHQUFHO0FBQ1BMLG9EQUFRLENBQUNNLFdBQVQsQ0FBcUIsS0FBS1IsRUFBMUI7QUFDSDs7QUFkOEMsQ0FBcEMsRUFBZiIsImZpbGUiOiIuL3NyYy9idWlsdGlucy9jdXN0b21jc3MuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnVpbHRpbiBmcm9tIFwiLi4vc3RydWN0cy9idWlsdGluXCI7XHJcbmltcG9ydCB7U2V0dGluZ3N9IGZyb20gXCJtb2R1bGVzXCI7XHJcbmltcG9ydCBDU1NFZGl0b3IgZnJvbSBcIi4uL3VpL2N1c3RvbWNzcy9lZGl0b3JcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBDdXN0b21DU1MgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIkN1c3RvbSBDU1NcIjt9XHJcbiAgICBnZXQgY2F0ZWdvcnkoKSB7cmV0dXJuIFwiY3VzdG9tY3NzXCI7fVxyXG4gICAgZ2V0IGlkKCkge3JldHVybiBcImN1c3RvbWNzc1wiO31cclxuXHJcbiAgICBlbmFibGVkKCkge1xyXG4gICAgICAgIFNldHRpbmdzLnJlZ2lzdGVyUGFuZWwodGhpcy5pZCwgdGhpcy5uYW1lLCB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQ6IENTU0VkaXRvcixcclxuICAgICAgICAgICAgb3JkZXI6IDJcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNhYmxlZCgpIHtcclxuICAgICAgICBTZXR0aW5ncy5yZW1vdmVQYW5lbCh0aGlzLmlkKTtcclxuICAgIH1cclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/builtins/customcss.js\n"); + +/***/ }), + /***/ "./src/builtins/darkmode.js": /*!**********************************!*\ !*** ./src/builtins/darkmode.js ***! @@ -243,6 +255,18 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _str /***/ }), +/***/ "./src/builtins/windowprefs.js": +/*!*************************************!*\ + !*** ./src/builtins/windowprefs.js ***! + \*************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n\n\nconst fs = __webpack_require__(/*! fs */ \"fs\");\n\nconst path = __webpack_require__(/*! path */ \"path\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class WindowPrefs extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"WindowPrefs\";\n }\n\n get category() {\n return \"window\";\n }\n\n get id() {\n return \"transparency\";\n }\n\n get WindowConfigFile() {\n if (this._windowConfigFile) return this._windowConfigFile;\n\n const electron = __webpack_require__(/*! electron */ \"electron\").remote.app;\n\n const base = electron.getAppPath();\n const roamingBase = electron.getPath(\"userData\");\n const roamingLocation = path.resolve(roamingBase, electron.getVersion(), \"modules\", \"discord_desktop_core\", \"injector\", \"config.json\");\n const location = path.resolve(base, \"..\", \"app\", \"config.json\");\n const realLocation = fs.existsSync(location) ? location : fs.existsSync(roamingLocation) ? roamingLocation : null;\n if (!realLocation) return this._windowConfigFile = null;\n return this._windowConfigFile = realLocation;\n }\n\n enabled() {\n this.setWindowPreference(\"transparency\", true);\n this.setWindowPreference(\"backgroundColor\", null);\n }\n\n disabled() {\n this.setWindowPreference(\"transparency\", false);\n this.setWindowPreference(\"backgroundColor\", \"#2f3136\");\n }\n\n getAllWindowPreferences() {\n if (!this.WindowConfigFile) return {};\n return require(this.WindowConfigFile);\n }\n\n getWindowPreference(key) {\n if (!this.WindowConfigFile) return undefined;\n return this.getAllWindowPreferences()[key];\n }\n\n setWindowPreference(key, value) {\n if (!this.WindowConfigFile) return;\n const prefs = this.getAllWindowPreferences();\n prefs[key] = value;\n delete __webpack_require__.c[this.WindowConfigFile];\n fs.writeFileSync(this.WindowConfigFile, JSON.stringify(prefs, null, 4));\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL3dpbmRvd3ByZWZzLmpzP2I0YTciXSwibmFtZXMiOlsiZnMiLCJyZXF1aXJlIiwicGF0aCIsIldpbmRvd1ByZWZzIiwiQnVpbHRpbiIsIm5hbWUiLCJjYXRlZ29yeSIsImlkIiwiV2luZG93Q29uZmlnRmlsZSIsIl93aW5kb3dDb25maWdGaWxlIiwiZWxlY3Ryb24iLCJyZW1vdGUiLCJhcHAiLCJiYXNlIiwiZ2V0QXBwUGF0aCIsInJvYW1pbmdCYXNlIiwiZ2V0UGF0aCIsInJvYW1pbmdMb2NhdGlvbiIsInJlc29sdmUiLCJnZXRWZXJzaW9uIiwibG9jYXRpb24iLCJyZWFsTG9jYXRpb24iLCJleGlzdHNTeW5jIiwiZW5hYmxlZCIsInNldFdpbmRvd1ByZWZlcmVuY2UiLCJkaXNhYmxlZCIsImdldEFsbFdpbmRvd1ByZWZlcmVuY2VzIiwiX19ub25fd2VicGFja19yZXF1aXJlX18iLCJnZXRXaW5kb3dQcmVmZXJlbmNlIiwia2V5IiwidW5kZWZpbmVkIiwidmFsdWUiLCJwcmVmcyIsIndyaXRlRmlsZVN5bmMiLCJKU09OIiwic3RyaW5naWZ5Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7O0FBRUEsTUFBTUEsRUFBRSxHQUFHQyxtQkFBTyxDQUFDLGNBQUQsQ0FBbEI7O0FBQ0EsTUFBTUMsSUFBSSxHQUFHRCxtQkFBTyxDQUFDLGtCQUFELENBQXBCOztBQUVlLG1FQUFJLE1BQU1FLFdBQU4sU0FBMEJDLHdEQUExQixDQUFrQztBQUNqRCxNQUFJQyxJQUFKLEdBQVc7QUFBQyxXQUFPLGFBQVA7QUFBc0I7O0FBQ2xDLE1BQUlDLFFBQUosR0FBZTtBQUFDLFdBQU8sUUFBUDtBQUFpQjs7QUFDakMsTUFBSUMsRUFBSixHQUFTO0FBQUMsV0FBTyxjQUFQO0FBQXVCOztBQUVqQyxNQUFJQyxnQkFBSixHQUF1QjtBQUNuQixRQUFJLEtBQUtDLGlCQUFULEVBQTRCLE9BQU8sS0FBS0EsaUJBQVo7O0FBQzVCLFVBQU1DLFFBQVEsR0FBR1QsbUJBQU8sQ0FBQywwQkFBRCxDQUFQLENBQW9CVSxNQUFwQixDQUEyQkMsR0FBNUM7O0FBQ0EsVUFBTUMsSUFBSSxHQUFHSCxRQUFRLENBQUNJLFVBQVQsRUFBYjtBQUNBLFVBQU1DLFdBQVcsR0FBR0wsUUFBUSxDQUFDTSxPQUFULENBQWlCLFVBQWpCLENBQXBCO0FBQ0EsVUFBTUMsZUFBZSxHQUFHZixJQUFJLENBQUNnQixPQUFMLENBQWFILFdBQWIsRUFBMEJMLFFBQVEsQ0FBQ1MsVUFBVCxFQUExQixFQUFpRCxTQUFqRCxFQUE0RCxzQkFBNUQsRUFBb0YsVUFBcEYsRUFBZ0csYUFBaEcsQ0FBeEI7QUFDQSxVQUFNQyxRQUFRLEdBQUdsQixJQUFJLENBQUNnQixPQUFMLENBQWFMLElBQWIsRUFBbUIsSUFBbkIsRUFBeUIsS0FBekIsRUFBZ0MsYUFBaEMsQ0FBakI7QUFDQSxVQUFNUSxZQUFZLEdBQUdyQixFQUFFLENBQUNzQixVQUFILENBQWNGLFFBQWQsSUFBMEJBLFFBQTFCLEdBQXFDcEIsRUFBRSxDQUFDc0IsVUFBSCxDQUFjTCxlQUFkLElBQWlDQSxlQUFqQyxHQUFtRCxJQUE3RztBQUNBLFFBQUksQ0FBQ0ksWUFBTCxFQUFtQixPQUFPLEtBQUtaLGlCQUFMLEdBQXlCLElBQWhDO0FBQ25CLFdBQU8sS0FBS0EsaUJBQUwsR0FBeUJZLFlBQWhDO0FBQ0g7O0FBRURFLFNBQU8sR0FBRztBQUNOLFNBQUtDLG1CQUFMLENBQXlCLGNBQXpCLEVBQXlDLElBQXpDO0FBQ0EsU0FBS0EsbUJBQUwsQ0FBeUIsaUJBQXpCLEVBQTRDLElBQTVDO0FBQ0g7O0FBRURDLFVBQVEsR0FBRztBQUNQLFNBQUtELG1CQUFMLENBQXlCLGNBQXpCLEVBQXlDLEtBQXpDO0FBQ0EsU0FBS0EsbUJBQUwsQ0FBeUIsaUJBQXpCLEVBQTRDLFNBQTVDO0FBQ0g7O0FBRURFLHlCQUF1QixHQUFHO0FBQ3RCLFFBQUksQ0FBQyxLQUFLbEIsZ0JBQVYsRUFBNEIsT0FBTyxFQUFQO0FBQzVCLFdBQU9tQixPQUF1QixDQUFDLEtBQUtuQixnQkFBTixDQUE5QjtBQUNIOztBQUVEb0IscUJBQW1CLENBQUNDLEdBQUQsRUFBTTtBQUNyQixRQUFJLENBQUMsS0FBS3JCLGdCQUFWLEVBQTRCLE9BQU9zQixTQUFQO0FBQzVCLFdBQU8sS0FBS0osdUJBQUwsR0FBK0JHLEdBQS9CLENBQVA7QUFDSDs7QUFFREwscUJBQW1CLENBQUNLLEdBQUQsRUFBTUUsS0FBTixFQUFhO0FBQzVCLFFBQUksQ0FBQyxLQUFLdkIsZ0JBQVYsRUFBNEI7QUFDNUIsVUFBTXdCLEtBQUssR0FBRyxLQUFLTix1QkFBTCxFQUFkO0FBQ0FNLFNBQUssQ0FBQ0gsR0FBRCxDQUFMLEdBQWFFLEtBQWI7QUFDQSxXQUFPOUIscUJBQUEsQ0FBYyxLQUFLTyxnQkFBbkIsQ0FBUDtBQUNBUixNQUFFLENBQUNpQyxhQUFILENBQWlCLEtBQUt6QixnQkFBdEIsRUFBd0MwQixJQUFJLENBQUNDLFNBQUwsQ0FBZUgsS0FBZixFQUFzQixJQUF0QixFQUE0QixDQUE1QixDQUF4QztBQUNIOztBQTNDZ0QsQ0FBdEMsRUFBZiIsImZpbGUiOiIuL3NyYy9idWlsdGlucy93aW5kb3dwcmVmcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsdGluIGZyb20gXCIuLi9zdHJ1Y3RzL2J1aWx0aW5cIjtcclxuXHJcbmNvbnN0IGZzID0gcmVxdWlyZShcImZzXCIpO1xyXG5jb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBuZXcgY2xhc3MgV2luZG93UHJlZnMgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIldpbmRvd1ByZWZzXCI7fVxyXG4gICAgZ2V0IGNhdGVnb3J5KCkge3JldHVybiBcIndpbmRvd1wiO31cclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJ0cmFuc3BhcmVuY3lcIjt9XHJcblxyXG4gICAgZ2V0IFdpbmRvd0NvbmZpZ0ZpbGUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3dpbmRvd0NvbmZpZ0ZpbGUpIHJldHVybiB0aGlzLl93aW5kb3dDb25maWdGaWxlO1xyXG4gICAgICAgIGNvbnN0IGVsZWN0cm9uID0gcmVxdWlyZShcImVsZWN0cm9uXCIpLnJlbW90ZS5hcHA7XHJcbiAgICAgICAgY29uc3QgYmFzZSA9IGVsZWN0cm9uLmdldEFwcFBhdGgoKTtcclxuICAgICAgICBjb25zdCByb2FtaW5nQmFzZSA9IGVsZWN0cm9uLmdldFBhdGgoXCJ1c2VyRGF0YVwiKTtcclxuICAgICAgICBjb25zdCByb2FtaW5nTG9jYXRpb24gPSBwYXRoLnJlc29sdmUocm9hbWluZ0Jhc2UsIGVsZWN0cm9uLmdldFZlcnNpb24oKSwgXCJtb2R1bGVzXCIsIFwiZGlzY29yZF9kZXNrdG9wX2NvcmVcIiwgXCJpbmplY3RvclwiLCBcImNvbmZpZy5qc29uXCIpO1xyXG4gICAgICAgIGNvbnN0IGxvY2F0aW9uID0gcGF0aC5yZXNvbHZlKGJhc2UsIFwiLi5cIiwgXCJhcHBcIiwgXCJjb25maWcuanNvblwiKTtcclxuICAgICAgICBjb25zdCByZWFsTG9jYXRpb24gPSBmcy5leGlzdHNTeW5jKGxvY2F0aW9uKSA/IGxvY2F0aW9uIDogZnMuZXhpc3RzU3luYyhyb2FtaW5nTG9jYXRpb24pID8gcm9hbWluZ0xvY2F0aW9uIDogbnVsbDtcclxuICAgICAgICBpZiAoIXJlYWxMb2NhdGlvbikgcmV0dXJuIHRoaXMuX3dpbmRvd0NvbmZpZ0ZpbGUgPSBudWxsO1xyXG4gICAgICAgIHJldHVybiB0aGlzLl93aW5kb3dDb25maWdGaWxlID0gcmVhbExvY2F0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGVuYWJsZWQoKSB7XHJcbiAgICAgICAgdGhpcy5zZXRXaW5kb3dQcmVmZXJlbmNlKFwidHJhbnNwYXJlbmN5XCIsIHRydWUpO1xyXG4gICAgICAgIHRoaXMuc2V0V2luZG93UHJlZmVyZW5jZShcImJhY2tncm91bmRDb2xvclwiLCBudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNhYmxlZCgpIHtcclxuICAgICAgICB0aGlzLnNldFdpbmRvd1ByZWZlcmVuY2UoXCJ0cmFuc3BhcmVuY3lcIiwgZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuc2V0V2luZG93UHJlZmVyZW5jZShcImJhY2tncm91bmRDb2xvclwiLCBcIiMyZjMxMzZcIik7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QWxsV2luZG93UHJlZmVyZW5jZXMoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLldpbmRvd0NvbmZpZ0ZpbGUpIHJldHVybiB7fTtcclxuICAgICAgICByZXR1cm4gX19ub25fd2VicGFja19yZXF1aXJlX18odGhpcy5XaW5kb3dDb25maWdGaWxlKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRXaW5kb3dQcmVmZXJlbmNlKGtleSkge1xyXG4gICAgICAgIGlmICghdGhpcy5XaW5kb3dDb25maWdGaWxlKSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEFsbFdpbmRvd1ByZWZlcmVuY2VzKClba2V5XTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRXaW5kb3dQcmVmZXJlbmNlKGtleSwgdmFsdWUpIHtcclxuICAgICAgICBpZiAoIXRoaXMuV2luZG93Q29uZmlnRmlsZSkgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IHByZWZzID0gdGhpcy5nZXRBbGxXaW5kb3dQcmVmZXJlbmNlcygpO1xyXG4gICAgICAgIHByZWZzW2tleV0gPSB2YWx1ZTtcclxuICAgICAgICBkZWxldGUgcmVxdWlyZS5jYWNoZVt0aGlzLldpbmRvd0NvbmZpZ0ZpbGVdO1xyXG4gICAgICAgIGZzLndyaXRlRmlsZVN5bmModGhpcy5XaW5kb3dDb25maWdGaWxlLCBKU09OLnN0cmluZ2lmeShwcmVmcywgbnVsbCwgNCkpO1xyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/windowprefs.js\n"); + +/***/ }), + /***/ "./src/data/config.js": /*!****************************!*\ !*** ./src/data/config.js ***! @@ -299,7 +323,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ([{\n type: \"category\",\n id: \"general\",\n name: \"General\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"emotes\",\n name: \"Emote System\",\n note: \"Enables BD's emote system\",\n value: true\n }, {\n type: \"switch\",\n id: \"publicServers\",\n name: \"Public Servers\",\n note: \"Display public servers button\",\n value: true\n }, {\n type: \"switch\",\n id: \"voiceDisconnect\",\n name: \"Voice Disconnect\",\n note: \"Disconnect from voice server when closing Discord\",\n value: false\n }, {\n type: \"switch\",\n id: \"twentyFourHour\",\n name: \"24 Hour Timestamps\",\n note: \"Hides channels when in minimal mode\",\n value: false\n }, {\n type: \"switch\",\n id: \"classNormalizer\",\n name: \"Normalize Classes\",\n note: \"Adds stable classes to elements to help themes. (e.g. adds .da-channels to .channels-Ie2l6A)\",\n value: true\n }, {\n type: \"switch\",\n id: \"showToasts\",\n name: \"Show Toasts\",\n note: \"Shows a small notification for important information\",\n value: true\n }]\n}, {\n type: \"category\",\n id: \"appearance\",\n name: \"Appearance\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"voiceMode\",\n name: \"Voice Mode\",\n note: \"Hides everything that isn't voice chat\",\n value: false\n }, {\n type: \"switch\",\n id: \"minimalMode\",\n name: \"Minimal Mode\",\n note: \"Hide elements and reduce the size of elements\",\n value: false\n }, {\n type: \"switch\",\n id: \"hideChannels\",\n name: \"Hide Channels\",\n note: \"Hides channels when in minimal mode\",\n value: false,\n enableWith: \"minimalMode\"\n }, {\n type: \"switch\",\n id: \"darkMode\",\n name: \"Dark Mode\",\n note: \"Make certain elements dark by default\",\n value: true\n }, {\n type: \"switch\",\n id: \"coloredText\",\n name: \"Colored Text\",\n note: \"Make text colour the same as role color\",\n value: false\n }]\n}, {\n type: \"category\",\n id: \"content\",\n name: \"Content Manager\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"contentErrors\",\n name: \"Show Content Errors\",\n note: \"Shows a modal with plugin/theme errors\",\n value: true\n }, {\n type: \"switch\",\n id: \"autoScroll\",\n name: \"Scroll To Settings\",\n note: \"Auto-scrolls to a plugin's settings when the button is clicked (only if out of view)\",\n value: true\n }, {\n type: \"switch\",\n id: \"autoReload\",\n name: \"Automatic Loading\",\n note: \"Automatically loads, reloads, and unloads plugins and themes\",\n value: true\n }]\n}, {\n type: \"category\",\n id: \"developer\",\n name: \"Developer Settings\",\n collapsible: true,\n shown: false,\n settings: [{\n type: \"switch\",\n id: \"developerMode\",\n name: \"Developer Mode\",\n note: \"Allows activating debugger when pressing F8\",\n value: false\n }, {\n type: \"switch\",\n id: \"copySelector\",\n name: \"Copy Selector\",\n note: \"Adds a \\\"Copy Selector\\\" option to context menus when developer mode is active\",\n value: false,\n enableWith: \"developerMode\"\n }]\n}, {\n type: \"category\",\n id: \"window\",\n name: \"Window Preferences\",\n collapsible: true,\n shown: false,\n settings: [{\n type: \"switch\",\n id: \"transparency\",\n name: \"Enable Transparency\",\n note: \"Enables the main window to be see-through (requires restart)\",\n value: false\n }, {\n type: \"switch\",\n id: \"frame\",\n name: \"Window Frame\",\n note: \"Adds the native os window frame to the main window\",\n value: false,\n hidden: true\n }]\n}]);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2RhdGEvc2V0dGluZ3MvY29uZmlnLmpzP2ZmOGUiXSwibmFtZXMiOlsidHlwZSIsImlkIiwibmFtZSIsImNvbGxhcHNpYmxlIiwic2V0dGluZ3MiLCJub3RlIiwidmFsdWUiLCJlbmFibGVXaXRoIiwic2hvd24iLCJoaWRkZW4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQWUsZ0VBQ1g7QUFDSUEsTUFBSSxFQUFFLFVBRFY7QUFFSUMsSUFBRSxFQUFFLFNBRlI7QUFHSUMsTUFBSSxFQUFFLFNBSFY7QUFJSUMsYUFBVyxFQUFFLElBSmpCO0FBS0lDLFVBQVEsRUFBRSxDQUNOO0FBQ0lKLFFBQUksRUFBRSxRQURWO0FBRUlDLE1BQUUsRUFBRSxRQUZSO0FBR0lDLFFBQUksRUFBRSxjQUhWO0FBSUlHLFFBQUksRUFBRSwyQkFKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQURNLEVBUU47QUFDSU4sUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLGVBRlI7QUFHSUMsUUFBSSxFQUFFLGdCQUhWO0FBSUlHLFFBQUksRUFBRSwrQkFKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQVJNLEVBZU47QUFDSU4sUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLGlCQUZSO0FBR0lDLFFBQUksRUFBRSxrQkFIVjtBQUlJRyxRQUFJLEVBQUUsbURBSlY7QUFLSUMsU0FBSyxFQUFFO0FBTFgsR0FmTSxFQXNCTjtBQUNJTixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsZ0JBRlI7QUFHSUMsUUFBSSxFQUFFLG9CQUhWO0FBSUlHLFFBQUksRUFBRSxxQ0FKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQXRCTSxFQTZCTjtBQUNJTixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsaUJBRlI7QUFHSUMsUUFBSSxFQUFFLG1CQUhWO0FBSUlHLFFBQUksRUFBRSw4RkFKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQTdCTSxFQW9D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QUpqQjtBQUtJSyxPQUFLLEVBQUUsS0FMWDtBQU1JSixVQUFRLEVBQUUsQ0FDTjtBQUNJSixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsY0FGUjtBQUdJQyxRQUFJLEVBQUUscUJBSFY7QUFJSUcsUUFBSSxFQUFFLDhEQUpWO0FBS0lDLFNBQUssRUFBRTtBQUxYLEdBRE0sRUFRTjtBQUNJTixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsT0FGUjtBQUdJQyxRQUFJLEVBQUUsY0FIVjtBQUlJRyxRQUFJLEVBQUUsb0RBSlY7QUFLSUMsU0FBSyxFQUFFLEtBTFg7QUFNSUcsVUFBTSxFQUFFO0FBTlosR0FSTTtBQU5kLENBcEpXLENBQWYiLCJmaWxlIjoiLi9zcmMvZGF0YS9zZXR0aW5ncy9jb25maWcuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBbXHJcbiAgICB7XHJcbiAgICAgICAgdHlwZTogXCJjYXRlZ29yeVwiLFxyXG4gICAgICAgIGlkOiBcImdlbmVyYWxcIixcclxuICAgICAgICBuYW1lOiBcIkdlbmVyYWxcIixcclxuICAgICAgICBjb2xsYXBzaWJsZTogdHJ1ZSxcclxuICAgICAgICBzZXR0aW5nczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiZW1vdGVzXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkVtb3RlIFN5c3RlbVwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJFbmFibGVzIEJEJ3MgZW1vdGUgc3lzdGVtXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwicHVibGljU2VydmVyc1wiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJQdWJsaWMgU2VydmVyc1wiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJEaXNwbGF5IHB1YmxpYyBzZXJ2ZXJzIGJ1dHRvblwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcInZvaWNlRGlzY29ubmVjdFwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJWb2ljZSBEaXNjb25uZWN0XCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkRpc2Nvbm5lY3QgZnJvbSB2b2ljZSBzZXJ2ZXIgd2hlbiBjbG9zaW5nIERpc2NvcmRcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwidHdlbnR5Rm91ckhvdXJcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiMjQgSG91ciBUaW1lc3RhbXBzXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkhpZGVzIGNoYW5uZWxzIHdoZW4gaW4gbWluaW1hbCBtb2RlXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJjbGFzc05vcm1hbGl6ZXJcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiTm9ybWFsaXplIENsYXNzZXNcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiQWRkcyBzdGFibGUgY2xhc3NlcyB0byBlbGVtZW50cyB0byBoZWxwIHRoZW1lcy4gKGUuZy4gYWRkcyAuZGEtY2hhbm5lbHMgdG8gLmNoYW5uZWxzLUllMmw2QSlcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJzaG93VG9hc3RzXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIlNob3cgVG9hc3RzXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIlNob3dzIGEgc21hbGwgbm90aWZpY2F0aW9uIGZvciBpbXBvcnRhbnQgaW5mb3JtYXRpb25cIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHR5cGU6IFwiY2F0ZWdvcnlcIixcclxuICAgICAgICBpZDogXCJhcHBlYXJhbmNlXCIsXHJcbiAgICAgICAgbmFtZTogXCJBcHBlYXJhbmNlXCIsXHJcbiAgICAgICAgY29sbGFwc2libGU6IHRydWUsXHJcbiAgICAgICAgc2V0dGluZ3M6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcInZvaWNlTW9kZVwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJWb2ljZSBNb2RlXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkhpZGVzIGV2ZXJ5dGhpbmcgdGhhdCBpc24ndCB2b2ljZSBjaGF0XCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2VcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcIm1pbmltYWxNb2RlXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIk1pbmltYWwgTW9kZVwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJIaWRlIGVsZW1lbnRzIGFuZCByZWR1Y2UgdGhlIHNpemUgb2YgZWxlbWVudHNcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiaGlkZUNoYW5uZWxzXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkhpZGUgQ2hhbm5lbHNcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiSGlkZXMgY2hhbm5lbHMgd2hlbiBpbiBtaW5pbWFsIG1vZGVcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGVuYWJsZVdpdGg6IFwibWluaW1hbE1vZGVcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiZGFya01vZGVcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiRGFyayBNb2RlXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIk1ha2UgY2VydGFpbiBlbGVtZW50cyBkYXJrIGJ5IGRlZmF1bHRcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJjb2xvcmVkVGV4dFwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJDb2xvcmVkIFRleHRcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiTWFrZSB0ZXh0IGNvbG91ciB0aGUgc2FtZSBhcyByb2xlIGNvbG9yXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2VcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgdHlwZTogXCJjYXRlZ29yeVwiLFxyXG4gICAgICAgIGlkOiBcImNvbnRlbnRcIixcclxuICAgICAgICBuYW1lOiBcIkNvbnRlbnQgTWFuYWdlclwiLFxyXG4gICAgICAgIGNvbGxhcHNpYmxlOiB0cnVlLFxyXG4gICAgICAgIHNldHRpbmdzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJjb250ZW50RXJyb3JzXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIlNob3cgQ29udGVudCBFcnJvcnNcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiU2hvd3MgYSBtb2RhbCB3aXRoIHBsdWdpbi90aGVtZSBlcnJvcnNcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJhdXRvU2Nyb2xsXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIlNjcm9sbCBUbyBTZXR0aW5nc1wiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJBdXRvLXNjcm9sbHMgdG8gYSBwbHVnaW4ncyBzZXR0aW5ncyB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZCAob25seSBpZiBvdXQgb2YgdmlldylcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJhdXRvUmVsb2FkXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkF1dG9tYXRpYyBMb2FkaW5nXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkF1dG9tYXRpY2FsbHkgbG9hZHMsIHJlbG9hZHMsIGFuZCB1bmxvYWRzIHBsdWdpbnMgYW5kIHRoZW1lc1wiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgdHlwZTogXCJjYXRlZ29yeVwiLFxyXG4gICAgICAgIGlkOiBcImRldmVsb3BlclwiLFxyXG4gICAgICAgIG5hbWU6IFwiRGV2ZWxvcGVyIFNldHRpbmdzXCIsXHJcbiAgICAgICAgY29sbGFwc2libGU6IHRydWUsXHJcbiAgICAgICAgc2hvd246IGZhbHNlLFxyXG4gICAgICAgIHNldHRpbmdzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJkZXZlbG9wZXJNb2RlXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkRldmVsb3BlciBNb2RlXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkFsbG93cyBhY3RpdmF0aW5nIGRlYnVnZ2VyIHdoZW4gcHJlc3NpbmcgRjhcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiY29weVNlbGVjdG9yXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkNvcHkgU2VsZWN0b3JcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiQWRkcyBhIFxcXCJDb3B5IFNlbGVjdG9yXFxcIiBvcHRpb24gdG8gY29udGV4dCBtZW51cyB3aGVuIGRldmVsb3BlciBtb2RlIGlzIGFjdGl2ZVwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgZW5hYmxlV2l0aDogXCJkZXZlbG9wZXJNb2RlXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgdHlwZTogXCJjYXRlZ29yeVwiLFxyXG4gICAgICAgIGlkOiBcIndpbmRvd1wiLFxyXG4gICAgICAgIG5hbWU6IFwiV2luZG93IFByZWZlcmVuY2VzXCIsXHJcbiAgICAgICAgY29sbGFwc2libGU6IHRydWUsXHJcbiAgICAgICAgc2hvd246IGZhbHNlLFxyXG4gICAgICAgIHNldHRpbmdzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJ0cmFuc3BhcmVuY3lcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiRW5hYmxlIFRyYW5zcGFyZW5jeVwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJFbmFibGVzIHRoZSBtYWluIHdpbmRvdyB0byBiZSBzZWUtdGhyb3VnaCAocmVxdWlyZXMgcmVzdGFydClcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiZnJhbWVcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiV2luZG93IEZyYW1lXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkFkZHMgdGhlIG5hdGl2ZSBvcyB3aW5kb3cgZnJhbWUgdG8gdGhlIG1haW4gd2luZG93XCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBoaWRkZW46IHRydWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgIH1cclxuXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/data/settings/config.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ([{\n type: \"category\",\n id: \"general\",\n name: \"General\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"emotes\",\n name: \"Emote System\",\n note: \"Enables BD's emote system\",\n value: true\n }, {\n type: \"switch\",\n id: \"publicServers\",\n name: \"Public Servers\",\n note: \"Display public servers button\",\n value: true\n }, {\n type: \"switch\",\n id: \"voiceDisconnect\",\n name: \"Voice Disconnect\",\n note: \"Disconnect from voice server when closing Discord\",\n value: false\n }, {\n type: \"switch\",\n id: \"twentyFourHour\",\n name: \"24 Hour Timestamps\",\n note: \"Hides channels when in minimal mode\",\n value: false\n }, {\n type: \"switch\",\n id: \"classNormalizer\",\n name: \"Normalize Classes\",\n note: \"Adds stable classes to elements to help themes. (e.g. adds .da-channels to .channels-Ie2l6A)\",\n value: true\n }, {\n type: \"switch\",\n id: \"showToasts\",\n name: \"Show Toasts\",\n note: \"Shows a small notification for important information\",\n value: true\n }]\n}, {\n type: \"category\",\n id: \"appearance\",\n name: \"Appearance\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"voiceMode\",\n name: \"Voice Mode\",\n note: \"Hides everything that isn't voice chat\",\n value: false\n }, {\n type: \"switch\",\n id: \"minimalMode\",\n name: \"Minimal Mode\",\n note: \"Hide elements and reduce the size of elements\",\n value: false\n }, {\n type: \"switch\",\n id: \"hideChannels\",\n name: \"Hide Channels\",\n note: \"Hides channels when in minimal mode\",\n value: false,\n enableWith: \"minimalMode\"\n }, {\n type: \"switch\",\n id: \"darkMode\",\n name: \"Dark Mode\",\n note: \"Make certain elements dark by default\",\n value: true\n }, {\n type: \"switch\",\n id: \"coloredText\",\n name: \"Colored Text\",\n note: \"Make text colour the same as role color\",\n value: false\n }]\n}, {\n type: \"category\",\n id: \"content\",\n name: \"Content Manager\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"contentErrors\",\n name: \"Show Content Errors\",\n note: \"Shows a modal with plugin/theme errors\",\n value: true\n }, {\n type: \"switch\",\n id: \"autoScroll\",\n name: \"Scroll To Settings\",\n note: \"Auto-scrolls to a plugin's settings when the button is clicked (only if out of view)\",\n value: true\n }, {\n type: \"switch\",\n id: \"autoReload\",\n name: \"Automatic Loading\",\n note: \"Automatically loads, reloads, and unloads plugins and themes\",\n value: true\n }]\n}, {\n type: \"category\",\n id: \"developer\",\n name: \"Developer Settings\",\n collapsible: true,\n shown: false,\n settings: [{\n type: \"switch\",\n id: \"developerMode\",\n name: \"Developer Mode\",\n note: \"Allows activating debugger when pressing F8\",\n value: false\n }, {\n type: \"switch\",\n id: \"copySelector\",\n name: \"Copy Selector\",\n note: \"Adds a \\\"Copy Selector\\\" option to context menus when developer mode is active\",\n value: false,\n enableWith: \"developerMode\"\n }]\n}, {\n type: \"category\",\n id: \"window\",\n name: \"Window Preferences\",\n collapsible: true,\n shown: false,\n settings: [{\n type: \"switch\",\n id: \"transparency\",\n name: \"Enable Transparency\",\n note: \"Enables the main window to be see-through (requires restart)\",\n value: false\n }, {\n type: \"switch\",\n id: \"frame\",\n name: \"Window Frame\",\n note: \"Adds the native os window frame to the main window\",\n value: false,\n hidden: true\n }]\n}, {\n type: \"category\",\n id: \"customcss\",\n name: \"Custom CSS\",\n collapsible: true,\n shown: false,\n settings: [{\n type: \"switch\",\n id: \"customcss\",\n name: \"Custom CSS\",\n note: \"Enables the Custom CSS tab\",\n value: true\n }, {\n type: \"switch\",\n id: \"liveUpdate\",\n name: \"Live Update\",\n note: \"Updates the css as you type\",\n value: false\n }, {\n type: \"switch\",\n id: \"startDetached\",\n name: \"Start Detached\",\n note: \"Clicking the Custom CSS tab opens the editor in a separate window\",\n value: false\n }, {\n type: \"switch\",\n id: \"nativeOpen\",\n name: \"Open in Native Editor\",\n note: \"Clicking the Custom CSS tab opens your custom css in your native editor\",\n value: false\n }]\n}]);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2RhdGEvc2V0dGluZ3MvY29uZmlnLmpzP2ZmOGUiXSwibmFtZXMiOlsidHlwZSIsImlkIiwibmFtZSIsImNvbGxhcHNpYmxlIiwic2V0dGluZ3MiLCJub3RlIiwidmFsdWUiLCJlbmFibGVXaXRoIiwic2hvd24iLCJoaWRkZW4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQWUsZ0VBQ1g7QUFDSUEsTUFBSSxFQUFFLFVBRFY7QUFFSUMsSUFBRSxFQUFFLFNBRlI7QUFHSUMsTUFBSSxFQUFFLFNBSFY7QUFJSUMsYUFBVyxFQUFFLElBSmpCO0FBS0lDLFVBQVEsRUFBRSxDQUNOO0FBQ0lKLFFBQUksRUFBRSxRQURWO0FBRUlDLE1BQUUsRUFBRSxRQUZSO0FBR0lDLFFBQUksRUFBRSxjQUhWO0FBSUlHLFFBQUksRUFBRSwyQkFKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQURNLEVBUU47QUFDSU4sUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLGVBRlI7QUFHSUMsUUFBSSxFQUFFLGdCQUhWO0FBSUlHLFFBQUksRUFBRSwrQkFKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQVJNLEVBZU47QUFDSU4sUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLGlCQUZSO0FBR0lDLFFBQUksRUFBRSxrQkFIVjtBQUlJRyxRQUFJLEVBQUUsbURBSlY7QUFLSUMsU0FBSyxFQUFFO0FBTFgsR0FmTSxFQXNCTjtBQUNJTixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsZ0JBRlI7QUFHSUMsUUFBSSxFQUFFLG9CQUhWO0FBSUlHLFFBQUksRUFBRSxxQ0FKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQXRCTSxFQTZCTjtBQUNJTixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsaUJBRlI7QUFHSUMsUUFBSSxFQUFFLG1CQUhWO0FBSUlHLFFBQUksRUFBRSw4RkFKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQTdCTSxFQW9D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Qk07QUFOZCxDQTVLVyxDQUFmIiwiZmlsZSI6Ii4vc3JjL2RhdGEvc2V0dGluZ3MvY29uZmlnLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgW1xyXG4gICAge1xyXG4gICAgICAgIHR5cGU6IFwiY2F0ZWdvcnlcIixcclxuICAgICAgICBpZDogXCJnZW5lcmFsXCIsXHJcbiAgICAgICAgbmFtZTogXCJHZW5lcmFsXCIsXHJcbiAgICAgICAgY29sbGFwc2libGU6IHRydWUsXHJcbiAgICAgICAgc2V0dGluZ3M6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImVtb3Rlc1wiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJFbW90ZSBTeXN0ZW1cIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiRW5hYmxlcyBCRCdzIGVtb3RlIHN5c3RlbVwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcInB1YmxpY1NlcnZlcnNcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiUHVibGljIFNlcnZlcnNcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiRGlzcGxheSBwdWJsaWMgc2VydmVycyBidXR0b25cIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJ2b2ljZURpc2Nvbm5lY3RcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiVm9pY2UgRGlzY29ubmVjdFwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJEaXNjb25uZWN0IGZyb20gdm9pY2Ugc2VydmVyIHdoZW4gY2xvc2luZyBEaXNjb3JkXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2VcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcInR3ZW50eUZvdXJIb3VyXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIjI0IEhvdXIgVGltZXN0YW1wc1wiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJIaWRlcyBjaGFubmVscyB3aGVuIGluIG1pbmltYWwgbW9kZVwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiY2xhc3NOb3JtYWxpemVyXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIk5vcm1hbGl6ZSBDbGFzc2VzXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkFkZHMgc3RhYmxlIGNsYXNzZXMgdG8gZWxlbWVudHMgdG8gaGVscCB0aGVtZXMuIChlLmcuIGFkZHMgLmRhLWNoYW5uZWxzIHRvIC5jaGFubmVscy1JZTJsNkEpXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwic2hvd1RvYXN0c1wiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJTaG93IFRvYXN0c1wiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJTaG93cyBhIHNtYWxsIG5vdGlmaWNhdGlvbiBmb3IgaW1wb3J0YW50IGluZm9ybWF0aW9uXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICB0eXBlOiBcImNhdGVnb3J5XCIsXHJcbiAgICAgICAgaWQ6IFwiYXBwZWFyYW5jZVwiLFxyXG4gICAgICAgIG5hbWU6IFwiQXBwZWFyYW5jZVwiLFxyXG4gICAgICAgIGNvbGxhcHNpYmxlOiB0cnVlLFxyXG4gICAgICAgIHNldHRpbmdzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJ2b2ljZU1vZGVcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiVm9pY2UgTW9kZVwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJIaWRlcyBldmVyeXRoaW5nIHRoYXQgaXNuJ3Qgdm9pY2UgY2hhdFwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJtaW5pbWFsTW9kZVwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJNaW5pbWFsIE1vZGVcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiSGlkZSBlbGVtZW50cyBhbmQgcmVkdWNlIHRoZSBzaXplIG9mIGVsZW1lbnRzXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2VcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImhpZGVDaGFubmVsc1wiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJIaWRlIENoYW5uZWxzXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkhpZGVzIGNoYW5uZWxzIHdoZW4gaW4gbWluaW1hbCBtb2RlXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBlbmFibGVXaXRoOiBcIm1pbmltYWxNb2RlXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImRhcmtNb2RlXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkRhcmsgTW9kZVwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJNYWtlIGNlcnRhaW4gZWxlbWVudHMgZGFyayBieSBkZWZhdWx0XCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiY29sb3JlZFRleHRcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiQ29sb3JlZCBUZXh0XCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIk1ha2UgdGV4dCBjb2xvdXIgdGhlIHNhbWUgYXMgcm9sZSBjb2xvclwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHR5cGU6IFwiY2F0ZWdvcnlcIixcclxuICAgICAgICBpZDogXCJjb250ZW50XCIsXHJcbiAgICAgICAgbmFtZTogXCJDb250ZW50IE1hbmFnZXJcIixcclxuICAgICAgICBjb2xsYXBzaWJsZTogdHJ1ZSxcclxuICAgICAgICBzZXR0aW5nczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiY29udGVudEVycm9yc1wiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJTaG93IENvbnRlbnQgRXJyb3JzXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIlNob3dzIGEgbW9kYWwgd2l0aCBwbHVnaW4vdGhlbWUgZXJyb3JzXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiYXV0b1Njcm9sbFwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJTY3JvbGwgVG8gU2V0dGluZ3NcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiQXV0by1zY3JvbGxzIHRvIGEgcGx1Z2luJ3Mgc2V0dGluZ3Mgd2hlbiB0aGUgYnV0dG9uIGlzIGNsaWNrZWQgKG9ubHkgaWYgb3V0IG9mIHZpZXcpXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiYXV0b1JlbG9hZFwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJBdXRvbWF0aWMgTG9hZGluZ1wiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJBdXRvbWF0aWNhbGx5IGxvYWRzLCByZWxvYWRzLCBhbmQgdW5sb2FkcyBwbHVnaW5zIGFuZCB0aGVtZXNcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHR5cGU6IFwiY2F0ZWdvcnlcIixcclxuICAgICAgICBpZDogXCJkZXZlbG9wZXJcIixcclxuICAgICAgICBuYW1lOiBcIkRldmVsb3BlciBTZXR0aW5nc1wiLFxyXG4gICAgICAgIGNvbGxhcHNpYmxlOiB0cnVlLFxyXG4gICAgICAgIHNob3duOiBmYWxzZSxcclxuICAgICAgICBzZXR0aW5nczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiZGV2ZWxvcGVyTW9kZVwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJEZXZlbG9wZXIgTW9kZVwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJBbGxvd3MgYWN0aXZhdGluZyBkZWJ1Z2dlciB3aGVuIHByZXNzaW5nIEY4XCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2VcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImNvcHlTZWxlY3RvclwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJDb3B5IFNlbGVjdG9yXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkFkZHMgYSBcXFwiQ29weSBTZWxlY3RvclxcXCIgb3B0aW9uIHRvIGNvbnRleHQgbWVudXMgd2hlbiBkZXZlbG9wZXIgbW9kZSBpcyBhY3RpdmVcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGVuYWJsZVdpdGg6IFwiZGV2ZWxvcGVyTW9kZVwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHR5cGU6IFwiY2F0ZWdvcnlcIixcclxuICAgICAgICBpZDogXCJ3aW5kb3dcIixcclxuICAgICAgICBuYW1lOiBcIldpbmRvdyBQcmVmZXJlbmNlc1wiLFxyXG4gICAgICAgIGNvbGxhcHNpYmxlOiB0cnVlLFxyXG4gICAgICAgIHNob3duOiBmYWxzZSxcclxuICAgICAgICBzZXR0aW5nczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwidHJhbnNwYXJlbmN5XCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkVuYWJsZSBUcmFuc3BhcmVuY3lcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiRW5hYmxlcyB0aGUgbWFpbiB3aW5kb3cgdG8gYmUgc2VlLXRocm91Z2ggKHJlcXVpcmVzIHJlc3RhcnQpXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2VcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImZyYW1lXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIldpbmRvdyBGcmFtZVwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJBZGRzIHRoZSBuYXRpdmUgb3Mgd2luZG93IGZyYW1lIHRvIHRoZSBtYWluIHdpbmRvd1wiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgaGlkZGVuOiB0cnVlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHR5cGU6IFwiY2F0ZWdvcnlcIixcclxuICAgICAgICBpZDogXCJjdXN0b21jc3NcIixcclxuICAgICAgICBuYW1lOiBcIkN1c3RvbSBDU1NcIixcclxuICAgICAgICBjb2xsYXBzaWJsZTogdHJ1ZSxcclxuICAgICAgICBzaG93bjogZmFsc2UsXHJcbiAgICAgICAgc2V0dGluZ3M6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImN1c3RvbWNzc1wiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJDdXN0b20gQ1NTXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkVuYWJsZXMgdGhlIEN1c3RvbSBDU1MgdGFiXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwibGl2ZVVwZGF0ZVwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJMaXZlIFVwZGF0ZVwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJVcGRhdGVzIHRoZSBjc3MgYXMgeW91IHR5cGVcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwic3RhcnREZXRhY2hlZFwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJTdGFydCBEZXRhY2hlZFwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJDbGlja2luZyB0aGUgQ3VzdG9tIENTUyB0YWIgb3BlbnMgdGhlIGVkaXRvciBpbiBhIHNlcGFyYXRlIHdpbmRvd1wiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJuYXRpdmVPcGVuXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIk9wZW4gaW4gTmF0aXZlIEVkaXRvclwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJDbGlja2luZyB0aGUgQ3VzdG9tIENTUyB0YWIgb3BlbnMgeW91ciBjdXN0b20gY3NzIGluIHlvdXIgbmF0aXZlIGVkaXRvclwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9XHJcbl07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/data/settings/config.js\n"); /***/ }), @@ -311,19 +335,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CoreWrapper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"patchModuleLoad\", function() { return patchModuleLoad; });\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var _localstorage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./localstorage */ \"./src/localstorage.js\");\n/* harmony import */ var _modules_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/core */ \"./src/modules/core.js\");\n/* harmony import */ var _modules_pluginapi__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/pluginapi */ \"./src/modules/pluginapi.js\");\n/* harmony import */ var _modules_pluginmanager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/pluginmanager */ \"./src/modules/pluginmanager.js\");\n/* harmony import */ var _modules_thememanager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/thememanager */ \"./src/modules/thememanager.js\");\n/* harmony import */ var _modules_oldstorage__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/oldstorage */ \"./src/modules/oldstorage.js\");\n/* harmony import */ var _modules_emitter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/emitter */ \"./src/modules/emitter.js\");\n/* harmony import */ var _modules_settingsmanager__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/settingsmanager */ \"./src/modules/settingsmanager.js\");\n/* harmony import */ var _modules_datastore__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/datastore */ \"./src/modules/datastore.js\");\n/* harmony import */ var _builtins_emotes__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./builtins/emotes */ \"./src/builtins/emotes.js\");\n\n\n\n\n\n\n\n\n\n\n // Perform some setup\n\nObject(_localstorage__WEBPACK_IMPORTED_MODULE_1__[\"default\"])();\nconst loadingIcon = document.createElement(\"div\");\nloadingIcon.className = \"bd-loaderv2\";\nloadingIcon.title = \"BandagedBD is loading...\";\ndocument.body.appendChild(loadingIcon); // window.Core = Core;\n\nwindow.BdApi = _modules_pluginapi__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; // window.settings = SettingsInfo;\n// window.settingsCookie = SettingsCookie;\n// window.pluginCookie = PluginCookie;\n// window.themeCookie = ThemeCookie;\n\nwindow.pluginModule = _modules_pluginmanager__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\nwindow.themeModule = _modules_thememanager__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; // window.bdthemes = Themes;\n// window.bdplugins = Plugins;\n\nwindow.bdEmotes = _builtins_emotes__WEBPACK_IMPORTED_MODULE_10__[\"default\"].Emotes;\nwindow.bemotes = _builtins_emotes__WEBPACK_IMPORTED_MODULE_10__[\"default\"].blacklist;\nwindow.bdPluginStorage = _modules_oldstorage__WEBPACK_IMPORTED_MODULE_6__[\"bdPluginStorage\"];\nwindow.settingsModule = _modules_settingsmanager__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\nwindow.DataStore = _modules_datastore__WEBPACK_IMPORTED_MODULE_9__[\"default\"];\nwindow.BDEvents = _modules_emitter__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\nwindow.bdConfig = data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"];\nclass CoreWrapper {\n constructor(config) {\n _modules_core__WEBPACK_IMPORTED_MODULE_2__[\"default\"].setConfig(config);\n }\n\n init() {\n _modules_core__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init();\n }\n\n}\nfunction patchModuleLoad() {\n const namespace = \"betterdiscord\";\n const prefix = `${namespace}/`;\n\n const Module = __webpack_require__(/*! module */ \"module\");\n\n const load = Module._load; // const resolveFilename = Module._resolveFilename;\n\n Module._load = function (request) {\n if (request === namespace || request.startsWith(prefix)) {\n const requested = request.substr(prefix.length);\n if (requested == \"api\") return _modules_pluginapi__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\n }\n\n return load.apply(this, arguments);\n }; // Module._resolveFilename = function (request, parent, isMain) {\n // if (request === \"betterdiscord\" || request.startsWith(\"betterdiscord/\")) {\n // const contentPath = PluginManager.getPluginPathByModule(parent);\n // if (contentPath) return request;\n // }\n // return resolveFilename.apply(this, arguments);\n // };\n\n\n return function () {\n Module._load = load;\n };\n} // export function getPluginByModule(module) {\n// return this.localContent.find(plugin => module.filename === plugin.contentPath || module.filename.startsWith(plugin.contentPath + path.sep));\n// }\n// export function getPluginPathByModule(module) {\n// return Object.keys(this.pluginApiInstances).find(contentPath => module.filename === contentPath || module.filename.startsWith(contentPath + path.sep));\n// }\n// var settingsPanel, emoteModule, quickEmoteMenu, voiceMode,, dMode, publicServersModule;\n// var bdConfig = null;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2luZGV4LmpzP2I2MzUiXSwibmFtZXMiOlsicHJveHlMb2NhbFN0b3JhZ2UiLCJsb2FkaW5nSWNvbiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInRpdGxlIiwiYm9keSIsImFwcGVuZENoaWxkIiwid2luZG93IiwiQmRBcGkiLCJwbHVnaW5Nb2R1bGUiLCJQbHVnaW5NYW5hZ2VyIiwidGhlbWVNb2R1bGUiLCJUaGVtZU1hbmFnZXIiLCJiZEVtb3RlcyIsIkVtb3RlTW9kdWxlIiwiRW1vdGVzIiwiYmVtb3RlcyIsImJsYWNrbGlzdCIsImJkUGx1Z2luU3RvcmFnZSIsInNldHRpbmdzTW9kdWxlIiwiU2V0dGluZ3MiLCJEYXRhU3RvcmUiLCJCREV2ZW50cyIsIkV2ZW50cyIsImJkQ29uZmlnIiwiQ29uZmlnIiwiQ29yZVdyYXBwZXIiLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsIkNvcmUiLCJzZXRDb25maWciLCJpbml0IiwicGF0Y2hNb2R1bGVMb2FkIiwibmFtZXNwYWNlIiwicHJlZml4IiwiTW9kdWxlIiwicmVxdWlyZSIsImxvYWQiLCJfbG9hZCIsInJlcXVlc3QiLCJzdGFydHNXaXRoIiwicmVxdWVzdGVkIiwic3Vic3RyIiwibGVuZ3RoIiwiYXBwbHkiLCJhcmd1bWVudHMiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtDQUdBOztBQUNBQSw2REFBaUI7QUFDakIsTUFBTUMsV0FBVyxHQUFHQyxRQUFRLENBQUNDLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBcEI7QUFDQUYsV0FBVyxDQUFDRyxTQUFaLEdBQXdCLGFBQXhCO0FBQ0FILFdBQVcsQ0FBQ0ksS0FBWixHQUFvQiwwQkFBcEI7QUFDQUgsUUFBUSxDQUFDSSxJQUFULENBQWNDLFdBQWQsQ0FBMEJOLFdBQTFCLEUsQ0FFQTs7QUFDQU8sTUFBTSxDQUFDQyxLQUFQLEdBQWVBLDBEQUFmLEMsQ0FDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQUQsTUFBTSxDQUFDRSxZQUFQLEdBQXNCQyw4REFBdEI7QUFDQUgsTUFBTSxDQUFDSSxXQUFQLEdBQXFCQyw2REFBckIsQyxDQUNBO0FBQ0E7O0FBQ0FMLE1BQU0sQ0FBQ00sUUFBUCxHQUFrQkMseURBQVcsQ0FBQ0MsTUFBOUI7QUFDQVIsTUFBTSxDQUFDUyxPQUFQLEdBQWlCRix5REFBVyxDQUFDRyxTQUE3QjtBQUNBVixNQUFNLENBQUNXLGVBQVAsR0FBeUJBLG1FQUF6QjtBQUNBWCxNQUFNLENBQUNZLGNBQVAsR0FBd0JDLGdFQUF4QjtBQUNBYixNQUFNLENBQUNjLFNBQVAsR0FBbUJBLDBEQUFuQjtBQUdBZCxNQUFNLENBQUNlLFFBQVAsR0FBa0JDLHdEQUFsQjtBQUNBaEIsTUFBTSxDQUFDaUIsUUFBUCxHQUFrQkMsMkNBQWxCO0FBRWUsTUFBTUMsV0FBTixDQUFrQjtBQUM3QkMsYUFBVyxDQUFDQyxNQUFELEVBQVM7QUFDaEJDLHlEQUFJLENBQUNDLFNBQUwsQ0FBZUYsTUFBZjtBQUNIOztBQUVERyxNQUFJLEdBQUc7QUFDSEYseURBQUksQ0FBQ0UsSUFBTDtBQUNIOztBQVA0QjtBQVUxQixTQUFTQyxlQUFULEdBQTJCO0FBQzlCLFFBQU1DLFNBQVMsR0FBRyxlQUFsQjtBQUNBLFFBQU1DLE1BQU0sR0FBSSxHQUFFRCxTQUFVLEdBQTVCOztBQUNBLFFBQU1FLE1BQU0sR0FBR0MsbUJBQU8sQ0FBQyxzQkFBRCxDQUF0Qjs7QUFDQSxRQUFNQyxJQUFJLEdBQUdGLE1BQU0sQ0FBQ0csS0FBcEIsQ0FKOEIsQ0FLOUI7O0FBRUFILFFBQU0sQ0FBQ0csS0FBUCxHQUFlLFVBQVVDLE9BQVYsRUFBbUI7QUFDOUIsUUFBSUEsT0FBTyxLQUFLTixTQUFaLElBQXlCTSxPQUFPLENBQUNDLFVBQVIsQ0FBbUJOLE1BQW5CLENBQTdCLEVBQXlEO0FBQ3JELFlBQU1PLFNBQVMsR0FBR0YsT0FBTyxDQUFDRyxNQUFSLENBQWVSLE1BQU0sQ0FBQ1MsTUFBdEIsQ0FBbEI7QUFDQSxVQUFJRixTQUFTLElBQUksS0FBakIsRUFBd0IsT0FBT2pDLDBEQUFQO0FBQzNCOztBQUVELFdBQU82QixJQUFJLENBQUNPLEtBQUwsQ0FBVyxJQUFYLEVBQWlCQyxTQUFqQixDQUFQO0FBQ0gsR0FQRCxDQVA4QixDQWdCOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7OztBQUVBLFNBQU8sWUFBVztBQUNkVixVQUFNLENBQUNHLEtBQVAsR0FBZUQsSUFBZjtBQUNILEdBRkQ7QUFHSCxDLENBRUQ7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQSIsImZpbGUiOiIuL3NyYy9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uZmlnfSBmcm9tIFwiZGF0YVwiO1xyXG5pbXBvcnQgcHJveHlMb2NhbFN0b3JhZ2UgZnJvbSBcIi4vbG9jYWxzdG9yYWdlXCI7XHJcbmltcG9ydCBDb3JlIGZyb20gXCIuL21vZHVsZXMvY29yZVwiO1xyXG5pbXBvcnQgQmRBcGkgZnJvbSBcIi4vbW9kdWxlcy9wbHVnaW5hcGlcIjtcclxuaW1wb3J0IFBsdWdpbk1hbmFnZXIgZnJvbSBcIi4vbW9kdWxlcy9wbHVnaW5tYW5hZ2VyXCI7XHJcbmltcG9ydCBUaGVtZU1hbmFnZXIgZnJvbSBcIi4vbW9kdWxlcy90aGVtZW1hbmFnZXJcIjtcclxuaW1wb3J0IHtiZFBsdWdpblN0b3JhZ2V9IGZyb20gXCIuL21vZHVsZXMvb2xkc3RvcmFnZVwiO1xyXG5pbXBvcnQgRXZlbnRzIGZyb20gXCIuL21vZHVsZXMvZW1pdHRlclwiO1xyXG5pbXBvcnQgU2V0dGluZ3MgZnJvbSBcIi4vbW9kdWxlcy9zZXR0aW5nc21hbmFnZXJcIjtcclxuaW1wb3J0IERhdGFTdG9yZSBmcm9tIFwiLi9tb2R1bGVzL2RhdGFzdG9yZVwiO1xyXG5pbXBvcnQgRW1vdGVNb2R1bGUgZnJvbSBcIi4vYnVpbHRpbnMvZW1vdGVzXCI7XHJcblxyXG4vLyBQZXJmb3JtIHNvbWUgc2V0dXBcclxucHJveHlMb2NhbFN0b3JhZ2UoKTtcclxuY29uc3QgbG9hZGluZ0ljb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG5sb2FkaW5nSWNvbi5jbGFzc05hbWUgPSBcImJkLWxvYWRlcnYyXCI7XHJcbmxvYWRpbmdJY29uLnRpdGxlID0gXCJCYW5kYWdlZEJEIGlzIGxvYWRpbmcuLi5cIjtcclxuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsb2FkaW5nSWNvbik7XHJcblxyXG4vLyB3aW5kb3cuQ29yZSA9IENvcmU7XHJcbndpbmRvdy5CZEFwaSA9IEJkQXBpO1xyXG4vLyB3aW5kb3cuc2V0dGluZ3MgPSBTZXR0aW5nc0luZm87XHJcbi8vIHdpbmRvdy5zZXR0aW5nc0Nvb2tpZSA9IFNldHRpbmdzQ29va2llO1xyXG4vLyB3aW5kb3cucGx1Z2luQ29va2llID0gUGx1Z2luQ29va2llO1xyXG4vLyB3aW5kb3cudGhlbWVDb29raWUgPSBUaGVtZUNvb2tpZTtcclxud2luZG93LnBsdWdpbk1vZHVsZSA9IFBsdWdpbk1hbmFnZXI7XHJcbndpbmRvdy50aGVtZU1vZHVsZSA9IFRoZW1lTWFuYWdlcjtcclxuLy8gd2luZG93LmJkdGhlbWVzID0gVGhlbWVzO1xyXG4vLyB3aW5kb3cuYmRwbHVnaW5zID0gUGx1Z2lucztcclxud2luZG93LmJkRW1vdGVzID0gRW1vdGVNb2R1bGUuRW1vdGVzO1xyXG53aW5kb3cuYmVtb3RlcyA9IEVtb3RlTW9kdWxlLmJsYWNrbGlzdDtcclxud2luZG93LmJkUGx1Z2luU3RvcmFnZSA9IGJkUGx1Z2luU3RvcmFnZTtcclxud2luZG93LnNldHRpbmdzTW9kdWxlID0gU2V0dGluZ3M7XHJcbndpbmRvdy5EYXRhU3RvcmUgPSBEYXRhU3RvcmU7XHJcblxyXG5cclxud2luZG93LkJERXZlbnRzID0gRXZlbnRzO1xyXG53aW5kb3cuYmRDb25maWcgPSBDb25maWc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb3JlV3JhcHBlciB7XHJcbiAgICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcclxuICAgICAgICBDb3JlLnNldENvbmZpZyhjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXQoKSB7XHJcbiAgICAgICAgQ29yZS5pbml0KCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwYXRjaE1vZHVsZUxvYWQoKSB7XHJcbiAgICBjb25zdCBuYW1lc3BhY2UgPSBcImJldHRlcmRpc2NvcmRcIjtcclxuICAgIGNvbnN0IHByZWZpeCA9IGAke25hbWVzcGFjZX0vYDtcclxuICAgIGNvbnN0IE1vZHVsZSA9IHJlcXVpcmUoXCJtb2R1bGVcIik7XHJcbiAgICBjb25zdCBsb2FkID0gTW9kdWxlLl9sb2FkO1xyXG4gICAgLy8gY29uc3QgcmVzb2x2ZUZpbGVuYW1lID0gTW9kdWxlLl9yZXNvbHZlRmlsZW5hbWU7XHJcblxyXG4gICAgTW9kdWxlLl9sb2FkID0gZnVuY3Rpb24gKHJlcXVlc3QpIHtcclxuICAgICAgICBpZiAocmVxdWVzdCA9PT0gbmFtZXNwYWNlIHx8IHJlcXVlc3Quc3RhcnRzV2l0aChwcmVmaXgpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RlZCA9IHJlcXVlc3Quc3Vic3RyKHByZWZpeC5sZW5ndGgpO1xyXG4gICAgICAgICAgICBpZiAocmVxdWVzdGVkID09IFwiYXBpXCIpIHJldHVybiBCZEFwaTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBsb2FkLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIE1vZHVsZS5fcmVzb2x2ZUZpbGVuYW1lID0gZnVuY3Rpb24gKHJlcXVlc3QsIHBhcmVudCwgaXNNYWluKSB7XHJcbiAgICAvLyAgICAgaWYgKHJlcXVlc3QgPT09IFwiYmV0dGVyZGlzY29yZFwiIHx8IHJlcXVlc3Quc3RhcnRzV2l0aChcImJldHRlcmRpc2NvcmQvXCIpKSB7XHJcbiAgICAvLyAgICAgICAgIGNvbnN0IGNvbnRlbnRQYXRoID0gUGx1Z2luTWFuYWdlci5nZXRQbHVnaW5QYXRoQnlNb2R1bGUocGFyZW50KTtcclxuICAgIC8vICAgICAgICAgaWYgKGNvbnRlbnRQYXRoKSByZXR1cm4gcmVxdWVzdDtcclxuICAgIC8vICAgICB9XHJcblxyXG4gICAgLy8gICAgIHJldHVybiByZXNvbHZlRmlsZW5hbWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxuICAgIC8vIH07XHJcblxyXG4gICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIE1vZHVsZS5fbG9hZCA9IGxvYWQ7XHJcbiAgICB9O1xyXG59XHJcblxyXG4vLyBleHBvcnQgZnVuY3Rpb24gZ2V0UGx1Z2luQnlNb2R1bGUobW9kdWxlKSB7XHJcbi8vICAgICByZXR1cm4gdGhpcy5sb2NhbENvbnRlbnQuZmluZChwbHVnaW4gPT4gbW9kdWxlLmZpbGVuYW1lID09PSBwbHVnaW4uY29udGVudFBhdGggfHwgbW9kdWxlLmZpbGVuYW1lLnN0YXJ0c1dpdGgocGx1Z2luLmNvbnRlbnRQYXRoICsgcGF0aC5zZXApKTtcclxuLy8gfVxyXG5cclxuLy8gZXhwb3J0IGZ1bmN0aW9uIGdldFBsdWdpblBhdGhCeU1vZHVsZShtb2R1bGUpIHtcclxuLy8gICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnBsdWdpbkFwaUluc3RhbmNlcykuZmluZChjb250ZW50UGF0aCA9PiBtb2R1bGUuZmlsZW5hbWUgPT09IGNvbnRlbnRQYXRoIHx8IG1vZHVsZS5maWxlbmFtZS5zdGFydHNXaXRoKGNvbnRlbnRQYXRoICsgcGF0aC5zZXApKTtcclxuLy8gfVxyXG5cclxuLy8gdmFyIHNldHRpbmdzUGFuZWwsIGVtb3RlTW9kdWxlLCBxdWlja0Vtb3RlTWVudSwgdm9pY2VNb2RlLCwgZE1vZGUsIHB1YmxpY1NlcnZlcnNNb2R1bGU7XHJcbi8vIHZhciBiZENvbmZpZyA9IG51bGw7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/index.js\n"); - -/***/ }), - -/***/ "./src/localstorage.js": -/*!*****************************!*\ - !*** ./src/localstorage.js ***! - \*****************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* Localstorage fix */\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n const fs = __webpack_require__(/*! fs */ \"fs\");\n\n const platform = process.platform;\n const dataPath = (platform === \"win32\" ? process.env.APPDATA : platform === \"darwin\" ? process.env.HOME + \"/Library/Preferences\" : process.env.HOME + \"/.config\") + \"/BetterDiscord/\";\n const localStorageFile = \"localStorage.json\";\n let data = {};\n\n if (fs.existsSync(`${dataPath}${localStorageFile}`)) {\n try {\n data = JSON.parse(fs.readFileSync(`${dataPath}${localStorageFile}`));\n } catch (err) {\n console.log(err);\n }\n } else if (fs.existsSync(localStorageFile)) {\n try {\n data = JSON.parse(fs.readFileSync(localStorageFile));\n } catch (err) {\n console.log(err);\n }\n }\n\n const storage = data;\n\n storage.setItem = function (i, v) {\n storage[i] = v;\n this.save();\n };\n\n storage.getItem = function (i) {\n return storage[i] || null;\n };\n\n storage.save = function () {\n fs.writeFileSync(`${dataPath}${localStorageFile}`, JSON.stringify(this), null, 4);\n };\n\n const lsProxy = new Proxy(storage, {\n set: function (target, name, val) {\n storage[name] = val;\n storage.save();\n },\n get: function (target, name) {\n return storage[name] || null;\n }\n });\n window.localStorage = lsProxy;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2xvY2Fsc3RvcmFnZS5qcz81OTFlIl0sIm5hbWVzIjpbImZzIiwicmVxdWlyZSIsInBsYXRmb3JtIiwicHJvY2VzcyIsImRhdGFQYXRoIiwiZW52IiwiQVBQREFUQSIsIkhPTUUiLCJsb2NhbFN0b3JhZ2VGaWxlIiwiZGF0YSIsImV4aXN0c1N5bmMiLCJKU09OIiwicGFyc2UiLCJyZWFkRmlsZVN5bmMiLCJlcnIiLCJjb25zb2xlIiwibG9nIiwic3RvcmFnZSIsInNldEl0ZW0iLCJpIiwidiIsInNhdmUiLCJnZXRJdGVtIiwid3JpdGVGaWxlU3luYyIsInN0cmluZ2lmeSIsImxzUHJveHkiLCJQcm94eSIsInNldCIsInRhcmdldCIsIm5hbWUiLCJ2YWwiLCJnZXQiLCJ3aW5kb3ciLCJsb2NhbFN0b3JhZ2UiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFDZSwyRUFBVztBQUV0QixRQUFNQSxFQUFFLEdBQUdDLG1CQUFPLENBQUMsY0FBRCxDQUFsQjs7QUFDQSxRQUFNQyxRQUFRLEdBQUdDLE9BQU8sQ0FBQ0QsUUFBekI7QUFDQSxRQUFNRSxRQUFRLEdBQUcsQ0FBQ0YsUUFBUSxLQUFLLE9BQWIsR0FBdUJDLE9BQU8sQ0FBQ0UsR0FBUixDQUFZQyxPQUFuQyxHQUE2Q0osUUFBUSxLQUFLLFFBQWIsR0FBd0JDLE9BQU8sQ0FBQ0UsR0FBUixDQUFZRSxJQUFaLEdBQW1CLHNCQUEzQyxHQUFvRUosT0FBTyxDQUFDRSxHQUFSLENBQVlFLElBQVosR0FBbUIsVUFBckksSUFBbUosaUJBQXBLO0FBQ0EsUUFBTUMsZ0JBQWdCLEdBQUcsbUJBQXpCO0FBRUEsTUFBSUMsSUFBSSxHQUFHLEVBQVg7O0FBQ0EsTUFBSVQsRUFBRSxDQUFDVSxVQUFILENBQWUsR0FBRU4sUUFBUyxHQUFFSSxnQkFBaUIsRUFBN0MsQ0FBSixFQUFxRDtBQUNqRCxRQUFJO0FBQ0FDLFVBQUksR0FBR0UsSUFBSSxDQUFDQyxLQUFMLENBQVdaLEVBQUUsQ0FBQ2EsWUFBSCxDQUFpQixHQUFFVCxRQUFTLEdBQUVJLGdCQUFpQixFQUEvQyxDQUFYLENBQVA7QUFDSCxLQUZELENBR0EsT0FBT00sR0FBUCxFQUFZO0FBQ1JDLGFBQU8sQ0FBQ0MsR0FBUixDQUFZRixHQUFaO0FBQ0g7QUFDSixHQVBELE1BUUssSUFBSWQsRUFBRSxDQUFDVSxVQUFILENBQWNGLGdCQUFkLENBQUosRUFBcUM7QUFDdEMsUUFBSTtBQUNBQyxVQUFJLEdBQUdFLElBQUksQ0FBQ0MsS0FBTCxDQUFXWixFQUFFLENBQUNhLFlBQUgsQ0FBZ0JMLGdCQUFoQixDQUFYLENBQVA7QUFDSCxLQUZELENBR0EsT0FBT00sR0FBUCxFQUFZO0FBQ1JDLGFBQU8sQ0FBQ0MsR0FBUixDQUFZRixHQUFaO0FBQ0g7QUFDSjs7QUFFRCxRQUFNRyxPQUFPLEdBQUdSLElBQWhCOztBQUNBUSxTQUFPLENBQUNDLE9BQVIsR0FBa0IsVUFBU0MsQ0FBVCxFQUFZQyxDQUFaLEVBQWU7QUFDN0JILFdBQU8sQ0FBQ0UsQ0FBRCxDQUFQLEdBQWFDLENBQWI7QUFDQSxTQUFLQyxJQUFMO0FBQ0gsR0FIRDs7QUFJQUosU0FBTyxDQUFDSyxPQUFSLEdBQWtCLFVBQVNILENBQVQsRUFBWTtBQUMxQixXQUFPRixPQUFPLENBQUNFLENBQUQsQ0FBUCxJQUFjLElBQXJCO0FBQ0gsR0FGRDs7QUFHQUYsU0FBTyxDQUFDSSxJQUFSLEdBQWUsWUFBVztBQUN0QnJCLE1BQUUsQ0FBQ3VCLGFBQUgsQ0FBa0IsR0FBRW5CLFFBQVMsR0FBRUksZ0JBQWlCLEVBQWhELEVBQW1ERyxJQUFJLENBQUNhLFNBQUwsQ0FBZSxJQUFmLENBQW5ELEVBQXlFLElBQXpFLEVBQStFLENBQS9FO0FBQ0gsR0FGRDs7QUFJQSxRQUFNQyxPQUFPLEdBQUcsSUFBSUMsS0FBSixDQUFVVCxPQUFWLEVBQW1CO0FBQy9CVSxPQUFHLEVBQUUsVUFBU0MsTUFBVCxFQUFpQkMsSUFBakIsRUFBdUJDLEdBQXZCLEVBQTRCO0FBQzdCYixhQUFPLENBQUNZLElBQUQsQ0FBUCxHQUFnQkMsR0FBaEI7QUFDQWIsYUFBTyxDQUFDSSxJQUFSO0FBQ0gsS0FKOEI7QUFLL0JVLE9BQUcsRUFBRSxVQUFTSCxNQUFULEVBQWlCQyxJQUFqQixFQUF1QjtBQUN4QixhQUFPWixPQUFPLENBQUNZLElBQUQsQ0FBUCxJQUFpQixJQUF4QjtBQUNIO0FBUDhCLEdBQW5CLENBQWhCO0FBVUFHLFFBQU0sQ0FBQ0MsWUFBUCxHQUFzQlIsT0FBdEI7QUFFSCxDIiwiZmlsZSI6Ii4vc3JjL2xvY2Fsc3RvcmFnZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIExvY2Fsc3RvcmFnZSBmaXggKi9cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oKSB7XHJcblxyXG4gICAgY29uc3QgZnMgPSByZXF1aXJlKFwiZnNcIik7XHJcbiAgICBjb25zdCBwbGF0Zm9ybSA9IHByb2Nlc3MucGxhdGZvcm07XHJcbiAgICBjb25zdCBkYXRhUGF0aCA9IChwbGF0Zm9ybSA9PT0gXCJ3aW4zMlwiID8gcHJvY2Vzcy5lbnYuQVBQREFUQSA6IHBsYXRmb3JtID09PSBcImRhcndpblwiID8gcHJvY2Vzcy5lbnYuSE9NRSArIFwiL0xpYnJhcnkvUHJlZmVyZW5jZXNcIiA6IHByb2Nlc3MuZW52LkhPTUUgKyBcIi8uY29uZmlnXCIpICsgXCIvQmV0dGVyRGlzY29yZC9cIjtcclxuICAgIGNvbnN0IGxvY2FsU3RvcmFnZUZpbGUgPSBcImxvY2FsU3RvcmFnZS5qc29uXCI7XHJcblxyXG4gICAgbGV0IGRhdGEgPSB7fTtcclxuICAgIGlmIChmcy5leGlzdHNTeW5jKGAke2RhdGFQYXRofSR7bG9jYWxTdG9yYWdlRmlsZX1gKSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGRhdGEgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhgJHtkYXRhUGF0aH0ke2xvY2FsU3RvcmFnZUZpbGV9YCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZnMuZXhpc3RzU3luYyhsb2NhbFN0b3JhZ2VGaWxlKSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGRhdGEgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhsb2NhbFN0b3JhZ2VGaWxlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3RvcmFnZSA9IGRhdGE7XHJcbiAgICBzdG9yYWdlLnNldEl0ZW0gPSBmdW5jdGlvbihpLCB2KSB7XHJcbiAgICAgICAgc3RvcmFnZVtpXSA9IHY7XHJcbiAgICAgICAgdGhpcy5zYXZlKCk7XHJcbiAgICB9O1xyXG4gICAgc3RvcmFnZS5nZXRJdGVtID0gZnVuY3Rpb24oaSkge1xyXG4gICAgICAgIHJldHVybiBzdG9yYWdlW2ldIHx8IG51bGw7XHJcbiAgICB9O1xyXG4gICAgc3RvcmFnZS5zYXZlID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyhgJHtkYXRhUGF0aH0ke2xvY2FsU3RvcmFnZUZpbGV9YCwgSlNPTi5zdHJpbmdpZnkodGhpcyksIG51bGwsIDQpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBsc1Byb3h5ID0gbmV3IFByb3h5KHN0b3JhZ2UsIHtcclxuICAgICAgICBzZXQ6IGZ1bmN0aW9uKHRhcmdldCwgbmFtZSwgdmFsKSB7XHJcbiAgICAgICAgICAgIHN0b3JhZ2VbbmFtZV0gPSB2YWw7XHJcbiAgICAgICAgICAgIHN0b3JhZ2Uuc2F2ZSgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZ2V0OiBmdW5jdGlvbih0YXJnZXQsIG5hbWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHN0b3JhZ2VbbmFtZV0gfHwgbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlID0gbHNQcm94eTtcclxuXHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/localstorage.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CoreWrapper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"patchModuleLoad\", function() { return patchModuleLoad; });\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var _modules_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/core */ \"./src/modules/core.js\");\n/* harmony import */ var _modules_pluginapi__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/pluginapi */ \"./src/modules/pluginapi.js\");\n/* harmony import */ var _modules_pluginmanager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/pluginmanager */ \"./src/modules/pluginmanager.js\");\n/* harmony import */ var _modules_thememanager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/thememanager */ \"./src/modules/thememanager.js\");\n/* harmony import */ var _modules_oldstorage__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/oldstorage */ \"./src/modules/oldstorage.js\");\n/* harmony import */ var _modules_emitter__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/emitter */ \"./src/modules/emitter.js\");\n/* harmony import */ var _modules_settingsmanager__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/settingsmanager */ \"./src/modules/settingsmanager.js\");\n/* harmony import */ var _modules_datastore__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/datastore */ \"./src/modules/datastore.js\");\n/* harmony import */ var _builtins_emotes__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./builtins/emotes */ \"./src/builtins/emotes.js\");\n\n\n\n\n\n\n\n\n\n // Perform some setup\n// proxyLocalStorage();\n\nconst loadingIcon = document.createElement(\"div\");\nloadingIcon.className = \"bd-loaderv2\";\nloadingIcon.title = \"BandagedBD is loading...\";\ndocument.body.appendChild(loadingIcon); // window.Core = Core;\n\nwindow.BdApi = _modules_pluginapi__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; // window.settings = SettingsInfo;\n// window.settingsCookie = SettingsCookie;\n// window.pluginCookie = PluginCookie;\n// window.themeCookie = ThemeCookie;\n\nwindow.pluginModule = _modules_pluginmanager__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\nwindow.themeModule = _modules_thememanager__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; // window.bdthemes = Themes;\n// window.bdplugins = Plugins;\n\nwindow.bdEmotes = _builtins_emotes__WEBPACK_IMPORTED_MODULE_9__[\"default\"].Emotes;\nwindow.bemotes = _builtins_emotes__WEBPACK_IMPORTED_MODULE_9__[\"default\"].blacklist;\nwindow.bdPluginStorage = _modules_oldstorage__WEBPACK_IMPORTED_MODULE_5__[\"bdPluginStorage\"];\nwindow.settingsModule = _modules_settingsmanager__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\nwindow.DataStore = _modules_datastore__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\nwindow.BDEvents = _modules_emitter__WEBPACK_IMPORTED_MODULE_6__[\"default\"];\nwindow.bdConfig = data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"];\nclass CoreWrapper {\n constructor(config) {\n _modules_core__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setConfig(config);\n }\n\n init() {\n _modules_core__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init();\n }\n\n}\nfunction patchModuleLoad() {\n const namespace = \"betterdiscord\";\n const prefix = `${namespace}/`;\n\n const Module = __webpack_require__(/*! module */ \"module\");\n\n const load = Module._load; // const resolveFilename = Module._resolveFilename;\n\n Module._load = function (request) {\n if (request === namespace || request.startsWith(prefix)) {\n const requested = request.substr(prefix.length);\n if (requested == \"api\") return _modules_pluginapi__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n }\n\n return load.apply(this, arguments);\n }; // Module._resolveFilename = function (request, parent, isMain) {\n // if (request === \"betterdiscord\" || request.startsWith(\"betterdiscord/\")) {\n // const contentPath = PluginManager.getPluginPathByModule(parent);\n // if (contentPath) return request;\n // }\n // return resolveFilename.apply(this, arguments);\n // };\n\n\n return function () {\n Module._load = load;\n };\n} // export function getPluginByModule(module) {\n// return this.localContent.find(plugin => module.filename === plugin.contentPath || module.filename.startsWith(plugin.contentPath + path.sep));\n// }\n// export function getPluginPathByModule(module) {\n// return Object.keys(this.pluginApiInstances).find(contentPath => module.filename === contentPath || module.filename.startsWith(contentPath + path.sep));\n// }\n// var settingsPanel, emoteModule, quickEmoteMenu, voiceMode,, dMode, publicServersModule;\n// var bdConfig = null;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2luZGV4LmpzP2I2MzUiXSwibmFtZXMiOlsibG9hZGluZ0ljb24iLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJ0aXRsZSIsImJvZHkiLCJhcHBlbmRDaGlsZCIsIndpbmRvdyIsIkJkQXBpIiwicGx1Z2luTW9kdWxlIiwiUGx1Z2luTWFuYWdlciIsInRoZW1lTW9kdWxlIiwiVGhlbWVNYW5hZ2VyIiwiYmRFbW90ZXMiLCJFbW90ZU1vZHVsZSIsIkVtb3RlcyIsImJlbW90ZXMiLCJibGFja2xpc3QiLCJiZFBsdWdpblN0b3JhZ2UiLCJzZXR0aW5nc01vZHVsZSIsIlNldHRpbmdzIiwiRGF0YVN0b3JlIiwiQkRFdmVudHMiLCJFdmVudHMiLCJiZENvbmZpZyIsIkNvbmZpZyIsIkNvcmVXcmFwcGVyIiwiY29uc3RydWN0b3IiLCJjb25maWciLCJDb3JlIiwic2V0Q29uZmlnIiwiaW5pdCIsInBhdGNoTW9kdWxlTG9hZCIsIm5hbWVzcGFjZSIsInByZWZpeCIsIk1vZHVsZSIsInJlcXVpcmUiLCJsb2FkIiwiX2xvYWQiLCJyZXF1ZXN0Iiwic3RhcnRzV2l0aCIsInJlcXVlc3RlZCIsInN1YnN0ciIsImxlbmd0aCIsImFwcGx5IiwiYXJndW1lbnRzIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtDQUdBO0FBQ0E7O0FBQ0EsTUFBTUEsV0FBVyxHQUFHQyxRQUFRLENBQUNDLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBcEI7QUFDQUYsV0FBVyxDQUFDRyxTQUFaLEdBQXdCLGFBQXhCO0FBQ0FILFdBQVcsQ0FBQ0ksS0FBWixHQUFvQiwwQkFBcEI7QUFDQUgsUUFBUSxDQUFDSSxJQUFULENBQWNDLFdBQWQsQ0FBMEJOLFdBQTFCLEUsQ0FFQTs7QUFDQU8sTUFBTSxDQUFDQyxLQUFQLEdBQWVBLDBEQUFmLEMsQ0FDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQUQsTUFBTSxDQUFDRSxZQUFQLEdBQXNCQyw4REFBdEI7QUFDQUgsTUFBTSxDQUFDSSxXQUFQLEdBQXFCQyw2REFBckIsQyxDQUNBO0FBQ0E7O0FBQ0FMLE1BQU0sQ0FBQ00sUUFBUCxHQUFrQkMsd0RBQVcsQ0FBQ0MsTUFBOUI7QUFDQVIsTUFBTSxDQUFDUyxPQUFQLEdBQWlCRix3REFBVyxDQUFDRyxTQUE3QjtBQUNBVixNQUFNLENBQUNXLGVBQVAsR0FBeUJBLG1FQUF6QjtBQUNBWCxNQUFNLENBQUNZLGNBQVAsR0FBd0JDLGdFQUF4QjtBQUNBYixNQUFNLENBQUNjLFNBQVAsR0FBbUJBLDBEQUFuQjtBQUdBZCxNQUFNLENBQUNlLFFBQVAsR0FBa0JDLHdEQUFsQjtBQUNBaEIsTUFBTSxDQUFDaUIsUUFBUCxHQUFrQkMsMkNBQWxCO0FBRWUsTUFBTUMsV0FBTixDQUFrQjtBQUM3QkMsYUFBVyxDQUFDQyxNQUFELEVBQVM7QUFDaEJDLHlEQUFJLENBQUNDLFNBQUwsQ0FBZUYsTUFBZjtBQUNIOztBQUVERyxNQUFJLEdBQUc7QUFDSEYseURBQUksQ0FBQ0UsSUFBTDtBQUNIOztBQVA0QjtBQVUxQixTQUFTQyxlQUFULEdBQTJCO0FBQzlCLFFBQU1DLFNBQVMsR0FBRyxlQUFsQjtBQUNBLFFBQU1DLE1BQU0sR0FBSSxHQUFFRCxTQUFVLEdBQTVCOztBQUNBLFFBQU1FLE1BQU0sR0FBR0MsbUJBQU8sQ0FBQyxzQkFBRCxDQUF0Qjs7QUFDQSxRQUFNQyxJQUFJLEdBQUdGLE1BQU0sQ0FBQ0csS0FBcEIsQ0FKOEIsQ0FLOUI7O0FBRUFILFFBQU0sQ0FBQ0csS0FBUCxHQUFlLFVBQVVDLE9BQVYsRUFBbUI7QUFDOUIsUUFBSUEsT0FBTyxLQUFLTixTQUFaLElBQXlCTSxPQUFPLENBQUNDLFVBQVIsQ0FBbUJOLE1BQW5CLENBQTdCLEVBQXlEO0FBQ3JELFlBQU1PLFNBQVMsR0FBR0YsT0FBTyxDQUFDRyxNQUFSLENBQWVSLE1BQU0sQ0FBQ1MsTUFBdEIsQ0FBbEI7QUFDQSxVQUFJRixTQUFTLElBQUksS0FBakIsRUFBd0IsT0FBT2pDLDBEQUFQO0FBQzNCOztBQUVELFdBQU82QixJQUFJLENBQUNPLEtBQUwsQ0FBVyxJQUFYLEVBQWlCQyxTQUFqQixDQUFQO0FBQ0gsR0FQRCxDQVA4QixDQWdCOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7OztBQUVBLFNBQU8sWUFBVztBQUNkVixVQUFNLENBQUNHLEtBQVAsR0FBZUQsSUFBZjtBQUNILEdBRkQ7QUFHSCxDLENBRUQ7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQSIsImZpbGUiOiIuL3NyYy9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uZmlnfSBmcm9tIFwiZGF0YVwiO1xyXG5pbXBvcnQgQ29yZSBmcm9tIFwiLi9tb2R1bGVzL2NvcmVcIjtcclxuaW1wb3J0IEJkQXBpIGZyb20gXCIuL21vZHVsZXMvcGx1Z2luYXBpXCI7XHJcbmltcG9ydCBQbHVnaW5NYW5hZ2VyIGZyb20gXCIuL21vZHVsZXMvcGx1Z2lubWFuYWdlclwiO1xyXG5pbXBvcnQgVGhlbWVNYW5hZ2VyIGZyb20gXCIuL21vZHVsZXMvdGhlbWVtYW5hZ2VyXCI7XHJcbmltcG9ydCB7YmRQbHVnaW5TdG9yYWdlfSBmcm9tIFwiLi9tb2R1bGVzL29sZHN0b3JhZ2VcIjtcclxuaW1wb3J0IEV2ZW50cyBmcm9tIFwiLi9tb2R1bGVzL2VtaXR0ZXJcIjtcclxuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuL21vZHVsZXMvc2V0dGluZ3NtYW5hZ2VyXCI7XHJcbmltcG9ydCBEYXRhU3RvcmUgZnJvbSBcIi4vbW9kdWxlcy9kYXRhc3RvcmVcIjtcclxuaW1wb3J0IEVtb3RlTW9kdWxlIGZyb20gXCIuL2J1aWx0aW5zL2Vtb3Rlc1wiO1xyXG5cclxuLy8gUGVyZm9ybSBzb21lIHNldHVwXHJcbi8vIHByb3h5TG9jYWxTdG9yYWdlKCk7XHJcbmNvbnN0IGxvYWRpbmdJY29uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxubG9hZGluZ0ljb24uY2xhc3NOYW1lID0gXCJiZC1sb2FkZXJ2MlwiO1xyXG5sb2FkaW5nSWNvbi50aXRsZSA9IFwiQmFuZGFnZWRCRCBpcyBsb2FkaW5nLi4uXCI7XHJcbmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobG9hZGluZ0ljb24pO1xyXG5cclxuLy8gd2luZG93LkNvcmUgPSBDb3JlO1xyXG53aW5kb3cuQmRBcGkgPSBCZEFwaTtcclxuLy8gd2luZG93LnNldHRpbmdzID0gU2V0dGluZ3NJbmZvO1xyXG4vLyB3aW5kb3cuc2V0dGluZ3NDb29raWUgPSBTZXR0aW5nc0Nvb2tpZTtcclxuLy8gd2luZG93LnBsdWdpbkNvb2tpZSA9IFBsdWdpbkNvb2tpZTtcclxuLy8gd2luZG93LnRoZW1lQ29va2llID0gVGhlbWVDb29raWU7XHJcbndpbmRvdy5wbHVnaW5Nb2R1bGUgPSBQbHVnaW5NYW5hZ2VyO1xyXG53aW5kb3cudGhlbWVNb2R1bGUgPSBUaGVtZU1hbmFnZXI7XHJcbi8vIHdpbmRvdy5iZHRoZW1lcyA9IFRoZW1lcztcclxuLy8gd2luZG93LmJkcGx1Z2lucyA9IFBsdWdpbnM7XHJcbndpbmRvdy5iZEVtb3RlcyA9IEVtb3RlTW9kdWxlLkVtb3Rlcztcclxud2luZG93LmJlbW90ZXMgPSBFbW90ZU1vZHVsZS5ibGFja2xpc3Q7XHJcbndpbmRvdy5iZFBsdWdpblN0b3JhZ2UgPSBiZFBsdWdpblN0b3JhZ2U7XHJcbndpbmRvdy5zZXR0aW5nc01vZHVsZSA9IFNldHRpbmdzO1xyXG53aW5kb3cuRGF0YVN0b3JlID0gRGF0YVN0b3JlO1xyXG5cclxuXHJcbndpbmRvdy5CREV2ZW50cyA9IEV2ZW50cztcclxud2luZG93LmJkQ29uZmlnID0gQ29uZmlnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29yZVdyYXBwZXIge1xyXG4gICAgY29uc3RydWN0b3IoY29uZmlnKSB7XHJcbiAgICAgICAgQ29yZS5zZXRDb25maWcoY29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0KCkge1xyXG4gICAgICAgIENvcmUuaW5pdCgpO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2hNb2R1bGVMb2FkKCkge1xyXG4gICAgY29uc3QgbmFtZXNwYWNlID0gXCJiZXR0ZXJkaXNjb3JkXCI7XHJcbiAgICBjb25zdCBwcmVmaXggPSBgJHtuYW1lc3BhY2V9L2A7XHJcbiAgICBjb25zdCBNb2R1bGUgPSByZXF1aXJlKFwibW9kdWxlXCIpO1xyXG4gICAgY29uc3QgbG9hZCA9IE1vZHVsZS5fbG9hZDtcclxuICAgIC8vIGNvbnN0IHJlc29sdmVGaWxlbmFtZSA9IE1vZHVsZS5fcmVzb2x2ZUZpbGVuYW1lO1xyXG5cclxuICAgIE1vZHVsZS5fbG9hZCA9IGZ1bmN0aW9uIChyZXF1ZXN0KSB7XHJcbiAgICAgICAgaWYgKHJlcXVlc3QgPT09IG5hbWVzcGFjZSB8fCByZXF1ZXN0LnN0YXJ0c1dpdGgocHJlZml4KSkge1xyXG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0ZWQgPSByZXF1ZXN0LnN1YnN0cihwcmVmaXgubGVuZ3RoKTtcclxuICAgICAgICAgICAgaWYgKHJlcXVlc3RlZCA9PSBcImFwaVwiKSByZXR1cm4gQmRBcGk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbG9hZC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyBNb2R1bGUuX3Jlc29sdmVGaWxlbmFtZSA9IGZ1bmN0aW9uIChyZXF1ZXN0LCBwYXJlbnQsIGlzTWFpbikge1xyXG4gICAgLy8gICAgIGlmIChyZXF1ZXN0ID09PSBcImJldHRlcmRpc2NvcmRcIiB8fCByZXF1ZXN0LnN0YXJ0c1dpdGgoXCJiZXR0ZXJkaXNjb3JkL1wiKSkge1xyXG4gICAgLy8gICAgICAgICBjb25zdCBjb250ZW50UGF0aCA9IFBsdWdpbk1hbmFnZXIuZ2V0UGx1Z2luUGF0aEJ5TW9kdWxlKHBhcmVudCk7XHJcbiAgICAvLyAgICAgICAgIGlmIChjb250ZW50UGF0aCkgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgICAvLyAgICAgfVxyXG5cclxuICAgIC8vICAgICByZXR1cm4gcmVzb2x2ZUZpbGVuYW1lLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbiAgICAvLyB9O1xyXG5cclxuICAgIHJldHVybiBmdW5jdGlvbigpIHtcclxuICAgICAgICBNb2R1bGUuX2xvYWQgPSBsb2FkO1xyXG4gICAgfTtcclxufVxyXG5cclxuLy8gZXhwb3J0IGZ1bmN0aW9uIGdldFBsdWdpbkJ5TW9kdWxlKG1vZHVsZSkge1xyXG4vLyAgICAgcmV0dXJuIHRoaXMubG9jYWxDb250ZW50LmZpbmQocGx1Z2luID0+IG1vZHVsZS5maWxlbmFtZSA9PT0gcGx1Z2luLmNvbnRlbnRQYXRoIHx8IG1vZHVsZS5maWxlbmFtZS5zdGFydHNXaXRoKHBsdWdpbi5jb250ZW50UGF0aCArIHBhdGguc2VwKSk7XHJcbi8vIH1cclxuXHJcbi8vIGV4cG9ydCBmdW5jdGlvbiBnZXRQbHVnaW5QYXRoQnlNb2R1bGUobW9kdWxlKSB7XHJcbi8vICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5wbHVnaW5BcGlJbnN0YW5jZXMpLmZpbmQoY29udGVudFBhdGggPT4gbW9kdWxlLmZpbGVuYW1lID09PSBjb250ZW50UGF0aCB8fCBtb2R1bGUuZmlsZW5hbWUuc3RhcnRzV2l0aChjb250ZW50UGF0aCArIHBhdGguc2VwKSk7XHJcbi8vIH1cclxuXHJcbi8vIHZhciBzZXR0aW5nc1BhbmVsLCBlbW90ZU1vZHVsZSwgcXVpY2tFbW90ZU1lbnUsIHZvaWNlTW9kZSwsIGRNb2RlLCBwdWJsaWNTZXJ2ZXJzTW9kdWxlO1xyXG4vLyB2YXIgYmRDb25maWcgPSBudWxsOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/index.js\n"); /***/ }), @@ -431,7 +443,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _uti /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var _contentmanager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./contentmanager */ \"./src/modules/contentmanager.js\");\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n/* harmony import */ var _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../structs/contenterror */ \"./src/structs/contenterror.js\");\n/* harmony import */ var _settingsmanager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./settingsmanager */ \"./src/modules/settingsmanager.js\");\n\n\n\n\n\n\n\n\nconst path = __webpack_require__(/*! path */ \"path\");\n\nconst electronRemote = __webpack_require__(/*! electron */ \"electron\").remote;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class PluginManager extends _contentmanager__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n get name() {\n return \"PluginManager\";\n }\n\n get moduleExtension() {\n return \".js\";\n }\n\n get extension() {\n return \".plugin.js\";\n }\n\n get contentFolder() {\n return path.resolve(data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].dataPath, \"plugins\");\n }\n\n get prefix() {\n return \"plugin\";\n }\n\n constructor() {\n super();\n this.onSwitch = this.onSwitch.bind(this);\n this.observer = new MutationObserver(mutations => {\n for (let i = 0, mlen = mutations.length; i < mlen; i++) {\n this.onMutation(mutations[i]);\n }\n });\n }\n /* Aliases */\n\n\n updatePluginList() {\n return this.updateList();\n }\n\n enablePlugin(idOrContent) {\n return this.enableContent(idOrContent);\n }\n\n disablePlugin(idOrContent) {\n return this.disableContent(idOrContent);\n }\n\n togglePlugin(id) {\n return this.toggleContent(id);\n }\n\n unloadPlugin(idOrFileOrContent) {\n return this.unloadContent(idOrFileOrContent);\n }\n\n loadPlugin(filename) {\n const error = this.loadContent(filename);\n if (error) ui__WEBPACK_IMPORTED_MODULE_3__[\"Modals\"].showContentErrors({\n themes: [error]\n });\n }\n\n reloadPlugin(idOrFileOrContent) {\n const error = this.reloadContent(idOrFileOrContent);\n if (error) ui__WEBPACK_IMPORTED_MODULE_3__[\"Modals\"].showContentErrors({\n plugins: [error]\n });\n return typeof idOrFileOrContent == \"string\" ? this.contentList.find(c => c.id == idOrFileOrContent || c.filename == idOrFileOrContent) : idOrFileOrContent;\n }\n\n loadAllPlugins() {\n const errors = this.loadAllContent();\n this.setupFunctions();\n _settingsmanager__WEBPACK_IMPORTED_MODULE_5__[\"default\"].registerPanel(\"Plugins\", {\n element: () => ui__WEBPACK_IMPORTED_MODULE_3__[\"SettingsPanel\"].getContentPanel(\"Plugins\", this.contentList, this.state, {\n folder: this.contentFolder,\n onChange: this.togglePlugin.bind(this),\n reload: this.reloadPlugin.bind(this),\n refreshList: this.updatePluginList.bind(this)\n })\n });\n return errors;\n }\n /* Overrides */\n\n\n initializeContent(content) {\n if (!content.type) return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, content.filename, \"Plugin had no exports\", {\n message: \"Plugin had no exports or no name property.\",\n stack: \"\"\n });\n\n try {\n const thePlugin = new content.type();\n content.plugin = thePlugin;\n content.name = thePlugin.getName() || content.name;\n content.author = thePlugin.getAuthor() || content.author || \"No author\";\n content.description = thePlugin.getDescription() || content.description || \"No description\";\n content.version = thePlugin.getVersion() || content.version || \"No version\";\n\n try {\n if (typeof content.plugin.load == \"function\") content.plugin.load();\n } catch (error) {\n this.state[content.id] = false;\n return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, content.filename, \"load() could not be fired.\", {\n message: error.message,\n stack: error.stack\n });\n }\n } catch (error) {\n return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, content.filename, \"Could not be constructed.\", {\n message: error.message,\n stack: error.stack\n });\n }\n }\n\n getContentModification(module, content, meta) {\n module._compile(content, module.filename);\n\n const didExport = !_utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isEmpty(module.exports);\n\n if (didExport) {\n meta.type = module.exports;\n module.exports = meta;\n return \"\";\n }\n\n content += `\\nmodule.exports = ${JSON.stringify(meta)};\\nmodule.exports.type = ${meta.exports || meta.name};`;\n return content;\n }\n\n startContent(id) {\n return this.startPlugin(id);\n }\n\n stopContent(id) {\n return this.stopPlugin(id);\n }\n\n startPlugin(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n const plugin = content.plugin;\n\n try {\n plugin.start();\n this.emit(\"started\", content.id);\n ui__WEBPACK_IMPORTED_MODULE_3__[\"Toasts\"].show(`${content.name} v${content.version} has started.`);\n } catch (err) {\n this.state[content.id] = false;\n ui__WEBPACK_IMPORTED_MODULE_3__[\"Toasts\"].error(`${content.name} v${content.version} could not be started.`);\n _utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].err(\"Plugins\", content.name + \" could not be started.\", err);\n return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, content.filename, \"start() could not be fired.\", {\n message: err.message,\n stack: err.stack\n });\n }\n }\n\n stopPlugin(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n const plugin = content.plugin;\n\n try {\n plugin.stop();\n this.emit(\"stopped\", content.id);\n ui__WEBPACK_IMPORTED_MODULE_3__[\"Toasts\"].show(`${content.name} v${content.version} has stopped.`);\n } catch (err) {\n this.state[content.id] = false;\n ui__WEBPACK_IMPORTED_MODULE_3__[\"Toasts\"].error(`${content.name} v${content.version} could not be stopped.`);\n _utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].err(\"Plugins\", content.name + \" could not be stopped.\", err);\n return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, content.filename, \"stop() could not be fired.\", {\n message: err.message,\n stack: err.stack\n });\n }\n }\n\n setupFunctions() {\n electronRemote.getCurrentWebContents().on(\"did-navigate-in-page\", this.onSwitch.bind(this));\n this.observer.observe(document, {\n childList: true,\n subtree: true\n });\n }\n\n onSwitch() {\n this.emit(\"page-switch\");\n\n for (let i = 0; i < this.contentList.length; i++) {\n const plugin = this.contentList[i].plugin;\n if (!this.state[this.contentList[i].id]) continue;\n\n if (typeof plugin.onSwitch === \"function\") {\n try {\n plugin.onSwitch();\n } catch (err) {\n _utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].err(\"Plugins\", \"Unable to fire onSwitch for \" + this.contentList[i].name + \".\", err);\n }\n }\n }\n }\n\n onMutation(mutation) {\n for (let i = 0; i < this.contentList.length; i++) {\n const plugin = this.contentList[i].plugin;\n if (!this.state[this.contentList[i].id]) continue;\n\n if (typeof plugin.observer === \"function\") {\n try {\n plugin.observer(mutation);\n } catch (err) {\n _utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].err(\"Plugins\", \"Unable to fire observer for \" + this.contentList[i].name + \".\", err);\n }\n }\n }\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvcGx1Z2lubWFuYWdlci5qcz9kMTczIl0sIm5hbWVzIjpbInBhdGgiLCJyZXF1aXJlIiwiZWxlY3Ryb25SZW1vdGUiLCJyZW1vdGUiLCJQbHVnaW5NYW5hZ2VyIiwiQ29udGVudE1hbmFnZXIiLCJuYW1lIiwibW9kdWxlRXh0ZW5zaW9uIiwiZXh0ZW5zaW9uIiwiY29udGVudEZvbGRlciIsInJlc29sdmUiLCJDb25maWciLCJkYXRhUGF0aCIsInByZWZpeCIsImNvbnN0cnVjdG9yIiwib25Td2l0Y2giLCJiaW5kIiwib2JzZXJ2ZXIiLCJNdXRhdGlvbk9ic2VydmVyIiwibXV0YXRpb25zIiwiaSIsIm1sZW4iLCJsZW5ndGgiLCJvbk11dGF0aW9uIiwidXBkYXRlUGx1Z2luTGlzdCIsInVwZGF0ZUxpc3QiLCJlbmFibGVQbHVnaW4iLCJpZE9yQ29udGVudCIsImVuYWJsZUNvbnRlbnQiLCJkaXNhYmxlUGx1Z2luIiwiZGlzYWJsZUNvbnRlbnQiLCJ0b2dnbGVQbHVnaW4iLCJpZCIsInRvZ2dsZUNvbnRlbnQiLCJ1bmxvYWRQbHVnaW4iLCJpZE9yRmlsZU9yQ29udGVudCIsInVubG9hZENvbnRlbnQiLCJsb2FkUGx1Z2luIiwiZmlsZW5hbWUiLCJlcnJvciIsImxvYWRDb250ZW50IiwiTW9kYWxzIiwic2hvd0NvbnRlbnRFcnJvcnMiLCJ0aGVtZXMiLCJyZWxvYWRQbHVnaW4iLCJyZWxvYWRDb250ZW50IiwicGx1Z2lucyIsImNvbnRlbnRMaXN0IiwiZmluZCIsImMiLCJsb2FkQWxsUGx1Z2lucyIsImVycm9ycyIsImxvYWRBbGxDb250ZW50Iiwic2V0dXBGdW5jdGlvbnMiLCJTZXR0aW5ncyIsInJlZ2lzdGVyUGFuZWwiLCJlbGVtZW50IiwiU2V0dGluZ3NSZW5kZXJlciIsImdldENvbnRlbnRQYW5lbCIsInN0YXRlIiwiZm9sZGVyIiwib25DaGFuZ2UiLCJyZWxvYWQiLCJyZWZyZXNoTGlzdCIsImluaXRpYWxpemVDb250ZW50IiwiY29udGVudCIsInR5cGUiLCJDb250ZW50RXJyb3IiLCJtZXNzYWdlIiwic3RhY2siLCJ0aGVQbHVnaW4iLCJwbHVnaW4iLCJnZXROYW1lIiwiYXV0aG9yIiwiZ2V0QXV0aG9yIiwiZGVzY3JpcHRpb24iLCJnZXREZXNjcmlwdGlvbiIsInZlcnNpb24iLCJnZXRWZXJzaW9uIiwibG9hZCIsImdldENvbnRlbnRNb2RpZmljYXRpb24iLCJtb2R1bGUiLCJtZXRhIiwiX2NvbXBpbGUiLCJkaWRFeHBvcnQiLCJVdGlsaXRpZXMiLCJpc0VtcHR5IiwiZXhwb3J0cyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFydENvbnRlbnQiLCJzdGFydFBsdWdpbiIsInN0b3BDb250ZW50Iiwic3RvcFBsdWdpbiIsInAiLCJzdGFydCIsImVtaXQiLCJUb2FzdHMiLCJzaG93IiwiZXJyIiwic3RvcCIsImdldEN1cnJlbnRXZWJDb250ZW50cyIsIm9uIiwib2JzZXJ2ZSIsImRvY3VtZW50IiwiY2hpbGRMaXN0Iiwic3VidHJlZSIsIm11dGF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE1BQU1BLElBQUksR0FBR0MsbUJBQU8sQ0FBQyxrQkFBRCxDQUFwQjs7QUFDQSxNQUFNQyxjQUFjLEdBQUdELG1CQUFPLENBQUMsMEJBQUQsQ0FBUCxDQUFvQkUsTUFBM0M7O0FBRWUsbUVBQUksTUFBTUMsYUFBTixTQUE0QkMsdURBQTVCLENBQTJDO0FBQzFELE1BQUlDLElBQUosR0FBVztBQUFDLFdBQU8sZUFBUDtBQUF3Qjs7QUFDcEMsTUFBSUMsZUFBSixHQUFzQjtBQUFDLFdBQU8sS0FBUDtBQUFjOztBQUNyQyxNQUFJQyxTQUFKLEdBQWdCO0FBQUMsV0FBTyxZQUFQO0FBQXFCOztBQUN0QyxNQUFJQyxhQUFKLEdBQW9CO0FBQUMsV0FBT1QsSUFBSSxDQUFDVSxPQUFMLENBQWFDLDJDQUFNLENBQUNDLFFBQXBCLEVBQThCLFNBQTlCLENBQVA7QUFBaUQ7O0FBQ3RFLE1BQUlDLE1BQUosR0FBYTtBQUFDLFdBQU8sUUFBUDtBQUFpQjs7QUFFL0JDLGFBQVcsR0FBRztBQUNWO0FBQ0EsU0FBS0MsUUFBTCxHQUFnQixLQUFLQSxRQUFMLENBQWNDLElBQWQsQ0FBbUIsSUFBbkIsQ0FBaEI7QUFDQSxTQUFLQyxRQUFMLEdBQWdCLElBQUlDLGdCQUFKLENBQXNCQyxTQUFELElBQWU7QUFDaEQsV0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBUixFQUFXQyxJQUFJLEdBQUdGLFNBQVMsQ0FBQ0csTUFBakMsRUFBeUNGLENBQUMsR0FBR0MsSUFBN0MsRUFBbURELENBQUMsRUFBcEQsRUFBd0Q7QUFDcEQsYUFBS0csVUFBTCxDQUFnQkosU0FBUyxDQUFDQyxDQUFELENBQXpCO0FBQ0g7QUFDSixLQUplLENBQWhCO0FBS0g7QUFFRDs7O0FBQ0FJLGtCQUFnQixHQUFHO0FBQUMsV0FBTyxLQUFLQyxVQUFMLEVBQVA7QUFBMEI7O0FBRTlDQyxjQUFZLENBQUNDLFdBQUQsRUFBYztBQUFDLFdBQU8sS0FBS0MsYUFBTCxDQUFtQkQsV0FBbkIsQ0FBUDtBQUF3Qzs7QUFDbkVFLGVBQWEsQ0FBQ0YsV0FBRCxFQUFjO0FBQUMsV0FBTyxLQUFLRyxjQUFMLENBQW9CSCxXQUFwQixDQUFQO0FBQXlDOztBQUNyRUksY0FBWSxDQUFDQyxFQUFELEVBQUs7QUFBQyxXQUFPLEtBQUtDLGFBQUwsQ0FBbUJELEVBQW5CLENBQVA7QUFBK0I7O0FBRWpERSxjQUFZLENBQUNDLGlCQUFELEVBQW9CO0FBQUMsV0FBTyxLQUFLQyxhQUFMLENBQW1CRCxpQkFBbkIsQ0FBUDtBQUE4Qzs7QUFFL0VFLFlBQVUsQ0FBQ0MsUUFBRCxFQUFXO0FBQ2pCLFVBQU1DLEtBQUssR0FBRyxLQUFLQyxXQUFMLENBQWlCRixRQUFqQixDQUFkO0FBQ0EsUUFBSUMsS0FBSixFQUFXRSx5Q0FBTSxDQUFDQyxpQkFBUCxDQUF5QjtBQUFDQyxZQUFNLEVBQUUsQ0FBQ0osS0FBRDtBQUFULEtBQXpCO0FBQ2Q7O0FBRURLLGNBQVksQ0FBQ1QsaUJBQUQsRUFBb0I7QUFDNUIsVUFBTUksS0FBSyxHQUFHLEtBQUtNLGFBQUwsQ0FBbUJWLGlCQUFuQixDQUFkO0FBQ0EsUUFBSUksS0FBSixFQUFXRSx5Q0FBTSxDQUFDQyxpQkFBUCxDQUF5QjtBQUFDSSxhQUFPLEVBQUUsQ0FBQ1AsS0FBRDtBQUFWLEtBQXpCO0FBQ1gsV0FBTyxPQUFPSixpQkFBUCxJQUE2QixRQUE3QixHQUF3QyxLQUFLWSxXQUFMLENBQWlCQyxJQUFqQixDQUFzQkMsQ0FBQyxJQUFJQSxDQUFDLENBQUNqQixFQUFGLElBQVFHLGlCQUFSLElBQTZCYyxDQUFDLENBQUNYLFFBQUYsSUFBY0gsaUJBQXRFLENBQXhDLEdBQW1JQSxpQkFBMUk7QUFDSDs7QUFFRGUsZ0JBQWMsR0FBRztBQUNiLFVBQU1DLE1BQU0sR0FBRyxLQUFLQyxjQUFMLEVBQWY7QUFDQSxTQUFLQyxjQUFMO0FBQ0FDLDREQUFRLENBQUNDLGFBQVQsQ0FBdUIsU0FBdkIsRUFBa0M7QUFBQ0MsYUFBTyxFQUFFLE1BQU1DLGdEQUFnQixDQUFDQyxlQUFqQixDQUFpQyxTQUFqQyxFQUE0QyxLQUFLWCxXQUFqRCxFQUE4RCxLQUFLWSxLQUFuRSxFQUEwRTtBQUN4SEMsY0FBTSxFQUFFLEtBQUtuRCxhQUQyRztBQUV4SG9ELGdCQUFRLEVBQUUsS0FBSzlCLFlBQUwsQ0FBa0JmLElBQWxCLENBQXVCLElBQXZCLENBRjhHO0FBR3hIOEMsY0FBTSxFQUFFLEtBQUtsQixZQUFMLENBQWtCNUIsSUFBbEIsQ0FBdUIsSUFBdkIsQ0FIZ0g7QUFJeEgrQyxtQkFBVyxFQUFFLEtBQUt2QyxnQkFBTCxDQUFzQlIsSUFBdEIsQ0FBMkIsSUFBM0I7QUFKMkcsT0FBMUU7QUFBaEIsS0FBbEM7QUFNQSxXQUFPbUMsTUFBUDtBQUNIO0FBRUQ7OztBQUNBYSxtQkFBaUIsQ0FBQ0MsT0FBRCxFQUFVO0FBQ3ZCLFFBQUksQ0FBQ0EsT0FBTyxDQUFDQyxJQUFiLEVBQW1CLE9BQU8sSUFBSUMsNkRBQUosQ0FBaUJGLE9BQU8sQ0FBQzNELElBQXpCLEVBQStCMkQsT0FBTyxDQUFDM0IsUUFBdkMsRUFBaUQsdUJBQWpELEVBQTBFO0FBQUM4QixhQUFPLEVBQUUsNENBQVY7QUFBd0RDLFdBQUssRUFBRTtBQUEvRCxLQUExRSxDQUFQOztBQUNuQixRQUFJO0FBQ0EsWUFBTUMsU0FBUyxHQUFHLElBQUlMLE9BQU8sQ0FBQ0MsSUFBWixFQUFsQjtBQUNBRCxhQUFPLENBQUNNLE1BQVIsR0FBaUJELFNBQWpCO0FBQ0FMLGFBQU8sQ0FBQzNELElBQVIsR0FBZWdFLFNBQVMsQ0FBQ0UsT0FBVixNQUF1QlAsT0FBTyxDQUFDM0QsSUFBOUM7QUFDQTJELGFBQU8sQ0FBQ1EsTUFBUixHQUFpQkgsU0FBUyxDQUFDSSxTQUFWLE1BQXlCVCxPQUFPLENBQUNRLE1BQWpDLElBQTJDLFdBQTVEO0FBQ0FSLGFBQU8sQ0FBQ1UsV0FBUixHQUFzQkwsU0FBUyxDQUFDTSxjQUFWLE1BQThCWCxPQUFPLENBQUNVLFdBQXRDLElBQXFELGdCQUEzRTtBQUNBVixhQUFPLENBQUNZLE9BQVIsR0FBa0JQLFNBQVMsQ0FBQ1EsVUFBVixNQUEwQmIsT0FBTyxDQUFDWSxPQUFsQyxJQUE2QyxZQUEvRDs7QUFDQSxVQUFJO0FBQ0EsWUFBSSxPQUFPWixPQUFPLENBQUNNLE1BQVIsQ0FBZVEsSUFBdEIsSUFBK0IsVUFBbkMsRUFBK0NkLE9BQU8sQ0FBQ00sTUFBUixDQUFlUSxJQUFmO0FBQ2xELE9BRkQsQ0FHQSxPQUFPeEMsS0FBUCxFQUFjO0FBQ1YsYUFBS29CLEtBQUwsQ0FBV00sT0FBTyxDQUFDakMsRUFBbkIsSUFBeUIsS0FBekI7QUFDQSxlQUFPLElBQUltQyw2REFBSixDQUFpQkYsT0FBTyxDQUFDM0QsSUFBekIsRUFBK0IyRCxPQUFPLENBQUMzQixRQUF2QyxFQUFpRCw0QkFBakQsRUFBK0U7QUFBQzhCLGlCQUFPLEVBQUU3QixLQUFLLENBQUM2QixPQUFoQjtBQUF5QkMsZUFBSyxFQUFFOUIsS0FBSyxDQUFDOEI7QUFBdEMsU0FBL0UsQ0FBUDtBQUNIO0FBQ0osS0FkRCxDQWVBLE9BQU85QixLQUFQLEVBQWM7QUFBQyxhQUFPLElBQUk0Qiw2REFBSixDQUFpQkYsT0FBTyxDQUFDM0QsSUFBekIsRUFBK0IyRCxPQUFPLENBQUMzQixRQUF2QyxFQUFpRCwyQkFBakQsRUFBOEU7QUFBQzhCLGVBQU8sRUFBRTdCLEtBQUssQ0FBQzZCLE9BQWhCO0FBQXlCQyxhQUFLLEVBQUU5QixLQUFLLENBQUM4QjtBQUF0QyxPQUE5RSxDQUFQO0FBQW9JO0FBQ3RKOztBQUVEVyx3QkFBc0IsQ0FBQ0MsTUFBRCxFQUFTaEIsT0FBVCxFQUFrQmlCLElBQWxCLEVBQXdCO0FBQzFDRCxVQUFNLENBQUNFLFFBQVAsQ0FBZ0JsQixPQUFoQixFQUF5QmdCLE1BQU0sQ0FBQzNDLFFBQWhDOztBQUNBLFVBQU04QyxTQUFTLEdBQUcsQ0FBQ0Msa0RBQVMsQ0FBQ0MsT0FBVixDQUFrQkwsTUFBTSxDQUFDTSxPQUF6QixDQUFuQjs7QUFDQSxRQUFJSCxTQUFKLEVBQWU7QUFDWEYsVUFBSSxDQUFDaEIsSUFBTCxHQUFZZSxNQUFNLENBQUNNLE9BQW5CO0FBQ0FOLFlBQU0sQ0FBQ00sT0FBUCxHQUFpQkwsSUFBakI7QUFDQSxhQUFPLEVBQVA7QUFDSDs7QUFDRGpCLFdBQU8sSUFBSyxzQkFBcUJ1QixJQUFJLENBQUNDLFNBQUwsQ0FBZVAsSUFBZixDQUFxQiw0QkFBMkJBLElBQUksQ0FBQ0ssT0FBTCxJQUFnQkwsSUFBSSxDQUFDNUUsSUFBSyxHQUEzRztBQUNBLFdBQU8yRCxPQUFQO0FBQ0g7O0FBRUR5QixjQUFZLENBQUMxRCxFQUFELEVBQUs7QUFBQyxXQUFPLEtBQUsyRCxXQUFMLENBQWlCM0QsRUFBakIsQ0FBUDtBQUE2Qjs7QUFDL0M0RCxhQUFXLENBQUM1RCxFQUFELEVBQUs7QUFBQyxXQUFPLEtBQUs2RCxVQUFMLENBQWdCN0QsRUFBaEIsQ0FBUDtBQUE0Qjs7QUFFN0MyRCxhQUFXLENBQUNoRSxXQUFELEVBQWM7QUFDckIsVUFBTXNDLE9BQU8sR0FBRyxPQUFPdEMsV0FBUCxJQUF1QixRQUF2QixHQUFrQyxLQUFLb0IsV0FBTCxDQUFpQkMsSUFBakIsQ0FBc0I4QyxDQUFDLElBQUlBLENBQUMsQ0FBQzlELEVBQUYsSUFBUUwsV0FBbkMsQ0FBbEMsR0FBb0ZBLFdBQXBHO0FBQ0EsUUFBSSxDQUFDc0MsT0FBTCxFQUFjO0FBQ2QsVUFBTU0sTUFBTSxHQUFHTixPQUFPLENBQUNNLE1BQXZCOztBQUNBLFFBQUk7QUFDQUEsWUFBTSxDQUFDd0IsS0FBUDtBQUNBLFdBQUtDLElBQUwsQ0FBVSxTQUFWLEVBQXFCL0IsT0FBTyxDQUFDakMsRUFBN0I7QUFDQWlFLCtDQUFNLENBQUNDLElBQVAsQ0FBYSxHQUFFakMsT0FBTyxDQUFDM0QsSUFBSyxLQUFJMkQsT0FBTyxDQUFDWSxPQUFRLGVBQWhEO0FBQ0gsS0FKRCxDQUtBLE9BQU9zQixHQUFQLEVBQVk7QUFDUixXQUFLeEMsS0FBTCxDQUFXTSxPQUFPLENBQUNqQyxFQUFuQixJQUF5QixLQUF6QjtBQUNBaUUsK0NBQU0sQ0FBQzFELEtBQVAsQ0FBYyxHQUFFMEIsT0FBTyxDQUFDM0QsSUFBSyxLQUFJMkQsT0FBTyxDQUFDWSxPQUFRLHdCQUFqRDtBQUNBUSx3REFBUyxDQUFDYyxHQUFWLENBQWMsU0FBZCxFQUF5QmxDLE9BQU8sQ0FBQzNELElBQVIsR0FBZSx3QkFBeEMsRUFBa0U2RixHQUFsRTtBQUNBLGFBQU8sSUFBSWhDLDZEQUFKLENBQWlCRixPQUFPLENBQUMzRCxJQUF6QixFQUErQjJELE9BQU8sQ0FBQzNCLFFBQXZDLEVBQWlELDZCQUFqRCxFQUFnRjtBQUFDOEIsZUFBTyxFQUFFK0IsR0FBRyxDQUFDL0IsT0FBZDtBQUF1QkMsYUFBSyxFQUFFOEIsR0FBRyxDQUFDOUI7QUFBbEMsT0FBaEYsQ0FBUDtBQUNIO0FBQ0o7O0FBRUR3QixZQUFVLENBQUNsRSxXQUFELEVBQWM7QUFDcEIsVUFBTXNDLE9BQU8sR0FBRyxPQUFPdEMsV0FBUCxJQUF1QixRQUF2QixHQUFrQyxLQUFLb0IsV0FBTCxDQUFpQkMsSUFBakIsQ0FBc0I4QyxDQUFDLElBQUlBLENBQUMsQ0FBQzlELEVBQUYsSUFBUUwsV0FBbkMsQ0FBbEMsR0FBb0ZBLFdBQXBHO0FBQ0EsUUFBSSxDQUFDc0MsT0FBTCxFQUFjO0FBQ2QsVUFBTU0sTUFBTSxHQUFHTixPQUFPLENBQUNNLE1BQXZCOztBQUNBLFFBQUk7QUFDQUEsWUFBTSxDQUFDNkIsSUFBUDtBQUNBLFdBQUtKLElBQUwsQ0FBVSxTQUFWLEVBQXFCL0IsT0FBTyxDQUFDakMsRUFBN0I7QUFDQWlFLCtDQUFNLENBQUNDLElBQVAsQ0FBYSxHQUFFakMsT0FBTyxDQUFDM0QsSUFBSyxLQUFJMkQsT0FBTyxDQUFDWSxPQUFRLGVBQWhEO0FBQ0gsS0FKRCxDQUtBLE9BQU9zQixHQUFQLEVBQVk7QUFDUixXQUFLeEMsS0FBTCxDQUFXTSxPQUFPLENBQUNqQyxFQUFuQixJQUF5QixLQUF6QjtBQUNBaUUsK0NBQU0sQ0FBQzFELEtBQVAsQ0FBYyxHQUFFMEIsT0FBTyxDQUFDM0QsSUFBSyxLQUFJMkQsT0FBTyxDQUFDWSxPQUFRLHdCQUFqRDtBQUNBUSx3REFBUyxDQUFDYyxHQUFWLENBQWMsU0FBZCxFQUF5QmxDLE9BQU8sQ0FBQzNELElBQVIsR0FBZSx3QkFBeEMsRUFBa0U2RixHQUFsRTtBQUNBLGFBQU8sSUFBSWhDLDZEQUFKLENBQWlCRixPQUFPLENBQUMzRCxJQUF6QixFQUErQjJELE9BQU8sQ0FBQzNCLFFBQXZDLEVBQWlELDRCQUFqRCxFQUErRTtBQUFDOEIsZUFBTyxFQUFFK0IsR0FBRyxDQUFDL0IsT0FBZDtBQUF1QkMsYUFBSyxFQUFFOEIsR0FBRyxDQUFDOUI7QUFBbEMsT0FBL0UsQ0FBUDtBQUNIO0FBQ0o7O0FBRURoQixnQkFBYyxHQUFHO0FBQ2JuRCxrQkFBYyxDQUFDbUcscUJBQWYsR0FBdUNDLEVBQXZDLENBQTBDLHNCQUExQyxFQUFrRSxLQUFLdkYsUUFBTCxDQUFjQyxJQUFkLENBQW1CLElBQW5CLENBQWxFO0FBQ0EsU0FBS0MsUUFBTCxDQUFjc0YsT0FBZCxDQUFzQkMsUUFBdEIsRUFBZ0M7QUFDNUJDLGVBQVMsRUFBRSxJQURpQjtBQUU1QkMsYUFBTyxFQUFFO0FBRm1CLEtBQWhDO0FBSUg7O0FBRUQzRixVQUFRLEdBQUc7QUFDUCxTQUFLaUYsSUFBTCxDQUFVLGFBQVY7O0FBQ0EsU0FBSyxJQUFJNUUsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRyxLQUFLMkIsV0FBTCxDQUFpQnpCLE1BQXJDLEVBQTZDRixDQUFDLEVBQTlDLEVBQWtEO0FBQzlDLFlBQU1tRCxNQUFNLEdBQUcsS0FBS3hCLFdBQUwsQ0FBaUIzQixDQUFqQixFQUFvQm1ELE1BQW5DO0FBQ0EsVUFBSSxDQUFDLEtBQUtaLEtBQUwsQ0FBVyxLQUFLWixXQUFMLENBQWlCM0IsQ0FBakIsRUFBb0JZLEVBQS9CLENBQUwsRUFBeUM7O0FBQ3pDLFVBQUksT0FBT3VDLE1BQU0sQ0FBQ3hELFFBQWQsS0FBNEIsVUFBaEMsRUFBNEM7QUFDeEMsWUFBSTtBQUFFd0QsZ0JBQU0sQ0FBQ3hELFFBQVA7QUFBb0IsU0FBMUIsQ0FDQSxPQUFPb0YsR0FBUCxFQUFZO0FBQUVkLDREQUFTLENBQUNjLEdBQVYsQ0FBYyxTQUFkLEVBQXlCLGlDQUFpQyxLQUFLcEQsV0FBTCxDQUFpQjNCLENBQWpCLEVBQW9CZCxJQUFyRCxHQUE0RCxHQUFyRixFQUEwRjZGLEdBQTFGO0FBQWlHO0FBQ2xIO0FBQ0o7QUFDSjs7QUFFRDVFLFlBQVUsQ0FBQ29GLFFBQUQsRUFBVztBQUNqQixTQUFLLElBQUl2RixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHLEtBQUsyQixXQUFMLENBQWlCekIsTUFBckMsRUFBNkNGLENBQUMsRUFBOUMsRUFBa0Q7QUFDOUMsWUFBTW1ELE1BQU0sR0FBRyxLQUFLeEIsV0FBTCxDQUFpQjNCLENBQWpCLEVBQW9CbUQsTUFBbkM7QUFDQSxVQUFJLENBQUMsS0FBS1osS0FBTCxDQUFXLEtBQUtaLFdBQUwsQ0FBaUIzQixDQUFqQixFQUFvQlksRUFBL0IsQ0FBTCxFQUF5Qzs7QUFDekMsVUFBSSxPQUFPdUMsTUFBTSxDQUFDdEQsUUFBZCxLQUEyQixVQUEvQixFQUEyQztBQUN2QyxZQUFJO0FBQUVzRCxnQkFBTSxDQUFDdEQsUUFBUCxDQUFnQjBGLFFBQWhCO0FBQTRCLFNBQWxDLENBQ0EsT0FBT1IsR0FBUCxFQUFZO0FBQUVkLDREQUFTLENBQUNjLEdBQVYsQ0FBYyxTQUFkLEVBQXlCLGlDQUFpQyxLQUFLcEQsV0FBTCxDQUFpQjNCLENBQWpCLEVBQW9CZCxJQUFyRCxHQUE0RCxHQUFyRixFQUEwRjZGLEdBQTFGO0FBQWlHO0FBQ2xIO0FBQ0o7QUFDSjs7QUFwSnlELENBQS9DLEVBQWYiLCJmaWxlIjoiLi9zcmMvbW9kdWxlcy9wbHVnaW5tYW5hZ2VyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25maWd9IGZyb20gXCJkYXRhXCI7XHJcbmltcG9ydCBDb250ZW50TWFuYWdlciBmcm9tIFwiLi9jb250ZW50bWFuYWdlclwiO1xyXG5pbXBvcnQgVXRpbGl0aWVzIGZyb20gXCIuL3V0aWxpdGllc1wiO1xyXG5pbXBvcnQge1RvYXN0cywgTW9kYWxzfSBmcm9tIFwidWlcIjtcclxuaW1wb3J0IENvbnRlbnRFcnJvciBmcm9tIFwiLi4vc3RydWN0cy9jb250ZW50ZXJyb3JcIjtcclxuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuL3NldHRpbmdzbWFuYWdlclwiO1xyXG5pbXBvcnQge1NldHRpbmdzUGFuZWwgYXMgU2V0dGluZ3NSZW5kZXJlcn0gZnJvbSBcInVpXCI7XHJcblxyXG5jb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XHJcbmNvbnN0IGVsZWN0cm9uUmVtb3RlID0gcmVxdWlyZShcImVsZWN0cm9uXCIpLnJlbW90ZTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBQbHVnaW5NYW5hZ2VyIGV4dGVuZHMgQ29udGVudE1hbmFnZXIge1xyXG4gICAgZ2V0IG5hbWUoKSB7cmV0dXJuIFwiUGx1Z2luTWFuYWdlclwiO31cclxuICAgIGdldCBtb2R1bGVFeHRlbnNpb24oKSB7cmV0dXJuIFwiLmpzXCI7fVxyXG4gICAgZ2V0IGV4dGVuc2lvbigpIHtyZXR1cm4gXCIucGx1Z2luLmpzXCI7fVxyXG4gICAgZ2V0IGNvbnRlbnRGb2xkZXIoKSB7cmV0dXJuIHBhdGgucmVzb2x2ZShDb25maWcuZGF0YVBhdGgsIFwicGx1Z2luc1wiKTt9XHJcbiAgICBnZXQgcHJlZml4KCkge3JldHVybiBcInBsdWdpblwiO31cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMub25Td2l0Y2ggPSB0aGlzLm9uU3dpdGNoLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIG1sZW4gPSBtdXRhdGlvbnMubGVuZ3RoOyBpIDwgbWxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uTXV0YXRpb24obXV0YXRpb25zW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEFsaWFzZXMgKi9cclxuICAgIHVwZGF0ZVBsdWdpbkxpc3QoKSB7cmV0dXJuIHRoaXMudXBkYXRlTGlzdCgpO31cclxuXHJcbiAgICBlbmFibGVQbHVnaW4oaWRPckNvbnRlbnQpIHtyZXR1cm4gdGhpcy5lbmFibGVDb250ZW50KGlkT3JDb250ZW50KTt9XHJcbiAgICBkaXNhYmxlUGx1Z2luKGlkT3JDb250ZW50KSB7cmV0dXJuIHRoaXMuZGlzYWJsZUNvbnRlbnQoaWRPckNvbnRlbnQpO31cclxuICAgIHRvZ2dsZVBsdWdpbihpZCkge3JldHVybiB0aGlzLnRvZ2dsZUNvbnRlbnQoaWQpO31cclxuXHJcbiAgICB1bmxvYWRQbHVnaW4oaWRPckZpbGVPckNvbnRlbnQpIHtyZXR1cm4gdGhpcy51bmxvYWRDb250ZW50KGlkT3JGaWxlT3JDb250ZW50KTt9XHJcblxyXG4gICAgbG9hZFBsdWdpbihmaWxlbmFtZSkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5sb2FkQ29udGVudChmaWxlbmFtZSk7XHJcbiAgICAgICAgaWYgKGVycm9yKSBNb2RhbHMuc2hvd0NvbnRlbnRFcnJvcnMoe3RoZW1lczogW2Vycm9yXX0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbG9hZFBsdWdpbihpZE9yRmlsZU9yQ29udGVudCkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5yZWxvYWRDb250ZW50KGlkT3JGaWxlT3JDb250ZW50KTtcclxuICAgICAgICBpZiAoZXJyb3IpIE1vZGFscy5zaG93Q29udGVudEVycm9ycyh7cGx1Z2luczogW2Vycm9yXX0pO1xyXG4gICAgICAgIHJldHVybiB0eXBlb2YoaWRPckZpbGVPckNvbnRlbnQpID09IFwic3RyaW5nXCIgPyB0aGlzLmNvbnRlbnRMaXN0LmZpbmQoYyA9PiBjLmlkID09IGlkT3JGaWxlT3JDb250ZW50IHx8IGMuZmlsZW5hbWUgPT0gaWRPckZpbGVPckNvbnRlbnQpIDogaWRPckZpbGVPckNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZEFsbFBsdWdpbnMoKSB7XHJcbiAgICAgICAgY29uc3QgZXJyb3JzID0gdGhpcy5sb2FkQWxsQ29udGVudCgpO1xyXG4gICAgICAgIHRoaXMuc2V0dXBGdW5jdGlvbnMoKTtcclxuICAgICAgICBTZXR0aW5ncy5yZWdpc3RlclBhbmVsKFwiUGx1Z2luc1wiLCB7ZWxlbWVudDogKCkgPT4gU2V0dGluZ3NSZW5kZXJlci5nZXRDb250ZW50UGFuZWwoXCJQbHVnaW5zXCIsIHRoaXMuY29udGVudExpc3QsIHRoaXMuc3RhdGUsIHtcclxuICAgICAgICAgICAgZm9sZGVyOiB0aGlzLmNvbnRlbnRGb2xkZXIsXHJcbiAgICAgICAgICAgIG9uQ2hhbmdlOiB0aGlzLnRvZ2dsZVBsdWdpbi5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICByZWxvYWQ6IHRoaXMucmVsb2FkUGx1Z2luLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgIHJlZnJlc2hMaXN0OiB0aGlzLnVwZGF0ZVBsdWdpbkxpc3QuYmluZCh0aGlzKVxyXG4gICAgICAgIH0pfSk7XHJcbiAgICAgICAgcmV0dXJuIGVycm9ycztcclxuICAgIH1cclxuXHJcbiAgICAvKiBPdmVycmlkZXMgKi9cclxuICAgIGluaXRpYWxpemVDb250ZW50KGNvbnRlbnQpIHtcclxuICAgICAgICBpZiAoIWNvbnRlbnQudHlwZSkgcmV0dXJuIG5ldyBDb250ZW50RXJyb3IoY29udGVudC5uYW1lLCBjb250ZW50LmZpbGVuYW1lLCBcIlBsdWdpbiBoYWQgbm8gZXhwb3J0c1wiLCB7bWVzc2FnZTogXCJQbHVnaW4gaGFkIG5vIGV4cG9ydHMgb3Igbm8gbmFtZSBwcm9wZXJ0eS5cIiwgc3RhY2s6IFwiXCJ9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB0aGVQbHVnaW4gPSBuZXcgY29udGVudC50eXBlKCk7XHJcbiAgICAgICAgICAgIGNvbnRlbnQucGx1Z2luID0gdGhlUGx1Z2luO1xyXG4gICAgICAgICAgICBjb250ZW50Lm5hbWUgPSB0aGVQbHVnaW4uZ2V0TmFtZSgpIHx8IGNvbnRlbnQubmFtZTtcclxuICAgICAgICAgICAgY29udGVudC5hdXRob3IgPSB0aGVQbHVnaW4uZ2V0QXV0aG9yKCkgfHwgY29udGVudC5hdXRob3IgfHwgXCJObyBhdXRob3JcIjtcclxuICAgICAgICAgICAgY29udGVudC5kZXNjcmlwdGlvbiA9IHRoZVBsdWdpbi5nZXREZXNjcmlwdGlvbigpIHx8IGNvbnRlbnQuZGVzY3JpcHRpb24gfHwgXCJObyBkZXNjcmlwdGlvblwiO1xyXG4gICAgICAgICAgICBjb250ZW50LnZlcnNpb24gPSB0aGVQbHVnaW4uZ2V0VmVyc2lvbigpIHx8IGNvbnRlbnQudmVyc2lvbiB8fCBcIk5vIHZlcnNpb25cIjtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YoY29udGVudC5wbHVnaW4ubG9hZCkgPT0gXCJmdW5jdGlvblwiKSBjb250ZW50LnBsdWdpbi5sb2FkKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlW2NvbnRlbnQuaWRdID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IENvbnRlbnRFcnJvcihjb250ZW50Lm5hbWUsIGNvbnRlbnQuZmlsZW5hbWUsIFwibG9hZCgpIGNvdWxkIG5vdCBiZSBmaXJlZC5cIiwge21lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsIHN0YWNrOiBlcnJvci5zdGFja30pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlcnJvcikge3JldHVybiBuZXcgQ29udGVudEVycm9yKGNvbnRlbnQubmFtZSwgY29udGVudC5maWxlbmFtZSwgXCJDb3VsZCBub3QgYmUgY29uc3RydWN0ZWQuXCIsIHttZXNzYWdlOiBlcnJvci5tZXNzYWdlLCBzdGFjazogZXJyb3Iuc3RhY2t9KTt9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q29udGVudE1vZGlmaWNhdGlvbihtb2R1bGUsIGNvbnRlbnQsIG1ldGEpIHtcclxuICAgICAgICBtb2R1bGUuX2NvbXBpbGUoY29udGVudCwgbW9kdWxlLmZpbGVuYW1lKTtcclxuICAgICAgICBjb25zdCBkaWRFeHBvcnQgPSAhVXRpbGl0aWVzLmlzRW1wdHkobW9kdWxlLmV4cG9ydHMpO1xyXG4gICAgICAgIGlmIChkaWRFeHBvcnQpIHtcclxuICAgICAgICAgICAgbWV0YS50eXBlID0gbW9kdWxlLmV4cG9ydHM7XHJcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gbWV0YTtcclxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnRlbnQgKz0gYFxcbm1vZHVsZS5leHBvcnRzID0gJHtKU09OLnN0cmluZ2lmeShtZXRhKX07XFxubW9kdWxlLmV4cG9ydHMudHlwZSA9ICR7bWV0YS5leHBvcnRzIHx8IG1ldGEubmFtZX07YDtcclxuICAgICAgICByZXR1cm4gY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydENvbnRlbnQoaWQpIHtyZXR1cm4gdGhpcy5zdGFydFBsdWdpbihpZCk7fVxyXG4gICAgc3RvcENvbnRlbnQoaWQpIHtyZXR1cm4gdGhpcy5zdG9wUGx1Z2luKGlkKTt9XHJcblxyXG4gICAgc3RhcnRQbHVnaW4oaWRPckNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mKGlkT3JDb250ZW50KSA9PSBcInN0cmluZ1wiID8gdGhpcy5jb250ZW50TGlzdC5maW5kKHAgPT4gcC5pZCA9PSBpZE9yQ29udGVudCkgOiBpZE9yQ29udGVudDtcclxuICAgICAgICBpZiAoIWNvbnRlbnQpIHJldHVybjtcclxuICAgICAgICBjb25zdCBwbHVnaW4gPSBjb250ZW50LnBsdWdpbjtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBwbHVnaW4uc3RhcnQoKTtcclxuICAgICAgICAgICAgdGhpcy5lbWl0KFwic3RhcnRlZFwiLCBjb250ZW50LmlkKTtcclxuICAgICAgICAgICAgVG9hc3RzLnNob3coYCR7Y29udGVudC5uYW1lfSB2JHtjb250ZW50LnZlcnNpb259IGhhcyBzdGFydGVkLmApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdGVbY29udGVudC5pZF0gPSBmYWxzZTtcclxuICAgICAgICAgICAgVG9hc3RzLmVycm9yKGAke2NvbnRlbnQubmFtZX0gdiR7Y29udGVudC52ZXJzaW9ufSBjb3VsZCBub3QgYmUgc3RhcnRlZC5gKTtcclxuICAgICAgICAgICAgVXRpbGl0aWVzLmVycihcIlBsdWdpbnNcIiwgY29udGVudC5uYW1lICsgXCIgY291bGQgbm90IGJlIHN0YXJ0ZWQuXCIsIGVycik7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgQ29udGVudEVycm9yKGNvbnRlbnQubmFtZSwgY29udGVudC5maWxlbmFtZSwgXCJzdGFydCgpIGNvdWxkIG5vdCBiZSBmaXJlZC5cIiwge21lc3NhZ2U6IGVyci5tZXNzYWdlLCBzdGFjazogZXJyLnN0YWNrfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0b3BQbHVnaW4oaWRPckNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mKGlkT3JDb250ZW50KSA9PSBcInN0cmluZ1wiID8gdGhpcy5jb250ZW50TGlzdC5maW5kKHAgPT4gcC5pZCA9PSBpZE9yQ29udGVudCkgOiBpZE9yQ29udGVudDtcclxuICAgICAgICBpZiAoIWNvbnRlbnQpIHJldHVybjtcclxuICAgICAgICBjb25zdCBwbHVnaW4gPSBjb250ZW50LnBsdWdpbjtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBwbHVnaW4uc3RvcCgpO1xyXG4gICAgICAgICAgICB0aGlzLmVtaXQoXCJzdG9wcGVkXCIsIGNvbnRlbnQuaWQpO1xyXG4gICAgICAgICAgICBUb2FzdHMuc2hvdyhgJHtjb250ZW50Lm5hbWV9IHYke2NvbnRlbnQudmVyc2lvbn0gaGFzIHN0b3BwZWQuYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgdGhpcy5zdGF0ZVtjb250ZW50LmlkXSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBUb2FzdHMuZXJyb3IoYCR7Y29udGVudC5uYW1lfSB2JHtjb250ZW50LnZlcnNpb259IGNvdWxkIG5vdCBiZSBzdG9wcGVkLmApO1xyXG4gICAgICAgICAgICBVdGlsaXRpZXMuZXJyKFwiUGx1Z2luc1wiLCBjb250ZW50Lm5hbWUgKyBcIiBjb3VsZCBub3QgYmUgc3RvcHBlZC5cIiwgZXJyKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBDb250ZW50RXJyb3IoY29udGVudC5uYW1lLCBjb250ZW50LmZpbGVuYW1lLCBcInN0b3AoKSBjb3VsZCBub3QgYmUgZmlyZWQuXCIsIHttZXNzYWdlOiBlcnIubWVzc2FnZSwgc3RhY2s6IGVyci5zdGFja30pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZXR1cEZ1bmN0aW9ucygpIHtcclxuICAgICAgICBlbGVjdHJvblJlbW90ZS5nZXRDdXJyZW50V2ViQ29udGVudHMoKS5vbihcImRpZC1uYXZpZ2F0ZS1pbi1wYWdlXCIsIHRoaXMub25Td2l0Y2guYmluZCh0aGlzKSk7XHJcbiAgICAgICAgdGhpcy5vYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LCB7XHJcbiAgICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcclxuICAgICAgICAgICAgc3VidHJlZTogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU3dpdGNoKCkge1xyXG4gICAgICAgIHRoaXMuZW1pdChcInBhZ2Utc3dpdGNoXCIpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb250ZW50TGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBwbHVnaW4gPSB0aGlzLmNvbnRlbnRMaXN0W2ldLnBsdWdpbjtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLnN0YXRlW3RoaXMuY29udGVudExpc3RbaV0uaWRdKSBjb250aW51ZTtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZihwbHVnaW4ub25Td2l0Y2gpID09PSBcImZ1bmN0aW9uXCIpIHtcclxuICAgICAgICAgICAgICAgIHRyeSB7IHBsdWdpbi5vblN3aXRjaCgpOyB9XHJcbiAgICAgICAgICAgICAgICBjYXRjaCAoZXJyKSB7IFV0aWxpdGllcy5lcnIoXCJQbHVnaW5zXCIsIFwiVW5hYmxlIHRvIGZpcmUgb25Td2l0Y2ggZm9yIFwiICsgdGhpcy5jb250ZW50TGlzdFtpXS5uYW1lICsgXCIuXCIsIGVycik7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbk11dGF0aW9uKG11dGF0aW9uKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNvbnRlbnRMaXN0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBsdWdpbiA9IHRoaXMuY29udGVudExpc3RbaV0ucGx1Z2luO1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuc3RhdGVbdGhpcy5jb250ZW50TGlzdFtpXS5pZF0pIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIHBsdWdpbi5vYnNlcnZlciA9PT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgICAgICAgICAgICB0cnkgeyBwbHVnaW4ub2JzZXJ2ZXIobXV0YXRpb24pOyB9XHJcbiAgICAgICAgICAgICAgICBjYXRjaCAoZXJyKSB7IFV0aWxpdGllcy5lcnIoXCJQbHVnaW5zXCIsIFwiVW5hYmxlIHRvIGZpcmUgb2JzZXJ2ZXIgZm9yIFwiICsgdGhpcy5jb250ZW50TGlzdFtpXS5uYW1lICsgXCIuXCIsIGVycik7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/modules/pluginmanager.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var _contentmanager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./contentmanager */ \"./src/modules/contentmanager.js\");\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n/* harmony import */ var _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../structs/contenterror */ \"./src/structs/contenterror.js\");\n/* harmony import */ var _settingsmanager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./settingsmanager */ \"./src/modules/settingsmanager.js\");\n\n\n\n\n\n\n\n\nconst path = __webpack_require__(/*! path */ \"path\");\n\nconst electronRemote = __webpack_require__(/*! electron */ \"electron\").remote;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class PluginManager extends _contentmanager__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n get name() {\n return \"PluginManager\";\n }\n\n get moduleExtension() {\n return \".js\";\n }\n\n get extension() {\n return \".plugin.js\";\n }\n\n get contentFolder() {\n return path.resolve(data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].dataPath, \"plugins\");\n }\n\n get prefix() {\n return \"plugin\";\n }\n\n constructor() {\n super();\n this.onSwitch = this.onSwitch.bind(this);\n this.observer = new MutationObserver(mutations => {\n for (let i = 0, mlen = mutations.length; i < mlen; i++) {\n this.onMutation(mutations[i]);\n }\n });\n }\n /* Aliases */\n\n\n updatePluginList() {\n return this.updateList();\n }\n\n enablePlugin(idOrContent) {\n return this.enableContent(idOrContent);\n }\n\n disablePlugin(idOrContent) {\n return this.disableContent(idOrContent);\n }\n\n togglePlugin(id) {\n return this.toggleContent(id);\n }\n\n unloadPlugin(idOrFileOrContent) {\n return this.unloadContent(idOrFileOrContent);\n }\n\n loadPlugin(filename) {\n const error = this.loadContent(filename);\n if (error) ui__WEBPACK_IMPORTED_MODULE_3__[\"Modals\"].showContentErrors({\n themes: [error]\n });\n }\n\n reloadPlugin(idOrFileOrContent) {\n const error = this.reloadContent(idOrFileOrContent);\n if (error) ui__WEBPACK_IMPORTED_MODULE_3__[\"Modals\"].showContentErrors({\n plugins: [error]\n });\n return typeof idOrFileOrContent == \"string\" ? this.contentList.find(c => c.id == idOrFileOrContent || c.filename == idOrFileOrContent) : idOrFileOrContent;\n }\n\n loadAllPlugins() {\n const errors = this.loadAllContent();\n this.setupFunctions();\n _settingsmanager__WEBPACK_IMPORTED_MODULE_5__[\"default\"].registerPanel(\"plugins\", \"Plugins\", {\n element: () => ui__WEBPACK_IMPORTED_MODULE_3__[\"SettingsPanel\"].getContentPanel(\"Plugins\", this.contentList, this.state, {\n folder: this.contentFolder,\n onChange: this.togglePlugin.bind(this),\n reload: this.reloadPlugin.bind(this),\n refreshList: this.updatePluginList.bind(this)\n })\n });\n return errors;\n }\n /* Overrides */\n\n\n initializeContent(content) {\n if (!content.type) return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, content.filename, \"Plugin had no exports\", {\n message: \"Plugin had no exports or no name property.\",\n stack: \"\"\n });\n\n try {\n const thePlugin = new content.type();\n content.plugin = thePlugin;\n content.name = thePlugin.getName() || content.name;\n content.author = thePlugin.getAuthor() || content.author || \"No author\";\n content.description = thePlugin.getDescription() || content.description || \"No description\";\n content.version = thePlugin.getVersion() || content.version || \"No version\";\n\n try {\n if (typeof content.plugin.load == \"function\") content.plugin.load();\n } catch (error) {\n this.state[content.id] = false;\n return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, content.filename, \"load() could not be fired.\", {\n message: error.message,\n stack: error.stack\n });\n }\n } catch (error) {\n return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, content.filename, \"Could not be constructed.\", {\n message: error.message,\n stack: error.stack\n });\n }\n }\n\n getContentModification(module, content, meta) {\n module._compile(content, module.filename);\n\n const didExport = !_utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isEmpty(module.exports);\n\n if (didExport) {\n meta.type = module.exports;\n module.exports = meta;\n return \"\";\n }\n\n content += `\\nmodule.exports = ${JSON.stringify(meta)};\\nmodule.exports.type = ${meta.exports || meta.name};`;\n return content;\n }\n\n startContent(id) {\n return this.startPlugin(id);\n }\n\n stopContent(id) {\n return this.stopPlugin(id);\n }\n\n startPlugin(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n const plugin = content.plugin;\n\n try {\n plugin.start();\n this.emit(\"started\", content.id);\n ui__WEBPACK_IMPORTED_MODULE_3__[\"Toasts\"].show(`${content.name} v${content.version} has started.`);\n } catch (err) {\n this.state[content.id] = false;\n ui__WEBPACK_IMPORTED_MODULE_3__[\"Toasts\"].error(`${content.name} v${content.version} could not be started.`);\n _utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].err(\"Plugins\", content.name + \" could not be started.\", err);\n return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, content.filename, \"start() could not be fired.\", {\n message: err.message,\n stack: err.stack\n });\n }\n }\n\n stopPlugin(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n const plugin = content.plugin;\n\n try {\n plugin.stop();\n this.emit(\"stopped\", content.id);\n ui__WEBPACK_IMPORTED_MODULE_3__[\"Toasts\"].show(`${content.name} v${content.version} has stopped.`);\n } catch (err) {\n this.state[content.id] = false;\n ui__WEBPACK_IMPORTED_MODULE_3__[\"Toasts\"].error(`${content.name} v${content.version} could not be stopped.`);\n _utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].err(\"Plugins\", content.name + \" could not be stopped.\", err);\n return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, content.filename, \"stop() could not be fired.\", {\n message: err.message,\n stack: err.stack\n });\n }\n }\n\n setupFunctions() {\n electronRemote.getCurrentWebContents().on(\"did-navigate-in-page\", this.onSwitch.bind(this));\n this.observer.observe(document, {\n childList: true,\n subtree: true\n });\n }\n\n onSwitch() {\n this.emit(\"page-switch\");\n\n for (let i = 0; i < this.contentList.length; i++) {\n const plugin = this.contentList[i].plugin;\n if (!this.state[this.contentList[i].id]) continue;\n\n if (typeof plugin.onSwitch === \"function\") {\n try {\n plugin.onSwitch();\n } catch (err) {\n _utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].err(\"Plugins\", \"Unable to fire onSwitch for \" + this.contentList[i].name + \".\", err);\n }\n }\n }\n }\n\n onMutation(mutation) {\n for (let i = 0; i < this.contentList.length; i++) {\n const plugin = this.contentList[i].plugin;\n if (!this.state[this.contentList[i].id]) continue;\n\n if (typeof plugin.observer === \"function\") {\n try {\n plugin.observer(mutation);\n } catch (err) {\n _utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].err(\"Plugins\", \"Unable to fire observer for \" + this.contentList[i].name + \".\", err);\n }\n }\n }\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvcGx1Z2lubWFuYWdlci5qcz9kMTczIl0sIm5hbWVzIjpbInBhdGgiLCJyZXF1aXJlIiwiZWxlY3Ryb25SZW1vdGUiLCJyZW1vdGUiLCJQbHVnaW5NYW5hZ2VyIiwiQ29udGVudE1hbmFnZXIiLCJuYW1lIiwibW9kdWxlRXh0ZW5zaW9uIiwiZXh0ZW5zaW9uIiwiY29udGVudEZvbGRlciIsInJlc29sdmUiLCJDb25maWciLCJkYXRhUGF0aCIsInByZWZpeCIsImNvbnN0cnVjdG9yIiwib25Td2l0Y2giLCJiaW5kIiwib2JzZXJ2ZXIiLCJNdXRhdGlvbk9ic2VydmVyIiwibXV0YXRpb25zIiwiaSIsIm1sZW4iLCJsZW5ndGgiLCJvbk11dGF0aW9uIiwidXBkYXRlUGx1Z2luTGlzdCIsInVwZGF0ZUxpc3QiLCJlbmFibGVQbHVnaW4iLCJpZE9yQ29udGVudCIsImVuYWJsZUNvbnRlbnQiLCJkaXNhYmxlUGx1Z2luIiwiZGlzYWJsZUNvbnRlbnQiLCJ0b2dnbGVQbHVnaW4iLCJpZCIsInRvZ2dsZUNvbnRlbnQiLCJ1bmxvYWRQbHVnaW4iLCJpZE9yRmlsZU9yQ29udGVudCIsInVubG9hZENvbnRlbnQiLCJsb2FkUGx1Z2luIiwiZmlsZW5hbWUiLCJlcnJvciIsImxvYWRDb250ZW50IiwiTW9kYWxzIiwic2hvd0NvbnRlbnRFcnJvcnMiLCJ0aGVtZXMiLCJyZWxvYWRQbHVnaW4iLCJyZWxvYWRDb250ZW50IiwicGx1Z2lucyIsImNvbnRlbnRMaXN0IiwiZmluZCIsImMiLCJsb2FkQWxsUGx1Z2lucyIsImVycm9ycyIsImxvYWRBbGxDb250ZW50Iiwic2V0dXBGdW5jdGlvbnMiLCJTZXR0aW5ncyIsInJlZ2lzdGVyUGFuZWwiLCJlbGVtZW50IiwiU2V0dGluZ3NSZW5kZXJlciIsImdldENvbnRlbnRQYW5lbCIsInN0YXRlIiwiZm9sZGVyIiwib25DaGFuZ2UiLCJyZWxvYWQiLCJyZWZyZXNoTGlzdCIsImluaXRpYWxpemVDb250ZW50IiwiY29udGVudCIsInR5cGUiLCJDb250ZW50RXJyb3IiLCJtZXNzYWdlIiwic3RhY2siLCJ0aGVQbHVnaW4iLCJwbHVnaW4iLCJnZXROYW1lIiwiYXV0aG9yIiwiZ2V0QXV0aG9yIiwiZGVzY3JpcHRpb24iLCJnZXREZXNjcmlwdGlvbiIsInZlcnNpb24iLCJnZXRWZXJzaW9uIiwibG9hZCIsImdldENvbnRlbnRNb2RpZmljYXRpb24iLCJtb2R1bGUiLCJtZXRhIiwiX2NvbXBpbGUiLCJkaWRFeHBvcnQiLCJVdGlsaXRpZXMiLCJpc0VtcHR5IiwiZXhwb3J0cyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFydENvbnRlbnQiLCJzdGFydFBsdWdpbiIsInN0b3BDb250ZW50Iiwic3RvcFBsdWdpbiIsInAiLCJzdGFydCIsImVtaXQiLCJUb2FzdHMiLCJzaG93IiwiZXJyIiwic3RvcCIsImdldEN1cnJlbnRXZWJDb250ZW50cyIsIm9uIiwib2JzZXJ2ZSIsImRvY3VtZW50IiwiY2hpbGRMaXN0Iiwic3VidHJlZSIsIm11dGF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE1BQU1BLElBQUksR0FBR0MsbUJBQU8sQ0FBQyxrQkFBRCxDQUFwQjs7QUFDQSxNQUFNQyxjQUFjLEdBQUdELG1CQUFPLENBQUMsMEJBQUQsQ0FBUCxDQUFvQkUsTUFBM0M7O0FBRWUsbUVBQUksTUFBTUMsYUFBTixTQUE0QkMsdURBQTVCLENBQTJDO0FBQzFELE1BQUlDLElBQUosR0FBVztBQUFDLFdBQU8sZUFBUDtBQUF3Qjs7QUFDcEMsTUFBSUMsZUFBSixHQUFzQjtBQUFDLFdBQU8sS0FBUDtBQUFjOztBQUNyQyxNQUFJQyxTQUFKLEdBQWdCO0FBQUMsV0FBTyxZQUFQO0FBQXFCOztBQUN0QyxNQUFJQyxhQUFKLEdBQW9CO0FBQUMsV0FBT1QsSUFBSSxDQUFDVSxPQUFMLENBQWFDLDJD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RUFBL0IsQ0FBTCxFQUF5Qzs7QUFDekMsVUFBSSxPQUFPdUMsTUFBTSxDQUFDdEQsUUFBZCxLQUEyQixVQUEvQixFQUEyQztBQUN2QyxZQUFJO0FBQUVzRCxnQkFBTSxDQUFDdEQsUUFBUCxDQUFnQjBGLFFBQWhCO0FBQTRCLFNBQWxDLENBQ0EsT0FBT1IsR0FBUCxFQUFZO0FBQUVkLDREQUFTLENBQUNjLEdBQVYsQ0FBYyxTQUFkLEVBQXlCLGlDQUFpQyxLQUFLcEQsV0FBTCxDQUFpQjNCLENBQWpCLEVBQW9CZCxJQUFyRCxHQUE0RCxHQUFyRixFQUEwRjZGLEdBQTFGO0FBQWlHO0FBQ2xIO0FBQ0o7QUFDSjs7QUFwSnlELENBQS9DLEVBQWYiLCJmaWxlIjoiLi9zcmMvbW9kdWxlcy9wbHVnaW5tYW5hZ2VyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25maWd9IGZyb20gXCJkYXRhXCI7XHJcbmltcG9ydCBDb250ZW50TWFuYWdlciBmcm9tIFwiLi9jb250ZW50bWFuYWdlclwiO1xyXG5pbXBvcnQgVXRpbGl0aWVzIGZyb20gXCIuL3V0aWxpdGllc1wiO1xyXG5pbXBvcnQge1RvYXN0cywgTW9kYWxzfSBmcm9tIFwidWlcIjtcclxuaW1wb3J0IENvbnRlbnRFcnJvciBmcm9tIFwiLi4vc3RydWN0cy9jb250ZW50ZXJyb3JcIjtcclxuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuL3NldHRpbmdzbWFuYWdlclwiO1xyXG5pbXBvcnQge1NldHRpbmdzUGFuZWwgYXMgU2V0dGluZ3NSZW5kZXJlcn0gZnJvbSBcInVpXCI7XHJcblxyXG5jb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XHJcbmNvbnN0IGVsZWN0cm9uUmVtb3RlID0gcmVxdWlyZShcImVsZWN0cm9uXCIpLnJlbW90ZTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBQbHVnaW5NYW5hZ2VyIGV4dGVuZHMgQ29udGVudE1hbmFnZXIge1xyXG4gICAgZ2V0IG5hbWUoKSB7cmV0dXJuIFwiUGx1Z2luTWFuYWdlclwiO31cclxuICAgIGdldCBtb2R1bGVFeHRlbnNpb24oKSB7cmV0dXJuIFwiLmpzXCI7fVxyXG4gICAgZ2V0IGV4dGVuc2lvbigpIHtyZXR1cm4gXCIucGx1Z2luLmpzXCI7fVxyXG4gICAgZ2V0IGNvbnRlbnRGb2xkZXIoKSB7cmV0dXJuIHBhdGgucmVzb2x2ZShDb25maWcuZGF0YVBhdGgsIFwicGx1Z2luc1wiKTt9XHJcbiAgICBnZXQgcHJlZml4KCkge3JldHVybiBcInBsdWdpblwiO31cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMub25Td2l0Y2ggPSB0aGlzLm9uU3dpdGNoLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIG1sZW4gPSBtdXRhdGlvbnMubGVuZ3RoOyBpIDwgbWxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uTXV0YXRpb24obXV0YXRpb25zW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEFsaWFzZXMgKi9cclxuICAgIHVwZGF0ZVBsdWdpbkxpc3QoKSB7cmV0dXJuIHRoaXMudXBkYXRlTGlzdCgpO31cclxuXHJcbiAgICBlbmFibGVQbHVnaW4oaWRPckNvbnRlbnQpIHtyZXR1cm4gdGhpcy5lbmFibGVDb250ZW50KGlkT3JDb250ZW50KTt9XHJcbiAgICBkaXNhYmxlUGx1Z2luKGlkT3JDb250ZW50KSB7cmV0dXJuIHRoaXMuZGlzYWJsZUNvbnRlbnQoaWRPckNvbnRlbnQpO31cclxuICAgIHRvZ2dsZVBsdWdpbihpZCkge3JldHVybiB0aGlzLnRvZ2dsZUNvbnRlbnQoaWQpO31cclxuXHJcbiAgICB1bmxvYWRQbHVnaW4oaWRPckZpbGVPckNvbnRlbnQpIHtyZXR1cm4gdGhpcy51bmxvYWRDb250ZW50KGlkT3JGaWxlT3JDb250ZW50KTt9XHJcblxyXG4gICAgbG9hZFBsdWdpbihmaWxlbmFtZSkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5sb2FkQ29udGVudChmaWxlbmFtZSk7XHJcbiAgICAgICAgaWYgKGVycm9yKSBNb2RhbHMuc2hvd0NvbnRlbnRFcnJvcnMoe3RoZW1lczogW2Vycm9yXX0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbG9hZFBsdWdpbihpZE9yRmlsZU9yQ29udGVudCkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5yZWxvYWRDb250ZW50KGlkT3JGaWxlT3JDb250ZW50KTtcclxuICAgICAgICBpZiAoZXJyb3IpIE1vZGFscy5zaG93Q29udGVudEVycm9ycyh7cGx1Z2luczogW2Vycm9yXX0pO1xyXG4gICAgICAgIHJldHVybiB0eXBlb2YoaWRPckZpbGVPckNvbnRlbnQpID09IFwic3RyaW5nXCIgPyB0aGlzLmNvbnRlbnRMaXN0LmZpbmQoYyA9PiBjLmlkID09IGlkT3JGaWxlT3JDb250ZW50IHx8IGMuZmlsZW5hbWUgPT0gaWRPckZpbGVPckNvbnRlbnQpIDogaWRPckZpbGVPckNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZEFsbFBsdWdpbnMoKSB7XHJcbiAgICAgICAgY29uc3QgZXJyb3JzID0gdGhpcy5sb2FkQWxsQ29udGVudCgpO1xyXG4gICAgICAgIHRoaXMuc2V0dXBGdW5jdGlvbnMoKTtcclxuICAgICAgICBTZXR0aW5ncy5yZWdpc3RlclBhbmVsKFwicGx1Z2luc1wiLCBcIlBsdWdpbnNcIiwge2VsZW1lbnQ6ICgpID0+IFNldHRpbmdzUmVuZGVyZXIuZ2V0Q29udGVudFBhbmVsKFwiUGx1Z2luc1wiLCB0aGlzLmNvbnRlbnRMaXN0LCB0aGlzLnN0YXRlLCB7XHJcbiAgICAgICAgICAgIGZvbGRlcjogdGhpcy5jb250ZW50Rm9sZGVyLFxyXG4gICAgICAgICAgICBvbkNoYW5nZTogdGhpcy50b2dnbGVQbHVnaW4uYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgcmVsb2FkOiB0aGlzLnJlbG9hZFBsdWdpbi5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICByZWZyZXNoTGlzdDogdGhpcy51cGRhdGVQbHVnaW5MaXN0LmJpbmQodGhpcylcclxuICAgICAgICB9KX0pO1xyXG4gICAgICAgIHJldHVybiBlcnJvcnM7XHJcbiAgICB9XHJcblxyXG4gICAgLyogT3ZlcnJpZGVzICovXHJcbiAgICBpbml0aWFsaXplQ29udGVudChjb250ZW50KSB7XHJcbiAgICAgICAgaWYgKCFjb250ZW50LnR5cGUpIHJldHVybiBuZXcgQ29udGVudEVycm9yKGNvbnRlbnQubmFtZSwgY29udGVudC5maWxlbmFtZSwgXCJQbHVnaW4gaGFkIG5vIGV4cG9ydHNcIiwge21lc3NhZ2U6IFwiUGx1Z2luIGhhZCBubyBleHBvcnRzIG9yIG5vIG5hbWUgcHJvcGVydHkuXCIsIHN0YWNrOiBcIlwifSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdGhlUGx1Z2luID0gbmV3IGNvbnRlbnQudHlwZSgpO1xyXG4gICAgICAgICAgICBjb250ZW50LnBsdWdpbiA9IHRoZVBsdWdpbjtcclxuICAgICAgICAgICAgY29udGVudC5uYW1lID0gdGhlUGx1Z2luLmdldE5hbWUoKSB8fCBjb250ZW50Lm5hbWU7XHJcbiAgICAgICAgICAgIGNvbnRlbnQuYXV0aG9yID0gdGhlUGx1Z2luLmdldEF1dGhvcigpIHx8IGNvbnRlbnQuYXV0aG9yIHx8IFwiTm8gYXV0aG9yXCI7XHJcbiAgICAgICAgICAgIGNvbnRlbnQuZGVzY3JpcHRpb24gPSB0aGVQbHVnaW4uZ2V0RGVzY3JpcHRpb24oKSB8fCBjb250ZW50LmRlc2NyaXB0aW9uIHx8IFwiTm8gZGVzY3JpcHRpb25cIjtcclxuICAgICAgICAgICAgY29udGVudC52ZXJzaW9uID0gdGhlUGx1Z2luLmdldFZlcnNpb24oKSB8fCBjb250ZW50LnZlcnNpb24gfHwgXCJObyB2ZXJzaW9uXCI7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mKGNvbnRlbnQucGx1Z2luLmxvYWQpID09IFwiZnVuY3Rpb25cIikgY29udGVudC5wbHVnaW4ubG9hZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZVtjb250ZW50LmlkXSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDb250ZW50RXJyb3IoY29udGVudC5uYW1lLCBjb250ZW50LmZpbGVuYW1lLCBcImxvYWQoKSBjb3VsZCBub3QgYmUgZmlyZWQuXCIsIHttZXNzYWdlOiBlcnJvci5tZXNzYWdlLCBzdGFjazogZXJyb3Iuc3RhY2t9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtyZXR1cm4gbmV3IENvbnRlbnRFcnJvcihjb250ZW50Lm5hbWUsIGNvbnRlbnQuZmlsZW5hbWUsIFwiQ291bGQgbm90IGJlIGNvbnN0cnVjdGVkLlwiLCB7bWVzc2FnZTogZXJyb3IubWVzc2FnZSwgc3RhY2s6IGVycm9yLnN0YWNrfSk7fVxyXG4gICAgfVxyXG5cclxuICAgIGdldENvbnRlbnRNb2RpZmljYXRpb24obW9kdWxlLCBjb250ZW50LCBtZXRhKSB7XHJcbiAgICAgICAgbW9kdWxlLl9jb21waWxlKGNvbnRlbnQsIG1vZHVsZS5maWxlbmFtZSk7XHJcbiAgICAgICAgY29uc3QgZGlkRXhwb3J0ID0gIVV0aWxpdGllcy5pc0VtcHR5KG1vZHVsZS5leHBvcnRzKTtcclxuICAgICAgICBpZiAoZGlkRXhwb3J0KSB7XHJcbiAgICAgICAgICAgIG1ldGEudHlwZSA9IG1vZHVsZS5leHBvcnRzO1xyXG4gICAgICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IG1ldGE7XHJcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb250ZW50ICs9IGBcXG5tb2R1bGUuZXhwb3J0cyA9ICR7SlNPTi5zdHJpbmdpZnkobWV0YSl9O1xcbm1vZHVsZS5leHBvcnRzLnR5cGUgPSAke21ldGEuZXhwb3J0cyB8fCBtZXRhLm5hbWV9O2A7XHJcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnRDb250ZW50KGlkKSB7cmV0dXJuIHRoaXMuc3RhcnRQbHVnaW4oaWQpO31cclxuICAgIHN0b3BDb250ZW50KGlkKSB7cmV0dXJuIHRoaXMuc3RvcFBsdWdpbihpZCk7fVxyXG5cclxuICAgIHN0YXJ0UGx1Z2luKGlkT3JDb250ZW50KSB7XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IHR5cGVvZihpZE9yQ29udGVudCkgPT0gXCJzdHJpbmdcIiA/IHRoaXMuY29udGVudExpc3QuZmluZChwID0+IHAuaWQgPT0gaWRPckNvbnRlbnQpIDogaWRPckNvbnRlbnQ7XHJcbiAgICAgICAgaWYgKCFjb250ZW50KSByZXR1cm47XHJcbiAgICAgICAgY29uc3QgcGx1Z2luID0gY29udGVudC5wbHVnaW47XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcGx1Z2luLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuZW1pdChcInN0YXJ0ZWRcIiwgY29udGVudC5pZCk7XHJcbiAgICAgICAgICAgIFRvYXN0cy5zaG93KGAke2NvbnRlbnQubmFtZX0gdiR7Y29udGVudC52ZXJzaW9ufSBoYXMgc3RhcnRlZC5gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICB0aGlzLnN0YXRlW2NvbnRlbnQuaWRdID0gZmFsc2U7XHJcbiAgICAgICAgICAgIFRvYXN0cy5lcnJvcihgJHtjb250ZW50Lm5hbWV9IHYke2NvbnRlbnQudmVyc2lvbn0gY291bGQgbm90IGJlIHN0YXJ0ZWQuYCk7XHJcbiAgICAgICAgICAgIFV0aWxpdGllcy5lcnIoXCJQbHVnaW5zXCIsIGNvbnRlbnQubmFtZSArIFwiIGNvdWxkIG5vdCBiZSBzdGFydGVkLlwiLCBlcnIpO1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IENvbnRlbnRFcnJvcihjb250ZW50Lm5hbWUsIGNvbnRlbnQuZmlsZW5hbWUsIFwic3RhcnQoKSBjb3VsZCBub3QgYmUgZmlyZWQuXCIsIHttZXNzYWdlOiBlcnIubWVzc2FnZSwgc3RhY2s6IGVyci5zdGFja30pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdG9wUGx1Z2luKGlkT3JDb250ZW50KSB7XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IHR5cGVvZihpZE9yQ29udGVudCkgPT0gXCJzdHJpbmdcIiA/IHRoaXMuY29udGVudExpc3QuZmluZChwID0+IHAuaWQgPT0gaWRPckNvbnRlbnQpIDogaWRPckNvbnRlbnQ7XHJcbiAgICAgICAgaWYgKCFjb250ZW50KSByZXR1cm47XHJcbiAgICAgICAgY29uc3QgcGx1Z2luID0gY29udGVudC5wbHVnaW47XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcGx1Z2luLnN0b3AoKTtcclxuICAgICAgICAgICAgdGhpcy5lbWl0KFwic3RvcHBlZFwiLCBjb250ZW50LmlkKTtcclxuICAgICAgICAgICAgVG9hc3RzLnNob3coYCR7Y29udGVudC5uYW1lfSB2JHtjb250ZW50LnZlcnNpb259IGhhcyBzdG9wcGVkLmApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdGVbY29udGVudC5pZF0gPSBmYWxzZTtcclxuICAgICAgICAgICAgVG9hc3RzLmVycm9yKGAke2NvbnRlbnQubmFtZX0gdiR7Y29udGVudC52ZXJzaW9ufSBjb3VsZCBub3QgYmUgc3RvcHBlZC5gKTtcclxuICAgICAgICAgICAgVXRpbGl0aWVzLmVycihcIlBsdWdpbnNcIiwgY29udGVudC5uYW1lICsgXCIgY291bGQgbm90IGJlIHN0b3BwZWQuXCIsIGVycik7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgQ29udGVudEVycm9yKGNvbnRlbnQubmFtZSwgY29udGVudC5maWxlbmFtZSwgXCJzdG9wKCkgY291bGQgbm90IGJlIGZpcmVkLlwiLCB7bWVzc2FnZTogZXJyLm1lc3NhZ2UsIHN0YWNrOiBlcnIuc3RhY2t9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0dXBGdW5jdGlvbnMoKSB7XHJcbiAgICAgICAgZWxlY3Ryb25SZW1vdGUuZ2V0Q3VycmVudFdlYkNvbnRlbnRzKCkub24oXCJkaWQtbmF2aWdhdGUtaW4tcGFnZVwiLCB0aGlzLm9uU3dpdGNoLmJpbmQodGhpcykpO1xyXG4gICAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudCwge1xyXG4gICAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsXHJcbiAgICAgICAgICAgIHN1YnRyZWU6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvblN3aXRjaCgpIHtcclxuICAgICAgICB0aGlzLmVtaXQoXCJwYWdlLXN3aXRjaFwiKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY29udGVudExpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgcGx1Z2luID0gdGhpcy5jb250ZW50TGlzdFtpXS5wbHVnaW47XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5zdGF0ZVt0aGlzLmNvbnRlbnRMaXN0W2ldLmlkXSkgY29udGludWU7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YocGx1Z2luLm9uU3dpdGNoKSA9PT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgICAgICAgICAgICB0cnkgeyBwbHVnaW4ub25Td2l0Y2goKTsgfVxyXG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVycikgeyBVdGlsaXRpZXMuZXJyKFwiUGx1Z2luc1wiLCBcIlVuYWJsZSB0byBmaXJlIG9uU3dpdGNoIGZvciBcIiArIHRoaXMuY29udGVudExpc3RbaV0ubmFtZSArIFwiLlwiLCBlcnIpOyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25NdXRhdGlvbihtdXRhdGlvbikge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb250ZW50TGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBwbHVnaW4gPSB0aGlzLmNvbnRlbnRMaXN0W2ldLnBsdWdpbjtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLnN0YXRlW3RoaXMuY29udGVudExpc3RbaV0uaWRdKSBjb250aW51ZTtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBwbHVnaW4ub2JzZXJ2ZXIgPT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICAgICAgICAgICAgdHJ5IHsgcGx1Z2luLm9ic2VydmVyKG11dGF0aW9uKTsgfVxyXG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVycikgeyBVdGlsaXRpZXMuZXJyKFwiUGx1Z2luc1wiLCBcIlVuYWJsZSB0byBmaXJlIG9ic2VydmVyIGZvciBcIiArIHRoaXMuY29udGVudExpc3RbaV0ubmFtZSArIFwiLlwiLCBlcnIpOyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/modules/pluginmanager.js\n"); /***/ }), @@ -443,7 +455,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var data /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var _datastore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./datastore */ \"./src/modules/datastore.js\");\n/* harmony import */ var _emitter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emitter */ \"./src/modules/emitter.js\");\n/* harmony import */ var _webpackmodules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./webpackmodules */ \"./src/modules/webpackmodules.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class SettingsManager {\n constructor() {\n this.state = {};\n this.collections = [];\n this.panels = [];\n this.registerCollection(\"settings\", \"Settings\", data__WEBPACK_IMPORTED_MODULE_0__[\"SettingsConfig\"]);\n }\n\n initialize() {\n _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].initialize();\n this.loadSettings();\n this.patchSections();\n }\n\n registerCollection(id, name, settings, button = null) {\n if (this.collections.find(c => c.id == id)) _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].err(\"Settings\", \"Already have a collection with id \" + id);\n this.collections.push({\n type: \"collection\",\n id: id,\n name: name,\n settings: settings,\n button: button\n });\n this.setup();\n }\n\n removeCollection(id) {\n const location = this.collections.findIndex(c => c.id == id);\n if (!location < 0) _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].err(\"Settings\", \"No collection with id \" + id);\n this.collections.splice(location, 1);\n }\n\n registerPanel(name, options) {\n const {\n element,\n onClick\n } = options;\n const section = {\n label: name,\n section: name\n };\n if (onClick) section.onClick = onClick;else section.element = element instanceof _webpackmodules__WEBPACK_IMPORTED_MODULE_3__[\"DiscordModules\"].React.Component ? () => _webpackmodules__WEBPACK_IMPORTED_MODULE_3__[\"DiscordModules\"].React.createElement(element, {}) : typeof element == \"function\" ? element : () => element;\n this.panels.push(section);\n }\n\n getPath(path, collectionId = \"\", categoryId = \"\") {\n const collection = path.length == 3 ? path[0] : collectionId;\n const category = path.length == 3 ? path[1] : path.length == 2 ? path[0] : categoryId;\n const setting = path[path.length - 1];\n return {\n collection,\n category,\n setting\n };\n }\n\n setup() {\n for (let c = 0; c < this.collections.length; c++) {\n const collection = this.collections[c];\n const categories = this.collections[c].settings;\n if (!this.state[collection.id]) this.state[collection.id] = {};\n\n for (let s = 0; s < categories.length; s++) {\n const category = categories[s];\n\n if (category.type != \"category\") {\n if (!this.state[collection.id].hasOwnProperty(category.id)) this.state[collection.id][category.id] = category.value;\n } else {\n if (!this.state[collection.id].hasOwnProperty(category.id)) this.state[collection.id][category.id] = {};\n\n for (let s = 0; s < category.settings.length; s++) {\n const setting = category.settings[s];\n if (!this.state[collection.id][category.id].hasOwnProperty(setting.id)) this.state[collection.id][category.id][setting.id] = setting.value;\n\n if (setting.enableWith) {\n const path = this.getPath(setting.enableWith.split(\".\"), collection.id, category.id);\n if (setting.hasOwnProperty(\"disabled\")) continue;\n Object.defineProperty(setting, \"disabled\", {\n get: () => {\n return !this.state[path.collection][path.category][path.setting];\n }\n });\n }\n }\n }\n }\n\n if (collection.enableWith) {\n const path = this.getPath(collection.enableWith.split(\".\"));\n Object.defineProperty(collection, \"disabled\", {\n get: () => {\n return !this.state[path.collection][path.category][path.setting];\n }\n });\n }\n }\n }\n\n async patchSections() {\n const UserSettings = await this.getUserSettings();\n _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].monkeyPatch(UserSettings.prototype, \"generateSections\", {\n after: data => {\n let location = data.returnValue.findIndex(s => s.section.toLowerCase() == \"linux\") + 1;\n\n const insert = section => {\n data.returnValue.splice(location, 0, section);\n location++;\n };\n\n console.log(data);\n /* eslint-disable-line no-console */\n\n insert({\n section: \"DIVIDER\"\n });\n insert({\n section: \"HEADER\",\n label: \"BandagedBD\"\n });\n\n for (const collection of this.collections) {\n if (collection.disabled) continue;\n insert({\n section: collection.name,\n label: collection.name,\n element: () => ui__WEBPACK_IMPORTED_MODULE_4__[\"SettingsPanel\"].buildSettingsPanel(collection.name, collection.settings, SettingsState[collection.id], this.onSettingChange.bind(this, collection.id), collection.button ? collection.button : null)\n });\n }\n\n for (const panel of this.panels) insert(panel);\n\n insert({\n section: \"BBD Test\",\n label: \"Test Tab\",\n onClick: function () {\n ui__WEBPACK_IMPORTED_MODULE_4__[\"Toasts\"].success(\"This can just be a click listener!\", {\n forceShow: true\n });\n }\n });\n insert({\n section: \"CUSTOM\",\n element: () => ui__WEBPACK_IMPORTED_MODULE_4__[\"SettingsPanel\"].attribution\n });\n }\n });\n this.forceUpdate();\n }\n\n forceUpdate() {\n const viewClass = _webpackmodules__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getByProps(\"standardSidebarView\").standardSidebarView.split(\" \")[0];\n const node = document.querySelector(`.${viewClass}`);\n _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].getInternalInstance(node).return.return.return.return.return.return.stateNode.forceUpdate();\n }\n\n getUserSettings() {\n return new Promise(resolve => {\n const cancel = _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].monkeyPatch(_webpackmodules__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getByProps(\"getUserSettingsSections\").default.prototype, \"render\", {\n after: data => {\n resolve(data.returnValue.type);\n data.thisObject.forceUpdate();\n cancel();\n }\n });\n });\n }\n\n saveSettings() {\n _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setData(\"settings\", this.state);\n }\n\n loadSettings() {\n const previousState = _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getData(\"settings\");\n if (!previousState) return this.saveSettings();\n\n for (const collection in this.state) {\n if (!previousState[collection]) Object.assign(previousState, {\n [collection]: this.state[collection]\n });\n\n for (const category in this.state[collection]) {\n if (!previousState[collection][category]) Object.assign(previousState[collection][category], {\n [category]: this.state[collection][category]\n });\n\n for (const setting in this.state[collection][category]) {\n if (previousState[collection][category][setting] == undefined) continue;\n this.state[collection][category][setting] = previousState[collection][category][setting];\n }\n }\n }\n\n this.saveSettings(); // in case new things were added\n }\n\n onSettingChange(collection, category, id, value) {\n const before = this.collections.length;\n this.state[collection][category][id] = value;\n _emitter__WEBPACK_IMPORTED_MODULE_2__[\"default\"].dispatch(\"setting-updated\", collection, category, id, value);\n const after = this.collections.length;\n this.saveSettings();\n if (before != after) this.forceUpdate();\n }\n\n getSetting(collection, category, id) {\n if (arguments.length == 2) return this.collections[0].find(c => c.id == arguments[0]).settings.find(s => s.id == arguments[1]);\n return this.collections.find(c => c.id == collection).find(c => c.id == category).settings.find(s => s.id == id);\n }\n\n get(collection, category, id) {\n if (arguments.length == 2) {\n id = category;\n category = collection;\n collection = \"settings\";\n }\n\n if (!this.state[collection] || !this.state[collection][category]) return false;\n return this.state[collection][category][id];\n }\n\n on(collection, category, identifier, callback) {\n const handler = (col, cat, id, value) => {\n if (col !== collection || cat !== category || id !== identifier) return;\n callback(value);\n };\n\n _emitter__WEBPACK_IMPORTED_MODULE_2__[\"default\"].on(\"setting-updated\", handler);\n return () => {\n _emitter__WEBPACK_IMPORTED_MODULE_2__[\"default\"].off(\"setting-updated\", handler);\n };\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvc2V0dGluZ3NtYW5hZ2VyLmpzP2IyZjkiXSwibmFtZXMiOlsiU2V0dGluZ3NNYW5hZ2VyIiwiY29uc3RydWN0b3IiLCJzdGF0ZSIsImNvbGxlY3Rpb25zIiwicGFuZWxzIiwicmVnaXN0ZXJDb2xsZWN0aW9uIiwiU2V0dGluZ3NDb25maWciLCJpbml0aWFsaXplIiwiRGF0YVN0b3JlIiwibG9hZFNldHRpbmdzIiwicGF0Y2hTZWN0aW9ucyIsImlkIiwibmFtZSIsInNldHRpbmdzIiwiYnV0dG9uIiwiZmluZCIsImMiLCJVdGlsaXRpZXMiLCJlcnIiLCJwdXNoIiwidHlwZSIsInNldHVwIiwicmVtb3ZlQ29sbGVjdGlvbiIsImxvY2F0aW9uIiwiZmluZEluZGV4Iiwic3BsaWNlIiwicmVnaXN0ZXJQYW5lbCIsIm9wdGlvbnMiLCJlbGVtZW50Iiwib25DbGljayIsInNlY3Rpb24iLCJsYWJlbCIsIkRpc2NvcmRNb2R1bGVzIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjcmVhdGVFbGVtZW50IiwiZ2V0UGF0aCIsInBhdGgiLCJjb2xsZWN0aW9uSWQiLCJjYXRlZ29yeUlkIiwiY29sbGVjdGlvbiIsImxlbmd0aCIsImNhdGVnb3J5Iiwic2V0dGluZyIsImNhdGVnb3JpZXMiLCJzIiwiaGFzT3duUHJvcGVydHkiLCJ2YWx1ZSIsImVuYWJsZVdpdGgiLCJzcGxpdCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0IiwiVXNlclNldHRpbmdzIiwiZ2V0VXNlclNldHRpbmdzIiwibW9ua2V5UGF0Y2giLCJwcm90b3R5cGUiLCJhZnRlciIsImRhdGEiLCJyZXR1cm5WYWx1ZSIsInRvTG93ZXJDYXNlIiwiaW5zZXJ0IiwiY29uc29sZSIsImxvZyIsImRpc2FibGVkIiwiU2V0dGluZ3NSZW5kZXJlciIsImJ1aWxkU2V0dGluZ3NQYW5lbCIsIlNldHRpbmdzU3RhdGUiLCJvblNldHRpbmdDaGFuZ2UiLCJiaW5kIiwicGFuZWwiLCJUb2FzdHMiLCJzdWNjZXNzIiwiZm9yY2VTaG93IiwiYXR0cmlidXRpb24iLCJmb3JjZVVwZGF0ZSIsInZpZXdDbGFzcyIsIldlYnBhY2tNb2R1bGVzIiwiZ2V0QnlQcm9wcyIsInN0YW5kYXJkU2lkZWJhclZpZXciLCJub2RlIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiZ2V0SW50ZXJuYWxJbnN0YW5jZSIsInJldHVybiIsInN0YXRlTm9kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiY2FuY2VsIiwiZGVmYXVsdCIsInRoaXNPYmplY3QiLCJzYXZlU2V0dGluZ3MiLCJzZXREYXRhIiwicHJldmlvdXNTdGF0ZSIsImdldERhdGEiLCJhc3NpZ24iLCJ1bmRlZmluZWQiLCJiZWZvcmUiLCJFdmVudHMiLCJkaXNwYXRjaCIsImdldFNldHRpbmciLCJhcmd1bWVudHMiLCJvbiIsImlkZW50aWZpZXIiLCJjYWxsYmFjayIsImhhbmRsZXIiLCJjb2wiLCJjYXQiLCJvZmYiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFZSxtRUFBSSxNQUFNQSxlQUFOLENBQXNCO0FBRXJDQyxhQUFXLEdBQUc7QUFDVixTQUFLQyxLQUFMLEdBQWEsRUFBYjtBQUNBLFNBQUtDLFdBQUwsR0FBbUIsRUFBbkI7QUFDQSxTQUFLQyxNQUFMLEdBQWMsRUFBZDtBQUNBLFNBQUtDLGtCQUFMLENBQXdCLFVBQXhCLEVBQW9DLFVBQXBDLEVBQWdEQyxtREFBaEQ7QUFDSDs7QUFFREMsWUFBVSxHQUFHO0FBQ1RDLHNEQUFTLENBQUNELFVBQVY7QUFDQSxTQUFLRSxZQUFMO0FBQ0EsU0FBS0MsYUFBTDtBQUNIOztBQUVETCxvQkFBa0IsQ0FBQ00sRUFBRCxFQUFLQyxJQUFMLEVBQVdDLFFBQVgsRUFBcUJDLE1BQU0sR0FBRyxJQUE5QixFQUFvQztBQUNsRCxRQUFJLEtBQUtYLFdBQUwsQ0FBaUJZLElBQWpCLENB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RyxFQUFYLEVBQWVvQyxLQUFmLEtBQXlCO0FBQ3JDLFVBQUkyRCxHQUFHLEtBQUtsRSxVQUFSLElBQXNCbUUsR0FBRyxLQUFLakUsUUFBOUIsSUFBMEMvQixFQUFFLEtBQUs0RixVQUFyRCxFQUFpRTtBQUNqRUMsY0FBUSxDQUFDekQsS0FBRCxDQUFSO0FBQ0gsS0FIRDs7QUFJQW1ELG9EQUFNLENBQUNJLEVBQVAsQ0FBVSxpQkFBVixFQUE2QkcsT0FBN0I7QUFDQSxXQUFPLE1BQU07QUFBQ1Asc0RBQU0sQ0FBQ1UsR0FBUCxDQUFXLGlCQUFYLEVBQThCSCxPQUE5QjtBQUF3QyxLQUF0RDtBQUNIOztBQWxMb0MsQ0FBMUIsRUFBZiIsImZpbGUiOiIuL3NyYy9tb2R1bGVzL3NldHRpbmdzbWFuYWdlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2V0dGluZ3NDb25maWd9IGZyb20gXCJkYXRhXCI7XHJcbmltcG9ydCBEYXRhU3RvcmUgZnJvbSBcIi4vZGF0YXN0b3JlXCI7XHJcbmltcG9ydCBFdmVudHMgZnJvbSBcIi4vZW1pdHRlclwiO1xyXG5pbXBvcnQgV2VicGFja01vZHVsZXMsIHtEaXNjb3JkTW9kdWxlc30gZnJvbSBcIi4vd2VicGFja21vZHVsZXNcIjtcclxuXHJcbmltcG9ydCB7U2V0dGluZ3NQYW5lbCBhcyBTZXR0aW5nc1JlbmRlcmVyfSBmcm9tIFwidWlcIjtcclxuaW1wb3J0IFV0aWxpdGllcyBmcm9tIFwiLi91dGlsaXRpZXNcIjtcclxuaW1wb3J0IHtUb2FzdHN9IGZyb20gXCJ1aVwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmV3IGNsYXNzIFNldHRpbmdzTWFuYWdlciB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHt9O1xyXG4gICAgICAgIHRoaXMuY29sbGVjdGlvbnMgPSBbXTtcclxuICAgICAgICB0aGlzLnBhbmVscyA9IFtdO1xyXG4gICAgICAgIHRoaXMucmVnaXN0ZXJDb2xsZWN0aW9uKFwic2V0dGluZ3NcIiwgXCJTZXR0aW5nc1wiLCBTZXR0aW5nc0NvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZSgpIHtcclxuICAgICAgICBEYXRhU3RvcmUuaW5pdGlhbGl6ZSgpO1xyXG4gICAgICAgIHRoaXMubG9hZFNldHRpbmdzKCk7XHJcbiAgICAgICAgdGhpcy5wYXRjaFNlY3Rpb25zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJDb2xsZWN0aW9uKGlkLCBuYW1lLCBzZXR0aW5ncywgYnV0dG9uID0gbnVsbCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbGxlY3Rpb25zLmZpbmQoYyA9PiBjLmlkID09IGlkKSkgVXRpbGl0aWVzLmVycihcIlNldHRpbmdzXCIsIFwiQWxyZWFkeSBoYXZlIGEgY29sbGVjdGlvbiB3aXRoIGlkIFwiICsgaWQpO1xyXG4gICAgICAgIHRoaXMuY29sbGVjdGlvbnMucHVzaCh7XHJcbiAgICAgICAgICAgIHR5cGU6IFwiY29sbGVjdGlvblwiLFxyXG4gICAgICAgICAgICBpZDogaWQsXHJcbiAgICAgICAgICAgIG5hbWU6IG5hbWUsXHJcbiAgICAgICAgICAgIHNldHRpbmdzOiBzZXR0aW5ncyxcclxuICAgICAgICAgICAgYnV0dG9uOiBidXR0b25cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNldHVwKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlQ29sbGVjdGlvbihpZCkge1xyXG4gICAgICAgIGNvbnN0IGxvY2F0aW9uID0gdGhpcy5jb2xsZWN0aW9ucy5maW5kSW5kZXgoYyA9PiBjLmlkID09IGlkKTtcclxuICAgICAgICBpZiAoIWxvY2F0aW9uIDwgMCkgVXRpbGl0aWVzLmVycihcIlNldHRpbmdzXCIsIFwiTm8gY29sbGVjdGlvbiB3aXRoIGlkIFwiICsgaWQpO1xyXG4gICAgICAgIHRoaXMuY29sbGVjdGlvbnMuc3BsaWNlKGxvY2F0aW9uLCAxKTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3RlclBhbmVsKG5hbWUsIG9wdGlvbnMpIHtcclxuICAgICAgICBjb25zdCB7ZWxlbWVudCwgb25DbGlja30gPSBvcHRpb25zO1xyXG4gICAgICAgIGNvbnN0IHNlY3Rpb24gPSB7bGFiZWw6IG5hbWUsIHNlY3Rpb246IG5hbWV9O1xyXG4gICAgICAgIGlmIChvbkNsaWNrKSBzZWN0aW9uLm9uQ2xpY2sgPSBvbkNsaWNrO1xyXG4gICAgICAgIGVsc2Ugc2VjdGlvbi5lbGVtZW50ID0gZWxlbWVudCBpbnN0YW5jZW9mIERpc2NvcmRNb2R1bGVzLlJlYWN0LkNvbXBvbmVudCA/ICgpID0+IERpc2NvcmRNb2R1bGVzLlJlYWN0LmNyZWF0ZUVsZW1lbnQoZWxlbWVudCwge30pIDogdHlwZW9mKGVsZW1lbnQpID09IFwiZnVuY3Rpb25cIiA/IGVsZW1lbnQgOiAoKSA9PiBlbGVtZW50O1xyXG4gICAgICAgIHRoaXMucGFuZWxzLnB1c2goc2VjdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UGF0aChwYXRoLCBjb2xsZWN0aW9uSWQgPSBcIlwiLCBjYXRlZ29yeUlkID0gXCJcIikge1xyXG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBwYXRoLmxlbmd0aCA9PSAzID8gcGF0aFswXSA6IGNvbGxlY3Rpb25JZDtcclxuICAgICAgICBjb25zdCBjYXRlZ29yeSA9IHBhdGgubGVuZ3RoID09IDMgPyBwYXRoWzFdIDogcGF0aC5sZW5ndGggPT0gMiA/IHBhdGhbMF0gOiBjYXRlZ29yeUlkO1xyXG4gICAgICAgIGNvbnN0IHNldHRpbmcgPSBwYXRoW3BhdGgubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgcmV0dXJuIHtjb2xsZWN0aW9uLCBjYXRlZ29yeSwgc2V0dGluZ307XHJcbiAgICB9XHJcblxyXG4gICAgc2V0dXAoKSB7XHJcbiAgICAgICAgZm9yIChsZXQgYyA9IDA7IGMgPCB0aGlzLmNvbGxlY3Rpb25zLmxlbmd0aDsgYysrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmNvbGxlY3Rpb25zW2NdO1xyXG4gICAgICAgICAgICBjb25zdCBjYXRlZ29yaWVzID0gdGhpcy5jb2xsZWN0aW9uc1tjXS5zZXR0aW5ncztcclxuICAgICAgICAgICAgaWYgKCF0aGlzLnN0YXRlW2NvbGxlY3Rpb24uaWRdKSB0aGlzLnN0YXRlW2NvbGxlY3Rpb24uaWRdID0ge307XHJcbiAgICAgICAgICAgIGZvciAobGV0IHMgPSAwOyBzIDwgY2F0ZWdvcmllcy5sZW5ndGg7IHMrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2F0ZWdvcnkgPSBjYXRlZ29yaWVzW3NdO1xyXG4gICAgICAgICAgICAgICAgaWYgKGNhdGVnb3J5LnR5cGUgIT0gXCJjYXRlZ29yeVwiKSB7aWYgKCF0aGlzLnN0YXRlW2NvbGxlY3Rpb24uaWRdLmhhc093blByb3BlcnR5KGNhdGVnb3J5LmlkKSkgdGhpcy5zdGF0ZVtjb2xsZWN0aW9uLmlkXVtjYXRlZ29yeS5pZF0gPSBjYXRlZ29yeS52YWx1ZTt9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuc3RhdGVbY29sbGVjdGlvbi5pZF0uaGFzT3duUHJvcGVydHkoY2F0ZWdvcnkuaWQpKSB0aGlzLnN0YXRlW2NvbGxlY3Rpb24uaWRdW2NhdGVnb3J5LmlkXSA9IHt9O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IHMgPSAwOyBzIDwgY2F0ZWdvcnkuc2V0dGluZ3MubGVuZ3RoOyBzKyspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2V0dGluZyA9IGNhdGVnb3J5LnNldHRpbmdzW3NdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuc3RhdGVbY29sbGVjdGlvbi5pZF1bY2F0ZWdvcnkuaWRdLmhhc093blByb3BlcnR5KHNldHRpbmcuaWQpKSB0aGlzLnN0YXRlW2NvbGxlY3Rpb24uaWRdW2NhdGVnb3J5LmlkXVtzZXR0aW5nLmlkXSA9IHNldHRpbmcudmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZXR0aW5nLmVuYWJsZVdpdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSB0aGlzLmdldFBhdGgoc2V0dGluZy5lbmFibGVXaXRoLnNwbGl0KFwiLlwiKSwgY29sbGVjdGlvbi5pZCwgY2F0ZWdvcnkuaWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNldHRpbmcuaGFzT3duUHJvcGVydHkoXCJkaXNhYmxlZFwiKSkgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2V0dGluZywgXCJkaXNhYmxlZFwiLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0OiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhdGhpcy5zdGF0ZVtwYXRoLmNvbGxlY3Rpb25dW3BhdGguY2F0ZWdvcnldW3BhdGguc2V0dGluZ107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGNvbGxlY3Rpb24uZW5hYmxlV2l0aCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IHRoaXMuZ2V0UGF0aChjb2xsZWN0aW9uLmVuYWJsZVdpdGguc3BsaXQoXCIuXCIpKTtcclxuICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb2xsZWN0aW9uLCBcImRpc2FibGVkXCIsIHtcclxuICAgICAgICAgICAgICAgICAgICBnZXQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLnN0YXRlW3BhdGguY29sbGVjdGlvbl1bcGF0aC5jYXRlZ29yeV1bcGF0aC5zZXR0aW5nXTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBwYXRjaFNlY3Rpb25zKCkge1xyXG4gICAgICAgIGNvbnN0IFVzZXJTZXR0aW5ncyA9IGF3YWl0IHRoaXMuZ2V0VXNlclNldHRpbmdzKCk7XHJcbiAgICAgICAgVXRpbGl0aWVzLm1vbmtleVBhdGNoKFVzZXJTZXR0aW5ncy5wcm90b3R5cGUsIFwiZ2VuZXJhdGVTZWN0aW9uc1wiLCB7YWZ0ZXI6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsb2NhdGlvbiA9IGRhdGEucmV0dXJuVmFsdWUuZmluZEluZGV4KHMgPT4gcy5zZWN0aW9uLnRvTG93ZXJDYXNlKCkgPT0gXCJsaW51eFwiKSArIDE7XHJcbiAgICAgICAgICAgIGNvbnN0IGluc2VydCA9IChzZWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBkYXRhLnJldHVyblZhbHVlLnNwbGljZShsb2NhdGlvbiwgMCwgc2VjdGlvbik7XHJcbiAgICAgICAgICAgICAgICBsb2NhdGlvbisrO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhKTsgLyogZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zb2xlICovXHJcbiAgICAgICAgICAgIGluc2VydCh7c2VjdGlvbjogXCJESVZJREVSXCJ9KTtcclxuICAgICAgICAgICAgaW5zZXJ0KHtzZWN0aW9uOiBcIkhFQURFUlwiLCBsYWJlbDogXCJCYW5kYWdlZEJEXCJ9KTtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBjb2xsZWN0aW9uIG9mIHRoaXMuY29sbGVjdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGlmIChjb2xsZWN0aW9uLmRpc2FibGVkKSBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGluc2VydCh7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VjdGlvbjogY29sbGVjdGlvbi5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBjb2xsZWN0aW9uLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudDogKCkgPT4gU2V0dGluZ3NSZW5kZXJlci5idWlsZFNldHRpbmdzUGFuZWwoY29sbGVjdGlvbi5uYW1lLCBjb2xsZWN0aW9uLnNldHRpbmdzLCBTZXR0aW5nc1N0YXRlW2NvbGxlY3Rpb24uaWRdLCB0aGlzLm9uU2V0dGluZ0NoYW5nZS5iaW5kKHRoaXMsIGNvbGxlY3Rpb24uaWQpLCBjb2xsZWN0aW9uLmJ1dHRvbiA/IGNvbGxlY3Rpb24uYnV0dG9uIDogbnVsbClcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgcGFuZWwgb2YgdGhpcy5wYW5lbHMpIGluc2VydChwYW5lbCk7XHJcbiAgICAgICAgICAgIGluc2VydCh7c2VjdGlvbjogXCJCQkQgVGVzdFwiLCBsYWJlbDogXCJUZXN0IFRhYlwiLCBvbkNsaWNrOiBmdW5jdGlvbigpIHtUb2FzdHMuc3VjY2VzcyhcIlRoaXMgY2FuIGp1c3QgYmUgYSBjbGljayBsaXN0ZW5lciFcIiwge2ZvcmNlU2hvdzogdHJ1ZX0pO319KTtcclxuICAgICAgICAgICAgaW5zZXJ0KHtzZWN0aW9uOiBcIkNVU1RPTVwiLCBlbGVtZW50OiAoKSA9PiBTZXR0aW5nc1JlbmRlcmVyLmF0dHJpYnV0aW9ufSk7XHJcbiAgICAgICAgfX0pO1xyXG4gICAgICAgIHRoaXMuZm9yY2VVcGRhdGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBmb3JjZVVwZGF0ZSgpIHtcclxuICAgICAgICBjb25zdCB2aWV3Q2xhc3MgPSBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwic3RhbmRhcmRTaWRlYmFyVmlld1wiKS5zdGFuZGFyZFNpZGViYXJWaWV3LnNwbGl0KFwiIFwiKVswXTtcclxuICAgICAgICBjb25zdCBub2RlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLiR7dmlld0NsYXNzfWApO1xyXG4gICAgICAgIFV0aWxpdGllcy5nZXRJbnRlcm5hbEluc3RhbmNlKG5vZGUpLnJldHVybi5yZXR1cm4ucmV0dXJuLnJldHVybi5yZXR1cm4ucmV0dXJuLnN0YXRlTm9kZS5mb3JjZVVwZGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFVzZXJTZXR0aW5ncygpIHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNhbmNlbCA9IFV0aWxpdGllcy5tb25rZXlQYXRjaChXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiZ2V0VXNlclNldHRpbmdzU2VjdGlvbnNcIikuZGVmYXVsdC5wcm90b3R5cGUsIFwicmVuZGVyXCIsIHthZnRlcjogKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoZGF0YS5yZXR1cm5WYWx1ZS50eXBlKTtcclxuICAgICAgICAgICAgICAgIGRhdGEudGhpc09iamVjdC5mb3JjZVVwZGF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgY2FuY2VsKCk7XHJcbiAgICAgICAgICAgIH19KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzYXZlU2V0dGluZ3MoKSB7XHJcbiAgICAgICAgRGF0YVN0b3JlLnNldERhdGEoXCJzZXR0aW5nc1wiLCB0aGlzLnN0YXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkU2V0dGluZ3MoKSB7XHJcbiAgICAgICAgY29uc3QgcHJldmlvdXNTdGF0ZSA9IERhdGFTdG9yZS5nZXREYXRhKFwic2V0dGluZ3NcIik7XHJcbiAgICAgICAgaWYgKCFwcmV2aW91c1N0YXRlKSByZXR1cm4gdGhpcy5zYXZlU2V0dGluZ3MoKTtcclxuICAgICAgICBmb3IgKGNvbnN0IGNvbGxlY3Rpb24gaW4gdGhpcy5zdGF0ZSkge1xyXG4gICAgICAgICAgICBpZiAoIXByZXZpb3VzU3RhdGVbY29sbGVjdGlvbl0pIE9iamVjdC5hc3NpZ24ocHJldmlvdXNTdGF0ZSwge1tjb2xsZWN0aW9uXTogdGhpcy5zdGF0ZVtjb2xsZWN0aW9uXX0pO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNhdGVnb3J5IGluIHRoaXMuc3RhdGVbY29sbGVjdGlvbl0pIHtcclxuICAgICAgICAgICAgICAgIGlmICghcHJldmlvdXNTdGF0ZVtjb2xsZWN0aW9uXVtjYXRlZ29yeV0pIE9iamVjdC5hc3NpZ24ocHJldmlvdXNTdGF0ZVtjb2xsZWN0aW9uXVtjYXRlZ29yeV0sIHtbY2F0ZWdvcnldOiB0aGlzLnN0YXRlW2NvbGxlY3Rpb25dW2NhdGVnb3J5XX0pO1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZXR0aW5nIGluIHRoaXMuc3RhdGVbY29sbGVjdGlvbl1bY2F0ZWdvcnldKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzU3RhdGVbY29sbGVjdGlvbl1bY2F0ZWdvcnldW3NldHRpbmddID09IHVuZGVmaW5lZCkgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZVtjb2xsZWN0aW9uXVtjYXRlZ29yeV1bc2V0dGluZ10gPSBwcmV2aW91c1N0YXRlW2NvbGxlY3Rpb25dW2NhdGVnb3J5XVtzZXR0aW5nXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zYXZlU2V0dGluZ3MoKTsgLy8gaW4gY2FzZSBuZXcgdGhpbmdzIHdlcmUgYWRkZWRcclxuICAgIH1cclxuXHJcbiAgICBvblNldHRpbmdDaGFuZ2UoY29sbGVjdGlvbiwgY2F0ZWdvcnksIGlkLCB2YWx1ZSkge1xyXG4gICAgICAgIGNvbnN0IGJlZm9yZSA9IHRoaXMuY29sbGVjdGlvbnMubGVuZ3RoO1xyXG4gICAgICAgIHRoaXMuc3RhdGVbY29sbGVjdGlvbl1bY2F0ZWdvcnldW2lkXSA9IHZhbHVlO1xyXG4gICAgICAgIEV2ZW50cy5kaXNwYXRjaChcInNldHRpbmctdXBkYXRlZFwiLCBjb2xsZWN0aW9uLCBjYXRlZ29yeSwgaWQsIHZhbHVlKTtcclxuICAgICAgICBjb25zdCBhZnRlciA9IHRoaXMuY29sbGVjdGlvbnMubGVuZ3RoO1xyXG4gICAgICAgIHRoaXMuc2F2ZVNldHRpbmdzKCk7XHJcbiAgICAgICAgaWYgKGJlZm9yZSAhPSBhZnRlcikgdGhpcy5mb3JjZVVwZGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFNldHRpbmcoY29sbGVjdGlvbiwgY2F0ZWdvcnksIGlkKSB7XHJcbiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMikgcmV0dXJuIHRoaXMuY29sbGVjdGlvbnNbMF0uZmluZChjID0+IGMuaWQgPT0gYXJndW1lbnRzWzBdKS5zZXR0aW5ncy5maW5kKHMgPT4gcy5pZCA9PSBhcmd1bWVudHNbMV0pO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb25zLmZpbmQoYyA9PiBjLmlkID09IGNvbGxlY3Rpb24pLmZpbmQoYyA9PiBjLmlkID09IGNhdGVnb3J5KS5zZXR0aW5ncy5maW5kKHMgPT4gcy5pZCA9PSBpZCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0KGNvbGxlY3Rpb24sIGNhdGVnb3J5LCBpZCkge1xyXG4gICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDIpIHtcclxuICAgICAgICAgICAgaWQgPSBjYXRlZ29yeTtcclxuICAgICAgICAgICAgY2F0ZWdvcnkgPSBjb2xsZWN0aW9uO1xyXG4gICAgICAgICAgICBjb2xsZWN0aW9uID0gXCJzZXR0aW5nc1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRoaXMuc3RhdGVbY29sbGVjdGlvbl0gfHwgIXRoaXMuc3RhdGVbY29sbGVjdGlvbl1bY2F0ZWdvcnldKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVbY29sbGVjdGlvbl1bY2F0ZWdvcnldW2lkXTtcclxuICAgIH1cclxuXHJcbiAgICBvbihjb2xsZWN0aW9uLCBjYXRlZ29yeSwgaWRlbnRpZmllciwgY2FsbGJhY2spIHtcclxuICAgICAgICBjb25zdCBoYW5kbGVyID0gKGNvbCwgY2F0LCBpZCwgdmFsdWUpID0+IHtcclxuICAgICAgICAgICAgaWYgKGNvbCAhPT0gY29sbGVjdGlvbiB8fCBjYXQgIT09IGNhdGVnb3J5IHx8IGlkICE9PSBpZGVudGlmaWVyKSByZXR1cm47XHJcbiAgICAgICAgICAgIGNhbGxiYWNrKHZhbHVlKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIEV2ZW50cy5vbihcInNldHRpbmctdXBkYXRlZFwiLCBoYW5kbGVyKTtcclxuICAgICAgICByZXR1cm4gKCkgPT4ge0V2ZW50cy5vZmYoXCJzZXR0aW5nLXVwZGF0ZWRcIiwgaGFuZGxlcik7fTtcclxuICAgIH1cclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/modules/settingsmanager.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var _datastore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./datastore */ \"./src/modules/datastore.js\");\n/* harmony import */ var _emitter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emitter */ \"./src/modules/emitter.js\");\n/* harmony import */ var _webpackmodules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./webpackmodules */ \"./src/modules/webpackmodules.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class SettingsManager {\n constructor() {\n this.state = {};\n this.collections = [];\n this.panels = [];\n this.registerCollection(\"settings\", \"Settings\", data__WEBPACK_IMPORTED_MODULE_0__[\"SettingsConfig\"]);\n }\n\n initialize() {\n _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].initialize();\n this.loadSettings();\n this.patchSections();\n }\n\n registerCollection(id, name, settings, button = null) {\n if (this.collections.find(c => c.id == id)) return _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].err(\"Settings\", \"Already have a collection with id \" + id);\n this.collections.push({\n type: \"collection\",\n id: id,\n name: name,\n settings: settings,\n button: button\n });\n this.setup();\n }\n\n removeCollection(id) {\n const location = this.collections.findIndex(c => c.id == id);\n if (!location < 0) return _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].err(\"Settings\", \"No collection with id \" + id);\n this.collections.splice(location, 1);\n }\n\n registerPanel(id, name, options) {\n if (this.panels.find(p => p.id == id)) return _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].err(\"Settings\", \"Already have a panel with id \" + id);\n const {\n element,\n onClick,\n order = 1\n } = options;\n const section = {\n id,\n order,\n label: name,\n section: name\n };\n if (onClick) section.onClick = onClick;else section.element = element instanceof _webpackmodules__WEBPACK_IMPORTED_MODULE_3__[\"DiscordModules\"].React.Component ? () => _webpackmodules__WEBPACK_IMPORTED_MODULE_3__[\"DiscordModules\"].React.createElement(element, {}) : typeof element == \"function\" ? element : () => element;\n this.panels.push(section);\n }\n\n removePanel(id) {\n const location = this.panels.findIndex(c => c.id == id);\n if (!location < 0) return _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].err(\"Settings\", \"No collection with id \" + id);\n this.panels.splice(location, 1);\n }\n\n getPath(path, collectionId = \"\", categoryId = \"\") {\n const collection = path.length == 3 ? path[0] : collectionId;\n const category = path.length == 3 ? path[1] : path.length == 2 ? path[0] : categoryId;\n const setting = path[path.length - 1];\n return {\n collection,\n category,\n setting\n };\n }\n\n setup() {\n for (let c = 0; c < this.collections.length; c++) {\n const collection = this.collections[c];\n const categories = this.collections[c].settings;\n if (!this.state[collection.id]) this.state[collection.id] = {};\n\n for (let s = 0; s < categories.length; s++) {\n const category = categories[s];\n\n if (category.type != \"category\") {\n if (!this.state[collection.id].hasOwnProperty(category.id)) this.state[collection.id][category.id] = category.value;\n } else {\n if (!this.state[collection.id].hasOwnProperty(category.id)) this.state[collection.id][category.id] = {};\n\n for (let s = 0; s < category.settings.length; s++) {\n const setting = category.settings[s];\n if (!this.state[collection.id][category.id].hasOwnProperty(setting.id)) this.state[collection.id][category.id][setting.id] = setting.value;\n\n if (setting.enableWith) {\n const path = this.getPath(setting.enableWith.split(\".\"), collection.id, category.id);\n if (setting.hasOwnProperty(\"disabled\")) continue;\n Object.defineProperty(setting, \"disabled\", {\n get: () => {\n return !this.state[path.collection][path.category][path.setting];\n }\n });\n }\n }\n }\n }\n\n if (collection.enableWith) {\n const path = this.getPath(collection.enableWith.split(\".\"));\n Object.defineProperty(collection, \"disabled\", {\n get: () => {\n return !this.state[path.collection][path.category][path.setting];\n }\n });\n }\n }\n }\n\n async patchSections() {\n const UserSettings = await this.getUserSettings();\n _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].monkeyPatch(UserSettings.prototype, \"generateSections\", {\n after: data => {\n let location = data.returnValue.findIndex(s => s.section.toLowerCase() == \"linux\") + 1;\n\n const insert = section => {\n data.returnValue.splice(location, 0, section);\n location++;\n };\n\n insert({\n section: \"DIVIDER\"\n });\n insert({\n section: \"HEADER\",\n label: \"BandagedBD\"\n });\n\n for (const collection of this.collections) {\n if (collection.disabled) continue;\n insert({\n section: collection.name,\n label: collection.name,\n element: () => ui__WEBPACK_IMPORTED_MODULE_4__[\"SettingsPanel\"].buildSettingsPanel(collection.name, collection.settings, this.state[collection.id], this.onSettingChange.bind(this, collection.id), collection.button ? collection.button : null)\n });\n }\n\n for (const panel of this.panels.sort((a, b) => a.order > b.order)) insert(panel);\n\n insert({\n section: \"BBD Test\",\n label: \"Test Tab\",\n onClick: function () {\n ui__WEBPACK_IMPORTED_MODULE_4__[\"Toasts\"].success(\"This can just be a click listener!\", {\n forceShow: true\n });\n }\n });\n insert({\n section: \"CUSTOM\",\n element: () => ui__WEBPACK_IMPORTED_MODULE_4__[\"SettingsPanel\"].attribution\n });\n }\n });\n this.forceUpdate();\n }\n\n forceUpdate() {\n const viewClass = _webpackmodules__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getByProps(\"standardSidebarView\").standardSidebarView.split(\" \")[0];\n const node = document.querySelector(`.${viewClass}`);\n _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].getInternalInstance(node).return.return.return.return.return.return.stateNode.forceUpdate();\n }\n\n getUserSettings() {\n return new Promise(resolve => {\n const cancel = _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].monkeyPatch(_webpackmodules__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getByProps(\"getUserSettingsSections\").default.prototype, \"render\", {\n after: data => {\n resolve(data.returnValue.type);\n data.thisObject.forceUpdate();\n cancel();\n }\n });\n });\n }\n\n saveSettings() {\n _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setData(\"settings\", this.state);\n }\n\n loadSettings() {\n const previousState = _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getData(\"settings\");\n if (!previousState) return this.saveSettings();\n\n for (const collection in this.state) {\n if (!previousState[collection]) Object.assign(previousState, {\n [collection]: this.state[collection]\n });\n\n for (const category in this.state[collection]) {\n if (!previousState[collection][category]) Object.assign(previousState[collection], {\n [category]: this.state[collection][category]\n });\n\n for (const setting in this.state[collection][category]) {\n if (previousState[collection][category][setting] == undefined) continue;\n this.state[collection][category][setting] = previousState[collection][category][setting];\n }\n }\n }\n\n this.saveSettings(); // in case new things were added\n }\n\n onSettingChange(collection, category, id, value) {\n const before = this.collections.length + this.panels.length;\n this.state[collection][category][id] = value;\n _emitter__WEBPACK_IMPORTED_MODULE_2__[\"default\"].dispatch(\"setting-updated\", collection, category, id, value);\n const after = this.collections.length + this.panels.length;\n this.saveSettings();\n if (before != after) this.forceUpdate();\n }\n\n getSetting(collection, category, id) {\n if (arguments.length == 2) return this.collections[0].find(c => c.id == arguments[0]).settings.find(s => s.id == arguments[1]);\n return this.collections.find(c => c.id == collection).find(c => c.id == category).settings.find(s => s.id == id);\n }\n\n get(collection, category, id) {\n if (arguments.length == 2) {\n id = category;\n category = collection;\n collection = \"settings\";\n }\n\n if (!this.state[collection] || !this.state[collection][category]) return false;\n return this.state[collection][category][id];\n }\n\n set(collection, category, id, value) {\n if (arguments.length == 3) {\n value = id;\n id = category;\n category = collection;\n collection = \"settings\";\n }\n\n return this.onSettingChange(collection, category, id, value);\n }\n\n on(collection, category, identifier, callback) {\n const handler = (col, cat, id, value) => {\n if (col !== collection || cat !== category || id !== identifier) return;\n callback(value);\n };\n\n _emitter__WEBPACK_IMPORTED_MODULE_2__[\"default\"].on(\"setting-updated\", handler);\n return () => {\n _emitter__WEBPACK_IMPORTED_MODULE_2__[\"default\"].off(\"setting-updated\", handler);\n };\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvc2V0dGluZ3NtYW5hZ2VyLmpzP2IyZjkiXSwibmFtZXMiOlsiU2V0dGluZ3NNYW5hZ2VyIiwiY29uc3RydWN0b3IiLCJzdGF0ZSIsImNvbGxlY3Rpb25zIiwicGFuZWxzIiwicmVnaXN0ZXJDb2xsZWN0aW9uIiwiU2V0dGluZ3NDb25maWciLCJpbml0aWFsaXplIiwiRGF0YVN0b3JlIiwibG9hZFNldHRpbmdzIiwicGF0Y2hTZWN0aW9ucyIsImlkIiwibmFtZSIsInNldHRpbmdzIiwiYnV0dG9uIiwiZmluZCIsImMiLCJVdGlsaXRpZXMiLCJlcnIiLCJwdXNoIiwidHlwZSIsInNldHVwIiwicmVtb3ZlQ29sbGVjdGlvbiIsImxvY2F0aW9uIiwiZmluZEluZGV4Iiwic3BsaWNlIiwicmVnaXN0ZXJQYW5lbCIsIm9wdGlvbnMiLCJwIiwiZWxlbWVudCIsIm9uQ2xpY2siLCJvcmRlciIsInNlY3Rpb24iLCJsYWJlbCIsIkRpc2NvcmRNb2R1bGVzIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjcmVhdGVFbGVtZW50IiwicmVtb3ZlUGFuZWwiLCJnZXRQYXRoIiwicGF0aCIsImNvbGxlY3Rpb25JZCIsImNhdGVnb3J5SWQiLCJjb2xsZWN0aW9uIiwibGVuZ3RoIiwiY2F0ZWdvcnkiLCJzZXR0aW5nIiwiY2F0ZWdvcmllcyIsInMiLCJoYXNPd25Qcm9wZXJ0eSIsInZhbHVlIiwiZW5hYmxlV2l0aCIsInNwbGl0IiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXQiLCJVc2VyU2V0dGluZ3MiLCJnZXRVc2VyU2V0dGluZ3MiLCJtb25rZXlQYXRjaCIsInByb3RvdHlwZSIsImFmdGVyIiwiZGF0YSIsInJldHVyblZhbHVlIiwidG9Mb3dlckNhc2UiLCJpbnNlcnQiLCJkaXNhYmxlZCIsIlNldHRpbmdzUmVuZGVyZXIiLCJidWlsZFNldHRpbmdzUGFuZWwiLCJvblNldHRpbmdDaGFuZ2UiLCJiaW5kIiwicGFuZWwiLCJzb3J0IiwiYSIsImIiLCJUb2FzdHMiLCJzdWNjZXNzIiwiZm9yY2VTaG93IiwiYXR0cmlidXRpb24iLCJmb3JjZVVwZGF0ZSIsInZpZXdDbGFzcyIsIldlYnBhY2tNb2R1bGVzIiwiZ2V0QnlQcm9wcyIsInN0YW5kYXJkU2lkZWJhclZpZXciLCJub2RlIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiZ2V0SW50ZXJuYWxJbnN0YW5jZSIsInJldHVybiIsInN0YXRlTm9kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiY2FuY2VsIiwiZGVmYXVsdCIsInRoaXNPYmplY3QiLCJzYXZlU2V0dGluZ3MiLCJzZXREYXRhIiwicHJldmlvdXNTdGF0ZSIsImdldERhdGEiLCJhc3NpZ24iLCJ1bmRlZmluZWQiLCJiZWZvcmUiLCJFdmVudHMiLCJkaXNwYXRjaCIsImdldFNldHRpbmciLCJhcmd1bWVudHMiLCJzZXQiLCJvbiIsImlkZW50aWZpZXIiLCJjYWxsYmFjayIsImhhbmRsZXIiLCJjb2wiLCJjYXQiLCJvZmYiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFZSxtRUFBSSxNQUFNQSxlQUFOLENBQXNCO0FBRXJDQyxhQUFXLEdBQUc7QUFDVixTQUFLQyxLQUFMLEdBQWEsRUFBYjtBQUNBLFNBQUtDLFdBQUwsR0FBbUIsRUFBbkI7QUFDQSxTQUFLQyxNQUFMLEdBQWMsRUFBZDtBQUNBLFNBQUtDLGtCQUFMLENBQXdCLFVBQXhCLEVBQW9DLFVBQXBDLEVBQWdEQyxtREFBaEQ7QUFDSDs7QUFFREMsWUFBVSxHQUFHO0FBQ1RDLHNEQUFTLENBQUNELFVBQVY7QUFDQSxTQUFLRSxZQUFMO0FBQ0EsU0FBS0MsYUFBTDtBQUNIOztBQUVETCxvQkFBa0IsQ0FBQ00sRUFBRCxFQUFLQyxJQUFMLEVBQVdDLFFBQVgsRUFBcUJDLE1BQU0sR0FBRyxJQUE5QixFQUFvQztBQUNsRCxRQUFJLEtBQUtYLFdBQUws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LEdBQUcsQ0FBQ0MsR0FBRCxFQUFNQyxHQUFOLEVBQVdwRyxFQUFYLEVBQWV1QyxLQUFmLEtBQXlCO0FBQ3JDLFVBQUk0RCxHQUFHLEtBQUtuRSxVQUFSLElBQXNCb0UsR0FBRyxLQUFLbEUsUUFBOUIsSUFBMENsQyxFQUFFLEtBQUtnRyxVQUFyRCxFQUFpRTtBQUNqRUMsY0FBUSxDQUFDMUQsS0FBRCxDQUFSO0FBQ0gsS0FIRDs7QUFJQW1ELG9EQUFNLENBQUNLLEVBQVAsQ0FBVSxpQkFBVixFQUE2QkcsT0FBN0I7QUFDQSxXQUFPLE1BQU07QUFBQ1Isc0RBQU0sQ0FBQ1csR0FBUCxDQUFXLGlCQUFYLEVBQThCSCxPQUE5QjtBQUF3QyxLQUF0RDtBQUNIOztBQWxNb0MsQ0FBMUIsRUFBZiIsImZpbGUiOiIuL3NyYy9tb2R1bGVzL3NldHRpbmdzbWFuYWdlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2V0dGluZ3NDb25maWd9IGZyb20gXCJkYXRhXCI7XHJcbmltcG9ydCBEYXRhU3RvcmUgZnJvbSBcIi4vZGF0YXN0b3JlXCI7XHJcbmltcG9ydCBFdmVudHMgZnJvbSBcIi4vZW1pdHRlclwiO1xyXG5pbXBvcnQgV2VicGFja01vZHVsZXMsIHtEaXNjb3JkTW9kdWxlc30gZnJvbSBcIi4vd2VicGFja21vZHVsZXNcIjtcclxuXHJcbmltcG9ydCB7U2V0dGluZ3NQYW5lbCBhcyBTZXR0aW5nc1JlbmRlcmVyfSBmcm9tIFwidWlcIjtcclxuaW1wb3J0IFV0aWxpdGllcyBmcm9tIFwiLi91dGlsaXRpZXNcIjtcclxuaW1wb3J0IHtUb2FzdHN9IGZyb20gXCJ1aVwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmV3IGNsYXNzIFNldHRpbmdzTWFuYWdlciB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHt9O1xyXG4gICAgICAgIHRoaXMuY29sbGVjdGlvbnMgPSBbXTtcclxuICAgICAgICB0aGlzLnBhbmVscyA9IFtdO1xyXG4gICAgICAgIHRoaXMucmVnaXN0ZXJDb2xsZWN0aW9uKFwic2V0dGluZ3NcIiwgXCJTZXR0aW5nc1wiLCBTZXR0aW5nc0NvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZSgpIHtcclxuICAgICAgICBEYXRhU3RvcmUuaW5pdGlhbGl6ZSgpO1xyXG4gICAgICAgIHRoaXMubG9hZFNldHRpbmdzKCk7XHJcbiAgICAgICAgdGhpcy5wYXRjaFNlY3Rpb25zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJDb2xsZWN0aW9uKGlkLCBuYW1lLCBzZXR0aW5ncywgYnV0dG9uID0gbnVsbCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbGxlY3Rpb25zLmZpbmQoYyA9PiBjLmlkID09IGlkKSkgcmV0dXJuIFV0aWxpdGllcy5lcnIoXCJTZXR0aW5nc1wiLCBcIkFscmVhZHkgaGF2ZSBhIGNvbGxlY3Rpb24gd2l0aCBpZCBcIiArIGlkKTtcclxuICAgICAgICB0aGlzLmNvbGxlY3Rpb25zLnB1c2goe1xyXG4gICAgICAgICAgICB0eXBlOiBcImNvbGxlY3Rpb25cIixcclxuICAgICAgICAgICAgaWQ6IGlkLFxyXG4gICAgICAgICAgICBuYW1lOiBuYW1lLFxyXG4gICAgICAgICAgICBzZXR0aW5nczogc2V0dGluZ3MsXHJcbiAgICAgICAgICAgIGJ1dHRvbjogYnV0dG9uXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5zZXR1cCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUNvbGxlY3Rpb24oaWQpIHtcclxuICAgICAgICBjb25zdCBsb2NhdGlvbiA9IHRoaXMuY29sbGVjdGlvbnMuZmluZEluZGV4KGMgPT4gYy5pZCA9PSBpZCk7XHJcbiAgICAgICAgaWYgKCFsb2NhdGlvbiA8IDApIHJldHVybiBVdGlsaXRpZXMuZXJyKFwiU2V0dGluZ3NcIiwgXCJObyBjb2xsZWN0aW9uIHdpdGggaWQgXCIgKyBpZCk7XHJcbiAgICAgICAgdGhpcy5jb2xsZWN0aW9ucy5zcGxpY2UobG9jYXRpb24sIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyUGFuZWwoaWQsIG5hbWUsIG9wdGlvbnMpIHtcclxuICAgICAgICBpZiAodGhpcy5wYW5lbHMuZmluZChwID0+IHAuaWQgPT0gaWQpKSByZXR1cm4gVXRpbGl0aWVzLmVycihcIlNldHRpbmdzXCIsIFwiQWxyZWFkeSBoYXZlIGEgcGFuZWwgd2l0aCBpZCBcIiArIGlkKTtcclxuICAgICAgICBjb25zdCB7ZWxlbWVudCwgb25DbGljaywgb3JkZXIgPSAxfSA9IG9wdGlvbnM7XHJcbiAgICAgICAgY29uc3Qgc2VjdGlvbiA9IHtpZCwgb3JkZXIsIGxhYmVsOiBuYW1lLCBzZWN0aW9uOiBuYW1lfTtcclxuICAgICAgICBpZiAob25DbGljaykgc2VjdGlvbi5vbkNsaWNrID0gb25DbGljaztcclxuICAgICAgICBlbHNlIHNlY3Rpb24uZWxlbWVudCA9IGVsZW1lbnQgaW5zdGFuY2VvZiBEaXNjb3JkTW9kdWxlcy5SZWFjdC5Db21wb25lbnQgPyAoKSA9PiBEaXNjb3JkTW9kdWxlcy5SZWFjdC5jcmVhdGVFbGVtZW50KGVsZW1lbnQsIHt9KSA6IHR5cGVvZihlbGVtZW50KSA9PSBcImZ1bmN0aW9uXCIgPyBlbGVtZW50IDogKCkgPT4gZWxlbWVudDtcclxuICAgICAgICB0aGlzLnBhbmVscy5wdXNoKHNlY3Rpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZVBhbmVsKGlkKSB7XHJcbiAgICAgICAgY29uc3QgbG9jYXRpb24gPSB0aGlzLnBhbmVscy5maW5kSW5kZXgoYyA9PiBjLmlkID09IGlkKTtcclxuICAgICAgICBpZiAoIWxvY2F0aW9uIDwgMCkgcmV0dXJuIFV0aWxpdGllcy5lcnIoXCJTZXR0aW5nc1wiLCBcIk5vIGNvbGxlY3Rpb24gd2l0aCBpZCBcIiArIGlkKTtcclxuICAgICAgICB0aGlzLnBhbmVscy5zcGxpY2UobG9jYXRpb24sIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFBhdGgocGF0aCwgY29sbGVjdGlvbklkID0gXCJcIiwgY2F0ZWdvcnlJZCA9IFwiXCIpIHtcclxuICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gcGF0aC5sZW5ndGggPT0gMyA/IHBhdGhbMF0gOiBjb2xsZWN0aW9uSWQ7XHJcbiAgICAgICAgY29uc3QgY2F0ZWdvcnkgPSBwYXRoLmxlbmd0aCA9PSAzID8gcGF0aFsxXSA6IHBhdGgubGVuZ3RoID09IDIgPyBwYXRoWzBdIDogY2F0ZWdvcnlJZDtcclxuICAgICAgICBjb25zdCBzZXR0aW5nID0gcGF0aFtwYXRoLmxlbmd0aCAtIDFdO1xyXG4gICAgICAgIHJldHVybiB7Y29sbGVjdGlvbiwgY2F0ZWdvcnksIHNldHRpbmd9O1xyXG4gICAgfVxyXG5cclxuICAgIHNldHVwKCkge1xyXG4gICAgICAgIGZvciAobGV0IGMgPSAwOyBjIDwgdGhpcy5jb2xsZWN0aW9ucy5sZW5ndGg7IGMrKykge1xyXG4gICAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5jb2xsZWN0aW9uc1tjXTtcclxuICAgICAgICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IHRoaXMuY29sbGVjdGlvbnNbY10uc2V0dGluZ3M7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5zdGF0ZVtjb2xsZWN0aW9uLmlkXSkgdGhpcy5zdGF0ZVtjb2xsZWN0aW9uLmlkXSA9IHt9O1xyXG4gICAgICAgICAgICBmb3IgKGxldCBzID0gMDsgcyA8IGNhdGVnb3JpZXMubGVuZ3RoOyBzKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNhdGVnb3J5ID0gY2F0ZWdvcmllc1tzXTtcclxuICAgICAgICAgICAgICAgIGlmIChjYXRlZ29yeS50eXBlICE9IFwiY2F0ZWdvcnlcIikge2lmICghdGhpcy5zdGF0ZVtjb2xsZWN0aW9uLmlkXS5oYXNPd25Qcm9wZXJ0eShjYXRlZ29yeS5pZCkpIHRoaXMuc3RhdGVbY29sbGVjdGlvbi5pZF1bY2F0ZWdvcnkuaWRdID0gY2F0ZWdvcnkudmFsdWU7fVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnN0YXRlW2NvbGxlY3Rpb24uaWRdLmhhc093blByb3BlcnR5KGNhdGVnb3J5LmlkKSkgdGhpcy5zdGF0ZVtjb2xsZWN0aW9uLmlkXVtjYXRlZ29yeS5pZF0gPSB7fTtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBzID0gMDsgcyA8IGNhdGVnb3J5LnNldHRpbmdzLmxlbmd0aDsgcysrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNldHRpbmcgPSBjYXRlZ29yeS5zZXR0aW5nc1tzXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnN0YXRlW2NvbGxlY3Rpb24uaWRdW2NhdGVnb3J5LmlkXS5oYXNPd25Qcm9wZXJ0eShzZXR0aW5nLmlkKSkgdGhpcy5zdGF0ZVtjb2xsZWN0aW9uLmlkXVtjYXRlZ29yeS5pZF1bc2V0dGluZy5pZF0gPSBzZXR0aW5nLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2V0dGluZy5lbmFibGVXaXRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gdGhpcy5nZXRQYXRoKHNldHRpbmcuZW5hYmxlV2l0aC5zcGxpdChcIi5cIiksIGNvbGxlY3Rpb24uaWQsIGNhdGVnb3J5LmlkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZXR0aW5nLmhhc093blByb3BlcnR5KFwiZGlzYWJsZWRcIikpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNldHRpbmcsIFwiZGlzYWJsZWRcIiwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldDogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuc3RhdGVbcGF0aC5jb2xsZWN0aW9uXVtwYXRoLmNhdGVnb3J5XVtwYXRoLnNldHRpbmddO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChjb2xsZWN0aW9uLmVuYWJsZVdpdGgpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSB0aGlzLmdldFBhdGgoY29sbGVjdGlvbi5lbmFibGVXaXRoLnNwbGl0KFwiLlwiKSk7XHJcbiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29sbGVjdGlvbiwgXCJkaXNhYmxlZFwiLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2V0OiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhdGhpcy5zdGF0ZVtwYXRoLmNvbGxlY3Rpb25dW3BhdGguY2F0ZWdvcnldW3BhdGguc2V0dGluZ107XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcGF0Y2hTZWN0aW9ucygpIHtcclxuICAgICAgICBjb25zdCBVc2VyU2V0dGluZ3MgPSBhd2FpdCB0aGlzLmdldFVzZXJTZXR0aW5ncygpO1xyXG4gICAgICAgIFV0aWxpdGllcy5tb25rZXlQYXRjaChVc2VyU2V0dGluZ3MucHJvdG90eXBlLCBcImdlbmVyYXRlU2VjdGlvbnNcIiwge2FmdGVyOiAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgbG9jYXRpb24gPSBkYXRhLnJldHVyblZhbHVlLmZpbmRJbmRleChzID0+IHMuc2VjdGlvbi50b0xvd2VyQ2FzZSgpID09IFwibGludXhcIikgKyAxO1xyXG4gICAgICAgICAgICBjb25zdCBpbnNlcnQgPSAoc2VjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgZGF0YS5yZXR1cm5WYWx1ZS5zcGxpY2UobG9jYXRpb24sIDAsIHNlY3Rpb24pO1xyXG4gICAgICAgICAgICAgICAgbG9jYXRpb24rKztcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgaW5zZXJ0KHtzZWN0aW9uOiBcIkRJVklERVJcIn0pO1xyXG4gICAgICAgICAgICBpbnNlcnQoe3NlY3Rpb246IFwiSEVBREVSXCIsIGxhYmVsOiBcIkJhbmRhZ2VkQkRcIn0pO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNvbGxlY3Rpb24gb2YgdGhpcy5jb2xsZWN0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGNvbGxlY3Rpb24uZGlzYWJsZWQpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgaW5zZXJ0KHtcclxuICAgICAgICAgICAgICAgICAgICBzZWN0aW9uOiBjb2xsZWN0aW9uLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGNvbGxlY3Rpb24ubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50OiAoKSA9PiBTZXR0aW5nc1JlbmRlcmVyLmJ1aWxkU2V0dGluZ3NQYW5lbChjb2xsZWN0aW9uLm5hbWUsIGNvbGxlY3Rpb24uc2V0dGluZ3MsIHRoaXMuc3RhdGVbY29sbGVjdGlvbi5pZF0sIHRoaXMub25TZXR0aW5nQ2hhbmdlLmJpbmQodGhpcywgY29sbGVjdGlvbi5pZCksIGNvbGxlY3Rpb24uYnV0dG9uID8gY29sbGVjdGlvbi5idXR0b24gOiBudWxsKVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9yIChjb25zdCBwYW5lbCBvZiB0aGlzLnBhbmVscy5zb3J0KChhLGIpID0+IGEub3JkZXIgPiBiLm9yZGVyKSkgaW5zZXJ0KHBhbmVsKTtcclxuICAgICAgICAgICAgaW5zZXJ0KHtzZWN0aW9uOiBcIkJCRCBUZXN0XCIsIGxhYmVsOiBcIlRlc3QgVGFiXCIsIG9uQ2xpY2s6IGZ1bmN0aW9uKCkge1RvYXN0cy5zdWNjZXNzKFwiVGhpcyBjYW4ganVzdCBiZSBhIGNsaWNrIGxpc3RlbmVyIVwiLCB7Zm9yY2VTaG93OiB0cnVlfSk7fX0pO1xyXG4gICAgICAgICAgICBpbnNlcnQoe3NlY3Rpb246IFwiQ1VTVE9NXCIsIGVsZW1lbnQ6ICgpID0+IFNldHRpbmdzUmVuZGVyZXIuYXR0cmlidXRpb259KTtcclxuICAgICAgICB9fSk7XHJcbiAgICAgICAgdGhpcy5mb3JjZVVwZGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGZvcmNlVXBkYXRlKCkge1xyXG4gICAgICAgIGNvbnN0IHZpZXdDbGFzcyA9IFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJzdGFuZGFyZFNpZGViYXJWaWV3XCIpLnN0YW5kYXJkU2lkZWJhclZpZXcuc3BsaXQoXCIgXCIpWzBdO1xyXG4gICAgICAgIGNvbnN0IG5vZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAuJHt2aWV3Q2xhc3N9YCk7XHJcbiAgICAgICAgVXRpbGl0aWVzLmdldEludGVybmFsSW5zdGFuY2Uobm9kZSkucmV0dXJuLnJldHVybi5yZXR1cm4ucmV0dXJuLnJldHVybi5yZXR1cm4uc3RhdGVOb2RlLmZvcmNlVXBkYXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VXNlclNldHRpbmdzKCkge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY2FuY2VsID0gVXRpbGl0aWVzLm1vbmtleVBhdGNoKFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRVc2VyU2V0dGluZ3NTZWN0aW9uc1wiKS5kZWZhdWx0LnByb3RvdHlwZSwgXCJyZW5kZXJcIiwge2FmdGVyOiAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShkYXRhLnJldHVyblZhbHVlLnR5cGUpO1xyXG4gICAgICAgICAgICAgICAgZGF0YS50aGlzT2JqZWN0LmZvcmNlVXBkYXRlKCk7XHJcbiAgICAgICAgICAgICAgICBjYW5jZWwoKTtcclxuICAgICAgICAgICAgfX0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmVTZXR0aW5ncygpIHtcclxuICAgICAgICBEYXRhU3RvcmUuc2V0RGF0YShcInNldHRpbmdzXCIsIHRoaXMuc3RhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGxvYWRTZXR0aW5ncygpIHtcclxuICAgICAgICBjb25zdCBwcmV2aW91c1N0YXRlID0gRGF0YVN0b3JlLmdldERhdGEoXCJzZXR0aW5nc1wiKTtcclxuICAgICAgICBpZiAoIXByZXZpb3VzU3RhdGUpIHJldHVybiB0aGlzLnNhdmVTZXR0aW5ncygpO1xyXG4gICAgICAgIGZvciAoY29uc3QgY29sbGVjdGlvbiBpbiB0aGlzLnN0YXRlKSB7XHJcbiAgICAgICAgICAgIGlmICghcHJldmlvdXNTdGF0ZVtjb2xsZWN0aW9uXSkgT2JqZWN0LmFzc2lnbihwcmV2aW91c1N0YXRlLCB7W2NvbGxlY3Rpb25dOiB0aGlzLnN0YXRlW2NvbGxlY3Rpb25dfSk7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2F0ZWdvcnkgaW4gdGhpcy5zdGF0ZVtjb2xsZWN0aW9uXSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFwcmV2aW91c1N0YXRlW2NvbGxlY3Rpb25dW2NhdGVnb3J5XSkgT2JqZWN0LmFzc2lnbihwcmV2aW91c1N0YXRlW2NvbGxlY3Rpb25dLCB7W2NhdGVnb3J5XTogdGhpcy5zdGF0ZVtjb2xsZWN0aW9uXVtjYXRlZ29yeV19KTtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc2V0dGluZyBpbiB0aGlzLnN0YXRlW2NvbGxlY3Rpb25dW2NhdGVnb3J5XSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c1N0YXRlW2NvbGxlY3Rpb25dW2NhdGVnb3J5XVtzZXR0aW5nXSA9PSB1bmRlZmluZWQpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGVbY29sbGVjdGlvbl1bY2F0ZWdvcnldW3NldHRpbmddID0gcHJldmlvdXNTdGF0ZVtjb2xsZWN0aW9uXVtjYXRlZ29yeV1bc2V0dGluZ107XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2F2ZVNldHRpbmdzKCk7IC8vIGluIGNhc2UgbmV3IHRoaW5ncyB3ZXJlIGFkZGVkXHJcbiAgICB9XHJcblxyXG4gICAgb25TZXR0aW5nQ2hhbmdlKGNvbGxlY3Rpb24sIGNhdGVnb3J5LCBpZCwgdmFsdWUpIHtcclxuICAgICAgICBjb25zdCBiZWZvcmUgPSB0aGlzLmNvbGxlY3Rpb25zLmxlbmd0aCArIHRoaXMucGFuZWxzLmxlbmd0aDtcclxuICAgICAgICB0aGlzLnN0YXRlW2NvbGxlY3Rpb25dW2NhdGVnb3J5XVtpZF0gPSB2YWx1ZTtcclxuICAgICAgICBFdmVudHMuZGlzcGF0Y2goXCJzZXR0aW5nLXVwZGF0ZWRcIiwgY29sbGVjdGlvbiwgY2F0ZWdvcnksIGlkLCB2YWx1ZSk7XHJcbiAgICAgICAgY29uc3QgYWZ0ZXIgPSB0aGlzLmNvbGxlY3Rpb25zLmxlbmd0aCArIHRoaXMucGFuZWxzLmxlbmd0aDtcclxuICAgICAgICB0aGlzLnNhdmVTZXR0aW5ncygpO1xyXG4gICAgICAgIGlmIChiZWZvcmUgIT0gYWZ0ZXIpIHRoaXMuZm9yY2VVcGRhdGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRTZXR0aW5nKGNvbGxlY3Rpb24sIGNhdGVnb3J5LCBpZCkge1xyXG4gICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDIpIHJldHVybiB0aGlzLmNvbGxlY3Rpb25zWzBdLmZpbmQoYyA9PiBjLmlkID09IGFyZ3VtZW50c1swXSkuc2V0dGluZ3MuZmluZChzID0+IHMuaWQgPT0gYXJndW1lbnRzWzFdKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb2xsZWN0aW9ucy5maW5kKGMgPT4gYy5pZCA9PSBjb2xsZWN0aW9uKS5maW5kKGMgPT4gYy5pZCA9PSBjYXRlZ29yeSkuc2V0dGluZ3MuZmluZChzID0+IHMuaWQgPT0gaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldChjb2xsZWN0aW9uLCBjYXRlZ29yeSwgaWQpIHtcclxuICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAyKSB7XHJcbiAgICAgICAgICAgIGlkID0gY2F0ZWdvcnk7XHJcbiAgICAgICAgICAgIGNhdGVnb3J5ID0gY29sbGVjdGlvbjtcclxuICAgICAgICAgICAgY29sbGVjdGlvbiA9IFwic2V0dGluZ3NcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCF0aGlzLnN0YXRlW2NvbGxlY3Rpb25dIHx8ICF0aGlzLnN0YXRlW2NvbGxlY3Rpb25dW2NhdGVnb3J5XSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlW2NvbGxlY3Rpb25dW2NhdGVnb3J5XVtpZF07XHJcbiAgICB9XHJcblxyXG4gICAgc2V0KGNvbGxlY3Rpb24sIGNhdGVnb3J5LCBpZCwgdmFsdWUpIHtcclxuICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAzKSB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gaWQ7XHJcbiAgICAgICAgICAgIGlkID0gY2F0ZWdvcnk7XHJcbiAgICAgICAgICAgIGNhdGVnb3J5ID0gY29sbGVjdGlvbjtcclxuICAgICAgICAgICAgY29sbGVjdGlvbiA9IFwic2V0dGluZ3NcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub25TZXR0aW5nQ2hhbmdlKGNvbGxlY3Rpb24sIGNhdGVnb3J5LCBpZCwgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uKGNvbGxlY3Rpb24sIGNhdGVnb3J5LCBpZGVudGlmaWVyLCBjYWxsYmFjaykge1xyXG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSAoY29sLCBjYXQsIGlkLCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoY29sICE9PSBjb2xsZWN0aW9uIHx8IGNhdCAhPT0gY2F0ZWdvcnkgfHwgaWQgIT09IGlkZW50aWZpZXIpIHJldHVybjtcclxuICAgICAgICAgICAgY2FsbGJhY2sodmFsdWUpO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgRXZlbnRzLm9uKFwic2V0dGluZy11cGRhdGVkXCIsIGhhbmRsZXIpO1xyXG4gICAgICAgIHJldHVybiAoKSA9PiB7RXZlbnRzLm9mZihcInNldHRpbmctdXBkYXRlZFwiLCBoYW5kbGVyKTt9O1xyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/modules/settingsmanager.js\n"); /***/ }), @@ -455,7 +467,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var data /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var _contentmanager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./contentmanager */ \"./src/modules/contentmanager.js\");\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n/* harmony import */ var _settingsmanager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settingsmanager */ \"./src/modules/settingsmanager.js\");\n\n\n\n\n\n\n\nconst path = __webpack_require__(/*! path */ \"path\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class ThemeManager extends _contentmanager__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n get name() {\n return \"ThemeManager\";\n }\n\n get moduleExtension() {\n return \".css\";\n }\n\n get extension() {\n return \".theme.css\";\n }\n\n get contentFolder() {\n return path.resolve(data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].dataPath, \"themes\");\n }\n\n get prefix() {\n return \"theme\";\n }\n /* Aliases */\n\n\n updateThemeList() {\n return this.updateList();\n }\n\n loadAllThemes() {\n _settingsmanager__WEBPACK_IMPORTED_MODULE_4__[\"default\"].registerPanel(\"Themes\", {\n element: () => ui__WEBPACK_IMPORTED_MODULE_3__[\"SettingsPanel\"].getContentPanel(\"Themes\", this.contentList, this.state, {\n folder: this.contentFolder,\n onChange: this.toggleTheme.bind(this),\n reload: this.reloadTheme.bind(this),\n refreshList: this.updateThemeList.bind(this)\n })\n });\n return this.loadAllContent();\n }\n\n enableTheme(idOrContent) {\n return this.enableContent(idOrContent);\n }\n\n disableTheme(idOrContent) {\n return this.disableContent(idOrContent);\n }\n\n toggleTheme(id) {\n return this.toggleContent(id);\n }\n\n unloadTheme(idOrFileOrContent) {\n return this.unloadContent(idOrFileOrContent);\n }\n\n loadTheme(filename) {\n const error = this.loadContent(filename);\n if (error) ui__WEBPACK_IMPORTED_MODULE_3__[\"Modals\"].showContentErrors({\n themes: [error]\n });\n }\n\n reloadTheme(idOrFileOrContent) {\n const error = this.reloadContent(idOrFileOrContent);\n if (error) ui__WEBPACK_IMPORTED_MODULE_3__[\"Modals\"].showContentErrors({\n themes: [error]\n });\n }\n /* Overrides */\n\n\n getContentModification(module, content, meta) {\n meta.css = content.split(\"\\n\").slice(1).join(\"\\n\");\n return `module.exports = ${JSON.stringify(meta)};`;\n }\n\n startContent(id) {\n return this.addTheme(id);\n }\n\n stopContent(id) {\n return this.removeTheme(id);\n }\n\n addTheme(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n const style = document.createElement(\"style\");\n style.id = _utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].escapeID(content.id);\n style.textContent = unescape(content.css);\n document.head.append(style);\n content.element = style;\n }\n\n removeTheme(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n const element = content.element || document.getElementById(_utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].escapeID(content.id));\n if (element) element.remove();\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvdGhlbWVtYW5hZ2VyLmpzPzQwNzgiXSwibmFtZXMiOlsicGF0aCIsInJlcXVpcmUiLCJUaGVtZU1hbmFnZXIiLCJDb250ZW50TWFuYWdlciIsIm5hbWUiLCJtb2R1bGVFeHRlbnNpb24iLCJleHRlbnNpb24iLCJjb250ZW50Rm9sZGVyIiwicmVzb2x2ZSIsIkNvbmZpZyIsImRhdGFQYXRoIiwicHJlZml4IiwidXBkYXRlVGhlbWVMaXN0IiwidXBkYXRlTGlzdCIsImxvYWRBbGxUaGVtZXMiLCJTZXR0aW5ncyIsInJlZ2lzdGVyUGFuZWwiLCJlbGVtZW50IiwiU2V0dGluZ3NSZW5kZXJlciIsImdldENvbnRlbnRQYW5lbCIsImNvbnRlbnRMaXN0Iiwic3RhdGUiLCJmb2xkZXIiLCJvbkNoYW5nZSIsInRvZ2dsZVRoZW1lIiwiYmluZCIsInJlbG9hZCIsInJlbG9hZFRoZW1lIiwicmVmcmVzaExpc3QiLCJsb2FkQWxsQ29udGVudCIsImVuYWJsZVRoZW1lIiwiaWRPckNvbnRlbnQiLCJlbmFibGVDb250ZW50IiwiZGlzYWJsZVRoZW1lIiwiZGlzYWJsZUNvbnRlbnQiLCJpZCIsInRvZ2dsZUNvbnRlbnQiLCJ1bmxvYWRUaGVtZSIsImlkT3JGaWxlT3JDb250ZW50IiwidW5sb2FkQ29udGVudCIsImxvYWRUaGVtZSIsImZpbGVuYW1lIiwiZXJyb3IiLCJsb2FkQ29udGVudCIsIk1vZGFscyIsInNob3dDb250ZW50RXJyb3JzIiwidGhlbWVzIiwicmVsb2FkQ29udGVudCIsImdldENvbnRlbnRNb2RpZmljYXRpb24iLCJtb2R1bGUiLCJjb250ZW50IiwibWV0YSIsImNzcyIsInNwbGl0Iiwic2xpY2UiLCJqb2luIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXJ0Q29udGVudCIsImFkZFRoZW1lIiwic3RvcENvbnRlbnQiLCJyZW1vdmVUaGVtZSIsImZpbmQiLCJwIiwic3R5bGUiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJVdGlsaXRpZXMiLCJlc2NhcGVJRCIsInRleHRDb250ZW50IiwidW5lc2NhcGUiLCJoZWFkIiwiYXBwZW5kIiwiZ2V0RWxlbWVudEJ5SWQiLCJyZW1vdmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxNQUFNQSxJQUFJLEdBQUdDLG1CQUFPLENBQUMsa0JBQUQsQ0FBcEI7O0FBRWUsbUVBQUksTUFBTUMsWUFBTixTQUEyQkMsdURBQTNCLENBQTBDO0FBQ3pELE1BQUlDLElBQUosR0FBVztBQUFDLFdBQU8sY0FBUDtBQUF1Qjs7QUFDbkMsTUFBSUMsZUFBSixHQUFzQjtBQUFDLFdBQU8sTUFBUDtBQUFlOztBQUN0QyxNQUFJQyxTQUFKLEdBQWdCO0FBQUMsV0FBTyxZQUFQO0FBQXFCOztBQUN0QyxNQUFJQyxhQUFKLEdBQW9CO0FBQUMsV0FBT1AsSUFBSSxDQUFDUSxPQUFMLENBQWFDLDJDQUFNLENBQUNDLFFBQXBCLEVBQThCLFFBQTlCLENBQVA7QUFBZ0Q7O0FBQ3JFLE1BQUlDLE1BQUosR0FBYTtBQUFDLFdBQU8sT0FBUDtBQUFnQjtBQUU5Qjs7O0FBQ0FDLGlCQUFlLEdBQUc7QUFBQyxXQUFPLEtBQUtDLFVBQUwsRUFBUDtBQUEwQjs7QUFDN0NDLGVBQWEsR0FBRztBQUNaQyw0REFBUSxDQUFDQyxhQUFULENBQXVCLFFBQXZCLEVBQWlDO0FBQUNDLGFBQU8sRUFBRSxNQUFNQyxnREFBZ0IsQ0FBQ0MsZUFBakIsQ0FBaUMsUUFBakMsRUFBMkMsS0FBS0MsV0FBaEQsRUFBNkQsS0FBS0MsS0FBbEUsRUFBeUU7QUFDdEhDLGNBQU0sRUFBRSxLQUFLZixhQUR5RztBQUV0SGdCLGdCQUFRLEVBQUUsS0FBS0MsV0FBTCxDQUFpQkMsSUFBakIsQ0FBc0IsSUFBdEIsQ0FGNEc7QUFHdEhDLGNBQU0sRUFBRSxLQUFLQyxXQUFMLENBQWlCRixJQUFqQixDQUFzQixJQUF0QixDQUg4RztBQUl0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QUNtQixPQUFMLEVBQWM7QUFDZCxVQUFNakMsT0FBTyxHQUFHaUMsT0FBTyxDQUFDakMsT0FBUixJQUFtQmdELFFBQVEsQ0FBQ1EsY0FBVCxDQUF3Qk4sa0RBQVMsQ0FBQ0MsUUFBVixDQUFtQmxCLE9BQU8sQ0FBQ2YsRUFBM0IsQ0FBeEIsQ0FBbkM7QUFDQSxRQUFJbEIsT0FBSixFQUFhQSxPQUFPLENBQUN5RCxNQUFSO0FBQ2hCOztBQTNEd0QsQ0FBOUMsRUFBZiIsImZpbGUiOiIuL3NyYy9tb2R1bGVzL3RoZW1lbWFuYWdlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uZmlnfSBmcm9tIFwiZGF0YVwiO1xyXG5pbXBvcnQgQ29udGVudE1hbmFnZXIgZnJvbSBcIi4vY29udGVudG1hbmFnZXJcIjtcclxuaW1wb3J0IFV0aWxpdGllcyBmcm9tIFwiLi91dGlsaXRpZXNcIjtcclxuaW1wb3J0IHtNb2RhbHN9IGZyb20gXCJ1aVwiO1xyXG5pbXBvcnQgU2V0dGluZ3MgZnJvbSBcIi4vc2V0dGluZ3NtYW5hZ2VyXCI7XHJcbmltcG9ydCB7U2V0dGluZ3NQYW5lbCBhcyBTZXR0aW5nc1JlbmRlcmVyfSBmcm9tIFwidWlcIjtcclxuXHJcbmNvbnN0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBUaGVtZU1hbmFnZXIgZXh0ZW5kcyBDb250ZW50TWFuYWdlciB7XHJcbiAgICBnZXQgbmFtZSgpIHtyZXR1cm4gXCJUaGVtZU1hbmFnZXJcIjt9XHJcbiAgICBnZXQgbW9kdWxlRXh0ZW5zaW9uKCkge3JldHVybiBcIi5jc3NcIjt9XHJcbiAgICBnZXQgZXh0ZW5zaW9uKCkge3JldHVybiBcIi50aGVtZS5jc3NcIjt9XHJcbiAgICBnZXQgY29udGVudEZvbGRlcigpIHtyZXR1cm4gcGF0aC5yZXNvbHZlKENvbmZpZy5kYXRhUGF0aCwgXCJ0aGVtZXNcIik7fVxyXG4gICAgZ2V0IHByZWZpeCgpIHtyZXR1cm4gXCJ0aGVtZVwiO31cclxuXHJcbiAgICAvKiBBbGlhc2VzICovXHJcbiAgICB1cGRhdGVUaGVtZUxpc3QoKSB7cmV0dXJuIHRoaXMudXBkYXRlTGlzdCgpO31cclxuICAgIGxvYWRBbGxUaGVtZXMoKSB7XHJcbiAgICAgICAgU2V0dGluZ3MucmVnaXN0ZXJQYW5lbChcIlRoZW1lc1wiLCB7ZWxlbWVudDogKCkgPT4gU2V0dGluZ3NSZW5kZXJlci5nZXRDb250ZW50UGFuZWwoXCJUaGVtZXNcIiwgdGhpcy5jb250ZW50TGlzdCwgdGhpcy5zdGF0ZSwge1xyXG4gICAgICAgICAgICBmb2xkZXI6IHRoaXMuY29udGVudEZvbGRlcixcclxuICAgICAgICAgICAgb25DaGFuZ2U6IHRoaXMudG9nZ2xlVGhlbWUuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgcmVsb2FkOiB0aGlzLnJlbG9hZFRoZW1lLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgIHJlZnJlc2hMaXN0OiB0aGlzLnVwZGF0ZVRoZW1lTGlzdC5iaW5kKHRoaXMpXHJcbiAgICAgICAgfSl9KTtcclxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkQWxsQ29udGVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGVuYWJsZVRoZW1lKGlkT3JDb250ZW50KSB7cmV0dXJuIHRoaXMuZW5hYmxlQ29udGVudChpZE9yQ29udGVudCk7fVxyXG4gICAgZGlzYWJsZVRoZW1lKGlkT3JDb250ZW50KSB7cmV0dXJuIHRoaXMuZGlzYWJsZUNvbnRlbnQoaWRPckNvbnRlbnQpO31cclxuICAgIHRvZ2dsZVRoZW1lKGlkKSB7cmV0dXJuIHRoaXMudG9nZ2xlQ29udGVudChpZCk7fVxyXG5cclxuICAgIHVubG9hZFRoZW1lKGlkT3JGaWxlT3JDb250ZW50KSB7cmV0dXJuIHRoaXMudW5sb2FkQ29udGVudChpZE9yRmlsZU9yQ29udGVudCk7fVxyXG5cclxuICAgIGxvYWRUaGVtZShmaWxlbmFtZSkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5sb2FkQ29udGVudChmaWxlbmFtZSk7XHJcbiAgICAgICAgaWYgKGVycm9yKSBNb2RhbHMuc2hvd0NvbnRlbnRFcnJvcnMoe3RoZW1lczogW2Vycm9yXX0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbG9hZFRoZW1lKGlkT3JGaWxlT3JDb250ZW50KSB7XHJcbiAgICAgICAgY29uc3QgZXJyb3IgPSB0aGlzLnJlbG9hZENvbnRlbnQoaWRPckZpbGVPckNvbnRlbnQpO1xyXG4gICAgICAgIGlmIChlcnJvcikgTW9kYWxzLnNob3dDb250ZW50RXJyb3JzKHt0aGVtZXM6IFtlcnJvcl19KTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBPdmVycmlkZXMgKi9cclxuICAgIGdldENvbnRlbnRNb2RpZmljYXRpb24obW9kdWxlLCBjb250ZW50LCBtZXRhKSB7XHJcbiAgICAgICAgbWV0YS5jc3MgPSBjb250ZW50LnNwbGl0KFwiXFxuXCIpLnNsaWNlKDEpLmpvaW4oXCJcXG5cIik7XHJcbiAgICAgICAgcmV0dXJuIGBtb2R1bGUuZXhwb3J0cyA9ICR7SlNPTi5zdHJpbmdpZnkobWV0YSl9O2A7XHJcbiAgICB9ICAgIFxyXG5cclxuICAgIHN0YXJ0Q29udGVudChpZCkge3JldHVybiB0aGlzLmFkZFRoZW1lKGlkKTt9XHJcbiAgICBzdG9wQ29udGVudChpZCkge3JldHVybiB0aGlzLnJlbW92ZVRoZW1lKGlkKTt9XHJcblxyXG4gICAgYWRkVGhlbWUoaWRPckNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mKGlkT3JDb250ZW50KSA9PSBcInN0cmluZ1wiID8gdGhpcy5jb250ZW50TGlzdC5maW5kKHAgPT4gcC5pZCA9PSBpZE9yQ29udGVudCkgOiBpZE9yQ29udGVudDtcclxuICAgICAgICBpZiAoIWNvbnRlbnQpIHJldHVybjtcclxuICAgICAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcclxuICAgICAgICBzdHlsZS5pZCA9IFV0aWxpdGllcy5lc2NhcGVJRChjb250ZW50LmlkKTtcclxuICAgICAgICBzdHlsZS50ZXh0Q29udGVudCA9IHVuZXNjYXBlKGNvbnRlbnQuY3NzKTtcclxuICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZChzdHlsZSk7XHJcbiAgICAgICAgY29udGVudC5lbGVtZW50ID0gc3R5bGU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlVGhlbWUoaWRPckNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mKGlkT3JDb250ZW50KSA9PSBcInN0cmluZ1wiID8gdGhpcy5jb250ZW50TGlzdC5maW5kKHAgPT4gcC5pZCA9PSBpZE9yQ29udGVudCkgOiBpZE9yQ29udGVudDtcclxuICAgICAgICBpZiAoIWNvbnRlbnQpIHJldHVybjtcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gY29udGVudC5lbGVtZW50IHx8IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFV0aWxpdGllcy5lc2NhcGVJRChjb250ZW50LmlkKSk7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQpIGVsZW1lbnQucmVtb3ZlKCk7XHJcbiAgICB9XHJcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/modules/thememanager.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var _contentmanager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./contentmanager */ \"./src/modules/contentmanager.js\");\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n/* harmony import */ var _settingsmanager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settingsmanager */ \"./src/modules/settingsmanager.js\");\n\n\n\n\n\n\n\nconst path = __webpack_require__(/*! path */ \"path\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class ThemeManager extends _contentmanager__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n get name() {\n return \"ThemeManager\";\n }\n\n get moduleExtension() {\n return \".css\";\n }\n\n get extension() {\n return \".theme.css\";\n }\n\n get contentFolder() {\n return path.resolve(data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].dataPath, \"themes\");\n }\n\n get prefix() {\n return \"theme\";\n }\n /* Aliases */\n\n\n updateThemeList() {\n return this.updateList();\n }\n\n loadAllThemes() {\n _settingsmanager__WEBPACK_IMPORTED_MODULE_4__[\"default\"].registerPanel(\"themes\", \"Themes\", {\n element: () => ui__WEBPACK_IMPORTED_MODULE_3__[\"SettingsPanel\"].getContentPanel(\"Themes\", this.contentList, this.state, {\n folder: this.contentFolder,\n onChange: this.toggleTheme.bind(this),\n reload: this.reloadTheme.bind(this),\n refreshList: this.updateThemeList.bind(this)\n })\n });\n return this.loadAllContent();\n }\n\n enableTheme(idOrContent) {\n return this.enableContent(idOrContent);\n }\n\n disableTheme(idOrContent) {\n return this.disableContent(idOrContent);\n }\n\n toggleTheme(id) {\n return this.toggleContent(id);\n }\n\n unloadTheme(idOrFileOrContent) {\n return this.unloadContent(idOrFileOrContent);\n }\n\n loadTheme(filename) {\n const error = this.loadContent(filename);\n if (error) ui__WEBPACK_IMPORTED_MODULE_3__[\"Modals\"].showContentErrors({\n themes: [error]\n });\n }\n\n reloadTheme(idOrFileOrContent) {\n const error = this.reloadContent(idOrFileOrContent);\n if (error) ui__WEBPACK_IMPORTED_MODULE_3__[\"Modals\"].showContentErrors({\n themes: [error]\n });\n }\n /* Overrides */\n\n\n getContentModification(module, content, meta) {\n meta.css = content.split(\"\\n\").slice(1).join(\"\\n\");\n return `module.exports = ${JSON.stringify(meta)};`;\n }\n\n startContent(id) {\n return this.addTheme(id);\n }\n\n stopContent(id) {\n return this.removeTheme(id);\n }\n\n addTheme(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n const style = document.createElement(\"style\");\n style.id = _utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].escapeID(content.id);\n style.textContent = unescape(content.css);\n document.head.append(style);\n content.element = style;\n }\n\n removeTheme(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n const element = content.element || document.getElementById(_utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].escapeID(content.id));\n if (element) element.remove();\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvdGhlbWVtYW5hZ2VyLmpzPzQwNzgiXSwibmFtZXMiOlsicGF0aCIsInJlcXVpcmUiLCJUaGVtZU1hbmFnZXIiLCJDb250ZW50TWFuYWdlciIsIm5hbWUiLCJtb2R1bGVFeHRlbnNpb24iLCJleHRlbnNpb24iLCJjb250ZW50Rm9sZGVyIiwicmVzb2x2ZSIsIkNvbmZpZyIsImRhdGFQYXRoIiwicHJlZml4IiwidXBkYXRlVGhlbWVMaXN0IiwidXBkYXRlTGlzdCIsImxvYWRBbGxUaGVtZXMiLCJTZXR0aW5ncyIsInJlZ2lzdGVyUGFuZWwiLCJlbGVtZW50IiwiU2V0dGluZ3NSZW5kZXJlciIsImdldENvbnRlbnRQYW5lbCIsImNvbnRlbnRMaXN0Iiwic3RhdGUiLCJmb2xkZXIiLCJvbkNoYW5nZSIsInRvZ2dsZVRoZW1lIiwiYmluZCIsInJlbG9hZCIsInJlbG9hZFRoZW1lIiwicmVmcmVzaExpc3QiLCJsb2FkQWxsQ29udGVudCIsImVuYWJsZVRoZW1lIiwiaWRPckNvbnRlbnQiLCJlbmFibGVDb250ZW50IiwiZGlzYWJsZVRoZW1lIiwiZGlzYWJsZUNvbnRlbnQiLCJpZCIsInRvZ2dsZUNvbnRlbnQiLCJ1bmxvYWRUaGVtZSIsImlkT3JGaWxlT3JDb250ZW50IiwidW5sb2FkQ29udGVudCIsImxvYWRUaGVtZSIsImZpbGVuYW1lIiwiZXJyb3IiLCJsb2FkQ29udGVudCIsIk1vZGFscyIsInNob3dDb250ZW50RXJyb3JzIiwidGhlbWVzIiwicmVsb2FkQ29udGVudCIsImdldENvbnRlbnRNb2RpZmljYXRpb24iLCJtb2R1bGUiLCJjb250ZW50IiwibWV0YSIsImNzcyIsInNwbGl0Iiwic2xpY2UiLCJqb2luIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXJ0Q29udGVudCIsImFkZFRoZW1lIiwic3RvcENvbnRlbnQiLCJyZW1vdmVUaGVtZSIsImZpbmQiLCJwIiwic3R5bGUiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJVdGlsaXRpZXMiLCJlc2NhcGVJRCIsInRleHRDb250ZW50IiwidW5lc2NhcGUiLCJoZWFkIiwiYXBwZW5kIiwiZ2V0RWxlbWVudEJ5SWQiLCJyZW1vdmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxNQUFNQSxJQUFJLEdBQUdDLG1CQUFPLENBQUMsa0JBQUQsQ0FBcEI7O0FBRWUsbUVBQUksTUFBTUMsWUFBTixTQUEyQkMsdURBQTNCLENBQTBDO0FBQ3pELE1BQUlDLElBQUosR0FBVztBQUFDLFdBQU8sY0FBUDtBQUF1Qjs7QUFDbkMsTUFBSUMsZUFBSixHQUFzQjtBQUFDLFdBQU8sTUFBUDtBQUFlOztBQUN0QyxNQUFJQyxTQUFKLEdBQWdCO0FBQUMsV0FBTyxZQUFQO0FBQXFCOztBQUN0QyxNQUFJQyxhQUFKLEdBQW9CO0FBQUMsV0FBT1AsSUFBSSxDQUFDUSxPQUFMLENBQWFDLDJDQUFNLENBQUNDLFFBQXBCLEVBQThCLFFBQTlCLENBQVA7QUFBZ0Q7O0FBQ3JFLE1BQUlDLE1BQUosR0FBYTtBQUFDLFdBQU8sT0FBUDtBQUFnQjtBQUU5Qjs7O0FBQ0FDLGlCQUFlLEdBQUc7QUFBQyxXQUFPLEtBQUtDLFVBQUwsRUFBUDtBQUEwQjs7QUFDN0NDLGVBQWEsR0FBRztBQUNaQyw0REFBUSxDQUFDQyxhQUFULENBQXVCLFFBQXZCLEVBQWlDLFFBQWpDLEVBQTJDO0FBQUNDLGFBQU8sRUFBRSxNQUFNQyxnREFBZ0IsQ0FBQ0MsZUFBakIsQ0FBaUMsUUFBakMsRUFBMkMsS0FBS0MsV0FBaEQsRUFBNkQsS0FBS0MsS0FBbEUsRUFBeUU7QUFDaElDLGNBQU0sRUFBRSxLQUFLZixhQURtSDtBQUVoSWdCLGdCQUFRLEVBQUUsS0FBS0MsV0FBTCxDQUFpQkMsSUFBakIsQ0FBc0IsSUFBdEIsQ0FGc0g7QUFHaElDLGNBQU0sRUFBRSxLQUFLQyxXQUFMLENBQWlCRixJQUFqQixDQUFzQixJQUF0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QUFDQSxRQUFJLENBQUNtQixPQUFMLEVBQWM7QUFDZCxVQUFNakMsT0FBTyxHQUFHaUMsT0FBTyxDQUFDakMsT0FBUixJQUFtQmdELFFBQVEsQ0FBQ1EsY0FBVCxDQUF3Qk4sa0RBQVMsQ0FBQ0MsUUFBVixDQUFtQmxCLE9BQU8sQ0FBQ2YsRUFBM0IsQ0FBeEIsQ0FBbkM7QUFDQSxRQUFJbEIsT0FBSixFQUFhQSxPQUFPLENBQUN5RCxNQUFSO0FBQ2hCOztBQTNEd0QsQ0FBOUMsRUFBZiIsImZpbGUiOiIuL3NyYy9tb2R1bGVzL3RoZW1lbWFuYWdlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uZmlnfSBmcm9tIFwiZGF0YVwiO1xyXG5pbXBvcnQgQ29udGVudE1hbmFnZXIgZnJvbSBcIi4vY29udGVudG1hbmFnZXJcIjtcclxuaW1wb3J0IFV0aWxpdGllcyBmcm9tIFwiLi91dGlsaXRpZXNcIjtcclxuaW1wb3J0IHtNb2RhbHN9IGZyb20gXCJ1aVwiO1xyXG5pbXBvcnQgU2V0dGluZ3MgZnJvbSBcIi4vc2V0dGluZ3NtYW5hZ2VyXCI7XHJcbmltcG9ydCB7U2V0dGluZ3NQYW5lbCBhcyBTZXR0aW5nc1JlbmRlcmVyfSBmcm9tIFwidWlcIjtcclxuXHJcbmNvbnN0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBUaGVtZU1hbmFnZXIgZXh0ZW5kcyBDb250ZW50TWFuYWdlciB7XHJcbiAgICBnZXQgbmFtZSgpIHtyZXR1cm4gXCJUaGVtZU1hbmFnZXJcIjt9XHJcbiAgICBnZXQgbW9kdWxlRXh0ZW5zaW9uKCkge3JldHVybiBcIi5jc3NcIjt9XHJcbiAgICBnZXQgZXh0ZW5zaW9uKCkge3JldHVybiBcIi50aGVtZS5jc3NcIjt9XHJcbiAgICBnZXQgY29udGVudEZvbGRlcigpIHtyZXR1cm4gcGF0aC5yZXNvbHZlKENvbmZpZy5kYXRhUGF0aCwgXCJ0aGVtZXNcIik7fVxyXG4gICAgZ2V0IHByZWZpeCgpIHtyZXR1cm4gXCJ0aGVtZVwiO31cclxuXHJcbiAgICAvKiBBbGlhc2VzICovXHJcbiAgICB1cGRhdGVUaGVtZUxpc3QoKSB7cmV0dXJuIHRoaXMudXBkYXRlTGlzdCgpO31cclxuICAgIGxvYWRBbGxUaGVtZXMoKSB7XHJcbiAgICAgICAgU2V0dGluZ3MucmVnaXN0ZXJQYW5lbChcInRoZW1lc1wiLCBcIlRoZW1lc1wiLCB7ZWxlbWVudDogKCkgPT4gU2V0dGluZ3NSZW5kZXJlci5nZXRDb250ZW50UGFuZWwoXCJUaGVtZXNcIiwgdGhpcy5jb250ZW50TGlzdCwgdGhpcy5zdGF0ZSwge1xyXG4gICAgICAgICAgICBmb2xkZXI6IHRoaXMuY29udGVudEZvbGRlcixcclxuICAgICAgICAgICAgb25DaGFuZ2U6IHRoaXMudG9nZ2xlVGhlbWUuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgcmVsb2FkOiB0aGlzLnJlbG9hZFRoZW1lLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgIHJlZnJlc2hMaXN0OiB0aGlzLnVwZGF0ZVRoZW1lTGlzdC5iaW5kKHRoaXMpXHJcbiAgICAgICAgfSl9KTtcclxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkQWxsQ29udGVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGVuYWJsZVRoZW1lKGlkT3JDb250ZW50KSB7cmV0dXJuIHRoaXMuZW5hYmxlQ29udGVudChpZE9yQ29udGVudCk7fVxyXG4gICAgZGlzYWJsZVRoZW1lKGlkT3JDb250ZW50KSB7cmV0dXJuIHRoaXMuZGlzYWJsZUNvbnRlbnQoaWRPckNvbnRlbnQpO31cclxuICAgIHRvZ2dsZVRoZW1lKGlkKSB7cmV0dXJuIHRoaXMudG9nZ2xlQ29udGVudChpZCk7fVxyXG5cclxuICAgIHVubG9hZFRoZW1lKGlkT3JGaWxlT3JDb250ZW50KSB7cmV0dXJuIHRoaXMudW5sb2FkQ29udGVudChpZE9yRmlsZU9yQ29udGVudCk7fVxyXG5cclxuICAgIGxvYWRUaGVtZShmaWxlbmFtZSkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5sb2FkQ29udGVudChmaWxlbmFtZSk7XHJcbiAgICAgICAgaWYgKGVycm9yKSBNb2RhbHMuc2hvd0NvbnRlbnRFcnJvcnMoe3RoZW1lczogW2Vycm9yXX0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbG9hZFRoZW1lKGlkT3JGaWxlT3JDb250ZW50KSB7XHJcbiAgICAgICAgY29uc3QgZXJyb3IgPSB0aGlzLnJlbG9hZENvbnRlbnQoaWRPckZpbGVPckNvbnRlbnQpO1xyXG4gICAgICAgIGlmIChlcnJvcikgTW9kYWxzLnNob3dDb250ZW50RXJyb3JzKHt0aGVtZXM6IFtlcnJvcl19KTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBPdmVycmlkZXMgKi9cclxuICAgIGdldENvbnRlbnRNb2RpZmljYXRpb24obW9kdWxlLCBjb250ZW50LCBtZXRhKSB7XHJcbiAgICAgICAgbWV0YS5jc3MgPSBjb250ZW50LnNwbGl0KFwiXFxuXCIpLnNsaWNlKDEpLmpvaW4oXCJcXG5cIik7XHJcbiAgICAgICAgcmV0dXJuIGBtb2R1bGUuZXhwb3J0cyA9ICR7SlNPTi5zdHJpbmdpZnkobWV0YSl9O2A7XHJcbiAgICB9ICAgIFxyXG5cclxuICAgIHN0YXJ0Q29udGVudChpZCkge3JldHVybiB0aGlzLmFkZFRoZW1lKGlkKTt9XHJcbiAgICBzdG9wQ29udGVudChpZCkge3JldHVybiB0aGlzLnJlbW92ZVRoZW1lKGlkKTt9XHJcblxyXG4gICAgYWRkVGhlbWUoaWRPckNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mKGlkT3JDb250ZW50KSA9PSBcInN0cmluZ1wiID8gdGhpcy5jb250ZW50TGlzdC5maW5kKHAgPT4gcC5pZCA9PSBpZE9yQ29udGVudCkgOiBpZE9yQ29udGVudDtcclxuICAgICAgICBpZiAoIWNvbnRlbnQpIHJldHVybjtcclxuICAgICAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcclxuICAgICAgICBzdHlsZS5pZCA9IFV0aWxpdGllcy5lc2NhcGVJRChjb250ZW50LmlkKTtcclxuICAgICAgICBzdHlsZS50ZXh0Q29udGVudCA9IHVuZXNjYXBlKGNvbnRlbnQuY3NzKTtcclxuICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZChzdHlsZSk7XHJcbiAgICAgICAgY29udGVudC5lbGVtZW50ID0gc3R5bGU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlVGhlbWUoaWRPckNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mKGlkT3JDb250ZW50KSA9PSBcInN0cmluZ1wiID8gdGhpcy5jb250ZW50TGlzdC5maW5kKHAgPT4gcC5pZCA9PSBpZE9yQ29udGVudCkgOiBpZE9yQ29udGVudDtcclxuICAgICAgICBpZiAoIWNvbnRlbnQpIHJldHVybjtcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gY29udGVudC5lbGVtZW50IHx8IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFV0aWxpdGllcy5lc2NhcGVJRChjb250ZW50LmlkKSk7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQpIGVsZW1lbnQucmVtb3ZlKCk7XHJcbiAgICB9XHJcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/modules/thememanager.js\n"); /***/ }), @@ -519,6 +531,30 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ }), +/***/ "./src/ui/customcss/checkbox.js": +/*!**************************************!*\ + !*** ./src/ui/customcss/checkbox.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Checkbox; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass Checkbox extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.onClick = this.onClick.bind(this);\n this.state = {\n checked: this.props.checked || false\n };\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"li\", null, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"checkbox checkbox-3kaeSU da-checkbox checkbox-3EVISJ da-checkbox\",\n onClick: this.onClick\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"checkbox-inner checkboxInner-3yjcPe da-checkboxInner\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"input\", {\n className: \"checkboxElement-1qV33p da-checkboxElement\",\n checked: this.state.checked,\n onChange: () => {},\n type: \"checkbox\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", null)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", null, this.props.text)));\n }\n\n onClick() {\n this.props.onChange(this.props.id, !this.state.checked);\n this.setState({\n checked: !this.state.checked\n });\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL2N1c3RvbWNzcy9jaGVja2JveC5qcz8xMzIzIl0sIm5hbWVzIjpbIkNoZWNrYm94IiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwib25DbGljayIsImJpbmQiLCJzdGF0ZSIsImNoZWNrZWQiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwib25DaGFuZ2UiLCJ0eXBlIiwidGV4dCIsImlkIiwic2V0U3RhdGUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRWUsTUFBTUEsUUFBTixTQUF1QkMsNkNBQUssQ0FBQ0MsU0FBN0IsQ0FBdUM7QUFDbERDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNBLFNBQUtDLE9BQUwsR0FBZSxLQUFLQSxPQUFMLENBQWFDLElBQWIsQ0FBa0IsSUFBbEIsQ0FBZjtBQUNBLFNBQUtDLEtBQUwsR0FBYTtBQUNUQyxhQUFPLEVBQUUsS0FBS0osS0FBTCxDQUFXSSxPQUFYLElBQXNCO0FBRHRCLEtBQWI7QUFHSDs7QUFFREMsUUFBTSxHQUFHO0FBQ0wsV0FBT1IsNkNBQUssQ0FBQ1MsYUFBTixDQUNILElBREcsRUFFSCxJQUZHLEVBR0hULDZDQUFLLENBQUNTLGFBQU4sQ0FDSSxLQURKLEVBRUk7QUFBQ0MsZUFBUyxFQUFFLGtFQUFaO0FBQWdGTixhQUFPLEVBQUUsS0FBS0E7QUFBOUYsS0FGSixFQUdJSiw2Q0FBSyxDQUFDUyxhQUFOLENBQ0ksS0FESixFQUVJO0FBQUNDLGVBQVMsRUFBRTtBQUFaLEtBRkosRUFHSVYsNkNBQUssQ0FBQ1MsYUFBTixDQUFvQixPQUFwQixFQUE2QjtBQUFDQyxlQUFTLEVBQUUsMkNBQVo7QUFBeURILGFBQU8sRUFBRSxLQUFLRCxLQUFMLENBQVdDLE9BQTdFO0FBQXNGSSxjQUFRLEVBQUUsTUFBTSxDQUFFLENBQXhHO0FBQTBHQyxVQUFJLEVBQUU7QUFBaEgsS0FBN0IsQ0FISixFQUlJWiw2Q0FBSyxDQUFDUyxhQUFOLENBQW9CLE1BQXBCLEVBQTRCLElBQTVCLENBSkosQ0FISixFQVNJVCw2Q0FBSyxDQUFDUyxhQUFOLENBQ0ksTUFESixFQUVJLElBRkosRUFHSSxLQUFLTixLQUFMLENBQVdVLElBSGYsQ0FUSixDQUhHLENBQVA7QUFtQkg7O0FBRURULFNBQU8sR0FBRztBQUNOLFNBQUtELEtBQUwsQ0FBV1EsUUFBWCxDQUFvQixLQUFLUixLQUFMLENBQVdXLEVBQS9CLEVBQW1DLENBQUMsS0FBS1IsS0FBTCxDQUFXQyxPQUEvQztBQUNBLFNBQUtRLFFBQUwsQ0FBYztBQUNWUixhQUFPLEVBQUUsQ0FBQyxLQUFLRCxLQUFMLENBQVdDO0FBRFgsS0FBZDtBQUdIOztBQXBDaUQiLCJmaWxlIjoiLi9zcmMvdWkvY3VzdG9tY3NzL2NoZWNrYm94LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWFjdH0gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENoZWNrYm94IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgICAgIHRoaXMub25DbGljayA9IHRoaXMub25DbGljay5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgICAgICAgIGNoZWNrZWQ6IHRoaXMucHJvcHMuY2hlY2tlZCB8fCBmYWxzZVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICBcImxpXCIsXHJcbiAgICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJjaGVja2JveCBjaGVja2JveC0za2FlU1UgZGEtY2hlY2tib3ggY2hlY2tib3gtM0VWSVNKIGRhLWNoZWNrYm94XCIsIG9uQ2xpY2s6IHRoaXMub25DbGlja30sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJjaGVja2JveC1pbm5lciBjaGVja2JveElubmVyLTN5amNQZSBkYS1jaGVja2JveElubmVyXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiLCB7Y2xhc3NOYW1lOiBcImNoZWNrYm94RWxlbWVudC0xcVYzM3AgZGEtY2hlY2tib3hFbGVtZW50XCIsIGNoZWNrZWQ6IHRoaXMuc3RhdGUuY2hlY2tlZCwgb25DaGFuZ2U6ICgpID0+IHt9LCB0eXBlOiBcImNoZWNrYm94XCJ9KSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCBudWxsKVxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgXCJzcGFuXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnRleHRcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbGljaygpIHtcclxuICAgICAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKHRoaXMucHJvcHMuaWQsICF0aGlzLnN0YXRlLmNoZWNrZWQpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGVja2VkOiAhdGhpcy5zdGF0ZS5jaGVja2VkXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/customcss/checkbox.js\n"); + +/***/ }), + +/***/ "./src/ui/customcss/editor.js": +/*!************************************!*\ + !*** ./src/ui/customcss/editor.js ***! + \************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CssEditor; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _checkbox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./checkbox */ \"./src/ui/customcss/checkbox.js\");\n/* harmony import */ var _settings_title__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../settings/title */ \"./src/ui/settings/title.jsx\");\n\n\n\nclass CssEditor extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.props.lines = 0;\n this.state = {\n detached: this.props.detached || modules__WEBPACK_IMPORTED_MODULE_0__[\"BDV2\"].editorDetached\n }; // this.attach = this.attach.bind(this);\n // this.detachedEditor = React.createElement(EditorDetached, {attach: this.attach});\n\n this.onClick = this.onClick.bind(this);\n this.updateCss = this.updateCss.bind(this);\n this.saveCss = this.saveCss.bind(this);\n this.detach = this.detach.bind(this);\n }\n\n componentDidMount() {\n // this.updateLineCount();\n this.editor = ace.edit(\"bd-customcss-editor\");\n this.editor.setTheme(\"ace/theme/monokai\");\n this.editor.session.setMode(\"ace/mode/css\");\n this.editor.setShowPrintMargin(false);\n this.editor.setFontSize(14);\n this.editor.on(\"change\", () => {\n if (!modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].get(\"settings\", \"customcss\", \"liveUpdate\")) return;\n this.saveCss();\n this.updateCss();\n });\n }\n\n componentWillUnmount() {\n this.editor.destroy();\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (prevState.detached && !this.state.detached) {\n modules__WEBPACK_IMPORTED_MODULE_0__[\"ReactDOM\"].unmountComponentAtNode(this.detachedRoot);\n }\n }\n\n codeMirror() {}\n\n get options() {\n return {\n lineNumbers: true,\n mode: \"css\",\n indentUnit: 4,\n theme: \"material\",\n scrollbarStyle: \"simple\"\n };\n }\n\n get css() {\n const _ccss = modules__WEBPACK_IMPORTED_MODULE_0__[\"DataStore\"].getBDData(\"bdcustomcss\");\n\n let ccss = \"\";\n\n if (_ccss && _ccss !== \"\") {\n ccss = atob(_ccss);\n }\n\n return ccss;\n }\n\n updateLineCount() {\n const lineCount = this.refs.editor.value.split(\"\\n\").length;\n if (lineCount == this.props.lines) return;\n this.refs.lines.textContent = Array.from(new Array(lineCount), (_, i) => i + 1).join(\".\\n\") + \".\";\n this.props.lines = lineCount;\n }\n\n render() {\n const self = this;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"contentColumn-2hrIYH contentColumnDefault-1VQkGM content-column default\",\n style: {\n padding: \"60px 40px 0px\"\n }\n }, // detached && React.createElement(\n // \"div\",\n // {id: \"editor-detached\"},\n // React.createElement(SettingsTitle, {text: \"Custom CSS Editor\"}),\n // React.createElement(\n // \"h3\",\n // null,\n // \"Editor Detached\"\n // ),\n // React.createElement(\n // \"button\",\n // {className: \"btn btn-primary\", onClick: () => {\n // self.attach();\n // }},\n // \"Attach\"\n // )\n // ),\n\n /*!detached && */\n modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", null, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_settings_title__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n text: \"Custom CSS Editor\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"editor-wrapper\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n id: \"bd-customcss-editor\",\n className: \"editor\",\n ref: \"editor\"\n }, self.css)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n id: \"bd-customcss-attach-controls\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"ul\", {\n className: \"checkbox-group\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_checkbox__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n id: \"live-update\",\n text: \"Live Update\",\n onChange: this.onChange,\n checked: modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].get(\"settings\", \"customcss\", \"liveUpdate\")\n })), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n id: \"bd-customcss-detach-controls-button\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n style: {\n borderRadius: \"3px 0 0 3px\",\n borderRight: \"1px solid #3f4146\"\n },\n className: \"btn btn-primary\",\n onClick: () => {\n self.onClick(\"update\");\n }\n }, \"Update\"), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n style: {\n borderRadius: \"0\",\n borderLeft: \"1px solid #2d2d2d\",\n borderRight: \"1px solid #2d2d2d\"\n },\n className: \"btn btn-primary\",\n onClick: () => {\n self.onClick(\"save\");\n }\n }, \"Save\"), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n style: {\n borderRadius: \"0 3px 3px 0\",\n borderLeft: \"1px solid #3f4146\"\n },\n className: \"btn btn-primary\",\n onClick: () => {\n self.onClick(\"detach\");\n }\n }, \"Detach\"), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n style: {\n fontSize: \"10px\",\n marginLeft: \"5px\"\n }\n }, \"Unsaved changes are lost on detach\"), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"help-text\"\n }, \"Press \", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"code\", {\n className: \"inline\"\n }, \"ctrl\"), \"+\", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"inline\"\n }, \",\"), \" with the editor focused to access the editor's settings.\")))));\n }\n\n onClick(arg) {\n switch (arg) {\n case \"update\":\n this.updateCss();\n break;\n\n case \"save\":\n this.saveCss();\n break;\n\n case \"detach\":\n this.detach();\n break;\n }\n }\n\n onChange(id, checked) {\n switch (id) {\n case \"live-update\":\n modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].set(\"settings\", \"customcss\", \"liveUpdate\", checked);\n break;\n }\n }\n\n updateCss() {\n if ($(\"#customcss\").length == 0) {\n $(\"head\").append(\"\");\n }\n\n $(\"#customcss\").text(this.editor.session.getValue()).detach().appendTo(document.head);\n }\n\n saveCss() {\n modules__WEBPACK_IMPORTED_MODULE_0__[\"DataStore\"].setBDData(\"bdcustomcss\", btoa(this.editor.session.getValue()));\n }\n\n detach() {\n return console.log(\"DETACH\"); // this.setState({\n // detached: true\n // });\n // const droot = this.detachedRoot;\n // if (!droot) {\n // console.log(\"FAILED TO INJECT ROOT: .app\");\n // return;\n // }\n // ReactDOM.render(this.detachedEditor, droot);\n } // get detachedRoot() {\n // const _root = $(\"#bd-customcss-detach-container\");\n // if (!_root.length) {\n // if (!this.injectDetachedRoot()) return null;\n // return this.detachedRoot;\n // }\n // return _root[0];\n // }\n // injectDetachedRoot() {\n // if (!$(\".app, .app-2rEoOp\").length) return false;\n // $(\"
\", {\n // id: \"bd-customcss-detach-container\"\n // }).insertAfter($(\".app, .app-2rEoOp\"));\n // return true;\n // }\n // attach() {\n // this.setState({\n // detached: false\n // });\n // }\n\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL2N1c3RvbWNzcy9lZGl0b3IuanM/M2E2NyJdLCJuYW1lcyI6WyJDc3NFZGl0b3IiLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJsaW5lcyIsInN0YXRlIiwiZGV0YWNoZWQiLCJCRFYyIiwiZWRpdG9yRGV0YWNoZWQiLCJvbkNsaWNrIiwiYmluZCIsInVwZGF0ZUNzcyIsInNhdmVDc3MiLCJkZXRhY2giLCJjb21wb25lbnREaWRNb3VudCIsImVkaXRvciIsImFjZSIsImVkaXQiLCJzZXRUaGVtZSIsInNlc3Npb24iLCJzZXRNb2RlIiwic2V0U2hvd1ByaW50TWFyZ2luIiwic2V0Rm9udFNpemUiLCJvbiIsIlNldHRpbmdzIiwiZ2V0IiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJkZXN0cm95IiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJldlByb3BzIiwicHJldlN0YXRlIiwiUmVhY3RET00iLCJ1bm1vdW50Q29tcG9uZW50QXROb2RlIiwiZGV0YWNoZWRSb290IiwiY29kZU1pcnJvciIsIm9wdGlvbnMiLCJsaW5lTnVtYmVycyIsIm1vZGUiLCJpbmRlbnRVbml0IiwidGhlbWUiLCJzY3JvbGxiYXJTdHlsZSIsImNzcyIsIl9jY3NzIiwiRGF0YVN0b3JlIiwiZ2V0QkREYXRhIiwiY2NzcyIsImF0b2IiLCJ1cGRhdGVMaW5lQ291bnQiLCJsaW5lQ291bnQiLCJyZWZzIiwidmFsdWUiLCJzcGxpdCIsImxlbmd0aCIsInRleHRDb250ZW50IiwiQXJyYXkiLCJmcm9tIiwiXyIsImkiLCJqb2luIiwicmVuZGVyIiwic2VsZiIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsInBhZGRpbmciLCJTZXR0aW5nc1RpdGxlIiwidGV4dCIsImlkIiwicmVmIiwiQ2hlY2tib3giLCJvbkNoYW5nZSIsImNoZWNrZWQiLCJib3JkZXJSYWRpdXMiLCJib3JkZXJSaWdodCIsImJvcmRlckxlZnQiLCJmb250U2l6ZSIsIm1hcmdpbkxlZnQiLCJhcmciLCJzZXQiLCIkIiwiYXBwZW5kIiwiZ2V0VmFsdWUiLCJhcHBlbmRUbyIsImRvY3VtZW50IiwiaGVhZCIsInNldEJERGF0YSIsImJ0b2EiLCJjb25zb2xlIiwibG9nIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRWUsTUFBTUEsU0FBTixTQUF3QkMsNkNBQUssQ0FBQ0MsU0FBOUIsQ0FBd0M7QUFFbkRDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNBLFNBQUtBLEtBQUwsQ0FBV0MsS0FBWCxHQUFtQixDQUFuQjtBQUNBLFNBQUtDLEtBQUwsR0FBYTtBQUNUQyxjQUFRLEVBQUUsS0FBS0gsS0FBTCxDQUFXRyxRQUFYLElBQXVCQyw0Q0FBSSxDQUFDQztBQUQ3QixLQUFiLENBSGUsQ0FNZjtBQUNBOztBQUNBLFNBQUtDLE9BQUwsR0FBZSxLQUFLQSxPQUFMLENBQWFDLElBQWIsQ0FBa0IsSUFBbEIsQ0FBZjtBQUNBLFNBQUtDLFNBQUwsR0FBaUIsS0FBS0EsU0FBTCxDQUFlRCxJQUFmLENBQW9CLElBQXBCLENBQWpCO0FBQ0EsU0FBS0UsT0FBTCxHQUFlLEtBQUtBLE9BQUwsQ0FBYUYsSUFBYixDQUFrQixJQUFsQixDQUFmO0FBQ0EsU0FBS0csTUFBTCxHQUFjLEtBQUtBLE1BQUwsQ0FBWUgsSUFBWixDQUFpQixJQUFqQixDQUFkO0FBQ0g7O0FBRURJLG1CQUFpQixHQUFHO0FBQ2hCO0FBQ0EsU0FBS0MsTUFBTCxHQUFjQyxHQUFHLENBQUNDLElBQUosQ0FBUyxxQkFBVCxDQUFkO0FBQ0EsU0FBS0YsTUFBTCxDQUFZRyxRQUFaLENBQXFCLG1CQUFyQjtBQUNBLFNBQUtILE1BQUwsQ0FBWUksT0FBWixDQUFvQkMsT0FBcEIsQ0FBNEIsY0FBNUI7QUFDQSxTQUFLTCxNQUFMLENBQVlNLGtCQUFaLENBQStCLEtBQS9CO0FBQ0EsU0FBS04sTUFBTCxDQUFZTyxX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ekIsRUFBc0MsWUFBdEMsRUFBb0RQLE9BQXBEO0FBQ0E7QUFIUjtBQUtIOztBQUVENUQsV0FBUyxHQUFHO0FBQ1IsUUFBSW9FLENBQUMsQ0FBQyxZQUFELENBQUQsQ0FBZ0IzQixNQUFoQixJQUEwQixDQUE5QixFQUFpQztBQUM3QjJCLE9BQUMsQ0FBQyxNQUFELENBQUQsQ0FBVUMsTUFBVixDQUFpQixrQ0FBakI7QUFDSDs7QUFDREQsS0FBQyxDQUFDLFlBQUQsQ0FBRCxDQUFnQmIsSUFBaEIsQ0FBcUIsS0FBS25ELE1BQUwsQ0FBWUksT0FBWixDQUFvQjhELFFBQXBCLEVBQXJCLEVBQXFEcEUsTUFBckQsR0FBOERxRSxRQUE5RCxDQUF1RUMsUUFBUSxDQUFDQyxJQUFoRjtBQUNIOztBQUVEeEUsU0FBTyxHQUFHO0FBQ04rQixxREFBUyxDQUFDMEMsU0FBVixDQUFvQixhQUFwQixFQUFtQ0MsSUFBSSxDQUFDLEtBQUt2RSxNQUFMLENBQVlJLE9BQVosQ0FBb0I4RCxRQUFwQixFQUFELENBQXZDO0FBQ0g7O0FBRURwRSxRQUFNLEdBQUc7QUFDTCxXQUFPMEUsT0FBTyxDQUFDQyxHQUFSLENBQVksUUFBWixDQUFQLENBREssQ0FFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0k7QUFDSjtBQUNBO0FBQ0E7QUFDSCxHQWhNa0QsQ0FrTW5EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQXZObUQiLCJmaWxlIjoiLi9zcmMvdWkvY3VzdG9tY3NzL2VkaXRvci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QkRWMiwgRGF0YVN0b3JlLCBSZWFjdCwgUmVhY3RET00sIFNldHRpbmdzfSBmcm9tIFwibW9kdWxlc1wiO1xyXG5cclxuaW1wb3J0IENoZWNrYm94IGZyb20gXCIuL2NoZWNrYm94XCI7XHJcbmltcG9ydCBTZXR0aW5nc1RpdGxlIGZyb20gXCIuLi9zZXR0aW5ncy90aXRsZVwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ3NzRWRpdG9yIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgICAgICB0aGlzLnByb3BzLmxpbmVzID0gMDtcclxuICAgICAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICAgICAgICBkZXRhY2hlZDogdGhpcy5wcm9wcy5kZXRhY2hlZCB8fCBCRFYyLmVkaXRvckRldGFjaGVkXHJcbiAgICAgICAgfTtcclxuICAgICAgICAvLyB0aGlzLmF0dGFjaCA9IHRoaXMuYXR0YWNoLmJpbmQodGhpcyk7XHJcbiAgICAgICAgLy8gdGhpcy5kZXRhY2hlZEVkaXRvciA9IFJlYWN0LmNyZWF0ZUVsZW1lbnQoRWRpdG9yRGV0YWNoZWQsIHthdHRhY2g6IHRoaXMuYXR0YWNofSk7XHJcbiAgICAgICAgdGhpcy5vbkNsaWNrID0gdGhpcy5vbkNsaWNrLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDc3MgPSB0aGlzLnVwZGF0ZUNzcy5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuc2F2ZUNzcyA9IHRoaXMuc2F2ZUNzcy5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuZGV0YWNoID0gdGhpcy5kZXRhY2guYmluZCh0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgICAgICAvLyB0aGlzLnVwZGF0ZUxpbmVDb3VudCgpO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yID0gYWNlLmVkaXQoXCJiZC1jdXN0b21jc3MtZWRpdG9yXCIpO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yLnNldFRoZW1lKFwiYWNlL3RoZW1lL21vbm9rYWlcIik7XHJcbiAgICAgICAgdGhpcy5lZGl0b3Iuc2Vzc2lvbi5zZXRNb2RlKFwiYWNlL21vZGUvY3NzXCIpO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yLnNldFNob3dQcmludE1hcmdpbihmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5lZGl0b3Iuc2V0Rm9udFNpemUoMTQpO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yLm9uKFwiY2hhbmdlXCIsICgpID0+IHtcclxuICAgICAgICAgICAgaWYgKCFTZXR0aW5ncy5nZXQoXCJzZXR0aW5nc1wiLCBcImN1c3RvbWNzc1wiLCBcImxpdmVVcGRhdGVcIikpIHJldHVybjtcclxuICAgICAgICAgICAgdGhpcy5zYXZlQ3NzKCk7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ3NzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3IuZGVzdHJveSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIHByZXZTdGF0ZSkge1xyXG4gICAgICAgIGlmIChwcmV2U3RhdGUuZGV0YWNoZWQgJiYgIXRoaXMuc3RhdGUuZGV0YWNoZWQpIHtcclxuICAgICAgICAgICAgUmVhY3RET00udW5tb3VudENvbXBvbmVudEF0Tm9kZSh0aGlzLmRldGFjaGVkUm9vdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvZGVNaXJyb3IoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IG9wdGlvbnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbGluZU51bWJlcnM6IHRydWUsXHJcbiAgICAgICAgICAgIG1vZGU6IFwiY3NzXCIsXHJcbiAgICAgICAgICAgIGluZGVudFVuaXQ6IDQsXHJcbiAgICAgICAgICAgIHRoZW1lOiBcIm1hdGVyaWFsXCIsXHJcbiAgICAgICAgICAgIHNjcm9sbGJhclN0eWxlOiBcInNpbXBsZVwiXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY3NzKCkge1xyXG4gICAgICAgIGNvbnN0IF9jY3NzID0gRGF0YVN0b3JlLmdldEJERGF0YShcImJkY3VzdG9tY3NzXCIpO1xyXG4gICAgICAgIGxldCBjY3NzID0gXCJcIjtcclxuICAgICAgICBpZiAoX2Njc3MgJiYgX2Njc3MgIT09IFwiXCIpIHtcclxuICAgICAgICAgICAgY2NzcyA9IGF0b2IoX2Njc3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY2NzcztcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVMaW5lQ291bnQoKSB7XHJcbiAgICAgICAgY29uc3QgbGluZUNvdW50ID0gdGhpcy5yZWZzLmVkaXRvci52YWx1ZS5zcGxpdChcIlxcblwiKS5sZW5ndGg7XHJcbiAgICAgICAgaWYgKGxpbmVDb3VudCA9PSB0aGlzLnByb3BzLmxpbmVzKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5yZWZzLmxpbmVzLnRleHRDb250ZW50ID0gQXJyYXkuZnJvbShuZXcgQXJyYXkobGluZUNvdW50KSwgKF8sIGkpID0+IGkgKyAxKS5qb2luKFwiLlxcblwiKSArIFwiLlwiO1xyXG4gICAgICAgIHRoaXMucHJvcHMubGluZXMgPSBsaW5lQ291bnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICB7Y2xhc3NOYW1lOiBcImNvbnRlbnRDb2x1bW4tMmhySVlIIGNvbnRlbnRDb2x1bW5EZWZhdWx0LTFWUWtHTSBjb250ZW50LWNvbHVtbiBkZWZhdWx0XCIsIHN0eWxlOiB7cGFkZGluZzogXCI2MHB4IDQwcHggMHB4XCJ9fSxcclxuICAgICAgICAgICAgLy8gZGV0YWNoZWQgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgLy8gICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgIC8vICAgICB7aWQ6IFwiZWRpdG9yLWRldGFjaGVkXCJ9LFxyXG4gICAgICAgICAgICAvLyAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTZXR0aW5nc1RpdGxlLCB7dGV4dDogXCJDdXN0b20gQ1NTIEVkaXRvclwifSksXHJcbiAgICAgICAgICAgIC8vICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAvLyAgICAgICAgIFwiaDNcIixcclxuICAgICAgICAgICAgLy8gICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICAvLyAgICAgICAgIFwiRWRpdG9yIERldGFjaGVkXCJcclxuICAgICAgICAgICAgLy8gICAgICksXHJcbiAgICAgICAgICAgIC8vICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAvLyAgICAgICAgIFwiYnV0dG9uXCIsXHJcbiAgICAgICAgICAgIC8vICAgICAgICAge2NsYXNzTmFtZTogXCJidG4gYnRuLXByaW1hcnlcIiwgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgc2VsZi5hdHRhY2goKTtcclxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgfX0sXHJcbiAgICAgICAgICAgIC8vICAgICAgICAgXCJBdHRhY2hcIlxyXG4gICAgICAgICAgICAvLyAgICAgKVxyXG4gICAgICAgICAgICAvLyApLFxyXG4gICAgICAgICAgICAvKiFkZXRhY2hlZCAmJiAqL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgbnVsbCxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU2V0dGluZ3NUaXRsZSwge3RleHQ6IFwiQ3VzdG9tIENTUyBFZGl0b3JcIn0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7Y2xhc3NOYW1lOiBcImVkaXRvci13cmFwcGVyXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2lkOiBcImJkLWN1c3RvbWNzcy1lZGl0b3JcIiwgY2xhc3NOYW1lOiBcImVkaXRvclwiLCByZWY6IFwiZWRpdG9yXCJ9LCBzZWxmLmNzcylcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAge2lkOiBcImJkLWN1c3RvbWNzcy1hdHRhY2gtY29udHJvbHNcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ1bFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcImNoZWNrYm94LWdyb3VwXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENoZWNrYm94LCB7aWQ6IFwibGl2ZS11cGRhdGVcIiwgdGV4dDogXCJMaXZlIFVwZGF0ZVwiLCBvbkNoYW5nZTogdGhpcy5vbkNoYW5nZSwgY2hlY2tlZDogU2V0dGluZ3MuZ2V0KFwic2V0dGluZ3NcIiwgXCJjdXN0b21jc3NcIiwgXCJsaXZlVXBkYXRlXCIpfSlcclxuICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtpZDogXCJiZC1jdXN0b21jc3MtZGV0YWNoLWNvbnRyb2xzLWJ1dHRvblwifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYnV0dG9uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3R5bGU6IHtib3JkZXJSYWRpdXM6IFwiM3B4IDAgMCAzcHhcIiwgYm9yZGVyUmlnaHQ6IFwiMXB4IHNvbGlkICMzZjQxNDZcIn0sIGNsYXNzTmFtZTogXCJidG4gYnRuLXByaW1hcnlcIiwgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm9uQ2xpY2soXCJ1cGRhdGVcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlVwZGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ1dHRvblwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3N0eWxlOiB7Ym9yZGVyUmFkaXVzOiBcIjBcIiwgYm9yZGVyTGVmdDogXCIxcHggc29saWQgIzJkMmQyZFwiLCBib3JkZXJSaWdodDogXCIxcHggc29saWQgIzJkMmQyZFwifSwgY2xhc3NOYW1lOiBcImJ0biBidG4tcHJpbWFyeVwiLCBvbkNsaWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYub25DbGljayhcInNhdmVcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlNhdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJidXR0b25cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdHlsZToge2JvcmRlclJhZGl1czogXCIwIDNweCAzcHggMFwiLCBib3JkZXJMZWZ0OiBcIjFweCBzb2xpZCAjM2Y0MTQ2XCJ9LCBjbGFzc05hbWU6IFwiYnRuIGJ0bi1wcmltYXJ5XCIsIG9uQ2xpY2s6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5vbkNsaWNrKFwiZGV0YWNoXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJEZXRhY2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzcGFuXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3R5bGU6IHtmb250U2l6ZTogXCIxMHB4XCIsIG1hcmdpbkxlZnQ6IFwiNXB4XCJ9fSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVW5zYXZlZCBjaGFuZ2VzIGFyZSBsb3N0IG9uIGRldGFjaFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJoZWxwLXRleHRcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlByZXNzIFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImNvZGVcIiwge2NsYXNzTmFtZTogXCJpbmxpbmVcIn0sIFwiY3RybFwiKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiK1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge2NsYXNzTmFtZTogXCJpbmxpbmVcIn0sIFwiLFwiKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIHdpdGggdGhlIGVkaXRvciBmb2N1c2VkIHRvIGFjY2VzcyB0aGUgZWRpdG9yJ3Mgc2V0dGluZ3MuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbGljayhhcmcpIHtcclxuICAgICAgICBzd2l0Y2ggKGFyZykge1xyXG4gICAgICAgICAgICBjYXNlIFwidXBkYXRlXCI6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNzcygpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJzYXZlXCI6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNhdmVDc3MoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiZGV0YWNoXCI6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRldGFjaCgpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uQ2hhbmdlKGlkLCBjaGVja2VkKSB7XHJcbiAgICAgICAgc3dpdGNoIChpZCkge1xyXG4gICAgICAgICAgICBjYXNlIFwibGl2ZS11cGRhdGVcIjpcclxuICAgICAgICAgICAgICAgIFNldHRpbmdzLnNldChcInNldHRpbmdzXCIsIFwiY3VzdG9tY3NzXCIsIFwibGl2ZVVwZGF0ZVwiLCBjaGVja2VkKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVDc3MoKSB7XHJcbiAgICAgICAgaWYgKCQoXCIjY3VzdG9tY3NzXCIpLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgICQoXCJoZWFkXCIpLmFwcGVuZChcIjxzdHlsZSBpZD1cXFwiY3VzdG9tY3NzXFxcIj48L3N0eWxlPlwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJChcIiNjdXN0b21jc3NcIikudGV4dCh0aGlzLmVkaXRvci5zZXNzaW9uLmdldFZhbHVlKCkpLmRldGFjaCgpLmFwcGVuZFRvKGRvY3VtZW50LmhlYWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmVDc3MoKSB7XHJcbiAgICAgICAgRGF0YVN0b3JlLnNldEJERGF0YShcImJkY3VzdG9tY3NzXCIsIGJ0b2EodGhpcy5lZGl0b3Iuc2Vzc2lvbi5nZXRWYWx1ZSgpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgZGV0YWNoKCkge1xyXG4gICAgICAgIHJldHVybiBjb25zb2xlLmxvZyhcIkRFVEFDSFwiKTtcclxuICAgICAgICAvLyB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAvLyAgICAgZGV0YWNoZWQ6IHRydWVcclxuICAgICAgICAvLyB9KTtcclxuICAgICAgICAvLyBjb25zdCBkcm9vdCA9IHRoaXMuZGV0YWNoZWRSb290O1xyXG4gICAgICAgIC8vIGlmICghZHJvb3QpIHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJGQUlMRUQgVE8gSU5KRUNUIFJPT1Q6IC5hcHBcIik7XHJcbiAgICAgICAgLy8gICAgIHJldHVybjtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gUmVhY3RET00ucmVuZGVyKHRoaXMuZGV0YWNoZWRFZGl0b3IsIGRyb290KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBnZXQgZGV0YWNoZWRSb290KCkge1xyXG4gICAgLy8gICAgIGNvbnN0IF9yb290ID0gJChcIiNiZC1jdXN0b21jc3MtZGV0YWNoLWNvbnRhaW5lclwiKTtcclxuICAgIC8vICAgICBpZiAoIV9yb290Lmxlbmd0aCkge1xyXG4gICAgLy8gICAgICAgICBpZiAoIXRoaXMuaW5qZWN0RGV0YWNoZWRSb290KCkpIHJldHVybiBudWxsO1xyXG4gICAgLy8gICAgICAgICByZXR1cm4gdGhpcy5kZXRhY2hlZFJvb3Q7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIHJldHVybiBfcm9vdFswXTtcclxuICAgIC8vIH1cclxuXHJcbiAgICAvLyBpbmplY3REZXRhY2hlZFJvb3QoKSB7XHJcbiAgICAvLyAgICAgaWYgKCEkKFwiLmFwcCwgLmFwcC0yckVvT3BcIikubGVuZ3RoKSByZXR1cm4gZmFsc2U7XHJcbiAgICAvLyAgICAgJChcIjxkaXYvPlwiLCB7XHJcbiAgICAvLyAgICAgICAgIGlkOiBcImJkLWN1c3RvbWNzcy1kZXRhY2gtY29udGFpbmVyXCJcclxuICAgIC8vICAgICB9KS5pbnNlcnRBZnRlcigkKFwiLmFwcCwgLmFwcC0yckVvT3BcIikpO1xyXG4gICAgLy8gICAgIHJldHVybiB0cnVlO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIGF0dGFjaCgpIHtcclxuICAgIC8vICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgIC8vICAgICAgICAgZGV0YWNoZWQ6IGZhbHNlXHJcbiAgICAvLyAgICAgfSk7XHJcbiAgICAvLyB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/customcss/editor.js\n"); + +/***/ }), + /***/ "./src/ui/emote.js": /*!*************************!*\ !*** ./src/ui/emote.js ***! @@ -551,7 +587,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return V2C_XSvg; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass V2C_XSvg extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 12 12\",\n style: {\n width: \"18px\",\n height: \"18px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"g\", {\n className: \"background\",\n fill: \"none\",\n fillRule: \"evenodd\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"path\", {\n d: \"M0 0h12v12H0\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"path\", {\n className: \"fill\",\n fill: \"#dcddde\",\n d: \"M9.5 3.205L8.795 2.5 6 5.295 3.205 2.5l-.705.705L5.295 6 2.5 8.795l.705.705L6 6.705 8.795 9.5l.705-.705L6.705 6\"\n })));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL2ljb25zL2Nsb3NlLmpzPzBhNWMiXSwibmFtZXMiOlsiVjJDX1hTdmciLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwieG1sbnMiLCJ2aWV3Qm94Iiwic3R5bGUiLCJ3aWR0aCIsImhlaWdodCIsImNsYXNzTmFtZSIsImZpbGwiLCJmaWxsUnVsZSIsImQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRWUsTUFBTUEsUUFBTixTQUF1QkMsNkNBQUssQ0FBQ0MsU0FBN0IsQ0FBdUM7QUFDbERDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNIOztBQUVEQyxRQUFNLEdBQUc7QUFDTCxXQUFPSiw2Q0FBSyxDQUFDSyxhQUFOLENBQ0gsS0FERyxFQUVIO0FBQUNDLFdBQUssRUFBRSw0QkFBUjtBQUFzQ0MsYUFBTyxFQUFFLFdBQS9DO0FBQTREQyxXQUFLLEVBQUU7QUFBQ0MsYUFBSyxFQUFFLE1BQVI7QUFBZ0JDLGNBQU0sRUFBRTtBQUF4QjtBQUFuRSxLQUZHLEVBR0hWLDZDQUFLLENBQUNLLGFBQU4sQ0FDSSxHQURKLEVBRUk7QUFBQ00sZUFBUyxFQUFFLFlBQVo7QUFBMEJDLFVBQUksRUFBRSxNQUFoQztBQUF3Q0MsY0FBUSxFQUFFO0FBQWxELEtBRkosRUFHSWIsNkNBQUssQ0FBQ0ssYUFBTixDQUFvQixNQUFwQixFQUE0QjtBQUFDUyxPQUFDLEVBQUU7QUFBSixLQUE1QixDQUhKLEVBSUlkLDZDQUFLLENBQUNLLGFBQU4sQ0FBb0IsTUFBcEIsRUFBNEI7QUFBQ00sZUFBUyxFQUFFLE1BQVo7QUFBb0JDLFVBQUksRUFBRSxTQUExQjtBQUFxQ0UsT0FBQyxFQUFFO0FBQXhDLEtBQTVCLENBSkosQ0FIRyxDQUFQO0FBVUg7O0FBaEJpRCIsImZpbGUiOiIuL3NyYy91aS9pY29ucy9jbG9zZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhY3R9IGZyb20gXCJtb2R1bGVzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWMkNfWFN2ZyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgIFwic3ZnXCIsXHJcbiAgICAgICAgICAgIHt4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLCB2aWV3Qm94OiBcIjAgMCAxMiAxMlwiLCBzdHlsZToge3dpZHRoOiBcIjE4cHhcIiwgaGVpZ2h0OiBcIjE4cHhcIn19LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgXCJnXCIsXHJcbiAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcImJhY2tncm91bmRcIiwgZmlsbDogXCJub25lXCIsIGZpbGxSdWxlOiBcImV2ZW5vZGRcIn0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7ZDogXCJNMCAwaDEydjEySDBcIn0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge2NsYXNzTmFtZTogXCJmaWxsXCIsIGZpbGw6IFwiI2RjZGRkZVwiLCBkOiBcIk05LjUgMy4yMDVMOC43OTUgMi41IDYgNS4yOTUgMy4yMDUgMi41bC0uNzA1LjcwNUw1LjI5NSA2IDIuNSA4Ljc5NWwuNzA1LjcwNUw2IDYuNzA1IDguNzk1IDkuNWwuNzA1LS43MDVMNi43MDUgNlwifSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/icons/close.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return XSvg; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass XSvg extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 12 12\",\n style: {\n width: \"18px\",\n height: \"18px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"g\", {\n className: \"background\",\n fill: \"none\",\n fillRule: \"evenodd\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"path\", {\n d: \"M0 0h12v12H0\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"path\", {\n className: \"fill\",\n fill: \"#dcddde\",\n d: \"M9.5 3.205L8.795 2.5 6 5.295 3.205 2.5l-.705.705L5.295 6 2.5 8.795l.705.705L6 6.705 8.795 9.5l.705-.705L6.705 6\"\n })));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL2ljb25zL2Nsb3NlLmpzPzBhNWMiXSwibmFtZXMiOlsiWFN2ZyIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJ4bWxucyIsInZpZXdCb3giLCJzdHlsZSIsIndpZHRoIiwiaGVpZ2h0IiwiY2xhc3NOYW1lIiwiZmlsbCIsImZpbGxSdWxlIiwiZCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFFZSxNQUFNQSxJQUFOLFNBQW1CQyw2Q0FBSyxDQUFDQyxTQUF6QixDQUFtQztBQUM5Q0MsYUFBVyxDQUFDQyxLQUFELEVBQVE7QUFDZixVQUFNQSxLQUFOO0FBQ0g7O0FBRURDLFFBQU0sR0FBRztBQUNMLFdBQU9KLDZDQUFLLENBQUNLLGFBQU4sQ0FDSCxLQURHLEVBRUg7QUFBQ0MsV0FBSyxFQUFFLDRCQUFSO0FBQXNDQyxhQUFPLEVBQUUsV0FBL0M7QUFBNERDLFdBQUssRUFBRTtBQUFDQyxhQUFLLEVBQUUsTUFBUjtBQUFnQkMsY0FBTSxFQUFFO0FBQXhCO0FBQW5FLEtBRkcsRUFHSFYsNkNBQUssQ0FBQ0ssYUFBTixDQUNJLEdBREosRUFFSTtBQUFDTSxlQUFTLEVBQUUsWUFBWjtBQUEwQkMsVUFBSSxFQUFFLE1BQWhDO0FBQXdDQyxjQUFRLEVBQUU7QUFBbEQsS0FGSixFQUdJYiw2Q0FBSyxDQUFDSyxhQUFOLENBQW9CLE1BQXBCLEVBQTRCO0FBQUNTLE9BQUMsRUFBRTtBQUFKLEtBQTVCLENBSEosRUFJSWQsNkNBQUssQ0FBQ0ssYUFBTixDQUFvQixNQUFwQixFQUE0QjtBQUFDTSxlQUFTLEVBQUUsTUFBWjtBQUFvQkMsVUFBSSxFQUFFLFNBQTFCO0FBQXFDRSxPQUFDLEVBQUU7QUFBeEMsS0FBNUIsQ0FKSixDQUhHLENBQVA7QUFVSDs7QUFoQjZDIiwiZmlsZSI6Ii4vc3JjL3VpL2ljb25zL2Nsb3NlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWFjdH0gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFhTdmcgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICBcInN2Z1wiLFxyXG4gICAgICAgICAgICB7eG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiwgdmlld0JveDogXCIwIDAgMTIgMTJcIiwgc3R5bGU6IHt3aWR0aDogXCIxOHB4XCIsIGhlaWdodDogXCIxOHB4XCJ9fSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgIFwiZ1wiLFxyXG4gICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJiYWNrZ3JvdW5kXCIsIGZpbGw6IFwibm9uZVwiLCBmaWxsUnVsZTogXCJldmVub2RkXCJ9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge2Q6IFwiTTAgMGgxMnYxMkgwXCJ9KSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtjbGFzc05hbWU6IFwiZmlsbFwiLCBmaWxsOiBcIiNkY2RkZGVcIiwgZDogXCJNOS41IDMuMjA1TDguNzk1IDIuNSA2IDUuMjk1IDMuMjA1IDIuNWwtLjcwNS43MDVMNS4yOTUgNiAyLjUgOC43OTVsLjcwNS43MDVMNiA2LjcwNSA4Ljc5NSA5LjVsLjcwNS0uNzA1TDYuNzA1IDZcIn0pXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/icons/close.js\n"); /***/ }), @@ -563,7 +599,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return V2C_ReloadIcon; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass V2C_ReloadIcon extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"#dcddde\",\n className: \"bd-reload \" + this.props.className,\n onClick: this.props.onClick,\n style: {\n width: this.props.size || \"24px\",\n height: this.props.size || \"24px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"path\", {\n d: \"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0z\"\n }));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL2ljb25zL3JlbG9hZC5qcz8yM2U3Il0sIm5hbWVzIjpbIlYyQ19SZWxvYWRJY29uIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwic3R5bGUiLCJ3aWR0aCIsInNpemUiLCJoZWlnaHQiLCJkIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVlLE1BQU1BLGNBQU4sU0FBNkJDLDZDQUFLLENBQUNDLFNBQW5DLENBQTZDO0FBQ3hEQyxhQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFDSDs7QUFFREMsUUFBTSxHQUFHO0FBQ0wsV0FBT0osNkNBQUssQ0FBQ0ssYUFBTixDQUFvQixLQUFwQixFQUEyQjtBQUMxQkMsV0FBSyxFQUFFLDRCQURtQjtBQUUxQkMsYUFBTyxFQUFFLFdBRmlCO0FBRzFCQyxVQUFJLEVBQUUsU0FIb0I7QUFJMUJDLGVBQVMsRUFBRSxlQUFlLEtBQUtOLEtBQUwsQ0FBV00sU0FKWDtBQUsxQkMsYUFBTyxFQUFFLEtBQUtQLEtBQUwsQ0FBV08sT0FMTTtBQU0xQkMsV0FBSyxFQUFFO0FBQUNDLGFBQUssRUFBRSxLQUFLVCxLQUFMLENBQVdVLElBQVgsSUFBbUIsTUFBM0I7QUFBbUNDLGNBQU0sRUFBRSxLQUFLWCxLQUFMLENBQVdVLElBQVgsSUFBbUI7QUFBOUQ7QUFObUIsS0FBM0IsRUFRSGIsNkNBQUssQ0FBQ0ssYUFBTixDQUFvQixNQUFwQixFQUE0QjtBQUFDVSxPQUFDLEVBQUU7QUFBSixLQUE1QixDQVJHLEVBU0hmLDZDQUFLLENBQUNLLGFBQU4sQ0FBb0IsTUFBcEIsRUFBNEI7QUFBQ0csVUFBSSxFQUFFLE1BQVA7QUFBZU8sT0FBQyxFQUFFO0FBQWxCLEtBQTVCLENBVEcsQ0FBUDtBQVdIOztBQWpCdUQiLCJmaWxlIjoiLi9zcmMvdWkvaWNvbnMvcmVsb2FkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWFjdH0gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFYyQ19SZWxvYWRJY29uIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCB7XHJcbiAgICAgICAgICAgICAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxyXG4gICAgICAgICAgICAgICAgdmlld0JveDogXCIwIDAgMjQgMjRcIixcclxuICAgICAgICAgICAgICAgIGZpbGw6IFwiI2RjZGRkZVwiLFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcImJkLXJlbG9hZCBcIiArIHRoaXMucHJvcHMuY2xhc3NOYW1lLFxyXG4gICAgICAgICAgICAgICAgb25DbGljazogdGhpcy5wcm9wcy5vbkNsaWNrLFxyXG4gICAgICAgICAgICAgICAgc3R5bGU6IHt3aWR0aDogdGhpcy5wcm9wcy5zaXplIHx8IFwiMjRweFwiLCBoZWlnaHQ6IHRoaXMucHJvcHMuc2l6ZSB8fCBcIjI0cHhcIn1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge2Q6IFwiTTE3LjY1IDYuMzVDMTYuMiA0LjkgMTQuMjEgNCAxMiA0Yy00LjQyIDAtNy45OSAzLjU4LTcuOTkgOHMzLjU3IDggNy45OSA4YzMuNzMgMCA2Ljg0LTIuNTUgNy43My02aC0yLjA4Yy0uODIgMi4zMy0zLjA0IDQtNS42NSA0LTMuMzEgMC02LTIuNjktNi02czIuNjktNiA2LTZjMS42NiAwIDMuMTQuNjkgNC4yMiAxLjc4TDEzIDExaDdWNGwtMi4zNSAyLjM1elwifSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtmaWxsOiBcIm5vbmVcIiwgZDogXCJNMCAwaDI0djI0SDB6XCJ9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/icons/reload.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ReloadIcon; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass ReloadIcon extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"#dcddde\",\n className: \"bd-reload \" + this.props.className,\n onClick: this.props.onClick,\n style: {\n width: this.props.size || \"24px\",\n height: this.props.size || \"24px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"path\", {\n d: \"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0z\"\n }));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL2ljb25zL3JlbG9hZC5qcz8yM2U3Il0sIm5hbWVzIjpbIlJlbG9hZEljb24iLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJzdHlsZSIsIndpZHRoIiwic2l6ZSIsImhlaWdodCIsImQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRWUsTUFBTUEsVUFBTixTQUF5QkMsNkNBQUssQ0FBQ0MsU0FBL0IsQ0FBeUM7QUFDcERDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNIOztBQUVEQyxRQUFNLEdBQUc7QUFDTCxXQUFPSiw2Q0FBSyxDQUFDSyxhQUFOLENBQW9CLEtBQXBCLEVBQTJCO0FBQzFCQyxXQUFLLEVBQUUsNEJBRG1CO0FBRTFCQyxhQUFPLEVBQUUsV0FGaUI7QUFHMUJDLFVBQUksRUFBRSxTQUhvQjtBQUkxQkMsZUFBUyxFQUFFLGVBQWUsS0FBS04sS0FBTCxDQUFXTSxTQUpYO0FBSzFCQyxhQUFPLEVBQUUsS0FBS1AsS0FBTCxDQUFXTyxPQUxNO0FBTTFCQyxXQUFLLEVBQUU7QUFBQ0MsYUFBSyxFQUFFLEtBQUtULEtBQUwsQ0FBV1UsSUFBWCxJQUFtQixNQUEzQjtBQUFtQ0MsY0FBTSxFQUFFLEtBQUtYLEtBQUwsQ0FBV1UsSUFBWCxJQUFtQjtBQUE5RDtBQU5tQixLQUEzQixFQVFIYiw2Q0FBSyxDQUFDSyxhQUFOLENBQW9CLE1BQXBCLEVBQTRCO0FBQUNVLE9BQUMsRUFBRTtBQUFKLEtBQTVCLENBUkcsRUFTSGYsNkNBQUssQ0FBQ0ssYUFBTixDQUFvQixNQUFwQixFQUE0QjtBQUFDRyxVQUFJLEVBQUUsTUFBUDtBQUFlTyxPQUFDLEVBQUU7QUFBbEIsS0FBNUIsQ0FURyxDQUFQO0FBV0g7O0FBakJtRCIsImZpbGUiOiIuL3NyYy91aS9pY29ucy9yZWxvYWQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlYWN0fSBmcm9tIFwibW9kdWxlc1wiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVsb2FkSWNvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzdmdcIiwge1xyXG4gICAgICAgICAgICAgICAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcclxuICAgICAgICAgICAgICAgIHZpZXdCb3g6IFwiMCAwIDI0IDI0XCIsXHJcbiAgICAgICAgICAgICAgICBmaWxsOiBcIiNkY2RkZGVcIixcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogXCJiZC1yZWxvYWQgXCIgKyB0aGlzLnByb3BzLmNsYXNzTmFtZSxcclxuICAgICAgICAgICAgICAgIG9uQ2xpY2s6IHRoaXMucHJvcHMub25DbGljayxcclxuICAgICAgICAgICAgICAgIHN0eWxlOiB7d2lkdGg6IHRoaXMucHJvcHMuc2l6ZSB8fCBcIjI0cHhcIiwgaGVpZ2h0OiB0aGlzLnByb3BzLnNpemUgfHwgXCIyNHB4XCJ9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtkOiBcIk0xNy42NSA2LjM1QzE2LjIgNC45IDE0LjIxIDQgMTIgNGMtNC40MiAwLTcuOTkgMy41OC03Ljk5IDhzMy41NyA4IDcuOTkgOGMzLjczIDAgNi44NC0yLjU1IDcuNzMtNmgtMi4wOGMtLjgyIDIuMzMtMy4wNCA0LTUuNjUgNC0zLjMxIDAtNi0yLjY5LTYtNnMyLjY5LTYgNi02YzEuNjYgMCAzLjE0LjY5IDQuMjIgMS43OEwxMyAxMWg3VjRsLTIuMzUgMi4zNXpcIn0pLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7ZmlsbDogXCJub25lXCIsIGQ6IFwiTTAgMGgyNHYyNEgwelwifSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/icons/reload.js\n"); /***/ }), @@ -587,7 +623,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return V2C_ServerCard; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass V2C_ServerCard extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n if (!this.props.server.iconUrl) this.props.server.iconUrl = this.props.fallback;\n this.state = {\n imageError: false,\n joined: this.props.guildList.includes(this.props.server.identifier)\n };\n }\n\n render() {\n const {\n server\n } = this.props;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", // cardPrimary-1Hv-to\n {\n className: `card-3Qj_Yx cardPrimary-1Hv-to marginBottom8-AtZOdT bd-server-card${server.pinned ? \" bd-server-card-pinned\" : \"\"}`\n }, // React.createElement(\n // \"div\",\n // { className: \"flex-1xMQg5 flex-1O1GKY horizontal-1ae9ci horizontal-2EEEnY flex-1O1GKY directionRow-3v3tfG justifyStart-2yIZo0 alignStretch-1hwxMa noWrap-3jynv6\" },\n modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"img\", {\n ref: \"img\",\n className: \"bd-server-image\",\n src: server.iconUrl,\n onError: this.handleError.bind(this)\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"flexChild-faoVW3 bd-server-content\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"flex-1xMQg5 flex-1O1GKY horizontal-1ae9ci horizontal-2EEEnY directionRow-3v3tfG noWrap-3jynv6 bd-server-header\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"h5\", {\n className: \"h5-18_1nd defaultColor-1_ajX0 margin-reset bd-server-name\"\n }, server.name), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"h5\", {\n className: \"h5-18_1nd defaultColor-1_ajX0 margin-reset bd-server-member-count\"\n }, server.members, \" Members\")), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"flex-1xMQg5 flex-1O1GKY horizontal-1ae9ci horizontal-2EEEnY directionRow-3v3tfG noWrap-3jynv6\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"scrollerWrap-2lJEkd scrollerThemed-2oenus themeGhostHairline-DBD-2d scrollerFade-1Ijw5y bd-server-description-container\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"scroller-2FKFPG scroller bd-server-description\"\n }, server.description))), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"flex-1xMQg5 flex-1O1GKY horizontal-1ae9ci horizontal-2EEEnY directionRow-3v3tfG noWrap-3jynv6 bd-server-footer\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"flexChild-faoVW3 bd-server-tags\",\n style: {\n flex: \"1 1 auto\"\n }\n }, server.categories.join(\", \")), this.state.joined && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n type: \"button\",\n className: \"button-38aScr lookFilled-1Gx00P colorBrand-3pXr91 sizeMin-1mJd1x grow-q77ONN colorGreen-29iAKY\",\n style: {\n minHeight: \"12px\",\n marginTop: \"4px\",\n backgroundColor: \"#3ac15c\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\"\n }, \"Joined\")), server.error && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n type: \"button\",\n className: \"button-38aScr lookFilled-1Gx00P colorBrand-3pXr91 sizeMin-1mJd1x grow-q77ONN disabled-9aF2ug\",\n style: {\n minHeight: \"12px\",\n marginTop: \"4px\",\n backgroundColor: \"#c13a3a\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\"\n }, \"Error\")), !server.error && !this.state.joined && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n type: \"button\",\n className: \"button-38aScr lookFilled-1Gx00P colorBrand-3pXr91 sizeMin-1mJd1x grow-q77ONN\",\n style: {\n minHeight: \"12px\",\n marginTop: \"4px\"\n },\n onClick: () => {\n this.join();\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\"\n }, \"Join\")))) // )\n );\n }\n\n handleError() {\n this.props.server.iconUrl = this.props.fallback;\n this.setState({\n imageError: true\n });\n }\n\n join() {\n this.props.join(this); //this.setState({joined: true});\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvY2FyZC5qcz9mMjgxIl0sIm5hbWVzIjpbIlYyQ19TZXJ2ZXJDYXJkIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwic2VydmVyIiwiaWNvblVybCIsImZhbGxiYWNrIiwic3RhdGUiLCJpbWFnZUVycm9yIiwiam9pbmVkIiwiZ3VpbGRMaXN0IiwiaW5jbHVkZXMiLCJpZGVudGlmaWVyIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInBpbm5lZCIsInJlZiIsInNyYyIsIm9uRXJyb3IiLCJoYW5kbGVFcnJvciIsImJpbmQiLCJuYW1lIiwibWVtYmVycyIsImRlc2NyaXB0aW9uIiwic3R5bGUiLCJmbGV4IiwiY2F0ZWdvcmllcyIsImpvaW4iLCJ0eXBlIiwibWluSGVpZ2h0IiwibWFyZ2luVG9wIiwiYmFja2dyb3VuZENvbG9yIiwiZXJyb3IiLCJvbkNsaWNrIiwic2V0U3RhdGUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRWUsTUFBTUEsY0FBTixTQUE2QkMsNkNBQUssQ0FBQ0MsU0FBbkMsQ0FBNkM7QUFDeERDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNBLFFBQUksQ0FBQyxLQUFLQSxLQUFMLENBQVdDLE1BQVgsQ0FBa0JDLE9BQXZCLEVBQWdDLEtBQUtGLEtBQUwsQ0FBV0MsTUFBWCxDQUFrQkMsT0FBbEIsR0FBNEIsS0FBS0YsS0FBTCxDQUFXRyxRQUF2QztBQUNoQyxTQUFLQyxLQUFMLEdBQWE7QUFDVEMsZ0JBQVUsRUFBRSxLQURIO0FBRVRDLFlBQU0sRUFBRSxLQUFLTixLQUFMLENBQVdPLFNBQVgsQ0FBcUJDLFFBQXJCLENBQThCLEtBQUtSLEtBQUwsQ0FBV0MsTUFBWCxDQUFrQlEsVUFBaEQ7QUFGQyxLQUFiO0FBSUg7O0FBRURDLFFBQU0sR0FBRztBQUNMLFVBQU07QUFB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QVdFLE1BQTdCLElBQXVDVCw2Q0FBSyxDQUFDYyxhQUFOLENBQ25DLFFBRG1DLEVBRW5DO0FBQUNlLFVBQUksRUFBRSxRQUFQO0FBQWlCZCxlQUFTLEVBQUUsOEVBQTVCO0FBQTRHVSxXQUFLLEVBQUU7QUFBQ0ssaUJBQVMsRUFBRSxNQUFaO0FBQW9CQyxpQkFBUyxFQUFFO0FBQS9CLE9BQW5IO0FBQTBKRyxhQUFPLEVBQUUsTUFBTTtBQUFDLGFBQUtOLElBQUw7QUFBYTtBQUF2TCxLQUZtQyxFQUduQzVCLDZDQUFLLENBQUNjLGFBQU4sQ0FDSSxLQURKLEVBRUk7QUFBQ0MsZUFBUyxFQUFFO0FBQVosS0FGSixFQUdJLE1BSEosQ0FIbUMsQ0ExQjNDLENBL0JKLENBUEQsQ0EyRUg7QUEzRUcsS0FBUDtBQTZFSDs7QUFFREssYUFBVyxHQUFHO0FBQ1YsU0FBS2pCLEtBQUwsQ0FBV0MsTUFBWCxDQUFrQkMsT0FBbEIsR0FBNEIsS0FBS0YsS0FBTCxDQUFXRyxRQUF2QztBQUNBLFNBQUs2QixRQUFMLENBQWM7QUFBQzNCLGdCQUFVLEVBQUU7QUFBYixLQUFkO0FBQ0g7O0FBRURvQixNQUFJLEdBQUc7QUFDSCxTQUFLekIsS0FBTCxDQUFXeUIsSUFBWCxDQUFnQixJQUFoQixFQURHLENBRUg7QUFDSDs7QUFuR3VEIiwiZmlsZSI6Ii4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvY2FyZC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhY3R9IGZyb20gXCJtb2R1bGVzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWMkNfU2VydmVyQ2FyZCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgICAgICBpZiAoIXRoaXMucHJvcHMuc2VydmVyLmljb25VcmwpIHRoaXMucHJvcHMuc2VydmVyLmljb25VcmwgPSB0aGlzLnByb3BzLmZhbGxiYWNrO1xyXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgICAgICAgIGltYWdlRXJyb3I6IGZhbHNlLFxyXG4gICAgICAgICAgICBqb2luZWQ6IHRoaXMucHJvcHMuZ3VpbGRMaXN0LmluY2x1ZGVzKHRoaXMucHJvcHMuc2VydmVyLmlkZW50aWZpZXIpXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgY29uc3Qge3NlcnZlcn0gPSB0aGlzLnByb3BzO1xyXG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICBcImRpdlwiLCAvLyBjYXJkUHJpbWFyeS0xSHYtdG9cclxuICAgICAgICAgICAge2NsYXNzTmFtZTogYGNhcmQtM1FqX1l4IGNhcmRQcmltYXJ5LTFIdi10byBtYXJnaW5Cb3R0b204LUF0Wk9kVCBiZC1zZXJ2ZXItY2FyZCR7c2VydmVyLnBpbm5lZCA/IFwiIGJkLXNlcnZlci1jYXJkLXBpbm5lZFwiIDogXCJcIn1gfSxcclxuICAgICAgICAgICAgLy8gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgIC8vIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAvLyB7IGNsYXNzTmFtZTogXCJmbGV4LTF4TVFnNSBmbGV4LTFPMUdLWSBob3Jpem9udGFsLTFhZTljaSBob3Jpem9udGFsLTJFRUVuWSBmbGV4LTFPMUdLWSBkaXJlY3Rpb25Sb3ctM3YzdGZHIGp1c3RpZnlTdGFydC0yeUlabzAgYWxpZ25TdHJldGNoLTFod3hNYSBub1dyYXAtM2p5bnY2XCIgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJpbWdcIiwge3JlZjogXCJpbWdcIiwgY2xhc3NOYW1lOiBcImJkLXNlcnZlci1pbWFnZVwiLCBzcmM6IHNlcnZlci5pY29uVXJsLCBvbkVycm9yOiB0aGlzLmhhbmRsZUVycm9yLmJpbmQodGhpcyl9KSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcImZsZXhDaGlsZC1mYW9WVzMgYmQtc2VydmVyLWNvbnRlbnRcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJmbGV4LTF4TVFnNSBmbGV4LTFPMUdLWSBob3Jpem9udGFsLTFhZTljaSBob3Jpem9udGFsLTJFRUVuWSBkaXJlY3Rpb25Sb3ctM3YzdGZHIG5vV3JhcC0zanludjYgYmQtc2VydmVyLWhlYWRlclwifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaDVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjbGFzc05hbWU6IFwiaDUtMThfMW5kIGRlZmF1bHRDb2xvci0xX2FqWDAgbWFyZ2luLXJlc2V0IGJkLXNlcnZlci1uYW1lXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyLm5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaDVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjbGFzc05hbWU6IFwiaDUtMThfMW5kIGRlZmF1bHRDb2xvci0xX2FqWDAgbWFyZ2luLXJlc2V0IGJkLXNlcnZlci1tZW1iZXItY291bnRcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXIubWVtYmVycyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIE1lbWJlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcImZsZXgtMXhNUWc1IGZsZXgtMU8xR0tZIGhvcml6b250YWwtMWFlOWNpIGhvcml6b250YWwtMkVFRW5ZIGRpcmVjdGlvblJvdy0zdjN0Zkcgbm9XcmFwLTNqeW52NlwifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInNjcm9sbGVyV3JhcC0ybEpFa2Qgc2Nyb2xsZXJUaGVtZWQtMm9lbnVzIHRoZW1lR2hvc3RIYWlybGluZS1EQkQtMmQgc2Nyb2xsZXJGYWRlLTFJanc1eSBiZC1zZXJ2ZXItZGVzY3JpcHRpb24tY29udGFpbmVyXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjbGFzc05hbWU6IFwic2Nyb2xsZXItMkZLRlBHIHNjcm9sbGVyIGJkLXNlcnZlci1kZXNjcmlwdGlvblwifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyLmRlc2NyaXB0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtjbGFzc05hbWU6IFwiZmxleC0xeE1RZzUgZmxleC0xTzFHS1kgaG9yaXpvbnRhbC0xYWU5Y2kgaG9yaXpvbnRhbC0yRUVFblkgZGlyZWN0aW9uUm93LTN2M3RmRyBub1dyYXAtM2p5bnY2IGJkLXNlcnZlci1mb290ZXJcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJmbGV4Q2hpbGQtZmFvVlczIGJkLXNlcnZlci10YWdzXCIsIHN0eWxlOiB7ZmxleDogXCIxIDEgYXV0b1wifX0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXIuY2F0ZWdvcmllcy5qb2luKFwiLCBcIilcclxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5qb2luZWQgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYnV0dG9uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dHlwZTogXCJidXR0b25cIiwgY2xhc3NOYW1lOiBcImJ1dHRvbi0zOGFTY3IgbG9va0ZpbGxlZC0xR3gwMFAgY29sb3JCcmFuZC0zcFhyOTEgc2l6ZU1pbi0xbUpkMXggZ3Jvdy1xNzdPTk4gY29sb3JHcmVlbi0yOWlBS1lcIiwgc3R5bGU6IHttaW5IZWlnaHQ6IFwiMTJweFwiLCBtYXJnaW5Ub3A6IFwiNHB4XCIsIGJhY2tncm91bmRDb2xvcjogXCIjM2FjMTVjXCJ9fSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInVpLWJ1dHRvbi1jb250ZW50c1wifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIkpvaW5lZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlci5lcnJvciAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJidXR0b25cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0eXBlOiBcImJ1dHRvblwiLCBjbGFzc05hbWU6IFwiYnV0dG9uLTM4YVNjciBsb29rRmlsbGVkLTFHeDAwUCBjb2xvckJyYW5kLTNwWHI5MSBzaXplTWluLTFtSmQxeCBncm93LXE3N09OTiBkaXNhYmxlZC05YUYydWdcIiwgc3R5bGU6IHttaW5IZWlnaHQ6IFwiMTJweFwiLCBtYXJnaW5Ub3A6IFwiNHB4XCIsIGJhY2tncm91bmRDb2xvcjogXCIjYzEzYTNhXCJ9fSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInVpLWJ1dHRvbi1jb250ZW50c1wifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIkVycm9yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgIXNlcnZlci5lcnJvciAmJiAhdGhpcy5zdGF0ZS5qb2luZWQgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYnV0dG9uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dHlwZTogXCJidXR0b25cIiwgY2xhc3NOYW1lOiBcImJ1dHRvbi0zOGFTY3IgbG9va0ZpbGxlZC0xR3gwMFAgY29sb3JCcmFuZC0zcFhyOTEgc2l6ZU1pbi0xbUpkMXggZ3Jvdy1xNzdPTk5cIiwgc3R5bGU6IHttaW5IZWlnaHQ6IFwiMTJweFwiLCBtYXJnaW5Ub3A6IFwiNHB4XCJ9LCBvbkNsaWNrOiAoKSA9PiB7dGhpcy5qb2luKCk7fX0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS1idXR0b24tY29udGVudHNcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJKb2luXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLy8gKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlRXJyb3IoKSB7XHJcbiAgICAgICAgdGhpcy5wcm9wcy5zZXJ2ZXIuaWNvblVybCA9IHRoaXMucHJvcHMuZmFsbGJhY2s7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7aW1hZ2VFcnJvcjogdHJ1ZX0pO1xyXG4gICAgfVxyXG5cclxuICAgIGpvaW4oKSB7XHJcbiAgICAgICAgdGhpcy5wcm9wcy5qb2luKHRoaXMpO1xyXG4gICAgICAgIC8vdGhpcy5zZXRTdGF0ZSh7am9pbmVkOiB0cnVlfSk7XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/publicservers/card.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ServerCard; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass ServerCard extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n if (!this.props.server.iconUrl) this.props.server.iconUrl = this.props.fallback;\n this.state = {\n imageError: false,\n joined: this.props.guildList.includes(this.props.server.identifier)\n };\n }\n\n render() {\n const {\n server\n } = this.props;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", // cardPrimary-1Hv-to\n {\n className: `card-3Qj_Yx cardPrimary-1Hv-to marginBottom8-AtZOdT bd-server-card${server.pinned ? \" bd-server-card-pinned\" : \"\"}`\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"img\", {\n ref: \"img\",\n className: \"bd-server-image\",\n src: server.iconUrl,\n onError: this.handleError.bind(this)\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"flexChild-faoVW3 bd-server-content\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"flex-1xMQg5 flex-1O1GKY horizontal-1ae9ci horizontal-2EEEnY directionRow-3v3tfG noWrap-3jynv6 bd-server-header\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"h5\", {\n className: \"h5-18_1nd defaultColor-1_ajX0 margin-reset bd-server-name\"\n }, server.name), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"h5\", {\n className: \"h5-18_1nd defaultColor-1_ajX0 margin-reset bd-server-member-count\"\n }, server.members, \" Members\")), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"flex-1xMQg5 flex-1O1GKY horizontal-1ae9ci horizontal-2EEEnY directionRow-3v3tfG noWrap-3jynv6\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"scrollerWrap-2lJEkd scrollerThemed-2oenus themeGhostHairline-DBD-2d scrollerFade-1Ijw5y bd-server-description-container\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"scroller-2FKFPG scroller bd-server-description\"\n }, server.description))), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"flex-1xMQg5 flex-1O1GKY horizontal-1ae9ci horizontal-2EEEnY directionRow-3v3tfG noWrap-3jynv6 bd-server-footer\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"flexChild-faoVW3 bd-server-tags\",\n style: {\n flex: \"1 1 auto\"\n }\n }, server.categories.join(\", \")), this.state.joined && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n type: \"button\",\n className: \"button-38aScr lookFilled-1Gx00P colorBrand-3pXr91 sizeMin-1mJd1x grow-q77ONN colorGreen-29iAKY\",\n style: {\n minHeight: \"12px\",\n marginTop: \"4px\",\n backgroundColor: \"#3ac15c\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\"\n }, \"Joined\")), server.error && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n type: \"button\",\n className: \"button-38aScr lookFilled-1Gx00P colorBrand-3pXr91 sizeMin-1mJd1x grow-q77ONN disabled-9aF2ug\",\n style: {\n minHeight: \"12px\",\n marginTop: \"4px\",\n backgroundColor: \"#c13a3a\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\"\n }, \"Error\")), !server.error && !this.state.joined && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n type: \"button\",\n className: \"button-38aScr lookFilled-1Gx00P colorBrand-3pXr91 sizeMin-1mJd1x grow-q77ONN\",\n style: {\n minHeight: \"12px\",\n marginTop: \"4px\"\n },\n onClick: () => {\n this.join();\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\"\n }, \"Join\")))) // )\n );\n }\n\n handleError() {\n this.props.server.iconUrl = this.props.fallback;\n this.setState({\n imageError: true\n });\n }\n\n join() {\n this.props.join(this); //this.setState({joined: true});\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvY2FyZC5qcz9mMjgxIl0sIm5hbWVzIjpbIlNlcnZlckNhcmQiLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJzZXJ2ZXIiLCJpY29uVXJsIiwiZmFsbGJhY2siLCJzdGF0ZSIsImltYWdlRXJyb3IiLCJqb2luZWQiLCJndWlsZExpc3QiLCJpbmNsdWRlcyIsImlkZW50aWZpZXIiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwicGlubmVkIiwicmVmIiwic3JjIiwib25FcnJvciIsImhhbmRsZUVycm9yIiwiYmluZCIsIm5hbWUiLCJtZW1iZXJzIiwiZGVzY3JpcHRpb24iLCJzdHlsZSIsImZsZXgiLCJjYXRlZ29yaWVzIiwiam9pbiIsInR5cGUiLCJtaW5IZWlnaHQiLCJtYXJnaW5Ub3AiLCJiYWNrZ3JvdW5kQ29sb3IiLCJlcnJvciIsIm9uQ2xpY2siLCJzZXRTdGF0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFFZSxNQUFNQSxVQUFOLFNBQXlCQyw2Q0FBSyxDQUFDQyxTQUEvQixDQUF5QztBQUNwREMsYUFBVyxDQUFDQyxLQUFELEVBQVE7QUFDZixVQUFNQSxLQUFOO0FBQ0EsUUFBSSxDQUFDLEtBQUtBLEtBQUwsQ0FBV0MsTUFBWCxDQUFrQkMsT0FBdkIsRUFBZ0MsS0FBS0YsS0FBTCxDQUFXQyxNQUFYLENBQWtCQyxPQUFsQixHQUE0QixLQUFLRixLQUFMLENBQVdHLFFBQXZDO0FBQ2hDLFNBQUtDLEtBQUwsR0FBYTtBQUNUQyxnQkFBVSxFQUFFLEtBREg7QUFFVEMsWUFBTSxFQUFFLEtBQUtOLEtBQUwsQ0FBV08sU0FBWCxDQUFxQkMsUUFBckIsQ0FBOEIsS0FBS1IsS0FBTCxDQUFXQyxNQUFYLENBQWtCUSxVQUFoRDtBQUZDLEtBQWI7QUFJSDs7QUFFREMsUUFBTSxHQUFHO0FBQ0wsVUFBTTtBQUFDVDtB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QUFLLENBQUNjLGFBQU4sQ0FDbkMsUUFEbUMsRUFFbkM7QUFBQ2UsVUFBSSxFQUFFLFFBQVA7QUFBaUJkLGVBQVMsRUFBRSw4RUFBNUI7QUFBNEdVLFdBQUssRUFBRTtBQUFDSyxpQkFBUyxFQUFFLE1BQVo7QUFBb0JDLGlCQUFTLEVBQUU7QUFBL0IsT0FBbkg7QUFBMEpHLGFBQU8sRUFBRSxNQUFNO0FBQUMsYUFBS04sSUFBTDtBQUFhO0FBQXZMLEtBRm1DLEVBR25DNUIsNkNBQUssQ0FBQ2MsYUFBTixDQUNJLEtBREosRUFFSTtBQUFDQyxlQUFTLEVBQUU7QUFBWixLQUZKLEVBR0ksTUFISixDQUhtQyxDQTFCM0MsQ0EvQkosQ0FKRCxDQXdFSDtBQXhFRyxLQUFQO0FBMEVIOztBQUVESyxhQUFXLEdBQUc7QUFDVixTQUFLakIsS0FBTCxDQUFXQyxNQUFYLENBQWtCQyxPQUFsQixHQUE0QixLQUFLRixLQUFMLENBQVdHLFFBQXZDO0FBQ0EsU0FBSzZCLFFBQUwsQ0FBYztBQUFDM0IsZ0JBQVUsRUFBRTtBQUFiLEtBQWQ7QUFDSDs7QUFFRG9CLE1BQUksR0FBRztBQUNILFNBQUt6QixLQUFMLENBQVd5QixJQUFYLENBQWdCLElBQWhCLEVBREcsQ0FFSDtBQUNIOztBQWhHbUQiLCJmaWxlIjoiLi9zcmMvdWkvcHVibGljc2VydmVycy9jYXJkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWFjdH0gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNlcnZlckNhcmQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICAgICAgaWYgKCF0aGlzLnByb3BzLnNlcnZlci5pY29uVXJsKSB0aGlzLnByb3BzLnNlcnZlci5pY29uVXJsID0gdGhpcy5wcm9wcy5mYWxsYmFjaztcclxuICAgICAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICAgICAgICBpbWFnZUVycm9yOiBmYWxzZSxcclxuICAgICAgICAgICAgam9pbmVkOiB0aGlzLnByb3BzLmd1aWxkTGlzdC5pbmNsdWRlcyh0aGlzLnByb3BzLnNlcnZlci5pZGVudGlmaWVyKVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIGNvbnN0IHtzZXJ2ZXJ9ID0gdGhpcy5wcm9wcztcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIiwgLy8gY2FyZFByaW1hcnktMUh2LXRvXHJcbiAgICAgICAgICAgIHtjbGFzc05hbWU6IGBjYXJkLTNRal9ZeCBjYXJkUHJpbWFyeS0xSHYtdG8gbWFyZ2luQm90dG9tOC1BdFpPZFQgYmQtc2VydmVyLWNhcmQke3NlcnZlci5waW5uZWQgPyBcIiBiZC1zZXJ2ZXItY2FyZC1waW5uZWRcIiA6IFwiXCJ9YH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiaW1nXCIsIHtyZWY6IFwiaW1nXCIsIGNsYXNzTmFtZTogXCJiZC1zZXJ2ZXItaW1hZ2VcIiwgc3JjOiBzZXJ2ZXIuaWNvblVybCwgb25FcnJvcjogdGhpcy5oYW5kbGVFcnJvci5iaW5kKHRoaXMpfSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJmbGV4Q2hpbGQtZmFvVlczIGJkLXNlcnZlci1jb250ZW50XCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtjbGFzc05hbWU6IFwiZmxleC0xeE1RZzUgZmxleC0xTzFHS1kgaG9yaXpvbnRhbC0xYWU5Y2kgaG9yaXpvbnRhbC0yRUVFblkgZGlyZWN0aW9uUm93LTN2M3RmRyBub1dyYXAtM2p5bnY2IGJkLXNlcnZlci1oZWFkZXJcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImg1XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcImg1LTE4XzFuZCBkZWZhdWx0Q29sb3ItMV9halgwIG1hcmdpbi1yZXNldCBiZC1zZXJ2ZXItbmFtZVwifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlci5uYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImg1XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcImg1LTE4XzFuZCBkZWZhdWx0Q29sb3ItMV9halgwIG1hcmdpbi1yZXNldCBiZC1zZXJ2ZXItbWVtYmVyLWNvdW50XCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyLm1lbWJlcnMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBNZW1iZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJmbGV4LTF4TVFnNSBmbGV4LTFPMUdLWSBob3Jpem9udGFsLTFhZTljaSBob3Jpem9udGFsLTJFRUVuWSBkaXJlY3Rpb25Sb3ctM3YzdGZHIG5vV3JhcC0zanludjZcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJzY3JvbGxlcldyYXAtMmxKRWtkIHNjcm9sbGVyVGhlbWVkLTJvZW51cyB0aGVtZUdob3N0SGFpcmxpbmUtREJELTJkIHNjcm9sbGVyRmFkZS0xSWp3NXkgYmQtc2VydmVyLWRlc2NyaXB0aW9uLWNvbnRhaW5lclwifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInNjcm9sbGVyLTJGS0ZQRyBzY3JvbGxlciBiZC1zZXJ2ZXItZGVzY3JpcHRpb25cIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlci5kZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcImZsZXgtMXhNUWc1IGZsZXgtMU8xR0tZIGhvcml6b250YWwtMWFlOWNpIGhvcml6b250YWwtMkVFRW5ZIGRpcmVjdGlvblJvdy0zdjN0Zkcgbm9XcmFwLTNqeW52NiBiZC1zZXJ2ZXItZm9vdGVyXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjbGFzc05hbWU6IFwiZmxleENoaWxkLWZhb1ZXMyBiZC1zZXJ2ZXItdGFnc1wiLCBzdHlsZToge2ZsZXg6IFwiMSAxIGF1dG9cIn19LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyLmNhdGVnb3JpZXMuam9pbihcIiwgXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUuam9pbmVkICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ1dHRvblwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3R5cGU6IFwiYnV0dG9uXCIsIGNsYXNzTmFtZTogXCJidXR0b24tMzhhU2NyIGxvb2tGaWxsZWQtMUd4MDBQIGNvbG9yQnJhbmQtM3BYcjkxIHNpemVNaW4tMW1KZDF4IGdyb3ctcTc3T05OIGNvbG9yR3JlZW4tMjlpQUtZXCIsIHN0eWxlOiB7bWluSGVpZ2h0OiBcIjEycHhcIiwgbWFyZ2luVG9wOiBcIjRweFwiLCBiYWNrZ3JvdW5kQ29sb3I6IFwiIzNhYzE1Y1wifX0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS1idXR0b24tY29udGVudHNcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJKb2luZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXIuZXJyb3IgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYnV0dG9uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dHlwZTogXCJidXR0b25cIiwgY2xhc3NOYW1lOiBcImJ1dHRvbi0zOGFTY3IgbG9va0ZpbGxlZC0xR3gwMFAgY29sb3JCcmFuZC0zcFhyOTEgc2l6ZU1pbi0xbUpkMXggZ3Jvdy1xNzdPTk4gZGlzYWJsZWQtOWFGMnVnXCIsIHN0eWxlOiB7bWluSGVpZ2h0OiBcIjEycHhcIiwgbWFyZ2luVG9wOiBcIjRweFwiLCBiYWNrZ3JvdW5kQ29sb3I6IFwiI2MxM2EzYVwifX0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS1idXR0b24tY29udGVudHNcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJFcnJvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICFzZXJ2ZXIuZXJyb3IgJiYgIXRoaXMuc3RhdGUuam9pbmVkICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ1dHRvblwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3R5cGU6IFwiYnV0dG9uXCIsIGNsYXNzTmFtZTogXCJidXR0b24tMzhhU2NyIGxvb2tGaWxsZWQtMUd4MDBQIGNvbG9yQnJhbmQtM3BYcjkxIHNpemVNaW4tMW1KZDF4IGdyb3ctcTc3T05OXCIsIHN0eWxlOiB7bWluSGVpZ2h0OiBcIjEycHhcIiwgbWFyZ2luVG9wOiBcIjRweFwifSwgb25DbGljazogKCkgPT4ge3RoaXMuam9pbigpO319LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjbGFzc05hbWU6IFwidWktYnV0dG9uLWNvbnRlbnRzXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiSm9pblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC8vIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZUVycm9yKCkge1xyXG4gICAgICAgIHRoaXMucHJvcHMuc2VydmVyLmljb25VcmwgPSB0aGlzLnByb3BzLmZhbGxiYWNrO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe2ltYWdlRXJyb3I6IHRydWV9KTtcclxuICAgIH1cclxuXHJcbiAgICBqb2luKCkge1xyXG4gICAgICAgIHRoaXMucHJvcHMuam9pbih0aGlzKTtcclxuICAgICAgICAvL3RoaXMuc2V0U3RhdGUoe2pvaW5lZDogdHJ1ZX0pO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/publicservers/card.js\n"); /***/ }), @@ -599,7 +635,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return V2C_Tools; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _icons_close__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../icons/close */ \"./src/ui/icons/close.js\");\n\n\nclass V2C_Tools extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.onClick = this.onClick.bind(this);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"tools-container toolsContainer-1edPuj\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"tools tools-3-3s-N\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"container-1sFeqf\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"btn-close closeButton-1tv5uR\",\n onClick: this.onClick\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_icons_close__WEBPACK_IMPORTED_MODULE_1__[\"default\"], null)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"esc-text keybind-KpFkfr\"\n }, \"ESC\"))));\n }\n\n onClick() {\n if (this.props.onClick) {\n this.props.onClick();\n }\n\n $(\".closeButton-1tv5uR\").first().click();\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvZXhpdGJ1dHRvbi5qcz9lMjY1Il0sIm5hbWVzIjpbIlYyQ19Ub29scyIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIm9uQ2xpY2siLCJiaW5kIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIkNsb3NlQnV0dG9uIiwiJCIsImZpcnN0IiwiY2xpY2siXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVlLE1BQU1BLFNBQU4sU0FBd0JDLDZDQUFLLENBQUNDLFNBQTlCLENBQXdDO0FBRW5EQyxhQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFDQSxTQUFLQyxPQUFMLEdBQWUsS0FBS0EsT0FBTCxDQUFhQyxJQUFiLENBQWtCLElBQWxCLENBQWY7QUFDSDs7QUFFREMsUUFBTSxHQUFHO0FBQ0wsV0FBT04sNkNBQUssQ0FBQ08sYUFBTixDQUFvQixLQUFwQixFQUEyQjtBQUFDQyxlQUFTLEVBQUU7QUFBWixLQUEzQixFQUNIUiw2Q0FBSyxDQUFDTyxhQUFOLENBQW9CLEtBQXBCLEVBQTJCO0FBQUNDLGVBQVMsRUFBRTtBQUFaLEtBQTNCLEVBQ0lSLDZDQUFLLENBQUNPLGFBQU4sQ0FBb0IsS0FBcEIsRUFBMkI7QUFBQ0MsZUFBUyxFQUFFO0FBQVosS0FBM0IsRUFDSVIsNkNBQUssQ0FBQ08sYUFBTixDQUFvQixLQUFwQixFQUNJO0FBQUNDLGVBQVMsRUFBRSw4QkFBWjtBQUE0Q0osYUFBTyxFQUFFLEtBQUtBO0FBQTFELEtBREosRUFFSUosNkNBQUssQ0FBQ08sYUFBTixDQUFvQkUsb0RBQXBCLEVBQWlDLElBQWpDLENBRkosQ0FESixFQUtJVCw2Q0FBSyxDQUFDTyxhQUFOLENBQ0ksS0FESixFQUVJO0FBQUNDLGVBQVMsRUFBRTtBQUFaLEtBRkosRUFHSSxLQUhKLENBTEosQ0FESixDQURHLENBQVA7QUFlSDs7QUFFREosU0FBTyxHQUFHO0FBQ04sUUFBSSxLQUFLRCxLQUFMLENBQVdDLE9BQWYsRUFBd0I7QUFDcEIsV0FBS0QsS0FBTCxDQUFXQyxPQUFYO0FBQ0g7O0FBQ0RNLEtBQUMsQ0FBQyxxQkFBRCxDQUFELENBQXlCQyxLQUF6QixHQUFpQ0MsS0FBakM7QUFDSDs7QUE5QmtEIiwiZmlsZSI6Ii4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvZXhpdGJ1dHRvbi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhY3R9IGZyb20gXCJtb2R1bGVzXCI7XHJcbmltcG9ydCBDbG9zZUJ1dHRvbiBmcm9tIFwiLi4vaWNvbnMvY2xvc2VcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFYyQ19Ub29scyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICAgICAgdGhpcy5vbkNsaWNrID0gdGhpcy5vbkNsaWNrLmJpbmQodGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwidG9vbHMtY29udGFpbmVyIHRvb2xzQ29udGFpbmVyLTFlZFB1alwifSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7Y2xhc3NOYW1lOiBcInRvb2xzIHRvb2xzLTMtM3MtTlwifSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJjb250YWluZXItMXNGZXFmXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJidG4tY2xvc2UgY2xvc2VCdXR0b24tMXR2NXVSXCIsIG9uQ2xpY2s6IHRoaXMub25DbGlja30sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xvc2VCdXR0b24sIG51bGwpXHJcbiAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcImVzYy10ZXh0IGtleWJpbmQtS3BGa2ZyXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIkVTQ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNsaWNrKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnByb3BzLm9uQ2xpY2spIHtcclxuICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkNsaWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICQoXCIuY2xvc2VCdXR0b24tMXR2NXVSXCIpLmZpcnN0KCkuY2xpY2soKTtcclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/publicservers/exitbutton.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Tools; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _icons_close__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../icons/close */ \"./src/ui/icons/close.js\");\n\n\nclass Tools extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.onClick = this.onClick.bind(this);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"tools-container toolsContainer-1edPuj\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"tools tools-3-3s-N\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"container-1sFeqf\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"btn-close closeButton-1tv5uR\",\n onClick: this.onClick\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_icons_close__WEBPACK_IMPORTED_MODULE_1__[\"default\"], null)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"esc-text keybind-KpFkfr\"\n }, \"ESC\"))));\n }\n\n onClick() {\n if (this.props.onClick) {\n this.props.onClick();\n }\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvZXhpdGJ1dHRvbi5qcz9lMjY1Il0sIm5hbWVzIjpbIlRvb2xzIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwib25DbGljayIsImJpbmQiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiQ2xvc2VCdXR0b24iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVlLE1BQU1BLEtBQU4sU0FBb0JDLDZDQUFLLENBQUNDLFNBQTFCLENBQW9DO0FBRS9DQyxhQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFDQSxTQUFLQyxPQUFMLEdBQWUsS0FBS0EsT0FBTCxDQUFhQyxJQUFiLENBQWtCLElBQWxCLENBQWY7QUFDSDs7QUFFREMsUUFBTSxHQUFHO0FBQ0wsV0FBT04sNkNBQUssQ0FBQ08sYUFBTixDQUFvQixLQUFwQixFQUEyQjtBQUFDQyxlQUFTLEVBQUU7QUFBWixLQUEzQixFQUNIUiw2Q0FBSyxDQUFDTyxhQUFOLENBQW9CLEtBQXBCLEVBQTJCO0FBQUNDLGVBQVMsRUFBRTtBQUFaLEtBQTNCLEVBQ0lSLDZDQUFLLENBQUNPLGFBQU4sQ0FBb0IsS0FBcEIsRUFBMkI7QUFBQ0MsZUFBUyxFQUFFO0FBQVosS0FBM0IsRUFDSVIsNkNBQUssQ0FBQ08sYUFBTixDQUFvQixLQUFwQixFQUNJO0FBQUNDLGVBQVMsRUFBRSw4QkFBWjtBQUE0Q0osYUFBTyxFQUFFLEtBQUtBO0FBQTFELEtBREosRUFFSUosNkNBQUssQ0FBQ08sYUFBTixDQUFvQkUsb0RBQXBCLEVBQWlDLElBQWpDLENBRkosQ0FESixFQUtJVCw2Q0FBSyxDQUFDTyxhQUFOLENBQ0ksS0FESixFQUVJO0FBQUNDLGVBQVMsRUFBRTtBQUFaLEtBRkosRUFHSSxLQUhKLENBTEosQ0FESixDQURHLENBQVA7QUFlSDs7QUFFREosU0FBTyxHQUFHO0FBQ04sUUFBSSxLQUFLRCxLQUFMLENBQVdDLE9BQWYsRUFBd0I7QUFDcEIsV0FBS0QsS0FBTCxDQUFXQyxPQUFYO0FBQ0g7QUFDSjs7QUE3QjhDIiwiZmlsZSI6Ii4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvZXhpdGJ1dHRvbi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhY3R9IGZyb20gXCJtb2R1bGVzXCI7XHJcbmltcG9ydCBDbG9zZUJ1dHRvbiBmcm9tIFwiLi4vaWNvbnMvY2xvc2VcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRvb2xzIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgICAgICB0aGlzLm9uQ2xpY2sgPSB0aGlzLm9uQ2xpY2suYmluZCh0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJ0b29scy1jb250YWluZXIgdG9vbHNDb250YWluZXItMWVkUHVqXCJ9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwidG9vbHMgdG9vbHMtMy0zcy1OXCJ9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7Y2xhc3NOYW1lOiBcImNvbnRhaW5lci0xc0ZlcWZcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcImJ0bi1jbG9zZSBjbG9zZUJ1dHRvbi0xdHY1dVJcIiwgb25DbGljazogdGhpcy5vbkNsaWNrfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChDbG9zZUJ1dHRvbiwgbnVsbClcclxuICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtjbGFzc05hbWU6IFwiZXNjLXRleHQga2V5YmluZC1LcEZrZnJcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiRVNDXCJcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ2xpY2soKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvcHMub25DbGljaykge1xyXG4gICAgICAgICAgICB0aGlzLnByb3BzLm9uQ2xpY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/publicservers/exitbutton.js\n"); /***/ }), @@ -611,7 +647,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return V2C_Layer; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass V2C_Layer extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n }\n\n componentDidMount() {\n $(window).on(`keyup.${this.props.id}`, e => {\n if (e.which === 27) {\n modules__WEBPACK_IMPORTED_MODULE_0__[\"ReactDOM\"].unmountComponentAtNode(this.refs.root.parentNode);\n }\n });\n $(`#${this.props.id}`).animate({\n opacity: 1\n }, {\n step: function (now) {\n $(this).css(\"transform\", `scale(${1.1 - 0.1 * now}) translateZ(0px)`);\n },\n duration: 200,\n done: () => {\n $(`#${this.props.id}`).css(\"opacity\", \"\").css(\"transform\", \"\");\n }\n });\n }\n\n componentWillUnmount() {\n $(window).off(`keyup.${this.props.id}`);\n $(`#${this.props.id}`).animate({\n opacity: 0\n }, {\n step: function (now) {\n $(this).css(\"transform\", `scale(${1.1 - 0.1 * now}) translateZ(0px)`);\n },\n duration: 200,\n done: () => {\n $(`#${this.props.rootId}`).remove();\n }\n });\n $(\"[class*=\\\"layer-\\\"]\").removeClass(\"publicServersOpen\").animate({\n opacity: 1\n }, {\n step: function (now) {\n $(this).css(\"transform\", `scale(${0.07 * now + 0.93}) translateZ(0px)`);\n },\n duration: 200,\n done: () => {\n $(\"[class*=\\\"layer-\\\"]\").css(\"opacity\", \"\").css(\"transform\", \"\");\n }\n });\n }\n\n componentWillMount() {\n $(\"[class*=\\\"layer-\\\"]\").addClass(\"publicServersOpen\").animate({\n opacity: 0\n }, {\n step: function (now) {\n $(this).css(\"transform\", `scale(${0.07 * now + 0.93}) translateZ(0px)`);\n },\n duration: 200\n });\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"layer bd-layer layer-3QrUeG\",\n id: this.props.id,\n ref: \"root\",\n style: {\n opacity: 0,\n transform: \"scale(1.1) translateZ(0px)\"\n }\n }, this.props.children);\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvbGF5ZXIuanM/MWE5YSJdLCJuYW1lcyI6WyJWMkNfTGF5ZXIiLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJjb21wb25lbnREaWRNb3VudCIsIiQiLCJ3aW5kb3ciLCJvbiIsImlkIiwiZSIsIndoaWNoIiwiUmVhY3RET00iLCJ1bm1vdW50Q29tcG9uZW50QXROb2RlIiwicmVmcyIsInJvb3QiLCJwYXJlbnROb2RlIiwiYW5pbWF0ZSIsIm9wYWNpdHkiLCJzdGVwIiwibm93IiwiY3NzIiwiZHVyYXRpb24iLCJkb25lIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJvZmYiLCJyb290SWQiLCJyZW1vdmUiLCJyZW1vdmVDbGFzcyIsImNvbXBvbmVudFdpbGxNb3VudCIsImFkZENsYXNzIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInJlZiIsInN0eWxlIiwidHJhbnNmb3JtIiwiY2hpbGRyZW4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRWUsTUFBTUEsU0FBTixTQUF3QkMsNkNBQUssQ0FBQ0MsU0FBOUIsQ0FBd0M7QUFFbkRDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNIOztBQUVEQyxtQkFBaUIsR0FBRztBQUNoQkMsS0FBQyxDQUFDQyxNQUFELENBQUQsQ0FBVUMsRUFBVixDQUFjLFNBQVEsS0FBS0osS0FBTCxDQUFXSyxFQUFHLEVBQXBDLEVBQXVDQyxDQUFDLElBQUk7QUFDeEMsVUFBSUEsQ0FBQyxDQUFDQyxLQUFGLEtBQVksRUFBaEIsRUFBb0I7QUFDaEJDLHdEQUFRLENBQUNDLHNCQUFULENBQWdDLEtBQUtDLElBQUwsQ0FBVUMsSUFBVixDQUFlQyxVQUEvQztBQUNIO0FBQ0osS0FKRDtBQU1BVixLQUFDLENBQUUsSUFBRyxLQUFLRixLQUFMLENBQVdLLEVBQUcsRUFBbkIs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S0g7O0FBekRrRCIsImZpbGUiOiIuL3NyYy91aS9wdWJsaWNzZXJ2ZXJzL2xheWVyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWFjdCwgUmVhY3RET019IGZyb20gXCJtb2R1bGVzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWMkNfTGF5ZXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgICAgICQod2luZG93KS5vbihga2V5dXAuJHt0aGlzLnByb3BzLmlkfWAsIGUgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZS53aGljaCA9PT0gMjcpIHtcclxuICAgICAgICAgICAgICAgIFJlYWN0RE9NLnVubW91bnRDb21wb25lbnRBdE5vZGUodGhpcy5yZWZzLnJvb3QucGFyZW50Tm9kZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgJChgIyR7dGhpcy5wcm9wcy5pZH1gKS5hbmltYXRlKHtvcGFjaXR5OiAxfSwge1xyXG4gICAgICAgICAgICBzdGVwOiBmdW5jdGlvbihub3cpIHtcclxuICAgICAgICAgICAgICAkKHRoaXMpLmNzcyhcInRyYW5zZm9ybVwiLCBgc2NhbGUoJHsxLjEgLSAwLjEgKiBub3d9KSB0cmFuc2xhdGVaKDBweClgKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZHVyYXRpb246IDIwMCxcclxuICAgICAgICAgICAgZG9uZTogKCkgPT4geyQoYCMke3RoaXMucHJvcHMuaWR9YCkuY3NzKFwib3BhY2l0eVwiLCBcIlwiKS5jc3MoXCJ0cmFuc2Zvcm1cIiwgXCJcIik7fVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xyXG4gICAgICAgICQod2luZG93KS5vZmYoYGtleXVwLiR7dGhpcy5wcm9wcy5pZH1gKTtcclxuICAgICAgICAkKGAjJHt0aGlzLnByb3BzLmlkfWApLmFuaW1hdGUoe29wYWNpdHk6IDB9LCB7XHJcbiAgICAgICAgICAgIHN0ZXA6IGZ1bmN0aW9uKG5vdykge1xyXG4gICAgICAgICAgICAgICQodGhpcykuY3NzKFwidHJhbnNmb3JtXCIsIGBzY2FsZSgkezEuMSAtIDAuMSAqIG5vd30pIHRyYW5zbGF0ZVooMHB4KWApO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBkdXJhdGlvbjogMjAwLFxyXG4gICAgICAgICAgICBkb25lOiAoKSA9PiB7JChgIyR7dGhpcy5wcm9wcy5yb290SWR9YCkucmVtb3ZlKCk7fVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKFwiW2NsYXNzKj1cXFwibGF5ZXItXFxcIl1cIikucmVtb3ZlQ2xhc3MoXCJwdWJsaWNTZXJ2ZXJzT3BlblwiKS5hbmltYXRlKHtvcGFjaXR5OiAxfSwge1xyXG4gICAgICAgICAgICBzdGVwOiBmdW5jdGlvbihub3cpIHtcclxuICAgICAgICAgICAgICAkKHRoaXMpLmNzcyhcInRyYW5zZm9ybVwiLCBgc2NhbGUoJHswLjA3ICogbm93ICsgMC45M30pIHRyYW5zbGF0ZVooMHB4KWApO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBkdXJhdGlvbjogMjAwLFxyXG4gICAgICAgICAgICBkb25lOiAoKSA9PiB7JChcIltjbGFzcyo9XFxcImxheWVyLVxcXCJdXCIpLmNzcyhcIm9wYWNpdHlcIiwgXCJcIikuY3NzKFwidHJhbnNmb3JtXCIsIFwiXCIpO31cclxuICAgICAgICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgY29tcG9uZW50V2lsbE1vdW50KCkge1xyXG4gICAgICAgICQoXCJbY2xhc3MqPVxcXCJsYXllci1cXFwiXVwiKS5hZGRDbGFzcyhcInB1YmxpY1NlcnZlcnNPcGVuXCIpLmFuaW1hdGUoe29wYWNpdHk6IDB9LCB7XHJcbiAgICAgICAgICAgIHN0ZXA6IGZ1bmN0aW9uKG5vdykge1xyXG4gICAgICAgICAgICAgICQodGhpcykuY3NzKFwidHJhbnNmb3JtXCIsIGBzY2FsZSgkezAuMDcgKiBub3cgKyAwLjkzfSkgdHJhbnNsYXRlWigwcHgpYCk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOiAyMDBcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgIHtjbGFzc05hbWU6IFwibGF5ZXIgYmQtbGF5ZXIgbGF5ZXItM1FyVWVHXCIsIGlkOiB0aGlzLnByb3BzLmlkLCByZWY6IFwicm9vdFwiLCBzdHlsZToge29wYWNpdHk6IDAsIHRyYW5zZm9ybTogXCJzY2FsZSgxLjEpIHRyYW5zbGF0ZVooMHB4KVwifX0sXHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMuY2hpbGRyZW5cclxuICAgICAgICApO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/publicservers/layer.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Layer; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass Layer extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.rootRef = modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createRef();\n }\n\n componentDidMount() {\n $(window).on(`keyup.${this.props.id}`, e => {\n if (e.which === 27) {\n modules__WEBPACK_IMPORTED_MODULE_0__[\"ReactDOM\"].unmountComponentAtNode(this.rootRef.current.parentNode);\n }\n });\n $(`#${this.props.id}`).animate({\n opacity: 1\n }, {\n step: function (now) {\n $(this).css(\"transform\", `scale(${1.1 - 0.1 * now}) translateZ(0px)`);\n },\n duration: 200,\n done: () => {\n $(`#${this.props.id}`).css(\"opacity\", \"\").css(\"transform\", \"\");\n }\n });\n }\n\n componentWillUnmount() {\n $(window).off(`keyup.${this.props.id}`);\n $(`#${this.props.id}`).animate({\n opacity: 0\n }, {\n step: function (now) {\n $(this).css(\"transform\", `scale(${1.1 - 0.1 * now}) translateZ(0px)`);\n },\n duration: 200,\n done: () => {\n $(`#${this.props.rootId}`).remove();\n }\n });\n $(\"[class*=\\\"layer-\\\"]\").removeClass(\"publicServersOpen\").animate({\n opacity: 1\n }, {\n step: function (now) {\n $(this).css(\"transform\", `scale(${0.07 * now + 0.93}) translateZ(0px)`);\n },\n duration: 200,\n done: () => {\n $(\"[class*=\\\"layer-\\\"]\").css(\"opacity\", \"\").css(\"transform\", \"\");\n }\n });\n }\n\n UNSAFE_componentWillMount() {\n $(\"[class*=\\\"layer-\\\"]\").addClass(\"publicServersOpen\").animate({\n opacity: 0\n }, {\n step: function (now) {\n $(this).css(\"transform\", `scale(${0.07 * now + 0.93}) translateZ(0px)`);\n },\n duration: 200\n });\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"layer bd-layer layer-3QrUeG\",\n id: this.props.id,\n ref: this.rootRef,\n style: {\n opacity: 0,\n transform: \"scale(1.1) translateZ(0px)\"\n }\n }, this.props.children);\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvbGF5ZXIuanM/MWE5YSJdLCJuYW1lcyI6WyJMYXllciIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInJvb3RSZWYiLCJjcmVhdGVSZWYiLCJjb21wb25lbnREaWRNb3VudCIsIiQiLCJ3aW5kb3ciLCJvbiIsImlkIiwiZSIsIndoaWNoIiwiUmVhY3RET00iLCJ1bm1vdW50Q29tcG9uZW50QXROb2RlIiwiY3VycmVudCIsInBhcmVudE5vZGUiLCJhbmltYXRlIiwib3BhY2l0eSIsInN0ZXAiLCJub3ciLCJjc3MiLCJkdXJhdGlvbiIsImRvbmUiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsIm9mZiIsInJvb3RJZCIsInJlbW92ZSIsInJlbW92ZUNsYXNzIiwiVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCIsImFkZENsYXNzIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInJlZiIsInN0eWxlIiwidHJhbnNmb3JtIiwiY2hpbGRyZW4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRWUsTUFBTUEsS0FBTixTQUFvQkMsNkNBQUssQ0FBQ0MsU0FBMUIsQ0FBb0M7QUFFL0NDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNBLFNBQUtDLE9BQUwsR0FBZUosNkNBQUssQ0FBQ0ssU0FBTixFQUFmO0FBQ0g7O0FBRURDLG1CQUFpQixHQUFHO0FBQ2hCQyxLQUFDLENBQUNDLE1BQUQsQ0FBRCxDQUFVQyxFQUFWLENBQWMsU0FBUSxLQUFLTixLQUFMLENBQVdPLEVBQUcsRUFBcEMsRUFBdUNDLENBQUMsSUFBSTtBQUN4QyxVQUFJQSxDQUFDLENBQUNDLEtBQUYsS0FBWSxFQUFoQixFQUFvQjtBQUNoQkMsd0RBQVEsQ0FBQ0Msc0JBQVQsQ0FBZ0MsS0FBS1YsT0FBTCxDQUFhVyxPQUFiLENBQXFCQyxVQUFyRDtBQUNIO0FBQ0osS0FKRDtBQU1BVCxLQUFDLENBQUUsSUFBRyxLQUFLSixLQUFMLENBQVdPLEVBQUcsRUFBbkIsQ0FBRCxDQUF1Qk8sT0FBdkIsQ0FBK0I7QUFBQ0MsYUFBTyxFQUFFO0FBQVYsS0FBL0IsRUFBNkM7QUFDekNDLFVBQUksRUFBRSxVQUFTQyxHQUFULEVBQWM7QUFDbEJiLFNBQUMsQ0FBQyxJQUFELENBQUQsQ0FBUWMsR0FBUixDQUFZLFdBQVosRUFBMEIsU0FBUSxNQUFNLE1BQU1ELEdBQUksbUJBQWxEO0FBQ0QsT0FId0M7QUFJekNFLGNBQVEsRUFBRSxHQUorQjtBQUt6Q0MsVUFBSSxFQUFFLE1BQU07QUFBQ2hCLFNBQUMsQ0FBRSxJQUFHLEtBQUtKLEtBQUwsQ0FBV08sRUFBRyxFQUFuQixDQUFELENBQXVCVyxHQUF2QixDQUEyQixTQUEzQixFQUFzQyxFQUF0QyxFQUEwQ0EsR0FBMUMsQ0FBOEMsV0FBOUMsRUFBMkQsRUFBM0Q7QUFBZ0U7QUFMcEMsS0FBN0M7QUFPSDs7QUFFREcsc0JBQW9CLEdBQUc7QUFDbkJqQixLQUFDLENBQUNDLE1BQUQsQ0FBRCxDQUFVaUIsR0FBVixDQUFlLFNBQVEsS0FBS3RCLEtBQUwsQ0FBV08sRUFBRyxFQUFyQztBQUNBSCxLQUFDLENBQUUsSUFBRyxLQUFLSixLQUFMLENBQVdPLEVBQUcsRUFBbkIsQ0FBRCxDQUF1Qk8sT0FBdkIsQ0FBK0I7QUFBQ0MsYUFBTyxFQUFFO0FBQVYsS0FBL0IsRUFBNkM7QUFDekNDLFVBQUksRUFBRSxVQUFTQyxHQUFULEVBQWM7QUFDbEJiLFNBQUMsQ0FBQyxJQUFELENBQUQsQ0FBUWMsR0FBUixDQUFZLFdBQVosRUFBMEIsU0FBUSxNQUFNLE1BQU1ELEdBQUksbUJBQWxEO0FBQ0QsT0FId0M7QUFJekNFLGNBQVEsRUFBRSxHQUorQjtBQUt6Q0MsVUFBSSxFQUFFLE1BQU07QUFBQ2hCLFNBQUMsQ0FBRSxJQUFHLEtBQUtKLEtBQUwsQ0FBV3VCLE1BQU8sRUFBdkIsQ0FBRCxDQUEyQkMsTUFBM0I7QUFBcUM7QUFMVCxLQUE3QztBQVFBcEIsS0FBQyxDQUFDLHFCQUFELENBQUQsQ0FBeUJxQixXQUF6QixDQUFxQyxtQkFBckMsRUFBMERYLE9BQTFELENBQWtFO0FBQUNDLGFBQU8sRUFBRTtBQUFWLEtBQWxFLEVBQWdGO0FBQzVFQyxVQUFJLEVBQUUsVUFBU0MsR0FBVCxFQUFjO0FBQ2xCYixTQUFDLENBQUMsSUFBRCxDQUFELENBQVFjLEdBQVIsQ0FBWSxXQUFaLEVBQTBCLFNBQVEsT0FBT0QsR0FBUCxHQUFhLElBQUssbUJBQXBEO0FBQ0QsT0FIMkU7QUFJNUVFLGNBQVEsRUFBRSxHQUprRTtBQUs1RUMsVUFBSSxFQUFFLE1BQU07QUFBQ2hCLFNBQUMsQ0FBQyxxQkFBRCxDQUFELENBQXlCYyxHQUF6QixDQUE2QixTQUE3QixFQUF3QyxFQUF4QyxFQUE0Q0EsR0FBNUMsQ0FBZ0QsV0FBaEQsRUFBNkQsRUFBN0Q7QUFBa0U7QUFMSCxLQUFoRjtBQVFIOztBQUVEUSwyQkFBeUIsR0FBRztBQUN4QnRCLEtBQUMsQ0FBQyxxQkFBRCxDQUFELENBQXlCdUIsUUFBekIsQ0FBa0MsbUJBQWxDLEVBQXVEYixPQUF2RCxDQUErRDtBQUFDQyxhQUFPLEVBQUU7QUFBVixLQUEvRCxFQUE2RTtBQUN6RUMsVUFBSSxFQUFFLFVBQVNDLEdBQVQsRUFBYztBQUNsQmIsU0FBQyxDQUFDLElBQUQsQ0FBRCxDQUFRYyxHQUFSLENBQVksV0FBWixFQUEwQixTQUFRLE9BQU9ELEdBQVAsR0FBYSxJQUFLLG1CQUFwRDtBQUNELE9BSHdFO0FBSXpFRSxjQUFRLEVBQUU7QUFKK0QsS0FBN0U7QUFNSDs7QUFFRFMsUUFBTSxHQUFHO0FBQ0wsV0FBTy9CLDZDQUFLLENBQUNnQyxhQUFOLENBQ0gsS0FERyxFQUVIO0FBQUNDLGVBQVMsRUFBRSw2QkFBWjtBQUEyQ3ZCLFFBQUUsRUFBRSxLQUFLUCxLQUFMLENBQVdPLEVBQTFEO0FBQThEd0IsU0FBRyxFQUFFLEtBQUs5QixPQUF4RTtBQUFpRitCLFdBQUssRUFBRTtBQUFDakIsZUFBTyxFQUFFLENBQVY7QUFBYWtCLGlCQUFTLEVBQUU7QUFBeEI7QUFBeEYsS0FGRyxFQUdILEtBQUtqQyxLQUFMLENBQVdrQyxRQUhSLENBQVA7QUFLSDs7QUExRDhDIiwiZmlsZSI6Ii4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvbGF5ZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlYWN0LCBSZWFjdERPTX0gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExheWVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgICAgICB0aGlzLnJvb3RSZWYgPSBSZWFjdC5jcmVhdGVSZWYoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgICAgICAkKHdpbmRvdykub24oYGtleXVwLiR7dGhpcy5wcm9wcy5pZH1gLCBlID0+IHtcclxuICAgICAgICAgICAgaWYgKGUud2hpY2ggPT09IDI3KSB7XHJcbiAgICAgICAgICAgICAgICBSZWFjdERPTS51bm1vdW50Q29tcG9uZW50QXROb2RlKHRoaXMucm9vdFJlZi5jdXJyZW50LnBhcmVudE5vZGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoYCMke3RoaXMucHJvcHMuaWR9YCkuYW5pbWF0ZSh7b3BhY2l0eTogMX0sIHtcclxuICAgICAgICAgICAgc3RlcDogZnVuY3Rpb24obm93KSB7XHJcbiAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoXCJ0cmFuc2Zvcm1cIiwgYHNjYWxlKCR7MS4xIC0gMC4xICogbm93fSkgdHJhbnNsYXRlWigwcHgpYCk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOiAyMDAsXHJcbiAgICAgICAgICAgIGRvbmU6ICgpID0+IHskKGAjJHt0aGlzLnByb3BzLmlkfWApLmNzcyhcIm9wYWNpdHlcIiwgXCJcIikuY3NzKFwidHJhbnNmb3JtXCIsIFwiXCIpO31cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgICAgICAkKHdpbmRvdykub2ZmKGBrZXl1cC4ke3RoaXMucHJvcHMuaWR9YCk7XHJcbiAgICAgICAgJChgIyR7dGhpcy5wcm9wcy5pZH1gKS5hbmltYXRlKHtvcGFjaXR5OiAwfSwge1xyXG4gICAgICAgICAgICBzdGVwOiBmdW5jdGlvbihub3cpIHtcclxuICAgICAgICAgICAgICAkKHRoaXMpLmNzcyhcInRyYW5zZm9ybVwiLCBgc2NhbGUoJHsxLjEgLSAwLjEgKiBub3d9KSB0cmFuc2xhdGVaKDBweClgKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZHVyYXRpb246IDIwMCxcclxuICAgICAgICAgICAgZG9uZTogKCkgPT4geyQoYCMke3RoaXMucHJvcHMucm9vdElkfWApLnJlbW92ZSgpO31cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgJChcIltjbGFzcyo9XFxcImxheWVyLVxcXCJdXCIpLnJlbW92ZUNsYXNzKFwicHVibGljU2VydmVyc09wZW5cIikuYW5pbWF0ZSh7b3BhY2l0eTogMX0sIHtcclxuICAgICAgICAgICAgc3RlcDogZnVuY3Rpb24obm93KSB7XHJcbiAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoXCJ0cmFuc2Zvcm1cIiwgYHNjYWxlKCR7MC4wNyAqIG5vdyArIDAuOTN9KSB0cmFuc2xhdGVaKDBweClgKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZHVyYXRpb246IDIwMCxcclxuICAgICAgICAgICAgZG9uZTogKCkgPT4geyQoXCJbY2xhc3MqPVxcXCJsYXllci1cXFwiXVwiKS5jc3MoXCJvcGFjaXR5XCIsIFwiXCIpLmNzcyhcInRyYW5zZm9ybVwiLCBcIlwiKTt9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIFVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSB7XHJcbiAgICAgICAgJChcIltjbGFzcyo9XFxcImxheWVyLVxcXCJdXCIpLmFkZENsYXNzKFwicHVibGljU2VydmVyc09wZW5cIikuYW5pbWF0ZSh7b3BhY2l0eTogMH0sIHtcclxuICAgICAgICAgICAgc3RlcDogZnVuY3Rpb24obm93KSB7XHJcbiAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoXCJ0cmFuc2Zvcm1cIiwgYHNjYWxlKCR7MC4wNyAqIG5vdyArIDAuOTN9KSB0cmFuc2xhdGVaKDBweClgKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZHVyYXRpb246IDIwMFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2NsYXNzTmFtZTogXCJsYXllciBiZC1sYXllciBsYXllci0zUXJVZUdcIiwgaWQ6IHRoaXMucHJvcHMuaWQsIHJlZjogdGhpcy5yb290UmVmLCBzdHlsZToge29wYWNpdHk6IDAsIHRyYW5zZm9ybTogXCJzY2FsZSgxLjEpIHRyYW5zbGF0ZVooMHB4KVwifX0sXHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMuY2hpbGRyZW5cclxuICAgICAgICApO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/publicservers/layer.js\n"); /***/ }), @@ -623,7 +659,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return V2C_PublicServers; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _sidebarview__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sidebarview */ \"./src/ui/publicservers/sidebarview.js\");\n/* harmony import */ var _exitbutton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./exitbutton */ \"./src/ui/publicservers/exitbutton.js\");\n/* harmony import */ var _tabbar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tabbar */ \"./src/ui/publicservers/tabbar.js\");\n/* harmony import */ var _settings_title__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../settings/title */ \"./src/ui/settings/title.jsx\");\n/* harmony import */ var _card__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./card */ \"./src/ui/publicservers/card.js\");\n\n\n\n\n\n\nclass V2C_PublicServers extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.setInitialState();\n this.close = this.close.bind(this);\n this.changeCategory = this.changeCategory.bind(this);\n this.search = this.search.bind(this);\n this.searchKeyDown = this.searchKeyDown.bind(this);\n this.checkConnection = this.checkConnection.bind(this);\n this.join = this.join.bind(this);\n this.connect = this.connect.bind(this);\n this.GuildStore = modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"getGuilds\");\n this.AvatarDefaults = modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"getUserAvatarURL\", \"DEFAULT_AVATARS\");\n this.InviteActions = modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"acceptInvite\");\n this.SortedGuildStore = modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"getSortedGuilds\");\n }\n\n componentDidMount() {\n this.checkConnection();\n }\n\n setInitialState() {\n this.state = {\n selectedCategory: -1,\n title: \"Loading...\",\n loading: true,\n servers: [],\n next: null,\n connection: {\n state: 0,\n user: null\n }\n };\n }\n\n close() {\n modules__WEBPACK_IMPORTED_MODULE_0__[\"ReactDOM\"].unmountComponentAtNode(document.getElementById(this.props.rootId));\n }\n\n search(query, clear) {\n const self = this;\n $.ajax({\n method: \"GET\",\n url: `${self.endPoint}${query}${query ? \"&schema=new\" : \"?schema=new\"}`,\n success: data => {\n let servers = data.results.reduce((arr, server) => {\n server.joined = false;\n arr.push(server); // arr.push();\n\n return arr;\n }, []);\n\n if (!clear) {\n servers = self.state.servers.concat(servers);\n } else {//servers.unshift(self.bdServer);\n }\n\n let end = data.size + data.from;\n data.next = `?from=${end}`;\n if (self.state.term) data.next += `&term=${self.state.term}`;\n if (self.state.selectedCategory) data.next += `&category=${self.categoryButtons[self.state.selectedCategory]}`;\n\n if (end >= data.total) {\n end = data.total;\n data.next = null;\n }\n\n let title = `Showing 1-${end} of ${data.total} results in ${self.categoryButtons[self.state.selectedCategory]}`;\n if (self.state.term) title += ` for ${self.state.term}`;\n self.setState({\n loading: false,\n title: title,\n servers: servers,\n next: data.next\n });\n\n if (clear) {\n //console.log(self);\n self.refs.sbv.refs.contentScroller.scrollTop = 0;\n }\n },\n error: () => {\n self.setState({\n loading: false,\n title: \"Failed to load servers. Check console for details\"\n });\n }\n });\n }\n\n join(serverCard) {\n if (serverCard.props.pinned) return this.InviteActions.acceptInvite(serverCard.props.invite_code);\n $.ajax({\n method: \"GET\",\n url: `${this.joinEndPoint}/${serverCard.props.server.identifier}`,\n headers: {\n \"Accept\": \"application/json;\",\n \"Content-Type\": \"application/json;\",\n \"x-discord-token\": this.state.connection.user.accessToken\n },\n crossDomain: true,\n xhrFields: {\n withCredentials: true\n },\n success: () => {\n serverCard.setState({\n joined: true\n });\n }\n });\n }\n\n connect() {\n const options = this.windowOptions;\n options.x = Math.round(window.screenX + window.innerWidth / 2 - options.width / 2);\n options.y = Math.round(window.screenY + window.innerHeight / 2 - options.height / 2);\n this.joinWindow = new (window.require(\"electron\").remote.BrowserWindow)(options);\n const url = \"https://auth.discordservers.com/connect?scopes=guilds.join&previousUrl=https://auth.discordservers.com/info\";\n this.joinWindow.webContents.on(\"did-navigate\", (event, url) => {\n if (url != \"https://auth.discordservers.com/info\") return;\n this.joinWindow.close();\n this.checkConnection();\n });\n this.joinWindow.loadURL(url);\n }\n\n get windowOptions() {\n return {\n width: 500,\n height: 550,\n backgroundColor: \"#282b30\",\n show: true,\n resizable: false,\n maximizable: false,\n minimizable: false,\n alwaysOnTop: true,\n frame: false,\n center: false,\n webPreferences: {\n nodeIntegration: false\n }\n };\n }\n\n get bdServer() {\n const server = {\n name: \"BetterDiscord\",\n online: \"7500+\",\n members: \"20000+\",\n categories: [\"community\", \"programming\", \"support\"],\n description: \"Official BetterDiscord server for support etc\",\n identifier: \"86004744966914048\",\n iconUrl: \"https://cdn.discordapp.com/icons/86004744966914048/292e7f6bfff2b71dfd13e508a859aedd.webp\",\n nativejoin: true,\n invite_code: \"0Tmfo5ZbORCRqbAd\",\n pinned: true\n };\n const guildList = this.SortedGuildStore.guildPositions;\n const defaultList = this.AvatarDefaults.DEFAULT_AVATARS;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_card__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n server: server,\n pinned: true,\n join: this.join,\n guildList: guildList,\n fallback: defaultList[Math.floor(Math.random() * 5)]\n });\n }\n\n get endPoint() {\n return \"https://search.discordservers.com\";\n }\n\n get joinEndPoint() {\n return \"https://j.discordservers.com\";\n }\n\n get connectEndPoint() {\n return \"https://join.discordservers.com/connect\";\n }\n\n checkConnection() {\n const self = this;\n\n try {\n $.ajax({\n method: \"GET\",\n url: `https://auth.discordservers.com/info`,\n headers: {\n \"Accept\": \"application/json;\",\n \"Content-Type\": \"application/json;\"\n },\n crossDomain: true,\n xhrFields: {\n withCredentials: true\n },\n success: data => {\n // Utils.log(\"PublicServer\", \"Got data: \" + JSON.stringify(data));\n self.setState({\n selectedCategory: 0,\n connection: {\n state: 2,\n user: data\n }\n });\n self.search(\"\", true);\n },\n error: () => {\n self.setState({\n title: \"Not connected to discordservers.com!\",\n loading: true,\n selectedCategory: -1,\n connection: {\n state: 1,\n user: null\n }\n });\n }\n });\n } catch (error) {\n self.setState({\n title: \"Not connected to discordservers.com!\",\n loading: true,\n selectedCategory: -1,\n connection: {\n state: 1,\n user: null\n }\n });\n }\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_sidebarview__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n ref: \"sbv\",\n children: this.component\n });\n }\n\n get component() {\n return {\n sidebar: {\n component: this.sidebar\n },\n content: {\n component: this.content\n },\n tools: {\n component: modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_exitbutton__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n key: \"pt\",\n ref: \"tools\",\n onClick: this.close\n })\n }\n };\n }\n\n get sidebar() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"sidebar\",\n key: \"ps\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-tab-bar SIDE\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-tab-bar-header\",\n style: {\n fontSize: \"16px\"\n }\n }, \"Public Servers\"), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Separator, null), this.searchInput, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Separator, null), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Header, {\n text: \"Categories\"\n }), this.categoryButtons.map((value, index) => {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Item, {\n id: index,\n onClick: this.changeCategory,\n key: index,\n text: value,\n selected: this.state.selectedCategory === index\n });\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Separator, null), this.footer, this.connection));\n }\n\n get searchInput() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-form-item\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-text-input flex-vertical\",\n style: {\n width: \"172px\",\n marginLeft: \"10px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"input\", {\n ref: \"searchinput\",\n onKeyDown: this.searchKeyDown,\n onChange: () => {},\n type: \"text\",\n className: \"input default\",\n placeholder: \"Search...\",\n maxLength: \"50\"\n })));\n }\n\n searchKeyDown(e) {\n const self = this;\n if (self.state.loading || e.which !== 13) return;\n self.setState({\n loading: true,\n title: \"Loading...\",\n term: e.target.value\n });\n let query = `?term=${e.target.value}`;\n\n if (self.state.selectedCategory !== 0) {\n query += `&category=${self.categoryButtons[self.state.selectedCategory]}`;\n }\n\n self.search(query, true);\n }\n\n get categoryButtons() {\n return [\"All\", \"FPS Games\", \"MMO Games\", \"Strategy Games\", \"MOBA Games\", \"RPG Games\", \"Tabletop Games\", \"Sandbox Games\", \"Simulation Games\", \"Music\", \"Community\", \"Language\", \"Programming\", \"Other\"];\n }\n\n changeCategory(id) {\n const self = this;\n if (self.state.loading) return;\n self.refs.searchinput.value = \"\";\n self.setState({\n loading: true,\n selectedCategory: id,\n title: \"Loading...\",\n term: null\n });\n\n if (id === 0) {\n self.search(\"\", true);\n return;\n }\n\n self.search(`?category=${self.categoryButtons[id]}`, true);\n }\n\n get content() {\n const self = this;\n const guildList = this.SortedGuildStore.guildPositions;\n const defaultList = this.AvatarDefaults.DEFAULT_AVATARS;\n if (self.state.connection.state === 1) return self.notConnected;\n return [modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n ref: \"content\",\n key: \"pc\",\n className: \"contentColumn-2hrIYH contentColumnDefault-1VQkGM content-column default\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_settings_title__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n text: self.state.title\n }), self.bdServer, self.state.servers.map(server => {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_card__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n key: server.identifier,\n server: server,\n join: self.join,\n guildList: guildList,\n fallback: defaultList[Math.floor(Math.random() * 5)]\n });\n }), self.state.next && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n type: \"button\",\n onClick: () => {\n if (self.state.loading) return;\n self.setState({\n loading: true\n });\n self.search(self.state.next, false);\n },\n className: \"ui-button filled brand small grow\",\n style: {\n width: \"100%\",\n marginTop: \"10px\",\n marginBottom: \"10px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\"\n }, self.state.loading ? \"Loading\" : \"Load More\")), self.state.servers.length > 0 && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_settings_title__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n text: self.state.title\n }))];\n }\n\n get notConnected() {\n const self = this; //return React.createElement(SettingsTitle, { text: self.state.title });\n\n return [modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n key: \"ncc\",\n ref: \"content\",\n className: \"contentColumn-2hrIYH contentColumnDefault-1VQkGM content-column default\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"h2\", {\n className: \"ui-form-title h2 margin-reset margin-bottom-20\"\n }, \"Not connected to discordservers.com!\", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n onClick: self.connect,\n type: \"button\",\n className: \"ui-button filled brand small grow\",\n style: {\n display: \"inline-block\",\n minHeight: \"18px\",\n marginLeft: \"10px\",\n lineHeight: \"14px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\"\n }, \"Connect\"))), self.bdServer)];\n }\n\n get footer() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-tab-bar-header\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"a\", {\n href: \"https://discordservers.com\",\n target: \"_blank\"\n }, \"Discordservers.com\"));\n }\n\n get connection() {\n const self = this;\n const {\n connection\n } = self.state;\n if (connection.state !== 2) return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", null);\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", null, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Separator, null), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n style: {\n color: \"#b9bbbe\",\n fontSize: \"10px\",\n marginLeft: \"10px\"\n }\n }, \"Connected as: \", `${connection.user.username}#${connection.user.discriminator}`), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n style: {\n padding: \"5px 10px 0 10px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n style: {\n width: \"100%\",\n minHeight: \"20px\"\n },\n type: \"button\",\n className: \"ui-button filled brand small grow\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\",\n onClick: self.connect\n }, \"Reconnect\"))));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvbWVudS5qcz85YWNkIl0sIm5hbWVzIjpbIlYyQ19QdWJsaWNTZXJ2ZXJzIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwic2V0SW5pdGlhbFN0YXRlIiwiY2xvc2UiLCJiaW5kIiwiY2hhbmdlQ2F0ZWdvcnkiLCJzZWFyY2giLCJzZWFyY2hLZXlEb3duIiwiY2hlY2tDb25uZWN0aW9uIiwiam9pbiIsImNvbm5lY3QiLCJHdWlsZFN0b3JlIiwiV2VicGFja01vZHVsZXMiLCJnZXRCeVByb3BzIiwiQXZhdGFyRGVmYXVsdHMiLCJJbnZpdGVBY3Rpb25zIiwiU29ydGVkR3VpbGRTdG9yZSIsImNvbXBvbmVudERpZE1vdW50Iiwic3RhdGUiLCJzZWxlY3RlZENhdGVnb3J5IiwidGl0bGUiLCJsb2FkaW5nIiwic2VydmVycyIsIm5leHQiLCJjb25uZWN0aW9uIiwidXNlciIsIlJlYWN0RE9NIiwidW5tb3VudENvbXBvbmVudEF0Tm9kZSIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJyb290SWQiLCJxdWVyeSIsImNsZWFyIiwic2VsZiIsIiQiLCJhamF4IiwibWV0aG9kIiwidXJsIiwiZW5kUG9pbnQiLCJzdWNjZXNzIiwiZGF0YSIsInJlc3VsdHMiLCJyZWR1Y2UiLCJhcnIiLCJzZXJ2ZXIiLCJqb2luZWQiLCJwdXNoIiwiY29uY2F0IiwiZW5kIiwic2l6ZSIsImZyb20iLCJ0ZXJtIiwiY2F0ZWdvcnlCdXR0b25zIiwidG90YWwiLCJzZXRTdGF0ZSIsInJlZnMiLCJzYnYiLCJjb250ZW50U2Nyb2xsZXIiLCJzY3JvbGxUb3AiLCJlcnJvciIsInNlcnZlckNhcmQiLCJwaW5uZWQiLCJhY2NlcHRJbnZpdGUiLCJpbnZpdGVfY29kZSIsImpvaW5FbmRQb2ludCIsImlkZW50aWZpZXIiLCJoZWFkZXJzIiwiYWNjZXNzVG9rZW4iLCJjcm9zc0RvbWFpbiIsInhockZpZWxkcyIsIndpdGhDcmVkZW50aWFscyIsIm9wdGlvbnMiLCJ3aW5kb3dPcHRpb25zIiwieCIsIk1hdGgiLCJyb3VuZCIsIndpbmRvdyIsInNjcmVlblgiLCJpbm5lcldpZHRoIiwid2lkdGgiLCJ5Iiwic2NyZWVuWSIsImlubmVySGVpZ2h0IiwiaGVpZ2h0Iiwiam9pbldpbmRvdyIsInJlcXVpcmUiLCJyZW1vdGUiLCJCcm93c2VyV2luZG93Iiwid2ViQ29udGVudHMiLCJvbiIsImV2ZW50IiwibG9hZFVSTCIsImJhY2tncm91bmRDb2xvciIsInNob3ciLCJyZXNpemFibGUiLCJtYXhpbWl6YWJsZSIsIm1pbmltaXphYmxlIiwiYWx3YXlzT25Ub3AiLCJmcmFtZSIsImNlbnRlciIsIndlYlByZWZlcmVuY2VzIiwibm9kZUludGVncmF0aW9uIiwiYmRTZXJ2ZXIiLCJuYW1lIiwib25saW5lIiwibWVtYmVycyIsImNhdGVnb3JpZXMiLCJkZXNjcmlwdGlvbiIsImljb25VcmwiLCJuYXRpdmVqb2luIiwiZ3VpbGRMaXN0IiwiZ3VpbGRQb3NpdGlvbnMiLCJkZWZhdWx0TGlzdCIsIkRFRkFVTFRfQVZBVEFSUyIsImNyZWF0ZUVsZW1lbnQiLCJTZXJ2ZXJDYXJkIiwiZmFsbGJhY2siLCJmbG9vciIsInJhbmRvbSIsImNvbm5lY3RFbmRQb2ludCIsInJlbmRlciIsIlNpZGViYXJWaWV3IiwicmVmIiwiY2hpbGRyZW4iLCJjb21wb25lbnQiLCJzaWRlYmFyIiwiY29udGVudCIsInRvb2xzIiwiVG9vbHMiLCJrZXkiLCJvbkNsaWNrIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJmb250U2l6ZSIsIlRhYkJhciIsIlNlcGFyYXRvciIsInNlYXJjaElucHV0IiwiSGVhZGVyIiwidGV4dCIsIm1hcCIsInZhbHVlIiwiaW5kZXgiLCJJdGVtIiwiaWQiLCJzZWxlY3RlZCIsImZvb3RlciIsIm1hcmdpbkxlZnQiLCJvbktleURvd24iLCJvbkNoYW5nZSIsInR5cGUiLCJwbGFjZWhvbGRlciIsIm1heExlbmd0aCIsImUiLCJ3aGljaCIsInRhcmdldCIsInNlYXJjaGlucHV0Iiwibm90Q29ubmVjdGVkIiwiU2V0dGluZ3NUaXRsZSIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSIsImxlbmd0aCIsImRpc3BsYXkiLCJtaW5IZWlnaHQiLCJsaW5lSGVpZ2h0IiwiaHJlZiIsImNvbG9yIiwidXNlcm5hbWUiLCJkaXNjcmltaW5hdG9yIiwicGFkZGluZyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVlLE1BQU1BLGlCQUFOLFNBQWdDQyw2Q0FBSyxDQUFDQyxTQUF0QyxDQUFnRDtBQUUzREMsYUFBVyxDQUFDQyxLQUFELEVBQVE7QUFDZixVQUFNQSxLQUFOO0FBQ0EsU0FBS0MsZUFBTDtBQUNBLFNBQUtDLEtBQUwsR0FBYSxLQUFLQSxLQUFMLENBQVdDLElBQVgsQ0FBZ0IsSUFBaEIsQ0FBYjtBQUNBLFNBQUtDLGNBQUwsR0FBc0IsS0FBS0EsY0FBTCxDQUFvQkQsSUFBcEIsQ0FBeUIsSUFBekIsQ0FBdEI7QUFDQSxTQUFLRSxNQUFMLEdBQWMsS0FBS0EsTUFBTCxDQUFZRixJQUFaLENBQWlCLElBQWpCLENBQWQ7QUFDQSxTQUFLRyxhQUFMLEdBQXFCLEtBQUtBLGFBQUwsQ0FBbUJILElBQW5CLENBQXdCLElBQXhCLENBQXJCO0FBQ0EsU0FBS0ksZUFBTCxHQUF1QixLQUFLQSxlQUFMLENBQXFCSixJQUFyQixDQUEwQixJQUExQixDQUF2QjtBQUNBLFNBQUtLLElBQUwsR0FBWSxLQUFLQSxJQUFMLENBQVVMLElBQVYsQ0FBZSxJQUFmLENBQVo7QUFDQSxTQUFLTSxPQUFMLEdBQWUsS0FBS0EsT0FBTCxDQUFhTixJQUFiLENBQWtCLElBQWxCLENBQWY7QUFFQSxTQUFLTyxVQUFMLEdBQWtCQyxzREFBYyxDQUFDQyxVQUFmLENBQTBCLFdBQTFCLENBQWxCO0FBQ0EsU0FBS0MsY0FBTCxHQUFzQkYsc0RBQWMsQ0FBQ0MsVUFBZixDQUEwQixrQkFBMUIsRUFBOEMsaUJBQTlDLENBQXRCO0FBQ0EsU0FBS0UsYUFBTCxHQUFxQkgsc0RBQWMsQ0FBQ0MsVUFBZixDQUEwQixjQUExQixDQUFyQjtBQUNBLFNBQUtHLGdCQUFMLEdBQXdCSixzREFBYyxDQUFDQyxVQUFmLENBQTBCLGlCQUExQixDQUF4QjtBQUNIOztBQUVESSxtQkFBaUIsR0FBRztBQUNoQixTQUFLVCxlQUFMO0FBQ0Y7O0FBRUZOLGlCQUFlLEdBQUc7QUFDZCxTQUFLZ0IsS0FBTCxHQUFhO0FBQ1RDLHNCQUFnQixFQUFFLENBQUMsQ0FEVjtBQUVUQyxXQUFLLEVBQUUsWUFGRTtBQUdUQyxhQUFPLEVBQUUsSUFIQTtBQUlUQyxhQUFPLEVBQUUsRUFKQTtBQUtUQyxVQUFJLEVBQUUsSUFMRztBQU1UQyxnQkFBVSxFQUFFO0FBQ1JOLGFBQUssRUFBRSxDQURDO0FBRVJPLFlBQUksRUFBRTtBQUZFO0FBTkgsS0FBYjtBQVdIOztBQUVEdEIsT0FBSyxHQUFHO0FBQ0p1QixvREFBUSxDQUFDQyxzQkFBVCxDQUFnQ0MsUUFBUSxDQUFDQyxjQUFULENBQXdCLEtBQUs1QixLQUFMLENBQVc2QixNQUFuQyxDQUFoQztBQUNIOztBQUVEeEIsUUFBTSxDQUFDeUIsS0FBRCxFQUFRQyxLQUFSLEVBQWU7QUFDakIsVUFBTUMsSUFBSSxHQUFHLElBQWI7QUFFQUMsS0FBQyxDQUFDQyxJQUFGLENBQU87QUFDSEMsWUFBTSxFQUFFLEtBREw7QUFFSEMsU0FBRyxFQUFHLEdBQUVKLElBQUksQ0FBQ0ssUUFBUyxHQUFFUCxLQUFNLEdBQUVBLEtBQUssR0FBRyxhQUFILEdBQW1CLGFBQWMsRUFGbkU7QUFHSFEsYUFBTyxFQUFFQyxJQUFJLElBQUk7QUFDYixZQUFJbEIsT0FBTyxHQUFHa0IsSUFBSSxDQUFDQyxPQUFMLENBQWFDLE1BQWIsQ0FBb0IsQ0FBQ0MsR0FBRCxFQUFNQyxNQUFOLEtBQWlCO0FBQy9DQSxnQkFBTSxDQUFDQyxNQUFQLEdBQWdCLEtBQWhCO0FBQ0FGLGFBQUcsQ0FBQ0csSUFBSixDQUFTRixNQUFULEVBRitDLENBRy9DOztBQUNBLGlCQUFPRCxHQUFQO0FBQ0gsU0FMYSxFQUtYLEVBTFcsQ0FBZDs7QUFPQSxZQUFJLENBQUNYLEtBQUwsRUFBWTtBQUNSVixpQkFBTyxHQUFHVyxJQUFJLENBQUNmLEtBQUwsQ0FBV0ksT0FBWCxDQUFtQnlCLE1BQW5CLENBQTBCekIsT0FBMUIsQ0FBVjtBQUNILFNBRkQsTUFHSyxDQUNEO0FBQ0g7O0FBRUQsWUFBSTBCLEdBQUcsR0FBR1IsSUFBSSxDQUFDUyxJQUFMLEdBQVlULElBQUksQ0FBQ1UsSUFBM0I7QUFDQVYsWUFBSSxDQUFDakIsSUFBTCxHQUFhLFNBQVF5QixHQUFJLEVBQXpCO0FBQ0EsWUFBSWYsSUFBSSxDQUFDZixLQUFMLENBQVdpQyxJQUFmLEVBQXFCWCxJQUFJLENBQUNqQixJQUFMLElBQWMsU0FBUVUsSUFBSSxDQUFDZixLQUFMLENBQVdpQyxJQUFLLEVBQXRDO0FBQ3JCLFlBQUlsQixJQUFJLENBQUNmLEtBQUwsQ0FBV0MsZ0JBQWYsRUFBaUNxQixJQUFJLENBQUNqQixJQUFMLElBQWMsYUFBWVUsSUFBSSxDQUFDbUIsZUFBTCxDQUFxQm5CLElBQUksQ0FBQ2YsS0FBTCxDQUFXQyxnQkFBaEMsQ0FBa0QsRUFBNUU7O0FBQ2pDLFlBQUk2QixHQUFHLElBQUlSLElBQUksQ0FBQ2EsS0FBaEIsRUFBdUI7QUFDbkJMLGFBQUcsR0FBR1IsSUFBSSxDQUFDYSxLQUFYO0FBQ0FiLGNBQUksQ0FBQ2pCLElBQUwsR0FBWSxJQUFaO0FBQ0g7O0FBRUQsWUFBSUgsS0FBSyxHQUFJLGFBQVk0QixHQUFJLE9BQU1SLElBQUksQ0FBQ2EsS0FBTSxlQUFjcEIsSUFBSSxDQUFDbUIsZUFBTCxDQUFxQm5CLElBQUksQ0FBQ2YsS0FBTCxDQUFXQyxnQkFBaEMsQ0FBa0QsRUFBOUc7QUFDQSxZQUFJYyxJQUFJLENBQUNmLEtBQUwsQ0FBV2lDLElBQWYsRUFBcUIvQixLQUFLLElBQUssUUFBT2EsSUFBSSxDQUFDZixLQUFMLENBQVdpQyxJQUFLLEVBQWpDO0FBRXJCbEIsWUFBSSxDQUFDcUIsUUFBTCxDQUFjO0FBQ1ZqQyxpQkFBTyxFQUFFLEtBREM7QUFFVkQsZUFBSyxFQUFFQSxLQUZHO0FBR1ZFLGlCQUFPLEVBQUVBLE9BSEM7QUFJVkMsY0FBSSxFQUFFaUIsSUFBSSxDQUFDakI7QUFKRCxTQUFkOztBQU9BLFlBQUlTLEtBQUosRUFBVztBQUNQO0FBQ0FDLGNBQUksQ0FBQ3NCLElBQUwsQ0FBVUMsR0FBVixDQUFjRCxJQUFkLENBQW1CRSxlQUFuQixDQUFtQ0MsU0FBbkMsR0FBK0MsQ0FBL0M7QUFDSDtBQUNKLE9BekNFO0FBMENIQyxXQUFLLEVBQUUsTUFBTTtBQUNUMUIsWUFBSSxDQUFDcUIsUUFBTCxDQUFjO0FBQ1ZqQyxpQkFBTyxFQUFFLEtBREM7QUFFVkQsZUFBSyxFQUFFO0FBRkcsU0FBZDtBQUlIO0FBL0NFLEtBQVA7QUFpREg7O0FBRURYLE1BQUksQ0FBQ21ELFVBQUQsRUFBYTtBQUNiLFFBQUlBLFVBQVUsQ0FBQzNELEtBQVgsQ0FBaUI0RCxNQUFyQixFQUE2QixPQUFPLEtBQUs5QyxhQUFMLENBQW1CK0MsWUFBbkIsQ0FBZ0NGLFVBQVUsQ0FBQzNELEtBQVgsQ0FBaUI4RCxXQUFqRCxDQUFQO0FBQzdCN0IsS0FBQyxDQUFDQyxJQUFGLENBQU87QUFDSEMsWUFBTSxFQUFFLEtBREw7QUFFSEMsU0FBRyxFQUFHLEdBQUUsS0FBSzJCLFlBQWEsSUFBR0osVUFBVSxDQUFDM0QsS0FBWCxDQUFpQjJDLE1BQWpCLENBQXdCcUIsVUFBVyxFQUY3RDtBQUdIQyxhQUFPLEVBQUU7QUFDTCxrQkFBVSxtQkFETDtBQUVMLHdCQUFnQixtQkFGWDtBQUdMLDJCQUFtQixLQUFLaEQsS0FBTCxDQUFXTSxVQUFYLENBQXNCQyxJQUF0QixDQUEyQjBDO0FBSHpDLE9BSE47QUFRSEMsaUJBQVcsRUFBRSxJQVJWO0FBU0hDLGVBQVMsRUFBRTtBQUNQQyx1QkFBZSxFQUFFO0FBRFYsT0FUUjtBQVlIL0IsYUFBTyxFQUFFLE1BQU07QUFDWHFCLGtCQUFVLENBQUNOLFFBQVgsQ0FBb0I7QUFBQ1QsZ0JBQU0sRUFBRTtBQUFULFNBQXBCO0FBQ0g7QUFkRSxLQUFQO0FBZ0JIOztBQUVEbkMsU0FBTyxHQUFHO0FBQ04sVUFBTTZELE9BQU8sR0FBRyxLQUFLQyxhQUFyQjtBQUNBRCxXQUFPLENBQUNFLENBQVIsR0FBWUMsSUFBSSxDQUFDQyxLQUFMLENBQVdDLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQkQsTUFBTSxDQUFDRSxVQUFQLEdBQW9CLENBQXJDLEdBQXlDUCxPQUFPLENBQUNRLEtBQVIsR0FBZ0IsQ0FBcEUsQ0FBWjtBQUNBUixXQUFPLENBQUNTLENBQVIsR0FBWU4sSUFBSSxDQUFDQyxLQUFMLENBQVdDLE1BQU0sQ0FBQ0ssT0FBUCxHQUFpQkwsTUFBTSxDQUFDTSxXQUFQLEdBQXFCLENBQXRDLEdBQTBDWCxPQUFPLENBQUNZLE1BQVIsR0FBaUIsQ0FBdEUsQ0FBWjtBQUVBLFNBQUtDLFVBQUwsR0FBa0IsS0FBS1IsTUFBTSxDQUFDUyxPQUFQLENBQWUsVUFBZixFQUEyQkMsTUFBM0IsQ0FBa0NDLGFBQXZDLEVBQXNEaEIsT0FBdEQsQ0FBbEI7QUFDQSxVQUFNbEMsR0FBRyxHQUFHLDZHQUFaO0FBQ0EsU0FBSytDLFVBQUwsQ0FBZ0JJLFdBQWhCLENBQTRCQyxFQUE1QixDQUErQixjQUEvQixFQUErQyxDQUFDQyxLQUFELEVBQVFyRCxHQUFSLEtBQWdCO0FBQzNELFVBQUlBLEdBQUcsSUFBSSxzQ0FBWCxFQUFtRDtBQUNuRCxXQUFLK0MsVUFBTCxDQUFnQmpGLEtBQWhCO0FBQ0EsV0FBS0ssZUFBTDtBQUNILEtBSkQ7QUFLQSxTQUFLNEUsVUFBTCxDQUFnQk8sT0FBaEIsQ0FBd0J0RCxHQUF4QjtBQUNIOztBQUVELE1BQUltQyxhQUFKLEdBQW9CO0FBQ2hCLFdBQU87QUFDSE8sV0FBSyxFQUFFLEdBREo7QUFFSEksWUFBTSxFQUFFLEdBRkw7QUFHSFMscUJBQWUsRUFBRSxTQUhkO0FBSUhDLFVBQUksRUFBRSxJQUpIO0FBS0hDLGVBQVMsRUFBRSxLQUxSO0FBTUhDLGlCQUFXLEVBQUUsS0FOVjtBQU9IQyxpQkFBVyxFQUFFLEtBUFY7QUFRSEMsaUJBQVcsRUFBRSxJQVJWO0FBU0hDLFdBQUssRUFBRSxLQVRKO0FBVUhDLFlBQU0sRUFBRSxLQVZMO0FBV0hDLG9CQUFjLEVBQUU7QUFDWkMsdUJBQWUsRUFBRTtBQURMO0FBWGIsS0FBUDtBQWVIOztBQUVELE1BQUlDLFFBQUosR0FBZTtBQUNYLFVBQU0xRCxNQUFNLEdBQUc7QUFDWDJELFVBQUksRUFBRSxlQURLO0FBRVhDLFlBQU0sRUFBRSxPQUZHO0FBR1hDLGFBQU8sRUFBRSxRQUhFO0FBSVhDLGdCQUFVLEVBQUUsQ0FBQyxXQUFELEVBQWMsYUFBZCxFQUE2QixTQUE3QixDQUpEO0FBS1hDLGlCQUFXLEVBQUUsK0NBTEY7QUFNWDFDLGdCQUFVLEVBQUUsbUJBTkQ7QUFPWDJDLGFBQU8sRUFBRSwwRkFQRTtBQVFYQyxnQkFBVSxFQUFFLElBUkQ7QUFTWDlDLGlCQUFXLEVBQUUsa0JBVEY7QUFVWEYsWUFBTSxFQUFFO0FBVkcsS0FBZjtBQVlBLFVBQU1pRCxTQUFTLEdBQUcsS0FBSzlGLGdCQUFMLENBQXNCK0YsY0FBeEM7QUFDQSxVQUFNQyxXQUFXLEdBQUcsS0FBS2xHLGNBQUwsQ0FBb0JtRyxlQUF4QztBQUNBLFdBQU9uSCw2Q0FBSyxDQUFDb0gsYUFBTixDQUFvQkMsNkNBQXBCLEVBQWdDO0FBQUN2RSxZQUFNLEVBQUVBLE1BQVQ7QUFBaUJpQixZQUFNLEVBQUUsSUFBekI7QUFBK0JwRCxVQUFJLEVBQUUsS0FBS0EsSUFBMUM7QUFBZ0RxRyxlQUFTLEVBQUVBLFNBQTNEO0FBQXNFTSxjQUFRLEVBQUVKLFdBQVcsQ0FBQ3RDLElBQUksQ0FBQzJDLEtBQUwsQ0FBVzNDLElBQUksQ0FBQzRDLE1BQUwsS0FBZ0IsQ0FBM0IsQ0FBRDtBQUEzRixLQUFoQyxDQUFQO0FBQ0g7O0FBRUQsTUFBSWhGLFFBQUosR0FBZTtBQUNYLFdBQU8sbUNBQVA7QUFDSDs7QUFFRCxNQUFJMEIsWUFBSixHQUFtQjtBQUNmLFdBQU8sOEJBQVA7QUFDSDs7QUFFRCxNQUFJdUQsZUFBSixHQUFzQjtBQUNsQixXQUFPLHlDQUFQO0FBQ0g7O0FBRUQvRyxpQkFBZSxHQUFHO0FBQ2QsVUFBTXlCLElBQUksR0FBRyxJQUFiOztBQUNBLFFBQUk7QUFDQUMsT0FBQyxDQUFDQyxJQUFGLENBQU87QUFDSEMsY0FBTSxFQUFFLEtBREw7QUFFSEMsV0FBRyxFQUFHLHNDQUZIO0FBR0g2QixlQUFPLEVBQUU7QUFDTCxvQkFBVSxtQkFETDtBQUVMLDBCQUFnQjtBQUZYLFNBSE47QUFPSEUsbUJBQVcsRUFBRSxJQVBWO0FBUUhDLGlCQUFTLEVBQUU7QUFDUEMseUJBQWUsRUFBRTtBQURWLFNBUlI7QUFXSC9CLGVBQU8sRUFBRUMsSUFBSSxJQUFJO0FBQ2I7QUFDQVAsY0FBSSxDQUFDcUIsUUFBTCxDQUFjO0FBQ1ZuQyw0QkFBZ0IsRUFBRSxDQURSO0FBRVZLLHNCQUFVLEVBQUU7QUFDUk4sbUJBQUssRUFBRSxDQURDO0FBRVJPLGtCQUFJLEVBQUVlO0FBRkU7QUFGRixXQUFkO0FBT0FQLGNBQUksQ0FBQzNCLE1BQUwsQ0FBWSxFQUFaLEVBQWdCLElBQWhCO0FBRUgsU0F0QkU7QUF1QkhxRCxhQUFLLEVBQUUsTUFBTTtBQUNUMUIsY0FBSSxDQUFDcUIsUUFBTCxDQUFjO0FBQ1ZsQyxpQkFBSyxFQUFFLHNDQURHO0FBRVZDLG1CQUFPLEVBQUUsSUFGQztBQUdWRiw0QkFBZ0IsRUFBRSxDQUFDLENBSFQ7QUFJVkssc0JBQVUsRUFBRTtBQUNSTixtQkFBSyxFQUFFLENBREM7QUFFUk8sa0JBQUksRUFBRTtBQUZFO0FBSkYsV0FBZDtBQVNIO0FBakNFLE9BQVA7QUFtQ0gsS0FwQ0QsQ0FxQ0EsT0FBT2tDLEtBQVAsRUFBYztBQUNWMUIsVUFBSSxDQUFDcUIsUUFBTCxDQUFjO0FBQ1ZsQyxhQUFLLEVBQUUsc0NBREc7QUFFVkMsZUFBTyxFQUFFLElBRkM7QUFHVkYsd0JBQWdCLEVBQUUsQ0FBQyxDQUhUO0FBSVZLLGtCQUFVLEVBQUU7QUFDUk4sZUFBSyxFQUFFLENBREM7QUFFUk8sY0FBSSxFQUFFO0FBRkU7QUFKRixPQUFkO0FBU0g7QUFDSjs7QUFFRCtGLFFBQU0sR0FBRztBQUNMLFdBQU8xSCw2Q0FBSyxDQUFDb0gsYUFBTixDQUFvQk8sb0RBQXBCLEVBQWlDO0FBQUNDLFNBQUcsRUFBRSxLQUFOO0FBQWFDLGNBQVEsRUFBRSxLQUFLQztBQUE1QixLQUFqQyxDQUFQO0FBQ0g7O0FBRUQsTUFBSUEsU0FBSixHQUFnQjtBQUNaLFdBQU87QUFDSEMsYUFBTyxFQUFFO0FBQ0xELGlCQUFTLEVBQUUsS0FBS0M7QUFEWCxPQUROO0FBSUhDLGFBQU8sRUFBRTtBQUNMRixpQkFBUyxFQUFFLEtBQUtFO0FBRFgsT0FKTjtBQU9IQyxXQUFLLEVBQUU7QUFDSEgsaUJBQVMsRUFBRTlILDZDQUFLLENBQUNvSCxhQUFOLENBQW9CYyxtREFBcEIsRUFBMkI7QUFBQ0MsYUFBRyxFQUFFLElBQU47QUFBWVAsYUFBRyxFQUFFLE9BQWpCO0FBQTBCUSxpQkFBTyxFQUFFLEtBQUsvSDtBQUF4QyxTQUEzQjtBQURSO0FBUEosS0FBUDtBQVdIOztBQUVELE1BQUkwSCxPQUFKLEdBQWM7QUFDVixXQUFPL0gsNkNBQUssQ0FBQ29ILGFBQU4sQ0FDSCxLQURHLEVBRUg7QUFBQ2lCLGVBQVMsRUFBRSxTQUFaO0FBQXVCRixTQUFHLEVBQUU7QUFBNUIsS0FGRyxFQUdIbkksNkNBQUssQ0FBQ29ILGFBQU4sQ0FDSSxLQURKLEVBRUk7QUFBQ2lCLGVBQVMsRUFBRTtBQUFaLEtBRkosRUFHSXJJLDZDQUFLLENBQUNvSCxhQUFOLENBQ0ksS0FESixFQUVJO0FBQUNpQixlQUFTLEVBQUUsbUJBQVo7QUFBaUNDLFdBQUssRUFBRTtBQUFDQyxnQkFBUSxFQUFFO0FBQVg7QUFBeEMsS0FGSixFQUdJLGdCQUhKLENBSEosRUFRSXZJLDZDQUFLLENBQUNvSCxhQUFOLENBQW9Cb0IsK0NBQU0sQ0FBQ0MsU0FBM0IsRUFBc0MsSUFBdEMsQ0FSSixFQVNJLEtBQUtDLFdBVFQsRUFVSTFJLDZDQUFLLENBQUNvSCxhQUFOLENBQW9Cb0IsK0NBQU0sQ0FBQ0MsU0FBM0IsRUFBc0MsSUFBdEMsQ0FWSixFQVdJekksNkNBQUssQ0FBQ29ILGFBQU4sQ0FBb0JvQiwrQ0FBTSxDQUFDRyxNQUEzQixFQUFtQztBQUFDQyxVQUFJLEVBQUU7QUFBUCxLQUFuQyxDQVhKLEVBWUksS0FBS3RGLGVBQUwsQ0FBcUJ1RixHQUFyQixDQUF5QixDQUFDQyxLQUFELEVBQVFDLEtBQVIsS0FBa0I7QUFDdkMsYUFBTy9JLDZDQUFLLENBQUNvSCxhQUFOLENBQW9Cb0IsK0NBQU0sQ0FBQ1EsSUFBM0IsRUFBaUM7QUFBQ0MsVUFBRSxFQUFFRixLQUFMO0FBQVlYLGVBQU8sRUFBRSxLQUFLN0gsY0FBMUI7QUFBMEM0SCxXQUFHLEVBQUVZLEtBQS9DO0FBQXNESCxZQUFJLEVBQUVFLEtBQTVEO0FBQW1FSSxnQkFBUSxFQUFFLEtBQUs5SCxLQUFMLENBQVdDLGdCQUFYLEtBQWdDMEg7QUFBN0csT0FBakMsQ0FBUDtBQUNILEtBRkQsQ0FaSixFQWVJL0ksNkNBQUssQ0FBQ29ILGFBQU4sQ0FBb0JvQiwrQ0FBTSxDQUFDQyxTQUEzQixFQUFzQyxJQUF0QyxDQWZKLEVBZ0JJLEtBQUtVLE1BaEJULEVBaUJJLEtBQUt6SCxVQWpCVCxDQUhHLENBQVA7QUF1Qkg7O0FBRUQsTUFBSWdILFdBQUosR0FBa0I7QUFDZCxXQUFPMUksNkNBQUssQ0FBQ29ILGFBQU4sQ0FDSCxLQURHLEVBRUg7QUFBQ2lCLGVBQVMsRUFBRTtBQUFaLEtBRkcsRUFHSHJJLDZDQUFLLENBQUNvSCxhQUFOLENBQ0ksS0FESixFQUVJO0FBQUNpQixlQUFTLEVBQUUsNkJBQVo7QUFBMkNDLFdBQUssRUFBRTtBQUFDckQsYUFBSyxFQUFFLE9BQVI7QUFBaUJtRSxrQkFBVSxFQUFFO0FBQTdCO0FBQWxELEtBRkosRUFHSXBKLDZDQUFLLENBQUNvSCxhQUFOLENBQW9CLE9BQXBCLEVBQTZCO0FBQUNRLFNBQUcsRUFBRSxhQUFOO0FBQXFCeUIsZUFBUyxFQUFFLEtBQUs1SSxhQUFyQztBQUFvRDZJLGNBQVEsRUFBRSxNQUFNLENBQUUsQ0FBdEU7QUFBd0VDLFVBQUksRUFBRSxNQUE5RTtBQUFzRmxCLGVBQVMsRUFBRSxlQUFqRztBQUFrSG1CLGlCQUFXLEVBQUUsV0FBL0g7QUFBNElDLGVBQVMsRUFBRTtBQUF2SixLQUE3QixDQUhKLENBSEcsQ0FBUDtBQVNIOztBQUVEaEosZUFBYSxDQUFDaUosQ0FBRCxFQUFJO0FBQ2IsVUFBTXZILElBQUksR0FBRyxJQUFiO0FBQ0EsUUFBSUEsSUFBSSxDQUFDZixLQUFMLENBQVdHLE9BQVgsSUFBc0JtSSxDQUFDLENBQUNDLEtBQUYsS0FBWSxFQUF0QyxFQUEwQztBQUMxQ3hILFFBQUksQ0FBQ3FCLFFBQUwsQ0FBYztBQUNWakMsYUFBTyxFQUFFLElBREM7QUFFVkQsV0FBSyxFQUFFLFlBRkc7QUFHVitCLFVBQUksRUFBRXFHLENBQUMsQ0FBQ0UsTUFBRixDQUFTZDtBQUhMLEtBQWQ7QUFLQSxRQUFJN0csS0FBSyxHQUFJLFNBQVF5SCxDQUFDLENBQUNFLE1BQUYsQ0FBU2QsS0FBTSxFQUFwQzs7QUFDQSxRQUFJM0csSUFBSSxDQUFDZixLQUFMLENBQVdDLGdCQUFYLEtBQWdDLENBQXBDLEVBQXVDO0FBQ25DWSxXQUFLLElBQUssYUFBWUUsSUFBSSxDQUFDbUIsZUFBTCxDQUFxQm5CLElBQUksQ0FBQ2YsS0FBTCxDQUFXQyxnQkFBaEMsQ0FBa0QsRUFBeEU7QUFDSDs7QUFDRGMsUUFBSSxDQUFDM0IsTUFBTCxDQUFZeUIsS0FBWixFQUFtQixJQUFuQjtBQUNIOztBQUVELE1BQUlxQixlQUFKLEdBQXNCO0FBQ2xCLFdBQU8sQ0FBQyxLQUFELEVBQVEsV0FBUixFQUFxQixXQUFyQixFQUFrQyxnQkFBbEMsRUFBb0QsWUFBcEQsRUFBa0UsV0FBbEUsRUFBK0UsZ0JBQS9FLEVBQWlHLGVBQWpHLEVBQWtILGtCQUFsSCxFQUFzSSxPQUF0SSxFQUErSSxXQUEvSSxFQUE0SixVQUE1SixFQUF3SyxhQUF4SyxFQUF1TCxPQUF2TCxDQUFQO0FBQ0g7O0FBRUQvQyxnQkFBYyxDQUFDMEksRUFBRCxFQUFLO0FBQ2YsVUFBTTlHLElBQUksR0FBRyxJQUFiO0FBQ0EsUUFBSUEsSUFBSSxDQUFDZixLQUFMLENBQVdHLE9BQWYsRUFBd0I7QUFDeEJZLFFBQUksQ0FBQ3NCLElBQUwsQ0FBVW9HLFdBQVYsQ0FBc0JmLEtBQXRCLEdBQThCLEVBQTlCO0FBQ0EzRyxRQUFJLENBQUNxQixRQUFMLENBQWM7QUFDVmpDLGFBQU8sRUFBRSxJQURDO0FBRVZGLHNCQUFnQixFQUFFNEgsRUFGUjtBQUdWM0gsV0FBSyxFQUFFLFlBSEc7QUFJVitCLFVBQUksRUFBRTtBQUpJLEtBQWQ7O0FBTUEsUUFBSTRGLEVBQUUsS0FBSyxDQUFYLEVBQWM7QUFDVjlHLFVBQUksQ0FBQzNCLE1BQUwsQ0FBWSxFQUFaLEVBQWdCLElBQWhCO0FBQ0E7QUFDSDs7QUFDRDJCLFFBQUksQ0FBQzNCLE1BQUwsQ0FBYSxhQUFZMkIsSUFBSSxDQUFDbUIsZUFBTCxDQUFxQjJGLEVBQXJCLENBQXlCLEVBQWxELEVBQXFELElBQXJEO0FBQ0g7O0FBRUQsTUFBSWpCLE9BQUosR0FBYztBQUNWLFVBQU03RixJQUFJLEdBQUcsSUFBYjtBQUNBLFVBQU02RSxTQUFTLEdBQUcsS0FBSzlGLGdCQUFMLENBQXNCK0YsY0FBeEM7QUFDQSxVQUFNQyxXQUFXLEdBQUcsS0FBS2xHLGNBQUwsQ0FBb0JtRyxlQUF4QztBQUNBLFFBQUloRixJQUFJLENBQUNmLEtBQUwsQ0FBV00sVUFBWCxDQUFzQk4sS0FBdEIsS0FBZ0MsQ0FBcEMsRUFBdUMsT0FBT2UsSUFBSSxDQUFDMkgsWUFBWjtBQUN2QyxXQUFPLENBQUM5Siw2Q0FBSyxDQUFDb0gsYUFBTixDQUNKLEtBREksRUFFSjtBQUFDUSxTQUFHLEVBQUUsU0FBTjtBQUFpQk8sU0FBRyxFQUFFLElBQXRCO0FBQTRCRSxlQUFTLEVBQUU7QUFBdkMsS0FGSSxFQUdKckksNkNBQUssQ0FBQ29ILGFBQU4sQ0FBb0IyQyx1REFBcEIsRUFBbUM7QUFBQ25CLFVBQUksRUFBRXpHLElBQUksQ0FBQ2YsS0FBTCxDQUFXRTtBQUFsQixLQUFuQyxDQUhJLEVBSUphLElBQUksQ0FBQ3FFLFFBSkQsRUFLSnJFLElBQUksQ0FBQ2YsS0FBTCxDQUFXSSxPQUFYLENBQW1CcUgsR0FBbkIsQ0FBd0IvRixNQUFELElBQVk7QUFDL0IsYUFBTzlDLDZDQUFLLENBQUNvSCxhQUFOLENBQW9CQyw2Q0FBcEIsRUFBZ0M7QUFBQ2MsV0FBRyxFQUFFckYsTUFBTSxDQUFDcUIsVUFBYjtBQUF5QnJCLGNBQU0sRUFBRUEsTUFBakM7QUFBeUNuQyxZQUFJLEVBQUV3QixJQUFJLENBQUN4QixJQUFwRDtBQUEwRHFHLGlCQUFTLEVBQUVBLFNBQXJFO0FBQWdGTSxnQkFBUSxFQUFFSixXQUFXLENBQUN0QyxJQUFJLENBQUMyQyxLQUFMLENBQVczQyxJQUFJLENBQUM0QyxNQUFMLEtBQWdCLENBQTNCLENBQUQ7QUFBckcsT0FBaEMsQ0FBUDtBQUNILEtBRkQsQ0FMSSxFQVFKckYsSUFBSSxDQUFDZixLQUFMLENBQVdLLElBQVgsSUFBbUJ6Qiw2Q0FBSyxDQUFDb0gsYUFBTixDQUNmLFFBRGUsRUFFZjtBQUFDbUMsVUFBSSxFQUFFLFFBQVA7QUFBaUJuQixhQUFPLEVBQUUsTUFBTTtBQUN4QixZQUFJakcsSUFBSSxDQUFDZixLQUFMLENBQVdHLE9BQWYsRUFBd0I7QUFBT1ksWUFBSSxDQUFDcUIsUUFBTCxDQUFjO0FBQUNqQyxpQkFBTyxFQUFFO0FBQVYsU0FBZDtBQUFnQ1ksWUFBSSxDQUFDM0IsTUFBTCxDQUFZMkIsSUFBSSxDQUFDZixLQUFMLENBQVdLLElBQXZCLEVBQTZCLEtBQTdCO0FBQ2xFLE9BRkw7QUFFTzRHLGVBQVMsRUFBRSxtQ0FGbEI7QUFFdURDLFdBQUssRUFBRTtBQUFDckQsYUFBSyxFQUFFLE1BQVI7QUFBZ0IrRSxpQkFBUyxFQUFFLE1BQTNCO0FBQW1DQyxvQkFBWSxFQUFFO0FBQWpEO0FBRjlELEtBRmUsRUFLZmpLLDZDQUFLLENBQUNvSCxhQUFOLENBQ0ksS0FESixFQUVJO0FBQUNpQixlQUFTLEVBQUU7QUFBWixLQUZKLEVBR0lsRyxJQUFJLENBQUNmLEtBQUwsQ0FBV0csT0FBWCxHQUFxQixTQUFyQixHQUFpQyxXQUhyQyxDQUxlLENBUmYsRUFtQkpZLElBQUksQ0FBQ2YsS0FBTCxDQUFXSSxPQUFYLENBQW1CMEksTUFBbkIsR0FBNEIsQ0FBNUIsSUFBaUNsSyw2Q0FBSyxDQUFDb0gsYUFBTixDQUFvQjJDLHVEQUFwQixFQUFtQztBQUFDbkIsVUFBSSxFQUFFekcsSUFBSSxDQUFDZixLQUFMLENBQVdFO0FBQWxCLEtBQW5DLENBbkI3QixDQUFELENBQVA7QUFxQkg7O0FBRUQsTUFBSXdJLFlBQUosR0FBbUI7QUFDZixVQUFNM0gsSUFBSSxHQUFHLElBQWIsQ0FEZSxDQUVmOztBQUNBLFdBQU8sQ0FBQ25DLDZDQUFLLENBQUNvSCxhQUFOLENBQ0osS0FESSxFQUVKO0FBQUNlLFNBQUcsRUFBRSxLQUFOO0FBQWFQLFNBQUcsRUFBRSxTQUFsQjtBQUE2QlMsZUFBUyxFQUFFO0FBQXhDLEtBRkksRUFHSnJJLDZDQUFLLENBQUNvSCxhQUFOLENBQ0ksSUFESixFQUVJO0FBQUNpQixlQUFTLEVBQUU7QUFBWixLQUZKLEVBR0ksc0NBSEosRUFJSXJJLDZDQUFLLENBQUNvSCxhQUFOLENBQ0ksUUFESixFQUVJO0FBQ0lnQixhQUFPLEVBQUVqRyxJQUFJLENBQUN2QixPQURsQjtBQUVJMkksVUFBSSxFQUFFLFFBRlY7QUFHSWxCLGVBQVMsRUFBRSxtQ0FIZjtBQUlJQyxXQUFLLEVBQUU7QUFDSDZCLGVBQU8sRUFBRSxjQUROO0FBRUhDLGlCQUFTLEVBQUUsTUFGUjtBQUdIaEIsa0JBQVUsRUFBRSxNQUhUO0FBSUhpQixrQkFBVSxFQUFFO0FBSlQ7QUFKWCxLQUZKLEVBYUlySyw2Q0FBSyxDQUFDb0gsYUFBTixDQUNJLEtBREosRUFFSTtBQUFDaUIsZUFBUyxFQUFFO0FBQVosS0FGSixFQUdJLFNBSEosQ0FiSixDQUpKLENBSEksRUEwQkRsRyxJQUFJLENBQUNxRSxRQTFCSixDQUFELENBQVA7QUE0Qkg7O0FBRUQsTUFBSTJDLE1BQUosR0FBYTtBQUNULFdBQU9uSiw2Q0FBSyxDQUFDb0gsYUFBTixDQUNILEtBREcsRUFFSDtBQUFDaUIsZUFBUyxFQUFFO0FBQVosS0FGRyxFQUdIckksNkNBQUssQ0FBQ29ILGFBQU4sQ0FDSSxHQURKLEVBRUk7QUFBQ2tELFVBQUksRUFBRSw0QkFBUDtBQUFxQ1YsWUFBTSxFQUFFO0FBQTdDLEtBRkosRUFHSSxvQkFISixDQUhHLENBQVA7QUFTSDs7QUFFRCxNQUFJbEksVUFBSixHQUFpQjtBQUNiLFVBQU1TLElBQUksR0FBRyxJQUFiO0FBQ0EsVUFBTTtBQUFDVDtBQUFELFFBQWVTLElBQUksQ0FBQ2YsS0FBMUI7QUFDQSxRQUFJTSxVQUFVLENBQUNOLEtBQVgsS0FBcUIsQ0FBekIsRUFBNEIsT0FBT3BCLDZDQUFLLENBQUNvSCxhQUFOLENBQW9CLE1BQXBCLEVBQTRCLElBQTVCLENBQVA7QUFFNUIsV0FBT3BILDZDQUFLLENBQUNvSCxhQUFOLENBQ0gsTUFERyxFQUVILElBRkcsRUFHSHBILDZDQUFLLENBQUNvSCxhQUFOLENBQW9Cb0IsK0NBQU0sQ0FBQ0MsU0FBM0IsRUFBc0MsSUFBdEMsQ0FIRyxFQUlIekksNkNBQUssQ0FBQ29ILGFBQU4sQ0FDSSxNQURKLEVBRUk7QUFBQ2tCLFdBQUssRUFBRTtBQUFDaUMsYUFBSyxFQUFFLFNBQVI7QUFBbUJoQyxnQkFBUSxFQUFFLE1BQTdCO0FBQXFDYSxrQkFBVSxFQUFFO0FBQWpEO0FBQVIsS0FGSixFQUdJLGdCQUhKLEVBSUssR0FBRTFILFVBQVUsQ0FBQ0MsSUFBWCxDQUFnQjZJLFFBQVMsSUFBRzlJLFVBQVUsQ0FBQ0MsSUFBWCxDQUFnQjhJLGFBQWMsRUFKakUsQ0FKRyxFQVVIekssNkNBQUssQ0FBQ29ILGFBQU4sQ0FDSSxLQURKLEVBRUk7QUFBQ2tCLFdBQUssRUFBRTtBQUFDb0MsZUFBTyxFQUFFO0FBQVY7QUFBUixLQUZKLEVBR0kxSyw2Q0FBSyxDQUFDb0gsYUFBTixDQUNJLFFBREosRUFFSTtBQUFDa0IsV0FBSyxFQUFFO0FBQUNyRCxhQUFLLEVBQUUsTUFBUjtBQUFnQm1GLGlCQUFTLEVBQUU7QUFBM0IsT0FBUjtBQUE0Q2IsVUFBSSxFQUFFLFFBQWxEO0FBQTREbEIsZUFBUyxFQUFFO0FBQXZFLEtBRkosRUFHSXJJLDZDQUFLLENBQUNvSCxhQUFOLENBQ0ksS0FESixFQUVJO0FBQUNpQixlQUFTLEVBQUUsb0JBQVo7QUFBa0NELGFBQU8sRUFBRWpHLElBQUksQ0FBQ3ZCO0FBQWhELEtBRkosRUFHSSxXQUhKLENBSEosQ0FISixDQVZHLENBQVA7QUF3QlA7O0FBeGE4RCIsImZpbGUiOiIuL3NyYy91aS9wdWJsaWNzZXJ2ZXJzL21lbnUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlYWN0LCBSZWFjdERPTSwgV2VicGFja01vZHVsZXN9IGZyb20gXCJtb2R1bGVzXCI7XHJcbmltcG9ydCBTaWRlYmFyVmlldyBmcm9tIFwiLi9zaWRlYmFydmlld1wiO1xyXG5pbXBvcnQgVG9vbHMgZnJvbSBcIi4vZXhpdGJ1dHRvblwiO1xyXG5pbXBvcnQgVGFiQmFyIGZyb20gXCIuL3RhYmJhclwiO1xyXG5pbXBvcnQgU2V0dGluZ3NUaXRsZSBmcm9tIFwiLi4vc2V0dGluZ3MvdGl0bGVcIjtcclxuaW1wb3J0IFNlcnZlckNhcmQgZnJvbSBcIi4vY2FyZFwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVjJDX1B1YmxpY1NlcnZlcnMgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgICAgIHRoaXMuc2V0SW5pdGlhbFN0YXRlKCk7XHJcbiAgICAgICAgdGhpcy5jbG9zZSA9IHRoaXMuY2xvc2UuYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLmNoYW5nZUNhdGVnb3J5ID0gdGhpcy5jaGFuZ2VDYXRlZ29yeS5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoID0gdGhpcy5zZWFyY2guYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLnNlYXJjaEtleURvd24gPSB0aGlzLnNlYXJjaEtleURvd24uYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLmNoZWNrQ29ubmVjdGlvbiA9IHRoaXMuY2hlY2tDb25uZWN0aW9uLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5qb2luID0gdGhpcy5qb2luLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0ID0gdGhpcy5jb25uZWN0LmJpbmQodGhpcyk7XHJcblxyXG4gICAgICAgIHRoaXMuR3VpbGRTdG9yZSA9IFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRHdWlsZHNcIik7XHJcbiAgICAgICAgdGhpcy5BdmF0YXJEZWZhdWx0cyA9IFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRVc2VyQXZhdGFyVVJMXCIsIFwiREVGQVVMVF9BVkFUQVJTXCIpO1xyXG4gICAgICAgIHRoaXMuSW52aXRlQWN0aW9ucyA9IFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJhY2NlcHRJbnZpdGVcIik7XHJcbiAgICAgICAgdGhpcy5Tb3J0ZWRHdWlsZFN0b3JlID0gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImdldFNvcnRlZEd1aWxkc1wiKTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgICAgICB0aGlzLmNoZWNrQ29ubmVjdGlvbigpO1xyXG4gICAgIH1cclxuXHJcbiAgICBzZXRJbml0aWFsU3RhdGUoKSB7XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgICAgICAgc2VsZWN0ZWRDYXRlZ29yeTogLTEsXHJcbiAgICAgICAgICAgIHRpdGxlOiBcIkxvYWRpbmcuLi5cIixcclxuICAgICAgICAgICAgbG9hZGluZzogdHJ1ZSxcclxuICAgICAgICAgICAgc2VydmVyczogW10sXHJcbiAgICAgICAgICAgIG5leHQ6IG51bGwsXHJcbiAgICAgICAgICAgIGNvbm5lY3Rpb246IHtcclxuICAgICAgICAgICAgICAgIHN0YXRlOiAwLFxyXG4gICAgICAgICAgICAgICAgdXNlcjogbnVsbFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBjbG9zZSgpIHtcclxuICAgICAgICBSZWFjdERPTS51bm1vdW50Q29tcG9uZW50QXROb2RlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMucHJvcHMucm9vdElkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VhcmNoKHF1ZXJ5LCBjbGVhcikge1xyXG4gICAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xyXG5cclxuICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXHJcbiAgICAgICAgICAgIHVybDogYCR7c2VsZi5lbmRQb2ludH0ke3F1ZXJ5fSR7cXVlcnkgPyBcIiZzY2hlbWE9bmV3XCIgOiBcIj9zY2hlbWE9bmV3XCJ9YCxcclxuICAgICAgICAgICAgc3VjY2VzczogZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgc2VydmVycyA9IGRhdGEucmVzdWx0cy5yZWR1Y2UoKGFyciwgc2VydmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VydmVyLmpvaW5lZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKHNlcnZlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gYXJyLnB1c2goPFNlcnZlckNhcmQgc2VydmVyPXtzZXJ2ZXJ9IGpvaW49e3NlbGYuam9pbn0vPik7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFycjtcclxuICAgICAgICAgICAgICAgIH0sIFtdKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoIWNsZWFyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VydmVycyA9IHNlbGYuc3RhdGUuc2VydmVycy5jb25jYXQoc2VydmVycyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAvL3NlcnZlcnMudW5zaGlmdChzZWxmLmJkU2VydmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgZW5kID0gZGF0YS5zaXplICsgZGF0YS5mcm9tO1xyXG4gICAgICAgICAgICAgICAgZGF0YS5uZXh0ID0gYD9mcm9tPSR7ZW5kfWA7XHJcbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5zdGF0ZS50ZXJtKSBkYXRhLm5leHQgKz0gYCZ0ZXJtPSR7c2VsZi5zdGF0ZS50ZXJtfWA7XHJcbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5zdGF0ZS5zZWxlY3RlZENhdGVnb3J5KSBkYXRhLm5leHQgKz0gYCZjYXRlZ29yeT0ke3NlbGYuY2F0ZWdvcnlCdXR0b25zW3NlbGYuc3RhdGUuc2VsZWN0ZWRDYXRlZ29yeV19YDtcclxuICAgICAgICAgICAgICAgIGlmIChlbmQgPj0gZGF0YS50b3RhbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVuZCA9IGRhdGEudG90YWw7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5uZXh0ID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBgU2hvd2luZyAxLSR7ZW5kfSBvZiAke2RhdGEudG90YWx9IHJlc3VsdHMgaW4gJHtzZWxmLmNhdGVnb3J5QnV0dG9uc1tzZWxmLnN0YXRlLnNlbGVjdGVkQ2F0ZWdvcnldfWA7XHJcbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5zdGF0ZS50ZXJtKSB0aXRsZSArPSBgIGZvciAke3NlbGYuc3RhdGUudGVybX1gO1xyXG5cclxuICAgICAgICAgICAgICAgIHNlbGYuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJzOiBzZXJ2ZXJzLFxyXG4gICAgICAgICAgICAgICAgICAgIG5leHQ6IGRhdGEubmV4dFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGNsZWFyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhzZWxmKTtcclxuICAgICAgICAgICAgICAgICAgICBzZWxmLnJlZnMuc2J2LnJlZnMuY29udGVudFNjcm9sbGVyLnNjcm9sbFRvcCA9IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCJGYWlsZWQgdG8gbG9hZCBzZXJ2ZXJzLiBDaGVjayBjb25zb2xlIGZvciBkZXRhaWxzXCJcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgam9pbihzZXJ2ZXJDYXJkKSB7XHJcbiAgICAgICAgaWYgKHNlcnZlckNhcmQucHJvcHMucGlubmVkKSByZXR1cm4gdGhpcy5JbnZpdGVBY3Rpb25zLmFjY2VwdEludml0ZShzZXJ2ZXJDYXJkLnByb3BzLmludml0ZV9jb2RlKTtcclxuICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXHJcbiAgICAgICAgICAgIHVybDogYCR7dGhpcy5qb2luRW5kUG9pbnR9LyR7c2VydmVyQ2FyZC5wcm9wcy5zZXJ2ZXIuaWRlbnRpZmllcn1gLFxyXG4gICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICBcIkFjY2VwdFwiOiBcImFwcGxpY2F0aW9uL2pzb247XCIsXHJcbiAgICAgICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb247XCIgLFxyXG4gICAgICAgICAgICAgICAgXCJ4LWRpc2NvcmQtdG9rZW5cIjogdGhpcy5zdGF0ZS5jb25uZWN0aW9uLnVzZXIuYWNjZXNzVG9rZW5cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgY3Jvc3NEb21haW46IHRydWUsXHJcbiAgICAgICAgICAgIHhockZpZWxkczoge1xyXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHNlcnZlckNhcmQuc2V0U3RhdGUoe2pvaW5lZDogdHJ1ZX0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29ubmVjdCgpIHtcclxuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy53aW5kb3dPcHRpb25zO1xyXG4gICAgICAgIG9wdGlvbnMueCA9IE1hdGgucm91bmQod2luZG93LnNjcmVlblggKyB3aW5kb3cuaW5uZXJXaWR0aCAvIDIgLSBvcHRpb25zLndpZHRoIC8gMik7XHJcbiAgICAgICAgb3B0aW9ucy55ID0gTWF0aC5yb3VuZCh3aW5kb3cuc2NyZWVuWSArIHdpbmRvdy5pbm5lckhlaWdodCAvIDIgLSBvcHRpb25zLmhlaWdodCAvIDIpO1xyXG5cclxuICAgICAgICB0aGlzLmpvaW5XaW5kb3cgPSBuZXcgKHdpbmRvdy5yZXF1aXJlKFwiZWxlY3Ryb25cIikucmVtb3RlLkJyb3dzZXJXaW5kb3cpKG9wdGlvbnMpO1xyXG4gICAgICAgIGNvbnN0IHVybCA9IFwiaHR0cHM6Ly9hdXRoLmRpc2NvcmRzZXJ2ZXJzLmNvbS9jb25uZWN0P3Njb3Blcz1ndWlsZHMuam9pbiZwcmV2aW91c1VybD1odHRwczovL2F1dGguZGlzY29yZHNlcnZlcnMuY29tL2luZm9cIjtcclxuICAgICAgICB0aGlzLmpvaW5XaW5kb3cud2ViQ29udGVudHMub24oXCJkaWQtbmF2aWdhdGVcIiwgKGV2ZW50LCB1cmwpID0+IHtcclxuICAgICAgICAgICAgaWYgKHVybCAhPSBcImh0dHBzOi8vYXV0aC5kaXNjb3Jkc2VydmVycy5jb20vaW5mb1wiKSByZXR1cm47XHJcbiAgICAgICAgICAgIHRoaXMuam9pbldpbmRvdy5jbG9zZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmNoZWNrQ29ubmVjdGlvbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuam9pbldpbmRvdy5sb2FkVVJMKHVybCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHdpbmRvd09wdGlvbnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwMCxcclxuICAgICAgICAgICAgaGVpZ2h0OiA1NTAsXHJcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjMjgyYjMwXCIsXHJcbiAgICAgICAgICAgIHNob3c6IHRydWUsXHJcbiAgICAgICAgICAgIHJlc2l6YWJsZTogZmFsc2UsXHJcbiAgICAgICAgICAgIG1heGltaXphYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgbWluaW1pemFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBhbHdheXNPblRvcDogdHJ1ZSxcclxuICAgICAgICAgICAgZnJhbWU6IGZhbHNlLFxyXG4gICAgICAgICAgICBjZW50ZXI6IGZhbHNlLFxyXG4gICAgICAgICAgICB3ZWJQcmVmZXJlbmNlczoge1xyXG4gICAgICAgICAgICAgICAgbm9kZUludGVncmF0aW9uOiBmYWxzZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYmRTZXJ2ZXIoKSB7XHJcbiAgICAgICAgY29uc3Qgc2VydmVyID0ge1xyXG4gICAgICAgICAgICBuYW1lOiBcIkJldHRlckRpc2NvcmRcIixcclxuICAgICAgICAgICAgb25saW5lOiBcIjc1MDArXCIsXHJcbiAgICAgICAgICAgIG1lbWJlcnM6IFwiMjAwMDArXCIsXHJcbiAgICAgICAgICAgIGNhdGVnb3JpZXM6IFtcImNvbW11bml0eVwiLCBcInByb2dyYW1taW5nXCIsIFwic3VwcG9ydFwiXSxcclxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiT2ZmaWNpYWwgQmV0dGVyRGlzY29yZCBzZXJ2ZXIgZm9yIHN1cHBvcnQgZXRjXCIsXHJcbiAgICAgICAgICAgIGlkZW50aWZpZXI6IFwiODYwMDQ3NDQ5NjY5MTQwNDhcIixcclxuICAgICAgICAgICAgaWNvblVybDogXCJodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9pY29ucy84NjAwNDc0NDk2NjkxNDA0OC8yOTJlN2Y2YmZmZjJiNzFkZmQxM2U1MDhhODU5YWVkZC53ZWJwXCIsXHJcbiAgICAgICAgICAgIG5hdGl2ZWpvaW46IHRydWUsXHJcbiAgICAgICAgICAgIGludml0ZV9jb2RlOiBcIjBUbWZvNVpiT1JDUnFiQWRcIixcclxuICAgICAgICAgICAgcGlubmVkOiB0cnVlXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBndWlsZExpc3QgPSB0aGlzLlNvcnRlZEd1aWxkU3RvcmUuZ3VpbGRQb3NpdGlvbnM7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdExpc3QgPSB0aGlzLkF2YXRhckRlZmF1bHRzLkRFRkFVTFRfQVZBVEFSUztcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChTZXJ2ZXJDYXJkLCB7c2VydmVyOiBzZXJ2ZXIsIHBpbm5lZDogdHJ1ZSwgam9pbjogdGhpcy5qb2luLCBndWlsZExpc3Q6IGd1aWxkTGlzdCwgZmFsbGJhY2s6IGRlZmF1bHRMaXN0W01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDUpXX0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBlbmRQb2ludCgpIHtcclxuICAgICAgICByZXR1cm4gXCJodHRwczovL3NlYXJjaC5kaXNjb3Jkc2VydmVycy5jb21cIjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgam9pbkVuZFBvaW50KCkge1xyXG4gICAgICAgIHJldHVybiBcImh0dHBzOi8vai5kaXNjb3Jkc2VydmVycy5jb21cIjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29ubmVjdEVuZFBvaW50KCkge1xyXG4gICAgICAgIHJldHVybiBcImh0dHBzOi8vam9pbi5kaXNjb3Jkc2VydmVycy5jb20vY29ubmVjdFwiO1xyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrQ29ubmVjdGlvbigpIHtcclxuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxyXG4gICAgICAgICAgICAgICAgdXJsOiBgaHR0cHM6Ly9hdXRoLmRpc2NvcmRzZXJ2ZXJzLmNvbS9pbmZvYCxcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBcIkFjY2VwdFwiOiBcImFwcGxpY2F0aW9uL2pzb247XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uO1wiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgY3Jvc3NEb21haW46IHRydWUsXHJcbiAgICAgICAgICAgICAgICB4aHJGaWVsZHM6IHtcclxuICAgICAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBVdGlscy5sb2coXCJQdWJsaWNTZXJ2ZXJcIiwgXCJHb3QgZGF0YTogXCIgKyBKU09OLnN0cmluZ2lmeShkYXRhKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcjogZGF0YVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5zZWFyY2goXCJcIiwgdHJ1ZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIk5vdCBjb25uZWN0ZWQgdG8gZGlzY29yZHNlcnZlcnMuY29tIVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZENhdGVnb3J5OiAtMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU6IDEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyOiBudWxsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBzZWxmLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk5vdCBjb25uZWN0ZWQgdG8gZGlzY29yZHNlcnZlcnMuY29tIVwiLFxyXG4gICAgICAgICAgICAgICAgbG9hZGluZzogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6IC0xLFxyXG4gICAgICAgICAgICAgICAgY29ubmVjdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlOiAxLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZXI6IG51bGxcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChTaWRlYmFyVmlldywge3JlZjogXCJzYnZcIiwgY2hpbGRyZW46IHRoaXMuY29tcG9uZW50fSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGNvbXBvbmVudCgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBzaWRlYmFyOiB7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMuc2lkZWJhclxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBjb250ZW50OiB7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMuY29udGVudFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0b29sczoge1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBSZWFjdC5jcmVhdGVFbGVtZW50KFRvb2xzLCB7a2V5OiBcInB0XCIsIHJlZjogXCJ0b29sc1wiLCBvbkNsaWNrOiB0aGlzLmNsb3NlfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHNpZGViYXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgIHtjbGFzc05hbWU6IFwic2lkZWJhclwiLCBrZXk6IFwicHNcIn0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS10YWItYmFyIFNJREVcIn0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS10YWItYmFyLWhlYWRlclwiLCBzdHlsZToge2ZvbnRTaXplOiBcIjE2cHhcIn19LFxyXG4gICAgICAgICAgICAgICAgICAgIFwiUHVibGljIFNlcnZlcnNcIlxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGFiQmFyLlNlcGFyYXRvciwgbnVsbCksXHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaElucHV0LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUYWJCYXIuU2VwYXJhdG9yLCBudWxsKSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGFiQmFyLkhlYWRlciwge3RleHQ6IFwiQ2F0ZWdvcmllc1wifSksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3J5QnV0dG9ucy5tYXAoKHZhbHVlLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFRhYkJhci5JdGVtLCB7aWQ6IGluZGV4LCBvbkNsaWNrOiB0aGlzLmNoYW5nZUNhdGVnb3J5LCBrZXk6IGluZGV4LCB0ZXh0OiB2YWx1ZSwgc2VsZWN0ZWQ6IHRoaXMuc3RhdGUuc2VsZWN0ZWRDYXRlZ29yeSA9PT0gaW5kZXh9KTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUYWJCYXIuU2VwYXJhdG9yLCBudWxsKSxcclxuICAgICAgICAgICAgICAgIHRoaXMuZm9vdGVyLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzZWFyY2hJbnB1dCgpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS1mb3JtLWl0ZW1cIn0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS10ZXh0LWlucHV0IGZsZXgtdmVydGljYWxcIiwgc3R5bGU6IHt3aWR0aDogXCIxNzJweFwiLCBtYXJnaW5MZWZ0OiBcIjEwcHhcIn19LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImlucHV0XCIsIHtyZWY6IFwic2VhcmNoaW5wdXRcIiwgb25LZXlEb3duOiB0aGlzLnNlYXJjaEtleURvd24sIG9uQ2hhbmdlOiAoKSA9PiB7fSwgdHlwZTogXCJ0ZXh0XCIsIGNsYXNzTmFtZTogXCJpbnB1dCBkZWZhdWx0XCIsIHBsYWNlaG9sZGVyOiBcIlNlYXJjaC4uLlwiLCBtYXhMZW5ndGg6IFwiNTBcIn0pXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHNlYXJjaEtleURvd24oZSkge1xyXG4gICAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIGlmIChzZWxmLnN0YXRlLmxvYWRpbmcgfHwgZS53aGljaCAhPT0gMTMpIHJldHVybjtcclxuICAgICAgICBzZWxmLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgbG9hZGluZzogdHJ1ZSxcclxuICAgICAgICAgICAgdGl0bGU6IFwiTG9hZGluZy4uLlwiLFxyXG4gICAgICAgICAgICB0ZXJtOiBlLnRhcmdldC52YWx1ZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGxldCBxdWVyeSA9IGA/dGVybT0ke2UudGFyZ2V0LnZhbHVlfWA7XHJcbiAgICAgICAgaWYgKHNlbGYuc3RhdGUuc2VsZWN0ZWRDYXRlZ29yeSAhPT0gMCkge1xyXG4gICAgICAgICAgICBxdWVyeSArPSBgJmNhdGVnb3J5PSR7c2VsZi5jYXRlZ29yeUJ1dHRvbnNbc2VsZi5zdGF0ZS5zZWxlY3RlZENhdGVnb3J5XX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWxmLnNlYXJjaChxdWVyeSwgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGNhdGVnb3J5QnV0dG9ucygpIHtcclxuICAgICAgICByZXR1cm4gW1wiQWxsXCIsIFwiRlBTIEdhbWVzXCIsIFwiTU1PIEdhbWVzXCIsIFwiU3RyYXRlZ3kgR2FtZXNcIiwgXCJNT0JBIEdhbWVzXCIsIFwiUlBHIEdhbWVzXCIsIFwiVGFibGV0b3AgR2FtZXNcIiwgXCJTYW5kYm94IEdhbWVzXCIsIFwiU2ltdWxhdGlvbiBHYW1lc1wiLCBcIk11c2ljXCIsIFwiQ29tbXVuaXR5XCIsIFwiTGFuZ3VhZ2VcIiwgXCJQcm9ncmFtbWluZ1wiLCBcIk90aGVyXCJdO1xyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZUNhdGVnb3J5KGlkKSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgaWYgKHNlbGYuc3RhdGUubG9hZGluZykgcmV0dXJuO1xyXG4gICAgICAgIHNlbGYucmVmcy5zZWFyY2hpbnB1dC52YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgc2VsZi5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGxvYWRpbmc6IHRydWUsXHJcbiAgICAgICAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6IGlkLFxyXG4gICAgICAgICAgICB0aXRsZTogXCJMb2FkaW5nLi4uXCIsXHJcbiAgICAgICAgICAgIHRlcm06IG51bGxcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoaWQgPT09IDApIHtcclxuICAgICAgICAgICAgc2VsZi5zZWFyY2goXCJcIiwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2VsZi5zZWFyY2goYD9jYXRlZ29yeT0ke3NlbGYuY2F0ZWdvcnlCdXR0b25zW2lkXX1gLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29udGVudCgpIHtcclxuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcclxuICAgICAgICBjb25zdCBndWlsZExpc3QgPSB0aGlzLlNvcnRlZEd1aWxkU3RvcmUuZ3VpbGRQb3NpdGlvbnM7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdExpc3QgPSB0aGlzLkF2YXRhckRlZmF1bHRzLkRFRkFVTFRfQVZBVEFSUztcclxuICAgICAgICBpZiAoc2VsZi5zdGF0ZS5jb25uZWN0aW9uLnN0YXRlID09PSAxKSByZXR1cm4gc2VsZi5ub3RDb25uZWN0ZWQ7XHJcbiAgICAgICAgcmV0dXJuIFtSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICB7cmVmOiBcImNvbnRlbnRcIiwga2V5OiBcInBjXCIsIGNsYXNzTmFtZTogXCJjb250ZW50Q29sdW1uLTJocklZSCBjb250ZW50Q29sdW1uRGVmYXVsdC0xVlFrR00gY29udGVudC1jb2x1bW4gZGVmYXVsdFwifSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTZXR0aW5nc1RpdGxlLCB7dGV4dDogc2VsZi5zdGF0ZS50aXRsZX0pLFxyXG4gICAgICAgICAgICBzZWxmLmJkU2VydmVyLFxyXG4gICAgICAgICAgICBzZWxmLnN0YXRlLnNlcnZlcnMubWFwKChzZXJ2ZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFNlcnZlckNhcmQsIHtrZXk6IHNlcnZlci5pZGVudGlmaWVyLCBzZXJ2ZXI6IHNlcnZlciwgam9pbjogc2VsZi5qb2luLCBndWlsZExpc3Q6IGd1aWxkTGlzdCwgZmFsbGJhY2s6IGRlZmF1bHRMaXN0W01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDUpXX0pO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgc2VsZi5zdGF0ZS5uZXh0ICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICBcImJ1dHRvblwiLFxyXG4gICAgICAgICAgICAgICAge3R5cGU6IFwiYnV0dG9uXCIsIG9uQ2xpY2s6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGYuc3RhdGUubG9hZGluZykgcmV0dXJuO3NlbGYuc2V0U3RhdGUoe2xvYWRpbmc6IHRydWV9KTsgc2VsZi5zZWFyY2goc2VsZi5zdGF0ZS5uZXh0LCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSwgY2xhc3NOYW1lOiBcInVpLWJ1dHRvbiBmaWxsZWQgYnJhbmQgc21hbGwgZ3Jvd1wiLCBzdHlsZToge3dpZHRoOiBcIjEwMCVcIiwgbWFyZ2luVG9wOiBcIjEwcHhcIiwgbWFyZ2luQm90dG9tOiBcIjEwcHhcIn19LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHtjbGFzc05hbWU6IFwidWktYnV0dG9uLWNvbnRlbnRzXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYuc3RhdGUubG9hZGluZyA/IFwiTG9hZGluZ1wiIDogXCJMb2FkIE1vcmVcIlxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBzZWxmLnN0YXRlLnNlcnZlcnMubGVuZ3RoID4gMCAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFNldHRpbmdzVGl0bGUsIHt0ZXh0OiBzZWxmLnN0YXRlLnRpdGxlfSlcclxuICAgICAgICApXTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbm90Q29ubmVjdGVkKCkge1xyXG4gICAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIC8vcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU2V0dGluZ3NUaXRsZSwgeyB0ZXh0OiBzZWxmLnN0YXRlLnRpdGxlIH0pO1xyXG4gICAgICAgIHJldHVybiBbUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2tleTogXCJuY2NcIiwgcmVmOiBcImNvbnRlbnRcIiwgY2xhc3NOYW1lOiBcImNvbnRlbnRDb2x1bW4tMmhySVlIIGNvbnRlbnRDb2x1bW5EZWZhdWx0LTFWUWtHTSBjb250ZW50LWNvbHVtbiBkZWZhdWx0XCJ9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgXCJoMlwiLFxyXG4gICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS1mb3JtLXRpdGxlIGgyIG1hcmdpbi1yZXNldCBtYXJnaW4tYm90dG9tLTIwXCJ9LFxyXG4gICAgICAgICAgICAgICAgXCJOb3QgY29ubmVjdGVkIHRvIGRpc2NvcmRzZXJ2ZXJzLmNvbSFcIixcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgXCJidXR0b25cIixcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IHNlbGYuY29ubmVjdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJidXR0b25cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcInVpLWJ1dHRvbiBmaWxsZWQgYnJhbmQgc21hbGwgZ3Jvd1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbkhlaWdodDogXCIxOHB4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiBcIjEwcHhcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IFwiMTRweFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtjbGFzc05hbWU6IFwidWktYnV0dG9uLWNvbnRlbnRzXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIkNvbm5lY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgKSwgc2VsZi5iZFNlcnZlclxyXG4gICAgICAgICldO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBmb290ZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgIHtjbGFzc05hbWU6IFwidWktdGFiLWJhci1oZWFkZXJcIn0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICBcImFcIixcclxuICAgICAgICAgICAgICAgIHtocmVmOiBcImh0dHBzOi8vZGlzY29yZHNlcnZlcnMuY29tXCIsIHRhcmdldDogXCJfYmxhbmtcIn0sXHJcbiAgICAgICAgICAgICAgICBcIkRpc2NvcmRzZXJ2ZXJzLmNvbVwiXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb25uZWN0aW9uKCkge1xyXG4gICAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIGNvbnN0IHtjb25uZWN0aW9ufSA9IHNlbGYuc3RhdGU7XHJcbiAgICAgICAgaWYgKGNvbm5lY3Rpb24uc3RhdGUgIT09IDIpIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCBudWxsKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgIFwic3BhblwiLFxyXG4gICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRhYkJhci5TZXBhcmF0b3IsIG51bGwpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgXCJzcGFuXCIsXHJcbiAgICAgICAgICAgICAgICB7c3R5bGU6IHtjb2xvcjogXCIjYjliYmJlXCIsIGZvbnRTaXplOiBcIjEwcHhcIiwgbWFyZ2luTGVmdDogXCIxMHB4XCJ9fSxcclxuICAgICAgICAgICAgICAgIFwiQ29ubmVjdGVkIGFzOiBcIixcclxuICAgICAgICAgICAgICAgIGAke2Nvbm5lY3Rpb24udXNlci51c2VybmFtZX0jJHtjb25uZWN0aW9uLnVzZXIuZGlzY3JpbWluYXRvcn1gXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAge3N0eWxlOiB7cGFkZGluZzogXCI1cHggMTBweCAwIDEwcHhcIn19LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICBcImJ1dHRvblwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHtzdHlsZToge3dpZHRoOiBcIjEwMCVcIiwgbWluSGVpZ2h0OiBcIjIwcHhcIn0sIHR5cGU6IFwiYnV0dG9uXCIsIGNsYXNzTmFtZTogXCJ1aS1idXR0b24gZmlsbGVkIGJyYW5kIHNtYWxsIGdyb3dcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS1idXR0b24tY29udGVudHNcIiwgb25DbGljazogc2VsZi5jb25uZWN0fSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJSZWNvbm5lY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbn1cclxufVxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/publicservers/menu.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PublicServers; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _sidebarview__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sidebarview */ \"./src/ui/publicservers/sidebarview.js\");\n/* harmony import */ var _exitbutton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./exitbutton */ \"./src/ui/publicservers/exitbutton.js\");\n/* harmony import */ var _tabbar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tabbar */ \"./src/ui/publicservers/tabbar.js\");\n/* harmony import */ var _settings_title__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../settings/title */ \"./src/ui/settings/title.jsx\");\n/* harmony import */ var _card__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./card */ \"./src/ui/publicservers/card.js\");\n\n\n\n\n\n\nclass PublicServers extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.state = {\n selectedCategory: -1,\n title: \"Loading...\",\n loading: true,\n servers: [],\n next: null,\n connection: {\n state: 0,\n user: null\n }\n };\n this.close = this.close.bind(this);\n this.changeCategory = this.changeCategory.bind(this);\n this.search = this.search.bind(this);\n this.searchKeyDown = this.searchKeyDown.bind(this);\n this.checkConnection = this.checkConnection.bind(this);\n this.join = this.join.bind(this);\n this.connect = this.connect.bind(this);\n this.GuildStore = modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"getGuilds\");\n this.AvatarDefaults = modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"getUserAvatarURL\", \"DEFAULT_AVATARS\");\n this.InviteActions = modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"acceptInvite\");\n this.SortedGuildStore = modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"getSortedGuilds\");\n }\n\n componentDidMount() {\n this.checkConnection();\n }\n\n close() {\n modules__WEBPACK_IMPORTED_MODULE_0__[\"ReactDOM\"].unmountComponentAtNode(document.getElementById(this.props.rootId));\n }\n\n search(query, clear) {\n const self = this;\n $.ajax({\n method: \"GET\",\n url: `${self.endPoint}${query}${query ? \"&schema=new\" : \"?schema=new\"}`,\n success: data => {\n let servers = data.results.reduce((arr, server) => {\n server.joined = false;\n arr.push(server); // arr.push();\n\n return arr;\n }, []);\n\n if (!clear) {\n servers = self.state.servers.concat(servers);\n } else {//servers.unshift(self.bdServer);\n }\n\n let end = data.size + data.from;\n data.next = `?from=${end}`;\n if (self.state.term) data.next += `&term=${self.state.term}`;\n if (self.state.selectedCategory) data.next += `&category=${self.categoryButtons[self.state.selectedCategory]}`;\n\n if (end >= data.total) {\n end = data.total;\n data.next = null;\n }\n\n let title = `Showing 1-${end} of ${data.total} results in ${self.categoryButtons[self.state.selectedCategory]}`;\n if (self.state.term) title += ` for ${self.state.term}`;\n self.setState({\n loading: false,\n title: title,\n servers: servers,\n next: data.next\n });\n\n if (clear) {\n //console.log(self);\n self.refs.sbv.refs.contentScroller.scrollTop = 0;\n }\n },\n error: () => {\n self.setState({\n loading: false,\n title: \"Failed to load servers. Check console for details\"\n });\n }\n });\n }\n\n join(serverCard) {\n if (serverCard.props.pinned) return this.InviteActions.acceptInvite(serverCard.props.invite_code);\n $.ajax({\n method: \"GET\",\n url: `${this.joinEndPoint}/${serverCard.props.server.identifier}`,\n headers: {\n \"Accept\": \"application/json;\",\n \"Content-Type\": \"application/json;\",\n \"x-discord-token\": this.state.connection.user.accessToken\n },\n crossDomain: true,\n xhrFields: {\n withCredentials: true\n },\n success: () => {\n serverCard.setState({\n joined: true\n });\n }\n });\n }\n\n connect() {\n const options = this.windowOptions;\n options.x = Math.round(window.screenX + window.innerWidth / 2 - options.width / 2);\n options.y = Math.round(window.screenY + window.innerHeight / 2 - options.height / 2);\n this.joinWindow = new (window.require(\"electron\").remote.BrowserWindow)(options);\n const url = \"https://auth.discordservers.com/connect?scopes=guilds.join&previousUrl=https://auth.discordservers.com/info\";\n this.joinWindow.webContents.on(\"did-navigate\", (event, url) => {\n if (url != \"https://auth.discordservers.com/info\") return;\n this.joinWindow.close();\n this.checkConnection();\n });\n this.joinWindow.loadURL(url);\n }\n\n get windowOptions() {\n return {\n width: 500,\n height: 550,\n backgroundColor: \"#282b30\",\n show: true,\n resizable: false,\n maximizable: false,\n minimizable: false,\n alwaysOnTop: true,\n frame: false,\n center: false,\n webPreferences: {\n nodeIntegration: false\n }\n };\n }\n\n get bdServer() {\n const server = {\n name: \"BetterDiscord\",\n online: \"7500+\",\n members: \"20000+\",\n categories: [\"community\", \"programming\", \"support\"],\n description: \"Official BetterDiscord server for support etc\",\n identifier: \"86004744966914048\",\n iconUrl: \"https://cdn.discordapp.com/icons/86004744966914048/292e7f6bfff2b71dfd13e508a859aedd.webp\",\n nativejoin: true,\n invite_code: \"0Tmfo5ZbORCRqbAd\",\n pinned: true\n };\n const guildList = this.SortedGuildStore.guildPositions;\n const defaultList = this.AvatarDefaults.DEFAULT_AVATARS;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_card__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n server: server,\n pinned: true,\n join: this.join,\n guildList: guildList,\n fallback: defaultList[Math.floor(Math.random() * 5)]\n });\n }\n\n get endPoint() {\n return \"https://search.discordservers.com\";\n }\n\n get joinEndPoint() {\n return \"https://j.discordservers.com\";\n }\n\n get connectEndPoint() {\n return \"https://join.discordservers.com/connect\";\n }\n\n checkConnection() {\n const self = this;\n\n try {\n $.ajax({\n method: \"GET\",\n url: `https://auth.discordservers.com/info`,\n headers: {\n \"Accept\": \"application/json;\",\n \"Content-Type\": \"application/json;\"\n },\n crossDomain: true,\n xhrFields: {\n withCredentials: true\n },\n success: data => {\n // Utils.log(\"PublicServer\", \"Got data: \" + JSON.stringify(data));\n self.setState({\n selectedCategory: 0,\n connection: {\n state: 2,\n user: data\n }\n });\n self.search(\"\", true);\n },\n error: () => {\n self.setState({\n title: \"Not connected to discordservers.com!\",\n loading: true,\n selectedCategory: -1,\n connection: {\n state: 1,\n user: null\n }\n });\n }\n });\n } catch (error) {\n self.setState({\n title: \"Not connected to discordservers.com!\",\n loading: true,\n selectedCategory: -1,\n connection: {\n state: 1,\n user: null\n }\n });\n }\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_sidebarview__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n ref: \"sbv\"\n }, this.component);\n }\n\n get component() {\n return {\n sidebar: {\n component: this.sidebar\n },\n content: {\n component: this.content\n },\n tools: {\n component: modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_exitbutton__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n key: \"pt\",\n ref: \"tools\",\n onClick: this.close\n })\n }\n };\n }\n\n get sidebar() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"sidebar\",\n key: \"ps\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-tab-bar SIDE\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-tab-bar-header\",\n style: {\n fontSize: \"16px\"\n }\n }, \"Public Servers\"), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Separator, null), this.searchInput, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Separator, null), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Header, {\n text: \"Categories\"\n }), this.categoryButtons.map((value, index) => {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Item, {\n id: index,\n onClick: this.changeCategory,\n key: index,\n text: value,\n selected: this.state.selectedCategory === index\n });\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Separator, null), this.footer, this.connection));\n }\n\n get searchInput() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-form-item\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-text-input flex-vertical\",\n style: {\n width: \"172px\",\n marginLeft: \"10px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"input\", {\n ref: \"searchinput\",\n onKeyDown: this.searchKeyDown,\n onChange: () => {},\n type: \"text\",\n className: \"input default\",\n placeholder: \"Search...\",\n maxLength: \"50\"\n })));\n }\n\n searchKeyDown(e) {\n const self = this;\n if (self.state.loading || e.which !== 13) return;\n self.setState({\n loading: true,\n title: \"Loading...\",\n term: e.target.value\n });\n let query = `?term=${e.target.value}`;\n\n if (self.state.selectedCategory !== 0) {\n query += `&category=${self.categoryButtons[self.state.selectedCategory]}`;\n }\n\n self.search(query, true);\n }\n\n get categoryButtons() {\n return [\"All\", \"FPS Games\", \"MMO Games\", \"Strategy Games\", \"MOBA Games\", \"RPG Games\", \"Tabletop Games\", \"Sandbox Games\", \"Simulation Games\", \"Music\", \"Community\", \"Language\", \"Programming\", \"Other\"];\n }\n\n changeCategory(id) {\n const self = this;\n if (self.state.loading) return;\n self.refs.searchinput.value = \"\";\n self.setState({\n loading: true,\n selectedCategory: id,\n title: \"Loading...\",\n term: null\n });\n\n if (id === 0) {\n self.search(\"\", true);\n return;\n }\n\n self.search(`?category=${self.categoryButtons[id]}`, true);\n }\n\n get content() {\n const self = this;\n const guildList = this.SortedGuildStore.guildPositions;\n const defaultList = this.AvatarDefaults.DEFAULT_AVATARS;\n if (self.state.connection.state === 1) return self.notConnected;\n return [modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n ref: \"content\",\n key: \"pc\",\n className: \"contentColumn-2hrIYH contentColumnDefault-1VQkGM content-column default\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_settings_title__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n text: self.state.title\n }), self.bdServer, self.state.servers.map(server => {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_card__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n key: server.identifier,\n server: server,\n join: self.join,\n guildList: guildList,\n fallback: defaultList[Math.floor(Math.random() * 5)]\n });\n }), self.state.next && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n type: \"button\",\n onClick: () => {\n if (self.state.loading) return;\n self.setState({\n loading: true\n });\n self.search(self.state.next, false);\n },\n className: \"ui-button filled brand small grow\",\n style: {\n width: \"100%\",\n marginTop: \"10px\",\n marginBottom: \"10px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\"\n }, self.state.loading ? \"Loading\" : \"Load More\")), self.state.servers.length > 0 && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_settings_title__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n text: self.state.title\n }))];\n }\n\n get notConnected() {\n const self = this; //return React.createElement(SettingsTitle, { text: self.state.title });\n\n return [modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n key: \"ncc\",\n ref: \"content\",\n className: \"contentColumn-2hrIYH contentColumnDefault-1VQkGM content-column default\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"h2\", {\n className: \"ui-form-title h2 margin-reset margin-bottom-20\"\n }, \"Not connected to discordservers.com!\", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n onClick: self.connect,\n type: \"button\",\n className: \"ui-button filled brand small grow\",\n style: {\n display: \"inline-block\",\n minHeight: \"18px\",\n marginLeft: \"10px\",\n lineHeight: \"14px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\"\n }, \"Connect\"))), self.bdServer)];\n }\n\n get footer() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-tab-bar-header\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"a\", {\n href: \"https://discordservers.com\",\n target: \"_blank\"\n }, \"Discordservers.com\"));\n }\n\n get connection() {\n const self = this;\n const {\n connection\n } = self.state;\n if (connection.state !== 2) return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", null);\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", null, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Separator, null), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n style: {\n color: \"#b9bbbe\",\n fontSize: \"10px\",\n marginLeft: \"10px\"\n }\n }, \"Connected as: \", `${connection.user.username}#${connection.user.discriminator}`), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n style: {\n padding: \"5px 10px 0 10px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n style: {\n width: \"100%\",\n minHeight: \"20px\"\n },\n type: \"button\",\n className: \"ui-button filled brand small grow\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\",\n onClick: self.connect\n }, \"Reconnect\"))));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvbWVudS5qcz85YWNkIl0sIm5hbWVzIjpbIlB1YmxpY1NlcnZlcnMiLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJzdGF0ZSIsInNlbGVjdGVkQ2F0ZWdvcnkiLCJ0aXRsZSIsImxvYWRpbmciLCJzZXJ2ZXJzIiwibmV4dCIsImNvbm5lY3Rpb24iLCJ1c2VyIiwiY2xvc2UiLCJiaW5kIiwiY2hhbmdlQ2F0ZWdvcnkiLCJzZWFyY2giLCJzZWFyY2hLZXlEb3duIiwiY2hlY2tDb25uZWN0aW9uIiwiam9pbiIsImNvbm5lY3QiLCJHdWlsZFN0b3JlIiwiV2VicGFja01vZHVsZXMiLCJnZXRCeVByb3BzIiwiQXZhdGFyRGVmYXVsdHMiLCJJbnZpdGVBY3Rpb25zIiwiU29ydGVkR3VpbGRTdG9yZSIsImNvbXBvbmVudERpZE1vdW50IiwiUmVhY3RET00iLCJ1bm1vdW50Q29tcG9uZW50QXROb2RlIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsInJvb3RJZCIsInF1ZXJ5IiwiY2xlYXIiLCJzZWxmIiwiJCIsImFqYXgiLCJtZXRob2QiLCJ1cmwiLCJlbmRQb2ludCIsInN1Y2Nlc3MiLCJkYXRhIiwicmVzdWx0cyIsInJlZHVjZSIsImFyciIsInNlcnZlciIsImpvaW5lZCIsInB1c2giLCJjb25jYXQiLCJlbmQiLCJzaXplIiwiZnJvbSIsInRlcm0iLCJjYXRlZ29yeUJ1dHRvbnMiLCJ0b3RhbCIsInNldFN0YXRlIiwicmVmcyIsInNidiIsImNvbnRlbnRTY3JvbGxlciIsInNjcm9sbFRvcCIsImVycm9yIiwic2VydmVyQ2FyZCIsInBpbm5lZCIsImFjY2VwdEludml0ZSIsImludml0ZV9jb2RlIiwiam9pbkVuZFBvaW50IiwiaWRlbnRpZmllciIsImhlYWRlcnMiLCJhY2Nlc3NUb2tlbiIsImNyb3NzRG9tYWluIiwieGhyRmllbGRzIiwid2l0aENyZWRlbnRpYWxzIiwib3B0aW9ucyIsIndpbmRvd09wdGlvbnMiLCJ4IiwiTWF0aCIsInJvdW5kIiwid2luZG93Iiwic2NyZWVuWCIsImlubmVyV2lkdGgiLCJ3aWR0aCIsInkiLCJzY3JlZW5ZIiwiaW5uZXJIZWlnaHQiLCJoZWlnaHQiLCJqb2luV2luZG93IiwicmVxdWlyZSIsInJlbW90ZSIsIkJyb3dzZXJXaW5kb3ciLCJ3ZWJDb250ZW50cyIsIm9uIiwiZXZlbnQiLCJsb2FkVVJMIiwiYmFja2dyb3VuZENvbG9yIiwic2hvdyIsInJlc2l6YWJsZSIsIm1heGltaXphYmxlIiwibWluaW1pemFibGUiLCJhbHdheXNPblRvcCIsImZyYW1lIiwiY2VudGVyIiwid2ViUHJlZmVyZW5jZXMiLCJub2RlSW50ZWdyYXRpb24iLCJiZFNlcnZlciIsIm5hbWUiLCJvbmxpbmUiLCJtZW1iZXJzIiwiY2F0ZWdvcmllcyIsImRlc2NyaXB0aW9uIiwiaWNvblVybCIsIm5hdGl2ZWpvaW4iLCJndWlsZExpc3QiLCJndWlsZFBvc2l0aW9ucyIsImRlZmF1bHRMaXN0IiwiREVGQVVMVF9BVkFUQVJTIiwiY3JlYXRlRWxlbWVudCIsIlNlcnZlckNhcmQiLCJmYWxsYmFjayIsImZsb29yIiwicmFuZG9tIiwiY29ubmVjdEVuZFBvaW50IiwicmVuZGVyIiwiU2lkZWJhclZpZXciLCJyZWYiLCJjb21wb25lbnQiLCJzaWRlYmFyIiwiY29udGVudCIsInRvb2xzIiwiVG9vbHMiLCJrZXkiLCJvbkNsaWNrIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJmb250U2l6ZSIsIlRhYkJhciIsIlNlcGFyYXRvciIsInNlYXJjaElucHV0IiwiSGVhZGVyIiwidGV4dCIsIm1hcCIsInZhbHVlIiwiaW5kZXgiLCJJdGVtIiwiaWQiLCJzZWxlY3RlZCIsImZvb3RlciIsIm1hcmdpbkxlZnQiLCJvbktleURvd24iLCJvbkNoYW5nZSIsInR5cGUiLCJwbGFjZWhvbGRlciIsIm1heExlbmd0aCIsImUiLCJ3aGljaCIsInRhcmdldCIsInNlYXJjaGlucHV0Iiwibm90Q29ubmVjdGVkIiwiU2V0dGluZ3NUaXRsZSIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSIsImxlbmd0aCIsImRpc3BsYXkiLCJtaW5IZWlnaHQiLCJsaW5lSGVpZ2h0IiwiaHJlZiIsImNvbG9yIiwidXNlcm5hbWUiLCJkaXNjcmltaW5hdG9yIiwicGFkZGluZyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVlLE1BQU1BLGFBQU4sU0FBNEJDLDZDQUFLLENBQUNDLFNBQWxDLENBQTRDO0FBRXZEQyxhQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFDQSxTQUFLQyxLQUFMLEdBQWE7QUFDVEMsc0JBQWdCLEVBQUUsQ0FBQyxDQURWO0FBRVRDLFdBQUssRUFBRSxZQUZFO0FBR1RDLGFBQU8sRUFBRSxJQUhBO0FBSVRDLGFBQU8sRUFBRSxFQUpBO0FBS1RDLFVBQUksRUFBRSxJQUxHO0FBTVRDLGdCQUFVLEVBQUU7QUFDUk4sYUFBSyxFQUFFLENBREM7QUFFUk8sWUFBSSxFQUFFO0FBRkU7QUFOSCxLQUFiO0FBV0EsU0FBS0MsS0FBTCxHQUFhLEtBQUtBLEtBQUwsQ0FBV0MsSUFBWCxDQUFnQixJQUFoQixDQUFiO0FBQ0EsU0FBS0MsY0FBTCxHQUFzQixLQUFLQSxjQUFMLENBQW9CRCxJQUFwQixDQUF5QixJQUF6QixDQUF0QjtBQUNBLFNBQUtFLE1BQUwsR0FBYyxLQUFLQSxNQUFMLENBQVlGLElBQVosQ0FBaUIsSUFBakIsQ0FBZDtBQUNBLFNBQUtHLGFBQUwsR0FBcUIsS0FBS0EsYUFBTCxDQUFtQkgsSUFBbkIsQ0FBd0IsSUFBeEIsQ0FBckI7QUFDQSxTQUFLSSxlQUFMLEdBQXVCLEtBQUtBLGVBQUwsQ0FBcUJKLElBQXJCLENBQTBCLElBQTFCLENBQXZCO0FBQ0EsU0FBS0ssSUFBTCxHQUFZLEtBQUtBLElBQUwsQ0FBVUwsSUFBVixDQUFlLElBQWYsQ0FBWjtB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RTtBQUEzQixPQUFSO0FBQTRDYixVQUFJLEVBQUUsUUFBbEQ7QUFBNERsQixlQUFTLEVBQUU7QUFBdkUsS0FGSixFQUdJbkksNkNBQUssQ0FBQ21ILGFBQU4sQ0FDSSxLQURKLEVBRUk7QUFBQ2dCLGVBQVMsRUFBRSxvQkFBWjtBQUFrQ0QsYUFBTyxFQUFFaEcsSUFBSSxDQUFDZjtBQUFoRCxLQUZKLEVBR0ksV0FISixDQUhKLENBSEosQ0FWRyxDQUFQO0FBd0JQOztBQXBhMEQiLCJmaWxlIjoiLi9zcmMvdWkvcHVibGljc2VydmVycy9tZW51LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWFjdCwgUmVhY3RET00sIFdlYnBhY2tNb2R1bGVzfSBmcm9tIFwibW9kdWxlc1wiO1xyXG5pbXBvcnQgU2lkZWJhclZpZXcgZnJvbSBcIi4vc2lkZWJhcnZpZXdcIjtcclxuaW1wb3J0IFRvb2xzIGZyb20gXCIuL2V4aXRidXR0b25cIjtcclxuaW1wb3J0IFRhYkJhciBmcm9tIFwiLi90YWJiYXJcIjtcclxuaW1wb3J0IFNldHRpbmdzVGl0bGUgZnJvbSBcIi4uL3NldHRpbmdzL3RpdGxlXCI7XHJcbmltcG9ydCBTZXJ2ZXJDYXJkIGZyb20gXCIuL2NhcmRcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFB1YmxpY1NlcnZlcnMgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgICAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6IC0xLFxyXG4gICAgICAgICAgICB0aXRsZTogXCJMb2FkaW5nLi4uXCIsXHJcbiAgICAgICAgICAgIGxvYWRpbmc6IHRydWUsXHJcbiAgICAgICAgICAgIHNlcnZlcnM6IFtdLFxyXG4gICAgICAgICAgICBuZXh0OiBudWxsLFxyXG4gICAgICAgICAgICBjb25uZWN0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICBzdGF0ZTogMCxcclxuICAgICAgICAgICAgICAgIHVzZXI6IG51bGxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5jbG9zZSA9IHRoaXMuY2xvc2UuYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLmNoYW5nZUNhdGVnb3J5ID0gdGhpcy5jaGFuZ2VDYXRlZ29yeS5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoID0gdGhpcy5zZWFyY2guYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLnNlYXJjaEtleURvd24gPSB0aGlzLnNlYXJjaEtleURvd24uYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLmNoZWNrQ29ubmVjdGlvbiA9IHRoaXMuY2hlY2tDb25uZWN0aW9uLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5qb2luID0gdGhpcy5qb2luLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0ID0gdGhpcy5jb25uZWN0LmJpbmQodGhpcyk7XHJcblxyXG4gICAgICAgIHRoaXMuR3VpbGRTdG9yZSA9IFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRHdWlsZHNcIik7XHJcbiAgICAgICAgdGhpcy5BdmF0YXJEZWZhdWx0cyA9IFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRVc2VyQXZhdGFyVVJMXCIsIFwiREVGQVVMVF9BVkFUQVJTXCIpO1xyXG4gICAgICAgIHRoaXMuSW52aXRlQWN0aW9ucyA9IFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJhY2NlcHRJbnZpdGVcIik7XHJcbiAgICAgICAgdGhpcy5Tb3J0ZWRHdWlsZFN0b3JlID0gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImdldFNvcnRlZEd1aWxkc1wiKTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgICAgICB0aGlzLmNoZWNrQ29ubmVjdGlvbigpO1xyXG4gICAgIH1cclxuXHJcbiAgICBjbG9zZSgpIHtcclxuICAgICAgICBSZWFjdERPTS51bm1vdW50Q29tcG9uZW50QXROb2RlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMucHJvcHMucm9vdElkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VhcmNoKHF1ZXJ5LCBjbGVhcikge1xyXG4gICAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xyXG5cclxuICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXHJcbiAgICAgICAgICAgIHVybDogYCR7c2VsZi5lbmRQb2ludH0ke3F1ZXJ5fSR7cXVlcnkgPyBcIiZzY2hlbWE9bmV3XCIgOiBcIj9zY2hlbWE9bmV3XCJ9YCxcclxuICAgICAgICAgICAgc3VjY2VzczogZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgc2VydmVycyA9IGRhdGEucmVzdWx0cy5yZWR1Y2UoKGFyciwgc2VydmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VydmVyLmpvaW5lZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKHNlcnZlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gYXJyLnB1c2goPFNlcnZlckNhcmQgc2VydmVyPXtzZXJ2ZXJ9IGpvaW49e3NlbGYuam9pbn0vPik7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFycjtcclxuICAgICAgICAgICAgICAgIH0sIFtdKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoIWNsZWFyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VydmVycyA9IHNlbGYuc3RhdGUuc2VydmVycy5jb25jYXQoc2VydmVycyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAvL3NlcnZlcnMudW5zaGlmdChzZWxmLmJkU2VydmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgZW5kID0gZGF0YS5zaXplICsgZGF0YS5mcm9tO1xyXG4gICAgICAgICAgICAgICAgZGF0YS5uZXh0ID0gYD9mcm9tPSR7ZW5kfWA7XHJcbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5zdGF0ZS50ZXJtKSBkYXRhLm5leHQgKz0gYCZ0ZXJtPSR7c2VsZi5zdGF0ZS50ZXJtfWA7XHJcbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5zdGF0ZS5zZWxlY3RlZENhdGVnb3J5KSBkYXRhLm5leHQgKz0gYCZjYXRlZ29yeT0ke3NlbGYuY2F0ZWdvcnlCdXR0b25zW3NlbGYuc3RhdGUuc2VsZWN0ZWRDYXRlZ29yeV19YDtcclxuICAgICAgICAgICAgICAgIGlmIChlbmQgPj0gZGF0YS50b3RhbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVuZCA9IGRhdGEudG90YWw7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5uZXh0ID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBgU2hvd2luZyAxLSR7ZW5kfSBvZiAke2RhdGEudG90YWx9IHJlc3VsdHMgaW4gJHtzZWxmLmNhdGVnb3J5QnV0dG9uc1tzZWxmLnN0YXRlLnNlbGVjdGVkQ2F0ZWdvcnldfWA7XHJcbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5zdGF0ZS50ZXJtKSB0aXRsZSArPSBgIGZvciAke3NlbGYuc3RhdGUudGVybX1gO1xyXG5cclxuICAgICAgICAgICAgICAgIHNlbGYuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJzOiBzZXJ2ZXJzLFxyXG4gICAgICAgICAgICAgICAgICAgIG5leHQ6IGRhdGEubmV4dFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGNsZWFyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhzZWxmKTtcclxuICAgICAgICAgICAgICAgICAgICBzZWxmLnJlZnMuc2J2LnJlZnMuY29udGVudFNjcm9sbGVyLnNjcm9sbFRvcCA9IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCJGYWlsZWQgdG8gbG9hZCBzZXJ2ZXJzLiBDaGVjayBjb25zb2xlIGZvciBkZXRhaWxzXCJcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgam9pbihzZXJ2ZXJDYXJkKSB7XHJcbiAgICAgICAgaWYgKHNlcnZlckNhcmQucHJvcHMucGlubmVkKSByZXR1cm4gdGhpcy5JbnZpdGVBY3Rpb25zLmFjY2VwdEludml0ZShzZXJ2ZXJDYXJkLnByb3BzLmludml0ZV9jb2RlKTtcclxuICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXHJcbiAgICAgICAgICAgIHVybDogYCR7dGhpcy5qb2luRW5kUG9pbnR9LyR7c2VydmVyQ2FyZC5wcm9wcy5zZXJ2ZXIuaWRlbnRpZmllcn1gLFxyXG4gICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICBcIkFjY2VwdFwiOiBcImFwcGxpY2F0aW9uL2pzb247XCIsXHJcbiAgICAgICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb247XCIgLFxyXG4gICAgICAgICAgICAgICAgXCJ4LWRpc2NvcmQtdG9rZW5cIjogdGhpcy5zdGF0ZS5jb25uZWN0aW9uLnVzZXIuYWNjZXNzVG9rZW5cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgY3Jvc3NEb21haW46IHRydWUsXHJcbiAgICAgICAgICAgIHhockZpZWxkczoge1xyXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHNlcnZlckNhcmQuc2V0U3RhdGUoe2pvaW5lZDogdHJ1ZX0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29ubmVjdCgpIHtcclxuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy53aW5kb3dPcHRpb25zO1xyXG4gICAgICAgIG9wdGlvbnMueCA9IE1hdGgucm91bmQod2luZG93LnNjcmVlblggKyB3aW5kb3cuaW5uZXJXaWR0aCAvIDIgLSBvcHRpb25zLndpZHRoIC8gMik7XHJcbiAgICAgICAgb3B0aW9ucy55ID0gTWF0aC5yb3VuZCh3aW5kb3cuc2NyZWVuWSArIHdpbmRvdy5pbm5lckhlaWdodCAvIDIgLSBvcHRpb25zLmhlaWdodCAvIDIpO1xyXG5cclxuICAgICAgICB0aGlzLmpvaW5XaW5kb3cgPSBuZXcgKHdpbmRvdy5yZXF1aXJlKFwiZWxlY3Ryb25cIikucmVtb3RlLkJyb3dzZXJXaW5kb3cpKG9wdGlvbnMpO1xyXG4gICAgICAgIGNvbnN0IHVybCA9IFwiaHR0cHM6Ly9hdXRoLmRpc2NvcmRzZXJ2ZXJzLmNvbS9jb25uZWN0P3Njb3Blcz1ndWlsZHMuam9pbiZwcmV2aW91c1VybD1odHRwczovL2F1dGguZGlzY29yZHNlcnZlcnMuY29tL2luZm9cIjtcclxuICAgICAgICB0aGlzLmpvaW5XaW5kb3cud2ViQ29udGVudHMub24oXCJkaWQtbmF2aWdhdGVcIiwgKGV2ZW50LCB1cmwpID0+IHtcclxuICAgICAgICAgICAgaWYgKHVybCAhPSBcImh0dHBzOi8vYXV0aC5kaXNjb3Jkc2VydmVycy5jb20vaW5mb1wiKSByZXR1cm47XHJcbiAgICAgICAgICAgIHRoaXMuam9pbldpbmRvdy5jbG9zZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmNoZWNrQ29ubmVjdGlvbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuam9pbldpbmRvdy5sb2FkVVJMKHVybCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHdpbmRvd09wdGlvbnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwMCxcclxuICAgICAgICAgICAgaGVpZ2h0OiA1NTAsXHJcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjMjgyYjMwXCIsXHJcbiAgICAgICAgICAgIHNob3c6IHRydWUsXHJcbiAgICAgICAgICAgIHJlc2l6YWJsZTogZmFsc2UsXHJcbiAgICAgICAgICAgIG1heGltaXphYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgbWluaW1pemFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBhbHdheXNPblRvcDogdHJ1ZSxcclxuICAgICAgICAgICAgZnJhbWU6IGZhbHNlLFxyXG4gICAgICAgICAgICBjZW50ZXI6IGZhbHNlLFxyXG4gICAgICAgICAgICB3ZWJQcmVmZXJlbmNlczoge1xyXG4gICAgICAgICAgICAgICAgbm9kZUludGVncmF0aW9uOiBmYWxzZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYmRTZXJ2ZXIoKSB7XHJcbiAgICAgICAgY29uc3Qgc2VydmVyID0ge1xyXG4gICAgICAgICAgICBuYW1lOiBcIkJldHRlckRpc2NvcmRcIixcclxuICAgICAgICAgICAgb25saW5lOiBcIjc1MDArXCIsXHJcbiAgICAgICAgICAgIG1lbWJlcnM6IFwiMjAwMDArXCIsXHJcbiAgICAgICAgICAgIGNhdGVnb3JpZXM6IFtcImNvbW11bml0eVwiLCBcInByb2dyYW1taW5nXCIsIFwic3VwcG9ydFwiXSxcclxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiT2ZmaWNpYWwgQmV0dGVyRGlzY29yZCBzZXJ2ZXIgZm9yIHN1cHBvcnQgZXRjXCIsXHJcbiAgICAgICAgICAgIGlkZW50aWZpZXI6IFwiODYwMDQ3NDQ5NjY5MTQwNDhcIixcclxuICAgICAgICAgICAgaWNvblVybDogXCJodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9pY29ucy84NjAwNDc0NDk2NjkxNDA0OC8yOTJlN2Y2YmZmZjJiNzFkZmQxM2U1MDhhODU5YWVkZC53ZWJwXCIsXHJcbiAgICAgICAgICAgIG5hdGl2ZWpvaW46IHRydWUsXHJcbiAgICAgICAgICAgIGludml0ZV9jb2RlOiBcIjBUbWZvNVpiT1JDUnFiQWRcIixcclxuICAgICAgICAgICAgcGlubmVkOiB0cnVlXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBndWlsZExpc3QgPSB0aGlzLlNvcnRlZEd1aWxkU3RvcmUuZ3VpbGRQb3NpdGlvbnM7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdExpc3QgPSB0aGlzLkF2YXRhckRlZmF1bHRzLkRFRkFVTFRfQVZBVEFSUztcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChTZXJ2ZXJDYXJkLCB7c2VydmVyOiBzZXJ2ZXIsIHBpbm5lZDogdHJ1ZSwgam9pbjogdGhpcy5qb2luLCBndWlsZExpc3Q6IGd1aWxkTGlzdCwgZmFsbGJhY2s6IGRlZmF1bHRMaXN0W01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDUpXX0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBlbmRQb2ludCgpIHtcclxuICAgICAgICByZXR1cm4gXCJodHRwczovL3NlYXJjaC5kaXNjb3Jkc2VydmVycy5jb21cIjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgam9pbkVuZFBvaW50KCkge1xyXG4gICAgICAgIHJldHVybiBcImh0dHBzOi8vai5kaXNjb3Jkc2VydmVycy5jb21cIjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29ubmVjdEVuZFBvaW50KCkge1xyXG4gICAgICAgIHJldHVybiBcImh0dHBzOi8vam9pbi5kaXNjb3Jkc2VydmVycy5jb20vY29ubmVjdFwiO1xyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrQ29ubmVjdGlvbigpIHtcclxuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxyXG4gICAgICAgICAgICAgICAgdXJsOiBgaHR0cHM6Ly9hdXRoLmRpc2NvcmRzZXJ2ZXJzLmNvbS9pbmZvYCxcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBcIkFjY2VwdFwiOiBcImFwcGxpY2F0aW9uL2pzb247XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uO1wiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgY3Jvc3NEb21haW46IHRydWUsXHJcbiAgICAgICAgICAgICAgICB4aHJGaWVsZHM6IHtcclxuICAgICAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBVdGlscy5sb2coXCJQdWJsaWNTZXJ2ZXJcIiwgXCJHb3QgZGF0YTogXCIgKyBKU09OLnN0cmluZ2lmeShkYXRhKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcjogZGF0YVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5zZWFyY2goXCJcIiwgdHJ1ZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIk5vdCBjb25uZWN0ZWQgdG8gZGlzY29yZHNlcnZlcnMuY29tIVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZENhdGVnb3J5OiAtMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU6IDEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyOiBudWxsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBzZWxmLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk5vdCBjb25uZWN0ZWQgdG8gZGlzY29yZHNlcnZlcnMuY29tIVwiLFxyXG4gICAgICAgICAgICAgICAgbG9hZGluZzogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6IC0xLFxyXG4gICAgICAgICAgICAgICAgY29ubmVjdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlOiAxLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZXI6IG51bGxcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChTaWRlYmFyVmlldywge3JlZjogXCJzYnZcIn0sIHRoaXMuY29tcG9uZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29tcG9uZW50KCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHNpZGViYXI6IHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcy5zaWRlYmFyXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcy5jb250ZW50XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRvb2xzOiB7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFJlYWN0LmNyZWF0ZUVsZW1lbnQoVG9vbHMsIHtrZXk6IFwicHRcIiwgcmVmOiBcInRvb2xzXCIsIG9uQ2xpY2s6IHRoaXMuY2xvc2V9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc2lkZWJhcigpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2NsYXNzTmFtZTogXCJzaWRlYmFyXCIsIGtleTogXCJwc1wifSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInVpLXRhYi1iYXIgU0lERVwifSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInVpLXRhYi1iYXItaGVhZGVyXCIsIHN0eWxlOiB7Zm9udFNpemU6IFwiMTZweFwifX0sXHJcbiAgICAgICAgICAgICAgICAgICAgXCJQdWJsaWMgU2VydmVyc1wiXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUYWJCYXIuU2VwYXJhdG9yLCBudWxsKSxcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXQsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRhYkJhci5TZXBhcmF0b3IsIG51bGwpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUYWJCYXIuSGVhZGVyLCB7dGV4dDogXCJDYXRlZ29yaWVzXCJ9KSxcclxuICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlCdXR0b25zLm1hcCgodmFsdWUsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGFiQmFyLkl0ZW0sIHtpZDogaW5kZXgsIG9uQ2xpY2s6IHRoaXMuY2hhbmdlQ2F0ZWdvcnksIGtleTogaW5kZXgsIHRleHQ6IHZhbHVlLCBzZWxlY3RlZDogdGhpcy5zdGF0ZS5zZWxlY3RlZENhdGVnb3J5ID09PSBpbmRleH0pO1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRhYkJhci5TZXBhcmF0b3IsIG51bGwpLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5mb290ZXIsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHNlYXJjaElucHV0KCkge1xyXG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInVpLWZvcm0taXRlbVwifSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInVpLXRleHQtaW5wdXQgZmxleC12ZXJ0aWNhbFwiLCBzdHlsZToge3dpZHRoOiBcIjE3MnB4XCIsIG1hcmdpbkxlZnQ6IFwiMTBweFwifX0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiwge3JlZjogXCJzZWFyY2hpbnB1dFwiLCBvbktleURvd246IHRoaXMuc2VhcmNoS2V5RG93biwgb25DaGFuZ2U6ICgpID0+IHt9LCB0eXBlOiBcInRleHRcIiwgY2xhc3NOYW1lOiBcImlucHV0IGRlZmF1bHRcIiwgcGxhY2Vob2xkZXI6IFwiU2VhcmNoLi4uXCIsIG1heExlbmd0aDogXCI1MFwifSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VhcmNoS2V5RG93bihlKSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgaWYgKHNlbGYuc3RhdGUubG9hZGluZyB8fCBlLndoaWNoICE9PSAxMykgcmV0dXJuO1xyXG4gICAgICAgIHNlbGYuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBsb2FkaW5nOiB0cnVlLFxyXG4gICAgICAgICAgICB0aXRsZTogXCJMb2FkaW5nLi4uXCIsXHJcbiAgICAgICAgICAgIHRlcm06IGUudGFyZ2V0LnZhbHVlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgbGV0IHF1ZXJ5ID0gYD90ZXJtPSR7ZS50YXJnZXQudmFsdWV9YDtcclxuICAgICAgICBpZiAoc2VsZi5zdGF0ZS5zZWxlY3RlZENhdGVnb3J5ICE9PSAwKSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5ICs9IGAmY2F0ZWdvcnk9JHtzZWxmLmNhdGVnb3J5QnV0dG9uc1tzZWxmLnN0YXRlLnNlbGVjdGVkQ2F0ZWdvcnldfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNlbGYuc2VhcmNoKHF1ZXJ5LCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY2F0ZWdvcnlCdXR0b25zKCkge1xyXG4gICAgICAgIHJldHVybiBbXCJBbGxcIiwgXCJGUFMgR2FtZXNcIiwgXCJNTU8gR2FtZXNcIiwgXCJTdHJhdGVneSBHYW1lc1wiLCBcIk1PQkEgR2FtZXNcIiwgXCJSUEcgR2FtZXNcIiwgXCJUYWJsZXRvcCBHYW1lc1wiLCBcIlNhbmRib3ggR2FtZXNcIiwgXCJTaW11bGF0aW9uIEdhbWVzXCIsIFwiTXVzaWNcIiwgXCJDb21tdW5pdHlcIiwgXCJMYW5ndWFnZVwiLCBcIlByb2dyYW1taW5nXCIsIFwiT3RoZXJcIl07XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlQ2F0ZWdvcnkoaWQpIHtcclxuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcclxuICAgICAgICBpZiAoc2VsZi5zdGF0ZS5sb2FkaW5nKSByZXR1cm47XHJcbiAgICAgICAgc2VsZi5yZWZzLnNlYXJjaGlucHV0LnZhbHVlID0gXCJcIjtcclxuICAgICAgICBzZWxmLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgbG9hZGluZzogdHJ1ZSxcclxuICAgICAgICAgICAgc2VsZWN0ZWRDYXRlZ29yeTogaWQsXHJcbiAgICAgICAgICAgIHRpdGxlOiBcIkxvYWRpbmcuLi5cIixcclxuICAgICAgICAgICAgdGVybTogbnVsbFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChpZCA9PT0gMCkge1xyXG4gICAgICAgICAgICBzZWxmLnNlYXJjaChcIlwiLCB0cnVlKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWxmLnNlYXJjaChgP2NhdGVnb3J5PSR7c2VsZi5jYXRlZ29yeUJ1dHRvbnNbaWRdfWAsIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb250ZW50KCkge1xyXG4gICAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIGNvbnN0IGd1aWxkTGlzdCA9IHRoaXMuU29ydGVkR3VpbGRTdG9yZS5ndWlsZFBvc2l0aW9ucztcclxuICAgICAgICBjb25zdCBkZWZhdWx0TGlzdCA9IHRoaXMuQXZhdGFyRGVmYXVsdHMuREVGQVVMVF9BVkFUQVJTO1xyXG4gICAgICAgIGlmIChzZWxmLnN0YXRlLmNvbm5lY3Rpb24uc3RhdGUgPT09IDEpIHJldHVybiBzZWxmLm5vdENvbm5lY3RlZDtcclxuICAgICAgICByZXR1cm4gW1JlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgIHtyZWY6IFwiY29udGVudFwiLCBrZXk6IFwicGNcIiwgY2xhc3NOYW1lOiBcImNvbnRlbnRDb2x1bW4tMmhySVlIIGNvbnRlbnRDb2x1bW5EZWZhdWx0LTFWUWtHTSBjb250ZW50LWNvbHVtbiBkZWZhdWx0XCJ9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFNldHRpbmdzVGl0bGUsIHt0ZXh0OiBzZWxmLnN0YXRlLnRpdGxlfSksXHJcbiAgICAgICAgICAgIHNlbGYuYmRTZXJ2ZXIsXHJcbiAgICAgICAgICAgIHNlbGYuc3RhdGUuc2VydmVycy5tYXAoKHNlcnZlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU2VydmVyQ2FyZCwge2tleTogc2VydmVyLmlkZW50aWZpZXIsIHNlcnZlcjogc2VydmVyLCBqb2luOiBzZWxmLmpvaW4sIGd1aWxkTGlzdDogZ3VpbGRMaXN0LCBmYWxsYmFjazogZGVmYXVsdExpc3RbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogNSldfSk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBzZWxmLnN0YXRlLm5leHQgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgIFwiYnV0dG9uXCIsXHJcbiAgICAgICAgICAgICAgICB7dHlwZTogXCJidXR0b25cIiwgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZi5zdGF0ZS5sb2FkaW5nKSByZXR1cm47c2VsZi5zZXRTdGF0ZSh7bG9hZGluZzogdHJ1ZX0pOyBzZWxmLnNlYXJjaChzZWxmLnN0YXRlLm5leHQsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICB9LCBjbGFzc05hbWU6IFwidWktYnV0dG9uIGZpbGxlZCBicmFuZCBzbWFsbCBncm93XCIsIHN0eWxlOiB7d2lkdGg6IFwiMTAwJVwiLCBtYXJnaW5Ub3A6IFwiMTBweFwiLCBtYXJnaW5Cb3R0b206IFwiMTBweFwifX0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS1idXR0b24tY29udGVudHNcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGF0ZS5sb2FkaW5nID8gXCJMb2FkaW5nXCIgOiBcIkxvYWQgTW9yZVwiXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIHNlbGYuc3RhdGUuc2VydmVycy5sZW5ndGggPiAwICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU2V0dGluZ3NUaXRsZSwge3RleHQ6IHNlbGYuc3RhdGUudGl0bGV9KVxyXG4gICAgICAgICldO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBub3RDb25uZWN0ZWQoKSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgLy9yZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChTZXR0aW5nc1RpdGxlLCB7IHRleHQ6IHNlbGYuc3RhdGUudGl0bGUgfSk7XHJcbiAgICAgICAgcmV0dXJuIFtSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICB7a2V5OiBcIm5jY1wiLCByZWY6IFwiY29udGVudFwiLCBjbGFzc05hbWU6IFwiY29udGVudENvbHVtbi0yaHJJWUggY29udGVudENvbHVtbkRlZmF1bHQtMVZRa0dNIGNvbnRlbnQtY29sdW1uIGRlZmF1bHRcIn0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICBcImgyXCIsXHJcbiAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInVpLWZvcm0tdGl0bGUgaDIgbWFyZ2luLXJlc2V0IG1hcmdpbi1ib3R0b20tMjBcIn0sXHJcbiAgICAgICAgICAgICAgICBcIk5vdCBjb25uZWN0ZWQgdG8gZGlzY29yZHNlcnZlcnMuY29tIVwiLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICBcImJ1dHRvblwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljazogc2VsZi5jb25uZWN0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IFwidWktYnV0dG9uIGZpbGxlZCBicmFuZCBzbWFsbCBncm93XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZS1ibG9ja1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluSGVpZ2h0OiBcIjE4cHhcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbkxlZnQ6IFwiMTBweFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogXCIxNHB4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS1idXR0b24tY29udGVudHNcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiQ29ubmVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApLCBzZWxmLmJkU2VydmVyXHJcbiAgICAgICAgKV07XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGZvb3RlcigpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS10YWItYmFyLWhlYWRlclwifSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgIFwiYVwiLFxyXG4gICAgICAgICAgICAgICAge2hyZWY6IFwiaHR0cHM6Ly9kaXNjb3Jkc2VydmVycy5jb21cIiwgdGFyZ2V0OiBcIl9ibGFua1wifSxcclxuICAgICAgICAgICAgICAgIFwiRGlzY29yZHNlcnZlcnMuY29tXCJcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGNvbm5lY3Rpb24oKSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgY29uc3Qge2Nvbm5lY3Rpb259ID0gc2VsZi5zdGF0ZTtcclxuICAgICAgICBpZiAoY29ubmVjdGlvbi5zdGF0ZSAhPT0gMikgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIG51bGwpO1xyXG5cclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJzcGFuXCIsXHJcbiAgICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGFiQmFyLlNlcGFyYXRvciwgbnVsbCksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICBcInNwYW5cIixcclxuICAgICAgICAgICAgICAgIHtzdHlsZToge2NvbG9yOiBcIiNiOWJiYmVcIiwgZm9udFNpemU6IFwiMTBweFwiLCBtYXJnaW5MZWZ0OiBcIjEwcHhcIn19LFxyXG4gICAgICAgICAgICAgICAgXCJDb25uZWN0ZWQgYXM6IFwiLFxyXG4gICAgICAgICAgICAgICAgYCR7Y29ubmVjdGlvbi51c2VyLnVzZXJuYW1lfSMke2Nvbm5lY3Rpb24udXNlci5kaXNjcmltaW5hdG9yfWBcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICB7c3R5bGU6IHtwYWRkaW5nOiBcIjVweCAxMHB4IDAgMTBweFwifX0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgIFwiYnV0dG9uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAge3N0eWxlOiB7d2lkdGg6IFwiMTAwJVwiLCBtaW5IZWlnaHQ6IFwiMjBweFwifSwgdHlwZTogXCJidXR0b25cIiwgY2xhc3NOYW1lOiBcInVpLWJ1dHRvbiBmaWxsZWQgYnJhbmQgc21hbGwgZ3Jvd1wifSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInVpLWJ1dHRvbi1jb250ZW50c1wiLCBvbkNsaWNrOiBzZWxmLmNvbm5lY3R9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlJlY29ubmVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxufVxyXG59XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/publicservers/menu.js\n"); /***/ }), @@ -647,7 +683,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _men /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return V2C_Scroller; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass V2C_Scroller extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n //scrollerWrap-2lJEkd scrollerThemed-2oenus themeGhostHairline-DBD-2d scrollerFade-1Ijw5y\n let wrapperClass = `scrollerWrap-2lJEkd scrollerThemed-2oenus themeGhostHairline-DBD-2d${this.props.fade ? \" scrollerFade-1Ijw5y\" : \"\"}`;\n let scrollerClass = \"scroller-2FKFPG scroller\";\n /* fuck */\n\n if (this.props.sidebar) scrollerClass = \"scroller-2FKFPG firefoxFixScrollFlex-cnI2ix sidebarRegionScroller-3MXcoP sidebar-region-scroller scroller\";\n\n if (this.props.contentColumn) {\n scrollerClass = \"scroller-2FKFPG firefoxFixScrollFlex-cnI2ix contentRegionScroller-26nc1e content-region-scroller scroller\";\n /* fuck */\n\n wrapperClass = \"scrollerWrap-2lJEkd firefoxFixScrollFlex-cnI2ix contentRegionScrollerWrap-3YZXdm content-region-scroller-wrap scrollerThemed-2oenus themeGhost-28MSn0 scrollerTrack-1ZIpsv\";\n }\n\n const {\n children\n } = this.props;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n key: \"scrollerwrap\",\n className: wrapperClass\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n key: \"scroller\",\n ref: \"scroller\",\n className: scrollerClass\n }, children));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvc2Nyb2xsZXIuanM/NDQ2NCJdLCJuYW1lcyI6WyJWMkNfU2Nyb2xsZXIiLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJyZW5kZXIiLCJ3cmFwcGVyQ2xhc3MiLCJmYWRlIiwic2Nyb2xsZXJDbGFzcyIsInNpZGViYXIiLCJjb250ZW50Q29sdW1uIiwiY2hpbGRyZW4iLCJjcmVhdGVFbGVtZW50Iiwia2V5IiwiY2xhc3NOYW1lIiwicmVmIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVlLE1BQU1BLFlBQU4sU0FBMkJDLDZDQUFLLENBQUNDLFNBQWpDLENBQTJDO0FBRXREQyxhQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFDSDs7QUFFREMsUUFBTSxHQUFHO0FBQ0w7QUFDQSxRQUFJQyxZQUFZLEdBQUksc0VBQXFFLEtBQUtGLEtBQUwsQ0FBV0csSUFBWCxHQUFrQixzQkFBbEIsR0FBMkMsRUFBRyxFQUF2STtBQUNBLFFBQUlDLGFBQWEsR0FBRywwQkFBcEI7QUFBeUY7O0FBQ3pGLFFBQUksS0FBS0osS0FBTCxDQUFXSyxPQUFmLEVBQXdCRCxhQUFhLEdBQUcsMkdBQWhCOztBQUN4QixRQUFJLEtBQUtKLEtBQUwsQ0FBV00sYUFBZixFQUE4QjtBQUMxQkYsbUJBQWEsR0FBRywyR0FBaEI7QUFBcUs7O0FBQ3JLRixrQkFBWSxHQUFHLDRLQUFmO0FBQ0g7O0FBQ0QsVUFBTTtBQUFDSztBQUFELFFBQWEsS0FBS1AsS0FBeEI7QUFDQSxXQUFPSCw2Q0FBSyxDQUFDVyxhQUFOLENBQ0gsS0FERyxFQUVIO0FBQUNDLFNBQUcsRUFBRSxjQUFOO0FBQXNCQyxlQUFTLEVBQUVSO0FBQWpDLEtBRkcsRUFHSEwsNkNBQUssQ0FBQ1csYUFBTixDQUNJLEtBREosRUFFSTtBQUFDQyxTQUFHLEVBQUUsVUFBTjtBQUFrQkUsU0FBRyxFQUFFLFVBQXZCO0FBQW1DRCxlQUFTLEVBQUVOO0FBQTlDLEtBRkosRUFHSUcsUUFISixDQUhHLENBQVA7QUFTSDs7QUF6QnFEIiwiZmlsZSI6Ii4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvc2Nyb2xsZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlYWN0fSBmcm9tIFwibW9kdWxlc1wiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVjJDX1Njcm9sbGVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgLy9zY3JvbGxlcldyYXAtMmxKRWtkIHNjcm9sbGVyVGhlbWVkLTJvZW51cyB0aGVtZUdob3N0SGFpcmxpbmUtREJELTJkIHNjcm9sbGVyRmFkZS0xSWp3NXlcclxuICAgICAgICBsZXQgd3JhcHBlckNsYXNzID0gYHNjcm9sbGVyV3JhcC0ybEpFa2Qgc2Nyb2xsZXJUaGVtZWQtMm9lbnVzIHRoZW1lR2hvc3RIYWlybGluZS1EQkQtMmQke3RoaXMucHJvcHMuZmFkZSA/IFwiIHNjcm9sbGVyRmFkZS0xSWp3NXlcIiA6IFwiXCJ9YDtcclxuICAgICAgICBsZXQgc2Nyb2xsZXJDbGFzcyA9IFwic2Nyb2xsZXItMkZLRlBHIHNjcm9sbGVyXCI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogZnVjayAqL1xyXG4gICAgICAgIGlmICh0aGlzLnByb3BzLnNpZGViYXIpIHNjcm9sbGVyQ2xhc3MgPSBcInNjcm9sbGVyLTJGS0ZQRyBmaXJlZm94Rml4U2Nyb2xsRmxleC1jbkkyaXggc2lkZWJhclJlZ2lvblNjcm9sbGVyLTNNWGNvUCBzaWRlYmFyLXJlZ2lvbi1zY3JvbGxlciBzY3JvbGxlclwiO1xyXG4gICAgICAgIGlmICh0aGlzLnByb3BzLmNvbnRlbnRDb2x1bW4pIHtcclxuICAgICAgICAgICAgc2Nyb2xsZXJDbGFzcyA9IFwic2Nyb2xsZXItMkZLRlBHIGZpcmVmb3hGaXhTY3JvbGxGbGV4LWNuSTJpeCBjb250ZW50UmVnaW9uU2Nyb2xsZXItMjZuYzFlIGNvbnRlbnQtcmVnaW9uLXNjcm9sbGVyIHNjcm9sbGVyXCI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBmdWNrICovXHJcbiAgICAgICAgICAgIHdyYXBwZXJDbGFzcyA9IFwic2Nyb2xsZXJXcmFwLTJsSkVrZCBmaXJlZm94Rml4U2Nyb2xsRmxleC1jbkkyaXggY29udGVudFJlZ2lvblNjcm9sbGVyV3JhcC0zWVpYZG0gY29udGVudC1yZWdpb24tc2Nyb2xsZXItd3JhcCBzY3JvbGxlclRoZW1lZC0yb2VudXMgdGhlbWVHaG9zdC0yOE1TbjAgc2Nyb2xsZXJUcmFjay0xWklwc3ZcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qge2NoaWxkcmVufSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgIHtrZXk6IFwic2Nyb2xsZXJ3cmFwXCIsIGNsYXNzTmFtZTogd3JhcHBlckNsYXNzfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICB7a2V5OiBcInNjcm9sbGVyXCIsIHJlZjogXCJzY3JvbGxlclwiLCBjbGFzc05hbWU6IHNjcm9sbGVyQ2xhc3N9LFxyXG4gICAgICAgICAgICAgICAgY2hpbGRyZW5cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/publicservers/scroller.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Scroller; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass Scroller extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.ref = modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createRef();\n }\n\n render() {\n //scrollerWrap-2lJEkd scrollerThemed-2oenus themeGhostHairline-DBD-2d scrollerFade-1Ijw5y\n let wrapperClass = `scrollerWrap-2lJEkd scrollerThemed-2oenus themeGhostHairline-DBD-2d${this.props.fade ? \" scrollerFade-1Ijw5y\" : \"\"}`;\n let scrollerClass = \"scroller-2FKFPG scroller\";\n /* fuck */\n\n if (this.props.sidebar) scrollerClass = \"scroller-2FKFPG firefoxFixScrollFlex-cnI2ix sidebarRegionScroller-3MXcoP sidebar-region-scroller scroller\";\n\n if (this.props.contentColumn) {\n scrollerClass = \"scroller-2FKFPG firefoxFixScrollFlex-cnI2ix contentRegionScroller-26nc1e content-region-scroller scroller\";\n /* fuck */\n\n wrapperClass = \"scrollerWrap-2lJEkd firefoxFixScrollFlex-cnI2ix contentRegionScrollerWrap-3YZXdm content-region-scroller-wrap scrollerThemed-2oenus themeGhost-28MSn0 scrollerTrack-1ZIpsv\";\n }\n\n const {\n children\n } = this.props;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n key: \"scrollerwrap\",\n className: wrapperClass\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n key: \"scroller\",\n ref: this.ref,\n className: scrollerClass\n }, children));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvc2Nyb2xsZXIuanM/NDQ2NCJdLCJuYW1lcyI6WyJTY3JvbGxlciIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInJlZiIsImNyZWF0ZVJlZiIsInJlbmRlciIsIndyYXBwZXJDbGFzcyIsImZhZGUiLCJzY3JvbGxlckNsYXNzIiwic2lkZWJhciIsImNvbnRlbnRDb2x1bW4iLCJjaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJjbGFzc05hbWUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRWUsTUFBTUEsUUFBTixTQUF1QkMsNkNBQUssQ0FBQ0MsU0FBN0IsQ0FBdUM7QUFFbERDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNBLFNBQUtDLEdBQUwsR0FBV0osNkNBQUssQ0FBQ0ssU0FBTixFQUFYO0FBQ0g7O0FBRURDLFFBQU0sR0FBRztBQUNMO0FBQ0EsUUFBSUMsWUFBWSxHQUFJLHNFQUFxRSxLQUFLSixLQUFMLENBQVdLLElBQVgsR0FBa0Isc0JBQWxCLEdBQTJDLEVBQUcsRUFBdkk7QUFDQSxRQUFJQyxhQUFhLEdBQUcsMEJBQXBCO0FBQXlGOztBQUN6RixRQUFJLEtBQUtOLEtBQUwsQ0FBV08sT0FBZixFQUF3QkQsYUFBYSxHQUFHLDJHQUFoQjs7QUFDeEIsUUFBSSxLQUFLTixLQUFMLENBQVdRLGFBQWYsRUFBOEI7QUFDMUJGLG1CQUFhLEdBQUcsMkdBQWhCO0FBQXFLOztBQUNyS0Ysa0JBQVksR0FBRyw0S0FBZjtBQUNIOztBQUNELFVBQU07QUFBQ0s7QUFBRCxRQUFhLEtBQUtULEtBQXhCO0FBQ0EsV0FBT0gsNkNBQUssQ0FBQ2EsYUFBTixDQUNILEtBREcsRUFFSDtBQUFDQyxTQUFHLEVBQUUsY0FBTjtBQUFzQkMsZUFBUyxFQUFFUjtBQUFqQyxLQUZHLEVBR0hQLDZDQUFLLENBQUNhLGFBQU4sQ0FDSSxLQURKLEVBRUk7QUFBQ0MsU0FBRyxFQUFFLFVBQU47QUFBa0JWLFNBQUcsRUFBRSxLQUFLQSxHQUE1QjtBQUFpQ1csZUFBUyxFQUFFTjtBQUE1QyxLQUZKLEVBR0lHLFFBSEosQ0FIRyxDQUFQO0FBU0g7O0FBMUJpRCIsImZpbGUiOiIuL3NyYy91aS9wdWJsaWNzZXJ2ZXJzL3Njcm9sbGVyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWFjdH0gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNjcm9sbGVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgICAgICB0aGlzLnJlZiA9IFJlYWN0LmNyZWF0ZVJlZigpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICAvL3Njcm9sbGVyV3JhcC0ybEpFa2Qgc2Nyb2xsZXJUaGVtZWQtMm9lbnVzIHRoZW1lR2hvc3RIYWlybGluZS1EQkQtMmQgc2Nyb2xsZXJGYWRlLTFJanc1eVxyXG4gICAgICAgIGxldCB3cmFwcGVyQ2xhc3MgPSBgc2Nyb2xsZXJXcmFwLTJsSkVrZCBzY3JvbGxlclRoZW1lZC0yb2VudXMgdGhlbWVHaG9zdEhhaXJsaW5lLURCRC0yZCR7dGhpcy5wcm9wcy5mYWRlID8gXCIgc2Nyb2xsZXJGYWRlLTFJanc1eVwiIDogXCJcIn1gO1xyXG4gICAgICAgIGxldCBzY3JvbGxlckNsYXNzID0gXCJzY3JvbGxlci0yRktGUEcgc2Nyb2xsZXJcIjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBmdWNrICovXHJcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuc2lkZWJhcikgc2Nyb2xsZXJDbGFzcyA9IFwic2Nyb2xsZXItMkZLRlBHIGZpcmVmb3hGaXhTY3JvbGxGbGV4LWNuSTJpeCBzaWRlYmFyUmVnaW9uU2Nyb2xsZXItM01YY29QIHNpZGViYXItcmVnaW9uLXNjcm9sbGVyIHNjcm9sbGVyXCI7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuY29udGVudENvbHVtbikge1xyXG4gICAgICAgICAgICBzY3JvbGxlckNsYXNzID0gXCJzY3JvbGxlci0yRktGUEcgZmlyZWZveEZpeFNjcm9sbEZsZXgtY25JMml4IGNvbnRlbnRSZWdpb25TY3JvbGxlci0yNm5jMWUgY29udGVudC1yZWdpb24tc2Nyb2xsZXIgc2Nyb2xsZXJcIjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGZ1Y2sgKi9cclxuICAgICAgICAgICAgd3JhcHBlckNsYXNzID0gXCJzY3JvbGxlcldyYXAtMmxKRWtkIGZpcmVmb3hGaXhTY3JvbGxGbGV4LWNuSTJpeCBjb250ZW50UmVnaW9uU2Nyb2xsZXJXcmFwLTNZWlhkbSBjb250ZW50LXJlZ2lvbi1zY3JvbGxlci13cmFwIHNjcm9sbGVyVGhlbWVkLTJvZW51cyB0aGVtZUdob3N0LTI4TVNuMCBzY3JvbGxlclRyYWNrLTFaSXBzdlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB7Y2hpbGRyZW59ID0gdGhpcy5wcm9wcztcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2tleTogXCJzY3JvbGxlcndyYXBcIiwgY2xhc3NOYW1lOiB3cmFwcGVyQ2xhc3N9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgIHtrZXk6IFwic2Nyb2xsZXJcIiwgcmVmOiB0aGlzLnJlZiwgY2xhc3NOYW1lOiBzY3JvbGxlckNsYXNzfSxcclxuICAgICAgICAgICAgICAgIGNoaWxkcmVuXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/publicservers/scroller.js\n"); /***/ }), @@ -659,7 +695,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return V2C_SidebarView; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _scroller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./scroller */ \"./src/ui/publicservers/scroller.js\");\n\n\nclass V2C_SidebarView extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n const {\n sidebar,\n content,\n tools\n } = this.props.children;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"standardSidebarView-3F1I7i ui-standard-sidebar-view\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"sidebarRegion-VFTUkN sidebar-region\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_scroller__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n key: \"sidebarScroller\",\n ref: \"sidebarScroller\",\n sidebar: true,\n fade: sidebar.fade || true,\n dark: sidebar.dark || true,\n children: sidebar.component\n })), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"contentRegion-3nDuYy content-region\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"contentTransitionWrap-3hqOEW content-transition-wrap\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"scrollerWrap-2lJEkd firefoxFixScrollFlex-cnI2ix contentRegionScrollerWrap-3YZXdm content-region-scroller-wrap scrollerThemed-2oenus themeGhost-28MSn0 scrollerTrack-1ZIpsv\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"scroller-2FKFPG firefoxFixScrollFlex-cnI2ix contentRegionScroller-26nc1e content-region-scroller scroller\",\n ref: \"contentScroller\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"contentColumn-2hrIYH contentColumnDefault-1VQkGM content-column default\"\n }, content.component), tools.component)))));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvc2lkZWJhcnZpZXcuanM/OGM1MiJdLCJuYW1lcyI6WyJWMkNfU2lkZWJhclZpZXciLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJyZW5kZXIiLCJzaWRlYmFyIiwiY29udGVudCIsInRvb2xzIiwiY2hpbGRyZW4iLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiU2Nyb2xsZXIiLCJrZXkiLCJyZWYiLCJmYWRlIiwiZGFyayIsImNvbXBvbmVudCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRWUsTUFBTUEsZUFBTixTQUE4QkMsNkNBQUssQ0FBQ0MsU0FBcEMsQ0FBOEM7QUFFekRDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNIOztBQUVEQyxRQUFNLEdBQUc7QUFDTCxVQUFNO0FBQUNDLGFBQUQ7QUFBVUMsYUFBVjtBQUFtQkM7QUFBbkIsUUFBNEIsS0FBS0osS0FBTCxDQUFXSyxRQUE3QztBQUNBLFdBQU9SLDZDQUFLLENBQUNTLGFBQU4sQ0FDSCxLQURHLEVBRUg7QUFBQ0MsZUFBUyxFQUFFO0FBQVosS0FGRyxFQUdIViw2Q0FBSyxDQUFDUyxhQUFOLENBQ0ksS0FESixFQUVJO0FBQUNDLGVBQVMsRUFBRTtBQUFaLEtBRkosRUFHSVYsNkNBQUssQ0FBQ1MsYUFBTixDQUFvQkUsaURBQXBCLEVBQThCO0FBQUNDLFNBQUcsRUFBRSxpQkFBTjtBQUF5QkMsU0FBRyxFQUFFLGlCQUE5QjtBQUFpRFIsYUFBTyxFQUFFLElBQTFEO0FBQWdFUyxVQUFJLEVBQUVULE9BQU8sQ0FBQ1MsSUFBUixJQUFnQixJQUF0RjtBQUE0RkMsVUFBSSxFQUFFVixPQUFPLENBQUNVLElBQVIsSUFBZ0IsSUFBbEg7QUFBd0hQLGNBQVEsRUFBRUgsT0FBTyxDQUFDVztBQUExSSxLQUE5QixDQUhKLENBSEcsRUFRSGhCLDZDQUFLLENBQUNTLGFBQU4sQ0FBb0IsS0FBcEIsRUFBMkI7QUFBQ0MsZUFBUyxFQUFFO0FBQVosS0FBM0IsRUFDSVYsNkNBQUssQ0FBQ1MsYUFBTixDQUFvQixLQUFwQixFQUEyQjtBQUFDQyxlQUFTLEVBQUU7QUFBWixLQUEzQixFQUNJViw2Q0FBSyxDQUFDUyxhQUFOLENBQW9CLEtBQXBCLEVBQTJCO0FBQUNDLGVBQVMsRUFBRTtBQUFaLEtBQTNCLEVBQ0lWLDZDQUFLLENBQUNTLGFBQU4sQ0FBb0IsS0FBcEIsRUFBMkI7QUFBQ0MsZUFBUyxFQUFFLDJHQUFaO0FBQXlIRyxTQUFHLEVBQUU7QUFBOUgsS0FBM0IsRUFDSWIsNkNBQUssQ0FBQ1MsYUFBTixDQUFvQixLQUFwQixFQUEyQjtBQUFDQyxlQUFTLEVBQUU7QUFBWixLQUEzQixFQUFtSEosT0FBTyxDQUFDVSxTQUEzSCxDQURKLEVBRUlULEtBQUssQ0FBQ1MsU0FGVixDQURKLENBREosQ0FESixDQVJHLENBQVA7QUFtQkg7O0FBM0J3RCIsImZpbGUiOiIuL3NyYy91aS9wdWJsaWNzZXJ2ZXJzL3NpZGViYXJ2aWV3LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWFjdH0gZnJvbSBcIm1vZHVsZXNcIjtcclxuaW1wb3J0IFNjcm9sbGVyIGZyb20gXCIuL3Njcm9sbGVyXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWMkNfU2lkZWJhclZpZXcgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICBjb25zdCB7c2lkZWJhciwgY29udGVudCwgdG9vbHN9ID0gdGhpcy5wcm9wcy5jaGlsZHJlbjtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2NsYXNzTmFtZTogXCJzdGFuZGFyZFNpZGViYXJWaWV3LTNGMUk3aSB1aS1zdGFuZGFyZC1zaWRlYmFyLXZpZXdcIn0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJzaWRlYmFyUmVnaW9uLVZGVFVrTiBzaWRlYmFyLXJlZ2lvblwifSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU2Nyb2xsZXIsIHtrZXk6IFwic2lkZWJhclNjcm9sbGVyXCIsIHJlZjogXCJzaWRlYmFyU2Nyb2xsZXJcIiwgc2lkZWJhcjogdHJ1ZSwgZmFkZTogc2lkZWJhci5mYWRlIHx8IHRydWUsIGRhcms6IHNpZGViYXIuZGFyayB8fCB0cnVlLCBjaGlsZHJlbjogc2lkZWJhci5jb21wb25lbnR9KVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiY29udGVudFJlZ2lvbi0zbkR1WXkgY29udGVudC1yZWdpb25cIn0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiY29udGVudFRyYW5zaXRpb25XcmFwLTNocU9FVyBjb250ZW50LXRyYW5zaXRpb24td3JhcFwifSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwic2Nyb2xsZXJXcmFwLTJsSkVrZCBmaXJlZm94Rml4U2Nyb2xsRmxleC1jbkkyaXggY29udGVudFJlZ2lvblNjcm9sbGVyV3JhcC0zWVpYZG0gY29udGVudC1yZWdpb24tc2Nyb2xsZXItd3JhcCBzY3JvbGxlclRoZW1lZC0yb2VudXMgdGhlbWVHaG9zdC0yOE1TbjAgc2Nyb2xsZXJUcmFjay0xWklwc3ZcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJzY3JvbGxlci0yRktGUEcgZmlyZWZveEZpeFNjcm9sbEZsZXgtY25JMml4IGNvbnRlbnRSZWdpb25TY3JvbGxlci0yNm5jMWUgY29udGVudC1yZWdpb24tc2Nyb2xsZXIgc2Nyb2xsZXJcIiwgcmVmOiBcImNvbnRlbnRTY3JvbGxlclwifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJjb250ZW50Q29sdW1uLTJocklZSCBjb250ZW50Q29sdW1uRGVmYXVsdC0xVlFrR00gY29udGVudC1jb2x1bW4gZGVmYXVsdFwifSwgY29udGVudC5jb21wb25lbnQpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHMuY29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/publicservers/sidebarview.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SidebarView; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _scroller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./scroller */ \"./src/ui/publicservers/scroller.js\");\n\n\nclass SidebarView extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n const {\n sidebar,\n content,\n tools\n } = this.props.children;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"standardSidebarView-3F1I7i ui-standard-sidebar-view\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"sidebarRegion-VFTUkN sidebar-region\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_scroller__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n key: \"sidebarScroller\",\n sidebar: true,\n fade: sidebar.fade || true,\n dark: sidebar.dark || true\n }, sidebar.component)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"contentRegion-3nDuYy content-region\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"contentTransitionWrap-3hqOEW content-transition-wrap\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_scroller__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n key: \"contentScroller\",\n contentColumn: true,\n fade: content.fade || true,\n dark: content.dark || true\n }, content.component, tools.component))));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvc2lkZWJhcnZpZXcuanM/OGM1MiJdLCJuYW1lcyI6WyJTaWRlYmFyVmlldyIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInJlbmRlciIsInNpZGViYXIiLCJjb250ZW50IiwidG9vbHMiLCJjaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJTY3JvbGxlciIsImtleSIsImZhZGUiLCJkYXJrIiwiY29tcG9uZW50IiwiY29udGVudENvbHVtbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRWUsTUFBTUEsV0FBTixTQUEwQkMsNkNBQUssQ0FBQ0MsU0FBaEMsQ0FBMEM7QUFFckRDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNIOztBQUVEQyxRQUFNLEdBQUc7QUFDTCxVQUFNO0FBQUNDLGFBQUQ7QUFBVUMsYUFBVjtBQUFtQkM7QUFBbkIsUUFBNEIsS0FBS0osS0FBTCxDQUFXSyxRQUE3QztBQUNBLFdBQU9SLDZDQUFLLENBQUNTLGFBQU4sQ0FDSCxLQURHLEVBRUg7QUFBQ0MsZUFBUyxFQUFFO0FBQVosS0FGRyxFQUdIViw2Q0FBSyxDQUFDUyxhQUFOLENBQ0ksS0FESixFQUVJO0FBQUNDLGVBQVMsRUFBRTtBQUFaLEtBRkosRUFHSVYsNkNBQUssQ0FBQ1MsYUFBTixDQUFvQkUsaURBQXBCLEVBQThCO0FBQUNDLFNBQUcsRUFBRSxpQkFBTjtBQUF5QlAsYUFBTyxFQUFFLElBQWxDO0FBQXdDUSxVQUFJLEVBQUVSLE9BQU8sQ0FBQ1EsSUFBUixJQUFnQixJQUE5RDtBQUFvRUMsVUFBSSxFQUFFVCxPQUFPLENBQUNTLElBQVIsSUFBZ0I7QUFBMUYsS0FBOUIsRUFBK0hULE9BQU8sQ0FBQ1UsU0FBdkksQ0FISixDQUhHLEVBUUhmLDZDQUFLLENBQUNTLGFBQU4sQ0FBb0IsS0FBcEIsRUFBMkI7QUFBQ0MsZUFBUyxFQUFFO0FBQVosS0FBM0IsRUFDSVYsNkNBQUssQ0FBQ1MsYUFBTixDQUFvQixLQUFwQixFQUEyQjtBQUFDQyxlQUFTLEVBQUU7QUFBWixLQUEzQixFQUNJViw2Q0FBSyxDQUFDUyxhQUFOLENBQW9CRSxpREFBcEIsRUFBOEI7QUFBQ0MsU0FBRyxFQUFFLGlCQUFOO0FBQXlCSSxtQkFBYSxFQUFFLElBQXhDO0FBQThDSCxVQUFJLEVBQUVQLE9BQU8sQ0FBQ08sSUFBUixJQUFnQixJQUFwRTtBQUEwRUMsVUFBSSxFQUFFUixPQUFPLENBQUNRLElBQVIsSUFBZ0I7QUFBaEcsS0FBOUIsRUFBcUlSLE9BQU8sQ0FBQ1MsU0FBN0ksRUFBd0pSLEtBQUssQ0FBQ1EsU0FBOUosQ0FESixDQURKLENBUkcsQ0FBUDtBQWNIOztBQXRCb0QiLCJmaWxlIjoiLi9zcmMvdWkvcHVibGljc2VydmVycy9zaWRlYmFydmlldy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhY3R9IGZyb20gXCJtb2R1bGVzXCI7XHJcbmltcG9ydCBTY3JvbGxlciBmcm9tIFwiLi9zY3JvbGxlclwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2lkZWJhclZpZXcgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICBjb25zdCB7c2lkZWJhciwgY29udGVudCwgdG9vbHN9ID0gdGhpcy5wcm9wcy5jaGlsZHJlbjtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2NsYXNzTmFtZTogXCJzdGFuZGFyZFNpZGViYXJWaWV3LTNGMUk3aSB1aS1zdGFuZGFyZC1zaWRlYmFyLXZpZXdcIn0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJzaWRlYmFyUmVnaW9uLVZGVFVrTiBzaWRlYmFyLXJlZ2lvblwifSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU2Nyb2xsZXIsIHtrZXk6IFwic2lkZWJhclNjcm9sbGVyXCIsIHNpZGViYXI6IHRydWUsIGZhZGU6IHNpZGViYXIuZmFkZSB8fCB0cnVlLCBkYXJrOiBzaWRlYmFyLmRhcmsgfHwgdHJ1ZX0sIHNpZGViYXIuY29tcG9uZW50KVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiY29udGVudFJlZ2lvbi0zbkR1WXkgY29udGVudC1yZWdpb25cIn0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiY29udGVudFRyYW5zaXRpb25XcmFwLTNocU9FVyBjb250ZW50LXRyYW5zaXRpb24td3JhcFwifSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFNjcm9sbGVyLCB7a2V5OiBcImNvbnRlbnRTY3JvbGxlclwiLCBjb250ZW50Q29sdW1uOiB0cnVlLCBmYWRlOiBjb250ZW50LmZhZGUgfHwgdHJ1ZSwgZGFyazogY29udGVudC5kYXJrIHx8IHRydWV9LCBjb250ZW50LmNvbXBvbmVudCwgdG9vbHMuY29tcG9uZW50KVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/publicservers/sidebarview.js\n"); /***/ }), @@ -671,7 +707,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return V2Cs_TabBar; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\n\nclass V2C_TabBarItem extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.setInitialState();\n this.onClick = this.onClick.bind(this);\n }\n\n setInitialState() {\n this.state = {\n selected: this.props.selected || false\n };\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: `ui-tab-bar-item${this.props.selected ? \" selected\" : \"\"}`,\n onClick: this.onClick\n }, this.props.text);\n }\n\n onClick() {\n if (this.props.onClick) {\n this.props.onClick(this.props.id);\n }\n }\n\n}\n\nclass V2C_TabBarSeparator extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-tab-bar-separator margin-top-8 margin-bottom-8\"\n });\n }\n\n}\n\nclass V2C_TabBarHeader extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-tab-bar-header\"\n }, this.props.text);\n }\n\n}\n\nclass V2Cs_TabBar {\n static get Item() {\n return V2C_TabBarItem;\n }\n\n static get Header() {\n return V2C_TabBarHeader;\n }\n\n static get Separator() {\n return V2C_TabBarSeparator;\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvdGFiYmFyLmpzPzRhMGQiXSwibmFtZXMiOlsiVjJDX1RhYkJhckl0ZW0iLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJzZXRJbml0aWFsU3RhdGUiLCJvbkNsaWNrIiwiYmluZCIsInN0YXRlIiwic2VsZWN0ZWQiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwidGV4dCIsImlkIiwiVjJDX1RhYkJhclNlcGFyYXRvciIsIlYyQ19UYWJCYXJIZWFkZXIiLCJWMkNzX1RhYkJhciIsIkl0ZW0iLCJIZWFkZXIiLCJTZXBhcmF0b3IiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUVBLE1BQU1BLGNBQU4sU0FBNkJDLDZDQUFLLENBQUNDLFNBQW5DLENBQTZDO0FBRXpDQyxhQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFDQSxTQUFLQyxlQUFMO0FBQ0EsU0FBS0MsT0FBTCxHQUFlLEtBQUtBLE9BQUwsQ0FBYUMsSUFBYixDQUFrQixJQUFsQixDQUFmO0FBQ0g7O0FBRURGLGlCQUFlLEdBQUc7QUFDZCxTQUFLRyxLQUFMLEdBQWE7QUFDVEMsY0FBUSxFQUFFLEtBQUtMLEtBQUwsQ0FBV0ssUUFBWCxJQUF1QjtBQUR4QixLQUFiO0FBR0g7O0FBRURDLFFBQU0sR0FBRztBQUNMLFdBQU9ULDZDQUFLLENBQUNVLGFBQU4sQ0FDSCxLQURHLEVBRUg7QUFBQ0MsZUFBUyxFQUFHLGtCQUFpQixLQUFLUixLQUFMLENBQVdLLFFBQVgsR0FBc0IsV0FBdEIsR0FBb0MsRUFBRyxFQUFyRTtBQUF3RUgsYUFBTyxFQUFFLEtBQUtBO0FBQXRGLEtBRkcsRUFHSCxLQUFLRixLQUFMLENBQVdTLElBSFIsQ0FBUDtBQUtIOztBQUVEUCxTQUFPLEdBQUc7QUFDTixRQUFJLEtBQUtGLEtBQUwsQ0FBV0UsT0FBZixFQUF3QjtBQUNwQixXQUFLRixLQUFMLENBQVdFLE9BQVgsQ0FBbUIsS0FBS0YsS0FBTCxDQUFXVSxFQUE5QjtBQUNIO0FBQ0o7O0FBMUJ3Qzs7QUE2QjdDLE1BQU1DLG1CQUFOLFNBQWtDZCw2Q0FBSyxDQUFDQyxTQUF4QyxDQUFrRDtBQUM5Q0MsYUFBVyxDQUFDQyxLQUFELEVBQVE7QUFDZixVQUFNQSxLQUFOO0FBQ0g7O0FBRURNLFFBQU0sR0FBRztBQUNMLFdBQU9ULDZDQUFLLENBQUNVLGFBQU4sQ0FBb0IsS0FBcEIsRUFBMkI7QUFBQ0MsZUFBUyxFQUFFO0FBQVosS0FBM0IsQ0FBUDtBQUNIOztBQVA2Qzs7QUFVbEQsTUFBTUksZ0JBQU4sU0FBK0JmLDZDQUFLLENBQUNDLFNBQXJDLENBQStDO0FBQzNDQyxhQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFDSDs7QUFFRE0sUUFBTSxHQUFHO0FBQ0wsV0FBT1QsNkNBQUssQ0FBQ1UsYUFBTixDQUNILEtBREcsRUFFSDtBQUFDQyxlQUFTLEVBQUU7QUFBWixLQUZHLEVBR0gsS0FBS1IsS0FBTCxDQUFXUyxJQUhSLENBQVA7QUFLSDs7QUFYMEM7O0FBY2hDLE1BQU1JLFdBQU4sQ0FBa0I7QUFDN0IsYUFBV0MsSUFBWCxHQUFrQjtBQUNkLFdBQU9sQixjQUFQO0FBQ0g7O0FBQ0QsYUFBV21CLE1BQVgsR0FBb0I7QUFDaEIsV0FBT0gsZ0JBQVA7QUFDSDs7QUFDRCxhQUFXSSxTQUFYLEdBQXVCO0FBQ25CLFdBQU9MLG1CQUFQO0FBQ0g7O0FBVDRCIiwiZmlsZSI6Ii4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvdGFiYmFyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWFjdH0gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmNsYXNzIFYyQ19UYWJCYXJJdGVtIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgICAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xyXG4gICAgICAgIHRoaXMub25DbGljayA9IHRoaXMub25DbGljay5iaW5kKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldEluaXRpYWxTdGF0ZSgpIHtcclxuICAgICAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5wcm9wcy5zZWxlY3RlZCB8fCBmYWxzZVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICB7Y2xhc3NOYW1lOiBgdWktdGFiLWJhci1pdGVtJHt0aGlzLnByb3BzLnNlbGVjdGVkID8gXCIgc2VsZWN0ZWRcIiA6IFwiXCJ9YCwgb25DbGljazogdGhpcy5vbkNsaWNrfSxcclxuICAgICAgICAgICAgdGhpcy5wcm9wcy50ZXh0XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNsaWNrKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnByb3BzLm9uQ2xpY2spIHtcclxuICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkNsaWNrKHRoaXMucHJvcHMuaWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuY2xhc3MgVjJDX1RhYkJhclNlcGFyYXRvciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJ1aS10YWItYmFyLXNlcGFyYXRvciBtYXJnaW4tdG9wLTggbWFyZ2luLWJvdHRvbS04XCJ9KTtcclxuICAgIH1cclxufVxyXG5cclxuY2xhc3MgVjJDX1RhYkJhckhlYWRlciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgIHtjbGFzc05hbWU6IFwidWktdGFiLWJhci1oZWFkZXJcIn0sXHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMudGV4dFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFYyQ3NfVGFiQmFyIHtcclxuICAgIHN0YXRpYyBnZXQgSXRlbSgpIHtcclxuICAgICAgICByZXR1cm4gVjJDX1RhYkJhckl0ZW07XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgZ2V0IEhlYWRlcigpIHtcclxuICAgICAgICByZXR1cm4gVjJDX1RhYkJhckhlYWRlcjtcclxuICAgIH1cclxuICAgIHN0YXRpYyBnZXQgU2VwYXJhdG9yKCkge1xyXG4gICAgICAgIHJldHVybiBWMkNfVGFiQmFyU2VwYXJhdG9yO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/publicservers/tabbar.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return TabBar; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\n\nclass TabBarItem extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.state = {\n selected: this.props.selected || false\n };\n this.onClick = this.onClick.bind(this);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: `ui-tab-bar-item${this.props.selected ? \" selected\" : \"\"}`,\n onClick: this.onClick\n }, this.props.text);\n }\n\n onClick() {\n if (this.props.onClick) {\n this.props.onClick(this.props.id);\n }\n }\n\n}\n\nclass TabBarSeparator extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-tab-bar-separator margin-top-8 margin-bottom-8\"\n });\n }\n\n}\n\nclass TabBarHeader extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-tab-bar-header\"\n }, this.props.text);\n }\n\n}\n\nclass TabBar {\n static get Item() {\n return TabBarItem;\n }\n\n static get Header() {\n return TabBarHeader;\n }\n\n static get Separator() {\n return TabBarSeparator;\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvdGFiYmFyLmpzPzRhMGQiXSwibmFtZXMiOlsiVGFiQmFySXRlbSIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInN0YXRlIiwic2VsZWN0ZWQiLCJvbkNsaWNrIiwiYmluZCIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJ0ZXh0IiwiaWQiLCJUYWJCYXJTZXBhcmF0b3IiLCJUYWJCYXJIZWFkZXIiLCJUYWJCYXIiLCJJdGVtIiwiSGVhZGVyIiwiU2VwYXJhdG9yIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFFQSxNQUFNQSxVQUFOLFNBQXlCQyw2Q0FBSyxDQUFDQyxTQUEvQixDQUF5QztBQUVyQ0MsYUFBVyxDQUFDQyxLQUFELEVBQVE7QUFDZixVQUFNQSxLQUFOO0FBQ0EsU0FBS0MsS0FBTCxHQUFhO0FBQ1RDLGNBQVEsRUFBRSxLQUFLRixLQUFMLENBQVdFLFFBQVgsSUFBdUI7QUFEeEIsS0FBYjtBQUdBLFNBQUtDLE9BQUwsR0FBZSxLQUFLQSxPQUFMLENBQWFDLElBQWIsQ0FBa0IsSUFBbEIsQ0FBZjtBQUNIOztBQUVEQyxRQUFNLEdBQUc7QUFDTCxXQUFPUiw2Q0FBSyxDQUFDUyxhQUFOLENBQ0gsS0FERyxFQUVIO0FBQUNDLGVBQVMsRUFBRyxrQkFBaUIsS0FBS1AsS0FBTCxDQUFXRSxRQUFYLEdBQXNCLFdBQXRCLEdBQW9DLEVBQUcsRUFBckU7QUFBd0VDLGFBQU8sRUFBRSxLQUFLQTtBQUF0RixLQUZHLEVBR0gsS0FBS0gsS0FBTCxDQUFXUSxJQUhSLENBQVA7QUFLSDs7QUFFREwsU0FBTyxHQUFHO0FBQ04sUUFBSSxLQUFLSCxLQUFMLENBQVdHLE9BQWYsRUFBd0I7QUFDcEIsV0FBS0gsS0FBTCxDQUFXRyxPQUFYLENBQW1CLEtBQUtILEtBQUwsQ0FBV1MsRUFBOUI7QUFDSDtBQUNKOztBQXRCb0M7O0FBeUJ6QyxNQUFNQyxlQUFOLFNBQThCYiw2Q0FBSyxDQUFDQyxTQUFwQyxDQUE4QztBQUMxQ0MsYUFBVyxDQUFDQyxLQUFELEVBQVE7QUFDZixVQUFNQSxLQUFOO0FBQ0g7O0FBRURLLFFBQU0sR0FBRztBQUNMLFdBQU9SLDZDQUFLLENBQUNTLGFBQU4sQ0FBb0IsS0FBcEIsRUFBMkI7QUFBQ0MsZUFBUyxFQUFFO0FBQVosS0FBM0IsQ0FBUDtBQUNIOztBQVB5Qzs7QUFVOUMsTUFBTUksWUFBTixTQUEyQmQsNkNBQUssQ0FBQ0MsU0FBakMsQ0FBMkM7QUFDdkNDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNIOztBQUVESyxRQUFNLEdBQUc7QUFDTCxXQUFPUiw2Q0FBSyxDQUFDUyxhQUFOLENBQ0gsS0FERyxFQUVIO0FBQUNDLGVBQVMsRUFBRTtBQUFaLEtBRkcsRUFHSCxLQUFLUCxLQUFMLENBQVdRLElBSFIsQ0FBUDtBQUtIOztBQVhzQzs7QUFjNUIsTUFBTUksTUFBTixDQUFhO0FBQ3hCLGFBQVdDLElBQVgsR0FBa0I7QUFDZCxXQUFPakIsVUFBUDtBQUNIOztBQUNELGFBQVdrQixNQUFYLEdBQW9CO0FBQ2hCLFdBQU9ILFlBQVA7QUFDSDs7QUFDRCxhQUFXSSxTQUFYLEdBQXVCO0FBQ25CLFdBQU9MLGVBQVA7QUFDSDs7QUFUdUIiLCJmaWxlIjoiLi9zcmMvdWkvcHVibGljc2VydmVycy90YWJiYXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlYWN0fSBmcm9tIFwibW9kdWxlc1wiO1xyXG5cclxuY2xhc3MgVGFiQmFySXRlbSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMucHJvcHMuc2VsZWN0ZWQgfHwgZmFsc2VcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMub25DbGljayA9IHRoaXMub25DbGljay5iaW5kKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2NsYXNzTmFtZTogYHVpLXRhYi1iYXItaXRlbSR7dGhpcy5wcm9wcy5zZWxlY3RlZCA/IFwiIHNlbGVjdGVkXCIgOiBcIlwifWAsIG9uQ2xpY2s6IHRoaXMub25DbGlja30sXHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMudGV4dFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbGljaygpIHtcclxuICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkNsaWNrKSB7XHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMub25DbGljayh0aGlzLnByb3BzLmlkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmNsYXNzIFRhYkJhclNlcGFyYXRvciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJ1aS10YWItYmFyLXNlcGFyYXRvciBtYXJnaW4tdG9wLTggbWFyZ2luLWJvdHRvbS04XCJ9KTtcclxuICAgIH1cclxufVxyXG5cclxuY2xhc3MgVGFiQmFySGVhZGVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS10YWItYmFyLWhlYWRlclwifSxcclxuICAgICAgICAgICAgdGhpcy5wcm9wcy50ZXh0XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGFiQmFyIHtcclxuICAgIHN0YXRpYyBnZXQgSXRlbSgpIHtcclxuICAgICAgICByZXR1cm4gVGFiQmFySXRlbTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBnZXQgSGVhZGVyKCkge1xyXG4gICAgICAgIHJldHVybiBUYWJCYXJIZWFkZXI7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgZ2V0IFNlcGFyYXRvcigpIHtcclxuICAgICAgICByZXR1cm4gVGFiQmFyU2VwYXJhdG9yO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/publicservers/tabbar.js\n"); /***/ }), @@ -719,7 +755,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return V2C_PluginCard; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _icons_close__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../icons/close */ \"./src/ui/icons/close.js\");\n/* harmony import */ var _icons_reload__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icons/reload */ \"./src/ui/icons/reload.js\");\n// import {SettingsCookie, PluginCookie, Plugins} from \"data\";\n\n\n\nclass V2C_PluginCard extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.onChange = this.onChange.bind(this);\n this.showSettings = this.showSettings.bind(this);\n this.state = {\n checked: this.props.enabled,\n //PluginManager.isEnabled(this.props.content.id),\n settingsOpen: false\n };\n this.hasSettings = typeof this.props.content.plugin.getSettingsPanel === \"function\";\n this.settingsPanel = \"\";\n this.panelRef = modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createRef();\n this.reload = this.reload.bind(this); // this.onReload = this.onReload.bind(this);\n }\n\n reload() {\n if (!this.props.reload) return;\n this.props.content = this.props.reload(this.props.content.id);\n this.forceUpdate();\n }\n\n componentDidUpdate() {\n if (this.state.settingsOpen) {\n if (this.settingsPanel instanceof Node) {\n this.panelRef.current.appendChild(this.settingsPanel);\n } // if (!SettingsCookie[\"fork-ps-3\"]) return;\n\n\n const isHidden = (container, element) => {\n const cTop = container.scrollTop;\n const cBottom = cTop + container.clientHeight;\n const eTop = element.offsetTop;\n const eBottom = eTop + element.clientHeight;\n return eTop < cTop || eBottom > cBottom;\n };\n\n const self = $(this.panelRef.current);\n const container = self.parents(\".scroller-2FKFPG\");\n if (!isHidden(container[0], self[0])) return;\n container.animate({\n scrollTop: self.offset().top - container.offset().top + container.scrollTop() - 30\n }, 300);\n }\n }\n\n getString(value) {\n return typeof value == \"string\" ? value : value.toString();\n }\n\n render() {\n const self = this;\n const {\n content\n } = this.props;\n const name = this.getString(content.name);\n const author = this.getString(content.author);\n const description = this.getString(content.description);\n const version = this.getString(content.version);\n const website = content.website;\n const source = content.source;\n\n if (this.state.settingsOpen) {\n try {\n self.settingsPanel = content.plugin.getSettingsPanel();\n } catch (err) {\n modules__WEBPACK_IMPORTED_MODULE_0__[\"Utilities\"].err(\"Plugins\", \"Unable to get settings panel for \" + content.name + \".\", err);\n }\n\n const props = {\n id: `plugin-settings-${name}`,\n className: \"plugin-settings\",\n ref: this.panelRef\n };\n if (typeof this.settingsPanel == \"string\") props.dangerouslySetInnerHTML = this.settingsPanel;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"li\", {\n className: \"settings-open ui-switch-item\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n style: {\n \"float\": \"right\",\n \"cursor\": \"pointer\"\n },\n onClick: () => {\n this.panelRef.current.innerHTML = \"\";\n self.setState({\n settingsOpen: false\n });\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_icons_close__WEBPACK_IMPORTED_MODULE_1__[\"default\"], null)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", props, this.settingsPanel instanceof modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component ? this.settingsPanel : null));\n }\n\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"li\", {\n \"data-name\": name,\n \"data-version\": version,\n \"className\": \"settings-closed ui-switch-item\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-header\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-header-title\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-name\"\n }, name), \" v\", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-version\"\n }, version), \" by \", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-author\"\n }, author)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-controls\"\n }, !modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].get(\"settings\", \"content\", \"autoReload\") && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_icons_reload__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"bd-reload-card\",\n onClick: this.reload\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"label\", {\n className: \"ui-switch-wrapper ui-flex-child\",\n style: {\n flex: \"0 0 auto\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"input\", {\n checked: this.state.checked,\n onChange: this.onChange,\n className: \"ui-switch-checkbox\",\n type: \"checkbox\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: this.state.checked ? \"ui-switch checked\" : \"ui-switch\"\n })))), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-description-wrap scroller-wrap fade\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-description scroller\"\n }, description)), (website || source || this.hasSettings) && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-footer\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-links\"\n }, website && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"a\", {\n className: \"bda-link bda-link-website\",\n href: website,\n target: \"_blank\"\n }, \"Website\"), website && source && \" | \", source && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"a\", {\n className: \"bda-link bda-link-source\",\n href: source,\n target: \"_blank\"\n }, \"Source\")), this.hasSettings && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n onClick: this.showSettings,\n className: \"bda-settings-button\",\n disabled: !this.state.checked\n }, \"Settings\")));\n }\n\n onChange() {\n this.setState({\n checked: !this.state.checked\n }); // PluginManager.togglePlugin(this.props.content.id);\n\n this.props.onChange && this.props.onChange(this.props.content.id);\n }\n\n showSettings() {\n if (!this.hasSettings) return;\n this.setState({\n settingsOpen: true\n });\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3NldHRpbmdzL3BsdWdpbmNhcmQuanM/NzczZCJdLCJuYW1lcyI6WyJWMkNfUGx1Z2luQ2FyZCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIm9uQ2hhbmdlIiwiYmluZCIsInNob3dTZXR0aW5ncyIsInN0YXRlIiwiY2hlY2tlZCIsImVuYWJsZWQiLCJzZXR0aW5nc09wZW4iLCJoYXNTZXR0aW5ncyIsImNvbnRlbnQiLCJwbHVnaW4iLCJnZXRTZXR0aW5nc1BhbmVsIiwic2V0dGluZ3NQYW5lbCIsInBhbmVsUmVmIiwiY3JlYXRlUmVmIiwicmVsb2FkIiwiaWQiLCJmb3JjZVVwZGF0ZSIsImNvbXBvbmVudERpZFVwZGF0ZSIsIk5vZGUiLCJjdXJyZW50IiwiYXBwZW5kQ2hpbGQiLCJpc0hpZGRlbiIsImNvbnRhaW5lciIsImVsZW1lbnQiLCJjVG9wIiwic2Nyb2xsVG9wIiwiY0JvdHRvbSIsImNsaWVudEhlaWdodCIsImVUb3AiLCJvZmZzZXRUb3AiLCJlQm90dG9tIiwic2VsZiIsIiQiLCJwYXJlbnRzIiwiYW5pbWF0ZSIsIm9mZnNldCIsInRvcCIsImdldFN0cmluZyIsInZhbHVlIiwidG9TdHJpbmciLCJyZW5kZXIiLCJuYW1lIiwiYXV0aG9yIiwiZGVzY3JpcHRpb24iLCJ2ZXJzaW9uIiwid2Vic2l0ZSIsInNvdXJjZSIsImVyciIsIlV0aWxpdGllcyIsImNsYXNzTmFtZSIsInJlZiIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwib25DbGljayIsImlubmVySFRNTCIsInNldFN0YXRlIiwiQ2xvc2VCdXR0b24iLCJTZXR0aW5ncyIsImdldCIsIlJlbG9hZEljb24iLCJmbGV4IiwidHlwZSIsImhyZWYiLCJ0YXJnZXQiLCJkaXNhYmxlZCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRWUsTUFBTUEsY0FBTixTQUE2QkMsNkNBQUssQ0FBQ0MsU0FBbkMsQ0FBNkM7QUFFeERDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNBLFNBQUtDLFFBQUwsR0FBZ0IsS0FBS0EsUUFBTCxDQUFjQyxJQUFkLENBQW1CLElBQW5CLENBQWhCO0FBQ0EsU0FBS0MsWUFBTCxHQUFvQixLQUFLQSxZQUFMLENBQWtCRCxJQUFsQixDQUF1QixJQUF2QixDQUFwQjtBQUNBLFNBQUtFLEtBQUwsR0FBYTtBQUNUQyxhQUFPLEVBQUUsS0FBS0wsS0FBTCxDQUFXTSxPQURYO0FBQ21CO0FBQzVCQyxrQkFBWSxFQUFFO0FBRkwsS0FBYjtBQUlBLFNBQUtDLFdBQUwsR0FBbUIsT0FBTyxLQUFLUixLQUFMLENBQVdTLE9BQVgsQ0FBbUJDLE1BQW5CLENBQTBCQyxnQkFBakMsS0FBc0QsVUFBekU7QUFDQSxTQUFLQyxhQUFMLEdBQXFCLEVBQXJCO0FBQ0EsU0FBS0MsUUFBTCxHQUFnQmhCLDZDQUFLLENBQUNpQixTQUFOLEVBQWhCO0FBRUEsU0FBS0MsTUFBTCxHQUFjLEtBQUtBLE1BQUwsQ0FBWWIsSUFBWixDQUFpQixJQUFqQixDQUFkLENBWmUsQ0FhZjtBQUNIOztBQUVEYSxRQUFNLEdBQUc7QUFDTCxRQUFJLENBQUMsS0FBS2YsS0FBTCxDQUFXZSxNQUFoQixFQUF3QjtBQUN4QixTQUFLZixLQUFMLENBQVdTLE9BQVgsR0FBcUIsS0FBS1QsS0FBTCxDQUFXZSxNQUFYLENBQWtCLEtBQUtmLEtBQUwsQ0FBV1MsT0FBWCxDQUFtQk8sRUFBckMsQ0FBckI7QUFDQSxTQUFLQyxXQUFMO0FBQ0g7O0FBRURDLG9CQUFrQixHQUFHO0FBQ2pCLFFBQUksS0FBS2QsS0FBTCxDQUFXRyxZQUFmLEVBQTZCO0FBQ3pCLFVBQUksS0FBS0ssYUFBTCxZQUE4Qk8sSUFBbEMsRUFBd0M7QUFDcEMsYUFBS04sUUFBTCxDQUFjTyxPQUFkLENBQXNCQyxXQUF0QixDQUFrQyxLQUFLVCxhQUF2QztBQUNILE9BSHdCLENBS3pCOzs7QUFDQSxZQUFNVSxRQUFRLEdBQUcsQ0FBQ0MsU0FBRCxFQUFZQyxPQUFaLEtBQXdCO0FBRXJDLGNBQU1DLElBQUksR0FBR0YsU0FBUyxDQUFDRyxTQUF2QjtBQUNBLGNBQU1DLE9BQU8sR0FBR0YsSUFBSSxHQUFHRixTQUFTLENBQUNLLFlBQWpDO0FBRUEsY0FBTUMsSUFBSSxHQUFHTCxPQUFPLENBQUNNLFNBQXJCO0FBQ0EsY0FBTUMsT0FBTyxHQUFHRixJQUFJLEdBQUdMLE9BQU8sQ0FBQ0ksWUFBL0I7QUFFQSxlQUFTQyxJQUFJLEdBQUdKLElBQVAsSUFBZU0sT0FBTyxHQUFHSixPQUFsQztBQUNILE9BVEQ7O0FBV0EsWUFBTUssSUFBSSxHQUFHQyxDQUFDLENBQUMsS0FBS3BCLFFBQUwsQ0FBY08sT0FBZixDQUFkO0FBQ0EsWUFBTUcsU0FBUyxHQUFHUyxJQUFJLENBQUNFLE9BQUwsQ0FBYSxrQkFBYixDQUFsQjtBQUNBLFVBQUksQ0FBQ1osUUFBUSxDQUFDQyxTQUFTLENBQUMsQ0FBRCxDQUFWLEVBQWVTLElBQUksQ0FBQyxDQUFELENBQW5CLENBQWIsRUFBc0M7QUFDdENULGVBQVMsQ0FBQ1ksT0FBVixDQUFrQjtBQUNkVCxpQkFBUyxFQUFFTSxJQUFJLENBQUNJLE1BQUwsR0FBY0MsR0FBZCxHQUFvQmQsU0FBUyxDQUFDYSxNQUFWLEdBQW1CQyxHQUF2QyxHQUE2Q2QsU0FBUyxDQUFDRyxTQUFWLEVBQTdDLEdBQXFFO0FBRGxFLE9BQWxCLEVBRUcsR0FGSDtBQUdIO0FBQ0o7O0FBRURZLFdBQVMsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2IsV0FBTyxPQUFPQSxLQUFQLElBQWdCLFFBQWhCLEdBQTJCQSxLQUEzQixHQUFtQ0EsS0FBSyxDQUFDQyxRQUFOLEVBQTFDO0FBQ0g7O0FBRURDLFFBQU0sR0FBRztBQUNMLFVBQU1ULElBQUksR0FBRyxJQUFiO0FBQ0EsVUFBTTtBQUFDdkI7QUFBRCxRQUFZLEtBQUtULEtBQXZCO0FBQ0EsVUFBTTBDLElBQUksR0FBRyxLQUFLSixTQUFMLENBQWU3QixPQUFPLENBQUNpQyxJQUF2QixDQUFiO0FBQ0EsVUFBTUMsTUFBTSxHQUFHLEtBQUtMLFNBQUwsQ0FBZTdCLE9BQU8sQ0FBQ2tDLE1BQXZCLENBQWY7QUFDQSxVQUFNQyxXQUFXLEdBQUcsS0FBS04sU0FBTCxDQUFlN0IsT0FBTyxDQUFDbUMsV0FBdkIsQ0FBcEI7QUFDQSxVQUFNQyxPQUFPLEdBQUcsS0FBS1AsU0FBTCxDQUFlN0IsT0FBTyxDQUFDb0MsT0FBdkIsQ0FBaEI7QUFDQSxVQUFNQyxPQUFPLEdBQUdyQyxPQUFPLENBQUNxQyxPQUF4QjtBQUNBLFVBQU1DLE1BQU0sR0FBR3RDLE9BQU8sQ0FBQ3NDLE1BQXZCOztBQUVBLFFBQUksS0FBSzNDLEtBQUwsQ0FBV0csWUFBZixFQUE2QjtBQUN6QixVQUFJO0FBQUV5QixZQUFJLENBQUNwQixhQUFMLEdBQXFCSCxPQUFPLENBQUNDLE1BQVIsQ0FBZUMsZ0JBQWYsRUFBckI7QUFBeUQsT0FBL0QsQ0FDQSxPQUFPcUMsR0FBUCxFQUFZO0FBQUVDLHlEQUFTLENBQUNELEdBQVYsQ0FBYyxTQUFkLEVBQXlCLHNDQUFzQ3ZDLE9BQU8sQ0FBQ2lDLElBQTlDLEdBQXFELEdBQTlFLEVBQW1GTSxHQUFuRjtBQUEwRjs7QUFFeEcsWUFBTWhELEtBQUssR0FBRztBQUFDZ0IsVUFBRSxFQUFHLG1CQUFrQjBCLElBQUssRUFBN0I7QUFBZ0NRLGlCQUFTLEVBQUUsaUJBQTNDO0FBQThEQyxXQUFHLEVBQUUsS0FBS3RDO0FBQXhFLE9BQWQ7QUFDQSxVQUFJLE9BQU8sS0FBS0QsYUFBWixJQUE4QixRQUFsQyxFQUE0Q1osS0FBSyxDQUFDb0QsdUJBQU4sR0FBZ0MsS0FBS3hDLGFBQXJDO0FBRTVDLGFBQU9mLDZDQUFLLENBQUN3RCxhQUFOLENBQW9CLElBQXBCLEVBQTBCO0FBQUNILGlCQUFTLEVBQUU7QUFBWixPQUExQixFQUNDckQsNkNBQUssQ0FBQ3dELGFBQU4sQ0FBb0IsS0FBcEIsRUFBMkI7QUFBQ0MsYUFBSyxFQUFFO0FBQUMsbUJBQVMsT0FBVjtBQUFtQixvQkFBVTtBQUE3QixTQUFSO0FBQWlEQyxlQUFPLEVBQUUsTUFBTTtBQUNuRixlQUFLMUMsUUFBTCxDQUFjTyxPQUFkLENBQXNCb0MsU0FBdEIsR0FBa0MsRUFBbEM7QUFDQXhCLGNBQUksQ0FBQ3lCLFFBQUwsQ0FBYztBQUFDbEQsd0JBQVksRUFBRTtBQUFmLFdBQWQ7QUFDSDtBQUhzQixPQUEzQixFQUlBViw2Q0FBSyxDQUFDd0QsYUFBTixDQUFvQkssb0RBQXBCLEVBQWlDLElBQWpDLENBSkEsQ0FERCxFQU9IN0QsNkNBQUssQ0FBQ3dELGFBQU4sQ0FBb0IsS0FBcEIsRUFBMkJyRCxLQUEzQixFQUFrQyxLQUFLWSxhQUFMLFlBQThCZiw2Q0FBSyxDQUFDQyxTQUFwQyxHQUFnRCxLQUFLYyxhQUFyRCxHQUFxRSxJQUF2RyxDQVBHLENBQVA7QUFTSDs7QUFFRCxXQUFPZiw2Q0FBSyxDQUFDd0QsYUFBTixDQUFvQixJQUFwQixFQUEwQjtBQUFDLG1CQUFhWCxJQUFkO0FBQW9CLHNCQUFnQkcsT0FBcEM7QUFBNkMsbUJBQWE7QUFBMUQsS0FBMUIsRUFDSGhELDZDQUFLLENBQUN3RCxhQUFOLENBQW9CLEtBQXBCLEVBQTJCO0FBQUNILGVBQVMsRUFBRTtBQUFaLEtBQTNCLEVBQ1FyRCw2Q0FBSyxDQUFDd0QsYUFBTixDQUFvQixNQUFwQixFQUE0QjtBQUFDSCxlQUFTLEVBQUU7QUFBWixLQUE1QixFQUNJckQsNkNBQUssQ0FBQ3dELGFBQU4sQ0FBb0IsTUFBcEIsRUFBNEI7QUFBQ0gsZUFBUyxFQUFFO0FBQVosS0FBNUIsRUFBcURSLElBQXJELENBREosRUFFSSxJQUZKLEVBR0k3Qyw2Q0FBSyxDQUFDd0QsYUFBTixDQUFvQixNQUFwQixFQUE0QjtBQUFDSCxlQUFTLEVBQUU7QUFBWixLQUE1QixFQUF3REwsT0FBeEQsQ0FISixFQUlJLE1BSkosRUFLSWhELDZDQUFLLENBQUN3RCxhQUFOLENBQW9CLE1BQXBCLEVBQTRCO0FBQUNILGVBQVMsRUFBRTtBQUFaLEtBQTVCLEVBQXVEUCxNQUF2RCxDQUxKLENBRFIsRUFRUTlDLDZDQUFLLENBQUN3RCxhQUFOLENBQW9CLEtBQXBCLEVBQTJCO0FBQUNILGVBQVMsRUFBRTtBQUFaLEtBQTNCLEVBQ0ksQ0FBQ1MsZ0RBQVEsQ0FBQ0MsR0FBVCxDQUFhLFVBQWIsRUFBeUIsU0FBekIsRUFBb0MsWUFBcEMsQ0FBRCxJQUFzRC9ELDZDQUFLLENBQUN3RCxhQUFOLENBQW9CUSxxREFBcEIsRUFBZ0M7QUFBQ1gsZUFBUyxFQUFFLGdCQUFaO0FBQThCSyxhQUFPLEVBQUUsS0FBS3hDO0FBQTVDLEtBQWhDLENBRDFELEVBRUlsQiw2Q0FBSyxDQUFDd0QsYUFBTixDQUFvQixPQUFwQixFQUE2QjtBQUFDSCxlQUFTLEVBQUUsaUNBQVo7QUFBK0NJLFdBQUssRUFBRTtBQUFDUSxZQUFJLEVBQUU7QUFBUDtBQUF0RCxLQUE3QixFQUNJakUsNkNBQUssQ0FBQ3dELGFBQU4sQ0FBb0IsT0FBcEIsRUFBNkI7QUFBQ2hELGFBQU8sRUFBRSxLQUFLRCxLQUFMLENBQVdDLE9BQXJCO0FBQThCSixjQUFRLEVBQUUsS0FBS0EsUUFBN0M7QUFBdURpRCxlQUFTLEVBQUUsb0JBQWxFO0FBQXdGYSxVQUFJLEVBQUU7QUFBOUYsS0FBN0IsQ0FESixFQUVJbEUsNkNBQUssQ0FBQ3dELGFBQU4sQ0FBb0IsS0FBcEIsRUFBMkI7QUFBQ0gsZUFBUyxFQUFFLEtBQUs5QyxLQUFMLENBQVdDLE9BQVgsR0FBcUIsbUJBQXJCLEdBQTJDO0FBQXZELEtBQTNCLENBRkosQ0FGSixDQVJSLENBREcsRUFpQkhSLDZDQUFLLENBQUN3RCxhQUFOLENBQW9CLEtBQXBCLEVBQTJCO0FBQUNILGVBQVMsRUFBRTtBQUFaLEtBQTNCLEVBQ0lyRCw2Q0FBSyxDQUFDd0QsYUFBTixDQUFvQixLQUFwQixFQUEyQjtBQUFDSCxlQUFTLEVBQUU7QUFBWixLQUEzQixFQUFvRU4sV0FBcEUsQ0FESixDQWpCRyxFQW9CSCxDQUFDRSxPQUFPLElBQUlDLE1BQVgsSUFBcUIsS0FBS3ZDLFdBQTNCLEtBQTJDWCw2Q0FBSyxDQUFDd0QsYUFBTixDQUFvQixLQUFwQixFQUEyQjtBQUFDSCxlQUFTLEVBQUU7QUFBWixLQUEzQixFQUN2Q3JELDZDQUFLLENBQUN3RCxhQUFOLENBQW9CLE1BQXBCLEVBQTRCO0FBQUNILGVBQVMsRUFBRTtBQUFaLEtBQTVCLEVBQ0lKLE9BQU8sSUFBSWpELDZDQUFLLENBQUN3RCxhQUFOLENBQW9CLEdBQXBCLEVBQXlCO0FBQUNILGVBQVMsRUFBRSwyQkFBWjtBQUF5Q2MsVUFBSSxFQUFFbEIsT0FBL0M7QUFBd0RtQixZQUFNLEVBQUU7QUFBaEUsS0FBekIsRUFBb0csU0FBcEcsQ0FEZixFQUVJbkIsT0FBTyxJQUFJQyxNQUFYLElBQXFCLEtBRnpCLEVBR0lBLE1BQU0sSUFBSWxELDZDQUFLLENBQUN3RCxhQUFOLENBQW9CLEdBQXBCLEVBQXlCO0FBQUNILGVBQVMsRUFBRSwwQkFBWjtBQUF3Q2MsVUFBSSxFQUFFakIsTUFBOUM7QUFBc0RrQixZQUFNLEVBQUU7QUFBOUQsS0FBekIsRUFBa0csUUFBbEcsQ0FIZCxDQUR1QyxFQU12QyxLQUFLekQsV0FBTCxJQUFvQlgsNkNBQUssQ0FBQ3dELGFBQU4sQ0FBb0IsUUFBcEIsRUFBOEI7QUFBQ0UsYUFBTyxFQUFFLEtBQUtwRCxZQUFmO0FBQTZCK0MsZUFBUyxFQUFFLHFCQUF4QztBQUErRGdCLGNBQVEsRUFBRSxDQUFDLEtBQUs5RCxLQUFMLENBQVdDO0FBQXJGLEtBQTlCLEVBQTZILFVBQTdILENBTm1CLENBcEJ4QyxDQUFQO0FBNkJIOztBQUVESixVQUFRLEdBQUc7QUFDUCxTQUFLd0QsUUFBTCxDQUFjO0FBQUNwRCxhQUFPLEVBQUUsQ0FBQyxLQUFLRCxLQUFMLENBQVdDO0FBQXRCLEtBQWQsRUFETyxDQUVQOztBQUNBLFNBQUtMLEtBQUwsQ0FBV0MsUUFBWCxJQUF1QixLQUFLRCxLQUFMLENBQVdDLFFBQVgsQ0FBb0IsS0FBS0QsS0FBTCxDQUFXUyxPQUFYLENBQW1CTyxFQUF2QyxDQUF2QjtBQUNIOztBQUVEYixjQUFZLEdBQUc7QUFDWCxRQUFJLENBQUMsS0FBS0ssV0FBVixFQUF1QjtBQUN2QixTQUFLaUQsUUFBTCxDQUFjO0FBQUNsRCxrQkFBWSxFQUFFO0FBQWYsS0FBZDtBQUNIOztBQTNIdUQiLCJmaWxlIjoiLi9zcmMvdWkvc2V0dGluZ3MvcGx1Z2luY2FyZC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCB7U2V0dGluZ3NDb29raWUsIFBsdWdpbkNvb2tpZSwgUGx1Z2luc30gZnJvbSBcImRhdGFcIjtcclxuaW1wb3J0IHtSZWFjdCwgVXRpbGl0aWVzLCBTZXR0aW5nc30gZnJvbSBcIm1vZHVsZXNcIjtcclxuaW1wb3J0IENsb3NlQnV0dG9uIGZyb20gXCIuLi9pY29ucy9jbG9zZVwiO1xyXG5pbXBvcnQgUmVsb2FkSWNvbiBmcm9tIFwiLi4vaWNvbnMvcmVsb2FkXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWMkNfUGx1Z2luQ2FyZCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IHRoaXMub25DaGFuZ2UuYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLnNob3dTZXR0aW5ncyA9IHRoaXMuc2hvd1NldHRpbmdzLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgICAgICAgY2hlY2tlZDogdGhpcy5wcm9wcy5lbmFibGVkLC8vUGx1Z2luTWFuYWdlci5pc0VuYWJsZWQodGhpcy5wcm9wcy5jb250ZW50LmlkKSxcclxuICAgICAgICAgICAgc2V0dGluZ3NPcGVuOiBmYWxzZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5oYXNTZXR0aW5ncyA9IHR5cGVvZiB0aGlzLnByb3BzLmNvbnRlbnQucGx1Z2luLmdldFNldHRpbmdzUGFuZWwgPT09IFwiZnVuY3Rpb25cIjtcclxuICAgICAgICB0aGlzLnNldHRpbmdzUGFuZWwgPSBcIlwiO1xyXG4gICAgICAgIHRoaXMucGFuZWxSZWYgPSBSZWFjdC5jcmVhdGVSZWYoKTtcclxuXHJcbiAgICAgICAgdGhpcy5yZWxvYWQgPSB0aGlzLnJlbG9hZC5iaW5kKHRoaXMpO1xyXG4gICAgICAgIC8vIHRoaXMub25SZWxvYWQgPSB0aGlzLm9uUmVsb2FkLmJpbmQodGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVsb2FkKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5wcm9wcy5yZWxvYWQpIHJldHVybjtcclxuICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnQgPSB0aGlzLnByb3BzLnJlbG9hZCh0aGlzLnByb3BzLmNvbnRlbnQuaWQpO1xyXG4gICAgICAgIHRoaXMuZm9yY2VVcGRhdGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuc2V0dGluZ3NPcGVuKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnNldHRpbmdzUGFuZWwgaW5zdGFuY2VvZiBOb2RlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhbmVsUmVmLmN1cnJlbnQuYXBwZW5kQ2hpbGQodGhpcy5zZXR0aW5nc1BhbmVsKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gaWYgKCFTZXR0aW5nc0Nvb2tpZVtcImZvcmstcHMtM1wiXSkgcmV0dXJuO1xyXG4gICAgICAgICAgICBjb25zdCBpc0hpZGRlbiA9IChjb250YWluZXIsIGVsZW1lbnQpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBjVG9wID0gY29udGFpbmVyLnNjcm9sbFRvcDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNCb3R0b20gPSBjVG9wICsgY29udGFpbmVyLmNsaWVudEhlaWdodDtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBlVG9wID0gZWxlbWVudC5vZmZzZXRUb3A7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlQm90dG9tID0gZVRvcCArIGVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gIChlVG9wIDwgY1RvcCB8fCBlQm90dG9tID4gY0JvdHRvbSk7XHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBjb25zdCBzZWxmID0gJCh0aGlzLnBhbmVsUmVmLmN1cnJlbnQpO1xyXG4gICAgICAgICAgICBjb25zdCBjb250YWluZXIgPSBzZWxmLnBhcmVudHMoXCIuc2Nyb2xsZXItMkZLRlBHXCIpO1xyXG4gICAgICAgICAgICBpZiAoIWlzSGlkZGVuKGNvbnRhaW5lclswXSwgc2VsZlswXSkpIHJldHVybjtcclxuICAgICAgICAgICAgY29udGFpbmVyLmFuaW1hdGUoe1xyXG4gICAgICAgICAgICAgICAgc2Nyb2xsVG9wOiBzZWxmLm9mZnNldCgpLnRvcCAtIGNvbnRhaW5lci5vZmZzZXQoKS50b3AgKyBjb250YWluZXIuc2Nyb2xsVG9wKCkgLSAzMFxyXG4gICAgICAgICAgICB9LCAzMDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRTdHJpbmcodmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09IFwic3RyaW5nXCIgPyB2YWx1ZSA6IHZhbHVlLnRvU3RyaW5nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIGNvbnN0IHtjb250ZW50fSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgY29uc3QgbmFtZSA9IHRoaXMuZ2V0U3RyaW5nKGNvbnRlbnQubmFtZSk7XHJcbiAgICAgICAgY29uc3QgYXV0aG9yID0gdGhpcy5nZXRTdHJpbmcoY29udGVudC5hdXRob3IpO1xyXG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gdGhpcy5nZXRTdHJpbmcoY29udGVudC5kZXNjcmlwdGlvbik7XHJcbiAgICAgICAgY29uc3QgdmVyc2lvbiA9IHRoaXMuZ2V0U3RyaW5nKGNvbnRlbnQudmVyc2lvbik7XHJcbiAgICAgICAgY29uc3Qgd2Vic2l0ZSA9IGNvbnRlbnQud2Vic2l0ZTtcclxuICAgICAgICBjb25zdCBzb3VyY2UgPSBjb250ZW50LnNvdXJjZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuc2V0dGluZ3NPcGVuKSB7XHJcbiAgICAgICAgICAgIHRyeSB7IHNlbGYuc2V0dGluZ3NQYW5lbCA9IGNvbnRlbnQucGx1Z2luLmdldFNldHRpbmdzUGFuZWwoKTsgfVxyXG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7IFV0aWxpdGllcy5lcnIoXCJQbHVnaW5zXCIsIFwiVW5hYmxlIHRvIGdldCBzZXR0aW5ncyBwYW5lbCBmb3IgXCIgKyBjb250ZW50Lm5hbWUgKyBcIi5cIiwgZXJyKTsgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgcHJvcHMgPSB7aWQ6IGBwbHVnaW4tc2V0dGluZ3MtJHtuYW1lfWAsIGNsYXNzTmFtZTogXCJwbHVnaW4tc2V0dGluZ3NcIiwgcmVmOiB0aGlzLnBhbmVsUmVmfTtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZih0aGlzLnNldHRpbmdzUGFuZWwpID09IFwic3RyaW5nXCIpIHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID0gdGhpcy5zZXR0aW5nc1BhbmVsO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJsaVwiLCB7Y2xhc3NOYW1lOiBcInNldHRpbmdzLW9wZW4gdWktc3dpdGNoLWl0ZW1cIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7c3R5bGU6IHtcImZsb2F0XCI6IFwicmlnaHRcIiwgXCJjdXJzb3JcIjogXCJwb2ludGVyXCJ9LCBvbkNsaWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhbmVsUmVmLmN1cnJlbnQuaW5uZXJIVE1MID0gXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0U3RhdGUoe3NldHRpbmdzT3BlbjogZmFsc2V9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChDbG9zZUJ1dHRvbiwgbnVsbClcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHByb3BzLCB0aGlzLnNldHRpbmdzUGFuZWwgaW5zdGFuY2VvZiBSZWFjdC5Db21wb25lbnQgPyB0aGlzLnNldHRpbmdzUGFuZWwgOiBudWxsKSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcImxpXCIsIHtcImRhdGEtbmFtZVwiOiBuYW1lLCBcImRhdGEtdmVyc2lvblwiOiB2ZXJzaW9uLCBcImNsYXNzTmFtZVwiOiBcInNldHRpbmdzLWNsb3NlZCB1aS1zd2l0Y2gtaXRlbVwifSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7Y2xhc3NOYW1lOiBcImJkYS1oZWFkZXJcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge2NsYXNzTmFtZTogXCJiZGEtaGVhZGVyLXRpdGxlXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7Y2xhc3NOYW1lOiBcImJkYS1uYW1lXCJ9LCBuYW1lKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCIgdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7Y2xhc3NOYW1lOiBcImJkYS12ZXJzaW9uXCJ9LCB2ZXJzaW9uKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCIgYnkgXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtjbGFzc05hbWU6IFwiYmRhLWF1dGhvclwifSwgYXV0aG9yKVxyXG4gICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7Y2xhc3NOYW1lOiBcImJkYS1jb250cm9sc1wifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgIVNldHRpbmdzLmdldChcInNldHRpbmdzXCIsIFwiY29udGVudFwiLCBcImF1dG9SZWxvYWRcIikgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChSZWxvYWRJY29uLCB7Y2xhc3NOYW1lOiBcImJkLXJlbG9hZC1jYXJkXCIsIG9uQ2xpY2s6IHRoaXMucmVsb2FkfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJsYWJlbFwiLCB7Y2xhc3NOYW1lOiBcInVpLXN3aXRjaC13cmFwcGVyIHVpLWZsZXgtY2hpbGRcIiwgc3R5bGU6IHtmbGV4OiBcIjAgMCBhdXRvXCJ9fSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiLCB7Y2hlY2tlZDogdGhpcy5zdGF0ZS5jaGVja2VkLCBvbkNoYW5nZTogdGhpcy5vbkNoYW5nZSwgY2xhc3NOYW1lOiBcInVpLXN3aXRjaC1jaGVja2JveFwiLCB0eXBlOiBcImNoZWNrYm94XCJ9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogdGhpcy5zdGF0ZS5jaGVja2VkID8gXCJ1aS1zd2l0Y2ggY2hlY2tlZFwiIDogXCJ1aS1zd2l0Y2hcIn0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJiZGEtZGVzY3JpcHRpb24td3JhcCBzY3JvbGxlci13cmFwIGZhZGVcIn0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiYmRhLWRlc2NyaXB0aW9uIHNjcm9sbGVyXCJ9LCBkZXNjcmlwdGlvbilcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgKHdlYnNpdGUgfHwgc291cmNlIHx8IHRoaXMuaGFzU2V0dGluZ3MpICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJiZGEtZm9vdGVyXCJ9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge2NsYXNzTmFtZTogXCJiZGEtbGlua3NcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgd2Vic2l0ZSAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYVwiLCB7Y2xhc3NOYW1lOiBcImJkYS1saW5rIGJkYS1saW5rLXdlYnNpdGVcIiwgaHJlZjogd2Vic2l0ZSwgdGFyZ2V0OiBcIl9ibGFua1wifSwgXCJXZWJzaXRlXCIpLFxyXG4gICAgICAgICAgICAgICAgICAgIHdlYnNpdGUgJiYgc291cmNlICYmIFwiIHwgXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgc291cmNlICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJhXCIsIHtjbGFzc05hbWU6IFwiYmRhLWxpbmsgYmRhLWxpbmstc291cmNlXCIsIGhyZWY6IHNvdXJjZSwgdGFyZ2V0OiBcIl9ibGFua1wifSwgXCJTb3VyY2VcIilcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhc1NldHRpbmdzICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwge29uQ2xpY2s6IHRoaXMuc2hvd1NldHRpbmdzLCBjbGFzc05hbWU6IFwiYmRhLXNldHRpbmdzLWJ1dHRvblwiLCBkaXNhYmxlZDogIXRoaXMuc3RhdGUuY2hlY2tlZH0sIFwiU2V0dGluZ3NcIilcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2UoKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7Y2hlY2tlZDogIXRoaXMuc3RhdGUuY2hlY2tlZH0pO1xyXG4gICAgICAgIC8vIFBsdWdpbk1hbmFnZXIudG9nZ2xlUGx1Z2luKHRoaXMucHJvcHMuY29udGVudC5pZCk7XHJcbiAgICAgICAgdGhpcy5wcm9wcy5vbkNoYW5nZSAmJiB0aGlzLnByb3BzLm9uQ2hhbmdlKHRoaXMucHJvcHMuY29udGVudC5pZCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd1NldHRpbmdzKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5oYXNTZXR0aW5ncykgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe3NldHRpbmdzT3BlbjogdHJ1ZX0pO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/settings/plugincard.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PluginCard; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _icons_close__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../icons/close */ \"./src/ui/icons/close.js\");\n/* harmony import */ var _icons_reload__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icons/reload */ \"./src/ui/icons/reload.js\");\n// import {SettingsCookie, PluginCookie, Plugins} from \"data\";\n\n\n\nclass PluginCard extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.onChange = this.onChange.bind(this);\n this.showSettings = this.showSettings.bind(this);\n this.state = {\n checked: this.props.enabled,\n //PluginManager.isEnabled(this.props.content.id),\n settingsOpen: false\n };\n this.hasSettings = typeof this.props.content.plugin.getSettingsPanel === \"function\";\n this.settingsPanel = \"\";\n this.panelRef = modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createRef();\n this.reload = this.reload.bind(this); // this.onReload = this.onReload.bind(this);\n }\n\n reload() {\n if (!this.props.reload) return;\n this.props.content = this.props.reload(this.props.content.id);\n this.forceUpdate();\n }\n\n componentDidUpdate() {\n if (this.state.settingsOpen) {\n if (this.settingsPanel instanceof Node) {\n this.panelRef.current.appendChild(this.settingsPanel);\n } // if (!SettingsCookie[\"fork-ps-3\"]) return;\n\n\n const isHidden = (container, element) => {\n const cTop = container.scrollTop;\n const cBottom = cTop + container.clientHeight;\n const eTop = element.offsetTop;\n const eBottom = eTop + element.clientHeight;\n return eTop < cTop || eBottom > cBottom;\n };\n\n const self = $(this.panelRef.current);\n const container = self.parents(\".scroller-2FKFPG\");\n if (!isHidden(container[0], self[0])) return;\n container.animate({\n scrollTop: self.offset().top - container.offset().top + container.scrollTop() - 30\n }, 300);\n }\n }\n\n getString(value) {\n return typeof value == \"string\" ? value : value.toString();\n }\n\n render() {\n const self = this;\n const {\n content\n } = this.props;\n const name = this.getString(content.name);\n const author = this.getString(content.author);\n const description = this.getString(content.description);\n const version = this.getString(content.version);\n const website = content.website;\n const source = content.source;\n\n if (this.state.settingsOpen) {\n try {\n self.settingsPanel = content.plugin.getSettingsPanel();\n } catch (err) {\n modules__WEBPACK_IMPORTED_MODULE_0__[\"Utilities\"].err(\"Plugins\", \"Unable to get settings panel for \" + content.name + \".\", err);\n }\n\n const props = {\n id: `plugin-settings-${name}`,\n className: \"plugin-settings\",\n ref: this.panelRef\n };\n if (typeof this.settingsPanel == \"string\") props.dangerouslySetInnerHTML = this.settingsPanel;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"li\", {\n className: \"settings-open ui-switch-item\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n style: {\n \"float\": \"right\",\n \"cursor\": \"pointer\"\n },\n onClick: () => {\n this.panelRef.current.innerHTML = \"\";\n self.setState({\n settingsOpen: false\n });\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_icons_close__WEBPACK_IMPORTED_MODULE_1__[\"default\"], null)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", props, this.settingsPanel instanceof modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component ? this.settingsPanel : null));\n }\n\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"li\", {\n \"data-name\": name,\n \"data-version\": version,\n \"className\": \"settings-closed ui-switch-item\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-header\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-header-title\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-name\"\n }, name), \" v\", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-version\"\n }, version), \" by \", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-author\"\n }, author)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-controls\"\n }, !modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].get(\"settings\", \"content\", \"autoReload\") && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_icons_reload__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"bd-reload-card\",\n onClick: this.reload\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"label\", {\n className: \"ui-switch-wrapper ui-flex-child\",\n style: {\n flex: \"0 0 auto\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"input\", {\n checked: this.state.checked,\n onChange: this.onChange,\n className: \"ui-switch-checkbox\",\n type: \"checkbox\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: this.state.checked ? \"ui-switch checked\" : \"ui-switch\"\n })))), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-description-wrap scroller-wrap fade\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-description scroller\"\n }, description)), (website || source || this.hasSettings) && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-footer\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-links\"\n }, website && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"a\", {\n className: \"bda-link bda-link-website\",\n href: website,\n target: \"_blank\"\n }, \"Website\"), website && source && \" | \", source && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"a\", {\n className: \"bda-link bda-link-source\",\n href: source,\n target: \"_blank\"\n }, \"Source\")), this.hasSettings && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n onClick: this.showSettings,\n className: \"bda-settings-button\",\n disabled: !this.state.checked\n }, \"Settings\")));\n }\n\n onChange() {\n this.setState({\n checked: !this.state.checked\n }); // PluginManager.togglePlugin(this.props.content.id);\n\n this.props.onChange && this.props.onChange(this.props.content.id);\n }\n\n showSettings() {\n if (!this.hasSettings) return;\n this.setState({\n settingsOpen: true\n });\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3NldHRpbmdzL3BsdWdpbmNhcmQuanM/NzczZCJdLCJuYW1lcyI6WyJQbHVnaW5DYXJkIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwib25DaGFuZ2UiLCJiaW5kIiwic2hvd1NldHRpbmdzIiwic3RhdGUiLCJjaGVja2VkIiwiZW5hYmxlZCIsInNldHRpbmdzT3BlbiIsImhhc1NldHRpbmdzIiwiY29udGVudCIsInBsdWdpbiIsImdldFNldHRpbmdzUGFuZWwiLCJzZXR0aW5nc1BhbmVsIiwicGFuZWxSZWYiLCJjcmVhdGVSZWYiLCJyZWxvYWQiLCJpZCIsImZvcmNlVXBkYXRlIiwiY29tcG9uZW50RGlkVXBkYXRlIiwiTm9kZSIsImN1cnJlbnQiLCJhcHBlbmRDaGlsZCIsImlzSGlkZGVuIiwiY29udGFpbmVyIiwiZWxlbWVudCIsImNUb3AiLCJzY3JvbGxUb3AiLCJjQm90dG9tIiwiY2xpZW50SGVpZ2h0IiwiZVRvcCIsIm9mZnNldFRvcCIsImVCb3R0b20iLCJzZWxmIiwiJCIsInBhcmVudHMiLCJhbmltYXRlIiwib2Zmc2V0IiwidG9wIiwiZ2V0U3RyaW5nIiwidmFsdWUiLCJ0b1N0cmluZyIsInJlbmRlciIsIm5hbWUiLCJhdXRob3IiLCJkZXNjcmlwdGlvbiIsInZlcnNpb24iLCJ3ZWJzaXRlIiwic291cmNlIiwiZXJyIiwiVXRpbGl0aWVzIiwiY2xhc3NOYW1lIiwicmVmIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJvbkNsaWNrIiwiaW5uZXJIVE1MIiwic2V0U3RhdGUiLCJDbG9zZUJ1dHRvbiIsIlNldHRpbmdzIiwiZ2V0IiwiUmVsb2FkSWNvbiIsImZsZXgiLCJ0eXBlIiwiaHJlZiIsInRhcmdldCIsImRpc2FibGVkIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FB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LFFBQUksQ0FBQyxLQUFLSyxXQUFWLEVBQXVCO0FBQ3ZCLFNBQUtpRCxRQUFMLENBQWM7QUFBQ2xELGtCQUFZLEVBQUU7QUFBZixLQUFkO0FBQ0g7O0FBM0htRCIsImZpbGUiOiIuL3NyYy91aS9zZXR0aW5ncy9wbHVnaW5jYXJkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0IHtTZXR0aW5nc0Nvb2tpZSwgUGx1Z2luQ29va2llLCBQbHVnaW5zfSBmcm9tIFwiZGF0YVwiO1xyXG5pbXBvcnQge1JlYWN0LCBVdGlsaXRpZXMsIFNldHRpbmdzfSBmcm9tIFwibW9kdWxlc1wiO1xyXG5pbXBvcnQgQ2xvc2VCdXR0b24gZnJvbSBcIi4uL2ljb25zL2Nsb3NlXCI7XHJcbmltcG9ydCBSZWxvYWRJY29uIGZyb20gXCIuLi9pY29ucy9yZWxvYWRcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBsdWdpbkNhcmQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSB0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5zaG93U2V0dGluZ3MgPSB0aGlzLnNob3dTZXR0aW5ncy5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgICAgICAgIGNoZWNrZWQ6IHRoaXMucHJvcHMuZW5hYmxlZCwvL1BsdWdpbk1hbmFnZXIuaXNFbmFibGVkKHRoaXMucHJvcHMuY29udGVudC5pZCksXHJcbiAgICAgICAgICAgIHNldHRpbmdzT3BlbjogZmFsc2VcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuaGFzU2V0dGluZ3MgPSB0eXBlb2YgdGhpcy5wcm9wcy5jb250ZW50LnBsdWdpbi5nZXRTZXR0aW5nc1BhbmVsID09PSBcImZ1bmN0aW9uXCI7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nc1BhbmVsID0gXCJcIjtcclxuICAgICAgICB0aGlzLnBhbmVsUmVmID0gUmVhY3QuY3JlYXRlUmVmKCk7XHJcblxyXG4gICAgICAgIHRoaXMucmVsb2FkID0gdGhpcy5yZWxvYWQuYmluZCh0aGlzKTtcclxuICAgICAgICAvLyB0aGlzLm9uUmVsb2FkID0gdGhpcy5vblJlbG9hZC5iaW5kKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbG9hZCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMucHJvcHMucmVsb2FkKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5wcm9wcy5jb250ZW50ID0gdGhpcy5wcm9wcy5yZWxvYWQodGhpcy5wcm9wcy5jb250ZW50LmlkKTtcclxuICAgICAgICB0aGlzLmZvcmNlVXBkYXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLnNldHRpbmdzT3Blbikge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zZXR0aW5nc1BhbmVsIGluc3RhbmNlb2YgTm9kZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYW5lbFJlZi5jdXJyZW50LmFwcGVuZENoaWxkKHRoaXMuc2V0dGluZ3NQYW5lbCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIGlmICghU2V0dGluZ3NDb29raWVbXCJmb3JrLXBzLTNcIl0pIHJldHVybjtcclxuICAgICAgICAgICAgY29uc3QgaXNIaWRkZW4gPSAoY29udGFpbmVyLCBlbGVtZW50KSA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgY1RvcCA9IGNvbnRhaW5lci5zY3JvbGxUb3A7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjQm90dG9tID0gY1RvcCArIGNvbnRhaW5lci5jbGllbnRIZWlnaHQ7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgZVRvcCA9IGVsZW1lbnQub2Zmc2V0VG9wO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZUJvdHRvbSA9IGVUb3AgKyBlbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICAoZVRvcCA8IGNUb3AgfHwgZUJvdHRvbSA+IGNCb3R0b20pO1xyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgc2VsZiA9ICQodGhpcy5wYW5lbFJlZi5jdXJyZW50KTtcclxuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyID0gc2VsZi5wYXJlbnRzKFwiLnNjcm9sbGVyLTJGS0ZQR1wiKTtcclxuICAgICAgICAgICAgaWYgKCFpc0hpZGRlbihjb250YWluZXJbMF0sIHNlbGZbMF0pKSByZXR1cm47XHJcbiAgICAgICAgICAgIGNvbnRhaW5lci5hbmltYXRlKHtcclxuICAgICAgICAgICAgICAgIHNjcm9sbFRvcDogc2VsZi5vZmZzZXQoKS50b3AgLSBjb250YWluZXIub2Zmc2V0KCkudG9wICsgY29udGFpbmVyLnNjcm9sbFRvcCgpIC0gMzBcclxuICAgICAgICAgICAgfSwgMzAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U3RyaW5nKHZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSBcInN0cmluZ1wiID8gdmFsdWUgOiB2YWx1ZS50b1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcclxuICAgICAgICBjb25zdCB7Y29udGVudH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldFN0cmluZyhjb250ZW50Lm5hbWUpO1xyXG4gICAgICAgIGNvbnN0IGF1dGhvciA9IHRoaXMuZ2V0U3RyaW5nKGNvbnRlbnQuYXV0aG9yKTtcclxuICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IHRoaXMuZ2V0U3RyaW5nKGNvbnRlbnQuZGVzY3JpcHRpb24pO1xyXG4gICAgICAgIGNvbnN0IHZlcnNpb24gPSB0aGlzLmdldFN0cmluZyhjb250ZW50LnZlcnNpb24pO1xyXG4gICAgICAgIGNvbnN0IHdlYnNpdGUgPSBjb250ZW50LndlYnNpdGU7XHJcbiAgICAgICAgY29uc3Qgc291cmNlID0gY29udGVudC5zb3VyY2U7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLnNldHRpbmdzT3Blbikge1xyXG4gICAgICAgICAgICB0cnkgeyBzZWxmLnNldHRpbmdzUGFuZWwgPSBjb250ZW50LnBsdWdpbi5nZXRTZXR0aW5nc1BhbmVsKCk7IH1cclxuICAgICAgICAgICAgY2F0Y2ggKGVycikgeyBVdGlsaXRpZXMuZXJyKFwiUGx1Z2luc1wiLCBcIlVuYWJsZSB0byBnZXQgc2V0dGluZ3MgcGFuZWwgZm9yIFwiICsgY29udGVudC5uYW1lICsgXCIuXCIsIGVycik7IH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHByb3BzID0ge2lkOiBgcGx1Z2luLXNldHRpbmdzLSR7bmFtZX1gLCBjbGFzc05hbWU6IFwicGx1Z2luLXNldHRpbmdzXCIsIHJlZjogdGhpcy5wYW5lbFJlZn07XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YodGhpcy5zZXR0aW5nc1BhbmVsKSA9PSBcInN0cmluZ1wiKSBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCA9IHRoaXMuc2V0dGluZ3NQYW5lbDtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwibGlcIiwge2NsYXNzTmFtZTogXCJzZXR0aW5ncy1vcGVuIHVpLXN3aXRjaC1pdGVtXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge3N0eWxlOiB7XCJmbG9hdFwiOiBcInJpZ2h0XCIsIFwiY3Vyc29yXCI6IFwicG9pbnRlclwifSwgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYW5lbFJlZi5jdXJyZW50LmlubmVySFRNTCA9IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNldFN0YXRlKHtzZXR0aW5nc09wZW46IGZhbHNlfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xvc2VCdXR0b24sIG51bGwpXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCBwcm9wcywgdGhpcy5zZXR0aW5nc1BhbmVsIGluc3RhbmNlb2YgUmVhY3QuQ29tcG9uZW50ID8gdGhpcy5zZXR0aW5nc1BhbmVsIDogbnVsbCksXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJsaVwiLCB7XCJkYXRhLW5hbWVcIjogbmFtZSwgXCJkYXRhLXZlcnNpb25cIjogdmVyc2lvbiwgXCJjbGFzc05hbWVcIjogXCJzZXR0aW5ncy1jbG9zZWQgdWktc3dpdGNoLWl0ZW1cIn0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJiZGEtaGVhZGVyXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtjbGFzc05hbWU6IFwiYmRhLWhlYWRlci10aXRsZVwifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge2NsYXNzTmFtZTogXCJiZGEtbmFtZVwifSwgbmFtZSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiIHZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge2NsYXNzTmFtZTogXCJiZGEtdmVyc2lvblwifSwgdmVyc2lvbiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiIGJ5IFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7Y2xhc3NOYW1lOiBcImJkYS1hdXRob3JcIn0sIGF1dGhvcilcclxuICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJiZGEtY29udHJvbHNcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICFTZXR0aW5ncy5nZXQoXCJzZXR0aW5nc1wiLCBcImNvbnRlbnRcIiwgXCJhdXRvUmVsb2FkXCIpICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVsb2FkSWNvbiwge2NsYXNzTmFtZTogXCJiZC1yZWxvYWQtY2FyZFwiLCBvbkNsaWNrOiB0aGlzLnJlbG9hZH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwibGFiZWxcIiwge2NsYXNzTmFtZTogXCJ1aS1zd2l0Y2gtd3JhcHBlciB1aS1mbGV4LWNoaWxkXCIsIHN0eWxlOiB7ZmxleDogXCIwIDAgYXV0b1wifX0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiwge2NoZWNrZWQ6IHRoaXMuc3RhdGUuY2hlY2tlZCwgb25DaGFuZ2U6IHRoaXMub25DaGFuZ2UsIGNsYXNzTmFtZTogXCJ1aS1zd2l0Y2gtY2hlY2tib3hcIiwgdHlwZTogXCJjaGVja2JveFwifSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IHRoaXMuc3RhdGUuY2hlY2tlZCA/IFwidWktc3dpdGNoIGNoZWNrZWRcIiA6IFwidWktc3dpdGNoXCJ9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiYmRhLWRlc2NyaXB0aW9uLXdyYXAgc2Nyb2xsZXItd3JhcCBmYWRlXCJ9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7Y2xhc3NOYW1lOiBcImJkYS1kZXNjcmlwdGlvbiBzY3JvbGxlclwifSwgZGVzY3JpcHRpb24pXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICh3ZWJzaXRlIHx8IHNvdXJjZSB8fCB0aGlzLmhhc1NldHRpbmdzKSAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiYmRhLWZvb3RlclwifSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtjbGFzc05hbWU6IFwiYmRhLWxpbmtzXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgIHdlYnNpdGUgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChcImFcIiwge2NsYXNzTmFtZTogXCJiZGEtbGluayBiZGEtbGluay13ZWJzaXRlXCIsIGhyZWY6IHdlYnNpdGUsIHRhcmdldDogXCJfYmxhbmtcIn0sIFwiV2Vic2l0ZVwiKSxcclxuICAgICAgICAgICAgICAgICAgICB3ZWJzaXRlICYmIHNvdXJjZSAmJiBcIiB8IFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZSAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYVwiLCB7Y2xhc3NOYW1lOiBcImJkYS1saW5rIGJkYS1saW5rLXNvdXJjZVwiLCBocmVmOiBzb3VyY2UsIHRhcmdldDogXCJfYmxhbmtcIn0sIFwiU291cmNlXCIpXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5oYXNTZXR0aW5ncyAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHtvbkNsaWNrOiB0aGlzLnNob3dTZXR0aW5ncywgY2xhc3NOYW1lOiBcImJkYS1zZXR0aW5ncy1idXR0b25cIiwgZGlzYWJsZWQ6ICF0aGlzLnN0YXRlLmNoZWNrZWR9LCBcIlNldHRpbmdzXCIpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ2hhbmdlKCkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe2NoZWNrZWQ6ICF0aGlzLnN0YXRlLmNoZWNrZWR9KTtcclxuICAgICAgICAvLyBQbHVnaW5NYW5hZ2VyLnRvZ2dsZVBsdWdpbih0aGlzLnByb3BzLmNvbnRlbnQuaWQpO1xyXG4gICAgICAgIHRoaXMucHJvcHMub25DaGFuZ2UgJiYgdGhpcy5wcm9wcy5vbkNoYW5nZSh0aGlzLnByb3BzLmNvbnRlbnQuaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHNob3dTZXR0aW5ncygpIHtcclxuICAgICAgICBpZiAoIXRoaXMuaGFzU2V0dGluZ3MpIHJldHVybjtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtzZXR0aW5nc09wZW46IHRydWV9KTtcclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/settings/plugincard.js\n"); /***/ }), @@ -755,7 +791,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return V2C_ThemeCard; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _icons_reload__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../icons/reload */ \"./src/ui/icons/reload.js\");\n\n // import Toasts from \"../toasts\";\n\nclass V2C_ThemeCard extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.state = {\n checked: this.props.enabled,\n //ThemeManager.isEnabled(this.props.content.id),\n reloads: 0\n };\n this.onChange = this.onChange.bind(this);\n this.reload = this.reload.bind(this);\n }\n\n reload() {\n if (!this.props.reload) return;\n this.props.content = this.props.reload(this.props.content.id);\n this.forceUpdate();\n }\n\n render() {\n const {\n content\n } = this.props;\n const name = content.name;\n const description = content.description;\n const version = content.version;\n const author = content.author;\n const website = content.website;\n const source = content.source;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"li\", {\n \"data-name\": name,\n \"data-version\": version,\n \"className\": \"settings-closed ui-switch-item\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-header\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-header-title\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-name\"\n }, name), \" v\", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-version\"\n }, version), \" by \", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-author\"\n }, author)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-controls\"\n }, !modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].get(\"settings\", \"content\", \"autoReload\") && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_icons_reload__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: \"bd-reload-card\",\n onClick: this.reload\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"label\", {\n className: \"ui-switch-wrapper ui-flex-child\",\n style: {\n flex: \"0 0 auto\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"input\", {\n checked: this.state.checked,\n onChange: this.onChange,\n className: \"ui-switch-checkbox\",\n type: \"checkbox\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: this.state.checked ? \"ui-switch checked\" : \"ui-switch\"\n })))), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-description-wrap scroller-wrap fade\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-description scroller\"\n }, description)), (website || source) && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-footer\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-links\"\n }, website && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"a\", {\n className: \"bda-link\",\n href: website,\n target: \"_blank\"\n }, \"Website\"), website && source && \" | \", source && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"a\", {\n className: \"bda-link\",\n href: source,\n target: \"_blank\"\n }, \"Source\"))));\n }\n\n onChange() {\n this.setState({\n checked: !this.state.checked\n });\n this.props.onChange && this.props.onChange(this.props.content.id);\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3NldHRpbmdzL3RoZW1lY2FyZC5qcz9jMDVjIl0sIm5hbWVzIjpbIlYyQ19UaGVtZUNhcmQiLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJzdGF0ZSIsImNoZWNrZWQiLCJlbmFibGVkIiwicmVsb2FkcyIsIm9uQ2hhbmdlIiwiYmluZCIsInJlbG9hZCIsImNvbnRlbnQiLCJpZCIsImZvcmNlVXBkYXRlIiwicmVuZGVyIiwibmFtZSIsImRlc2NyaXB0aW9uIiwidmVyc2lvbiIsImF1dGhvciIsIndlYnNpdGUiLCJzb3VyY2UiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiU2V0dGluZ3MiLCJnZXQiLCJSZWxvYWRJY29uIiwib25DbGljayIsInN0eWxlIiwiZmxleCIsInR5cGUiLCJocmVmIiwidGFyZ2V0Iiwic2V0U3RhdGUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FFQTs7QUFFZSxNQUFNQSxhQUFOLFNBQTRCQyw2Q0FBSyxDQUFDQyxTQUFsQyxDQUE0QztBQUV2REMsYUFBVyxDQUFDQyxLQUFELEVBQVE7QUFDZixVQUFNQSxLQUFOO0FBQ0EsU0FBS0MsS0FBTCxHQUFhO0FBQ1RDLGFBQU8sRUFBRSxLQUFLRixLQUFMLENBQVdHLE9BRFg7QUFDb0I7QUFDN0JDLGFBQU8sRUFBRTtBQUZBLEtBQWI7QUFJQSxTQUFLQyxRQUFMLEdBQWdCLEtBQUtBLFFBQUwsQ0FBY0MsSUFBZCxDQUFtQixJQUFuQixDQUFoQjtBQUNBLFNBQUtDLE1BQUwsR0FBYyxLQUFLQSxNQUFMLENBQVlELElBQVosQ0FBaUIsSUFBakIsQ0FBZDtBQUNIOztBQUVEQyxRQUFNLEdBQUc7QUFDTCxRQUFJLENBQUMsS0FBS1AsS0FBTCxDQUFXTyxNQUFoQixFQUF3QjtBQUN4QixTQUFLUCxLQUFMLENBQVdRLE9BQVgsR0FBcUIsS0FBS1IsS0FBTCxDQUFXTyxNQUFYLENBQWtC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RUFBRTtBQUFaLEtBQTNCLEVBQ25CdEIsNkNBQUssQ0FBQ3FCLGFBQU4sQ0FBb0IsTUFBcEIsRUFBNEI7QUFBQ0MsZUFBUyxFQUFFO0FBQVosS0FBNUIsRUFDSUgsT0FBTyxJQUFJbkIsNkNBQUssQ0FBQ3FCLGFBQU4sQ0FBb0IsR0FBcEIsRUFBeUI7QUFBQ0MsZUFBUyxFQUFFLFVBQVo7QUFBd0JRLFVBQUksRUFBRVgsT0FBOUI7QUFBdUNZLFlBQU0sRUFBRTtBQUEvQyxLQUF6QixFQUFtRixTQUFuRixDQURmLEVBRUlaLE9BQU8sSUFBSUMsTUFBWCxJQUFxQixLQUZ6QixFQUdJQSxNQUFNLElBQUlwQiw2Q0FBSyxDQUFDcUIsYUFBTixDQUFvQixHQUFwQixFQUF5QjtBQUFDQyxlQUFTLEVBQUUsVUFBWjtBQUF3QlEsVUFBSSxFQUFFVixNQUE5QjtBQUFzQ1csWUFBTSxFQUFFO0FBQTlDLEtBQXpCLEVBQWtGLFFBQWxGLENBSGQsQ0FEbUIsQ0FwQnBCLENBQVA7QUE0Qkg7O0FBRUR2QixVQUFRLEdBQUc7QUFDUCxTQUFLd0IsUUFBTCxDQUFjO0FBQUMzQixhQUFPLEVBQUUsQ0FBQyxLQUFLRCxLQUFMLENBQVdDO0FBQXRCLEtBQWQ7QUFDQSxTQUFLRixLQUFMLENBQVdLLFFBQVgsSUFBdUIsS0FBS0wsS0FBTCxDQUFXSyxRQUFYLENBQW9CLEtBQUtMLEtBQUwsQ0FBV1EsT0FBWCxDQUFtQkMsRUFBdkMsQ0FBdkI7QUFDSDs7QUE1RHNEIiwiZmlsZSI6Ii4vc3JjL3VpL3NldHRpbmdzL3RoZW1lY2FyZC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhY3QsIFNldHRpbmdzfSBmcm9tIFwibW9kdWxlc1wiO1xyXG5pbXBvcnQgUmVsb2FkSWNvbiBmcm9tIFwiLi4vaWNvbnMvcmVsb2FkXCI7XHJcbi8vIGltcG9ydCBUb2FzdHMgZnJvbSBcIi4uL3RvYXN0c1wiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVjJDX1RoZW1lQ2FyZCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgICAgICAgY2hlY2tlZDogdGhpcy5wcm9wcy5lbmFibGVkLCAvL1RoZW1lTWFuYWdlci5pc0VuYWJsZWQodGhpcy5wcm9wcy5jb250ZW50LmlkKSxcclxuICAgICAgICAgICAgcmVsb2FkczogMFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IHRoaXMub25DaGFuZ2UuYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLnJlbG9hZCA9IHRoaXMucmVsb2FkLmJpbmQodGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVsb2FkKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5wcm9wcy5yZWxvYWQpIHJldHVybjtcclxuICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnQgPSB0aGlzLnByb3BzLnJlbG9hZCh0aGlzLnByb3BzLmNvbnRlbnQuaWQpO1xyXG4gICAgICAgIHRoaXMuZm9yY2VVcGRhdGUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgY29uc3Qge2NvbnRlbnR9ID0gdGhpcy5wcm9wcztcclxuICAgICAgICBjb25zdCBuYW1lID0gY29udGVudC5uYW1lO1xyXG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gY29udGVudC5kZXNjcmlwdGlvbjtcclxuICAgICAgICBjb25zdCB2ZXJzaW9uID0gY29udGVudC52ZXJzaW9uO1xyXG4gICAgICAgIGNvbnN0IGF1dGhvciA9IGNvbnRlbnQuYXV0aG9yO1xyXG4gICAgICAgIGNvbnN0IHdlYnNpdGUgPSBjb250ZW50LndlYnNpdGU7XHJcbiAgICAgICAgY29uc3Qgc291cmNlID0gY29udGVudC5zb3VyY2U7XHJcblxyXG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwibGlcIiwge1wiZGF0YS1uYW1lXCI6IG5hbWUsIFwiZGF0YS12ZXJzaW9uXCI6IHZlcnNpb24sIFwiY2xhc3NOYW1lXCI6IFwic2V0dGluZ3MtY2xvc2VkIHVpLXN3aXRjaC1pdGVtXCJ9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiYmRhLWhlYWRlclwifSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7Y2xhc3NOYW1lOiBcImJkYS1oZWFkZXItdGl0bGVcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtjbGFzc05hbWU6IFwiYmRhLW5hbWVcIn0sIG5hbWUpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIiB2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtjbGFzc05hbWU6IFwiYmRhLXZlcnNpb25cIn0sIHZlcnNpb24pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIiBieSBcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge2NsYXNzTmFtZTogXCJiZGEtYXV0aG9yXCJ9LCBhdXRob3IpXHJcbiAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiYmRhLWNvbnRyb2xzXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAhU2V0dGluZ3MuZ2V0KFwic2V0dGluZ3NcIiwgXCJjb250ZW50XCIsIFwiYXV0b1JlbG9hZFwiKSAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFJlbG9hZEljb24sIHtjbGFzc05hbWU6IFwiYmQtcmVsb2FkLWNhcmRcIiwgb25DbGljazogdGhpcy5yZWxvYWR9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImxhYmVsXCIsIHtjbGFzc05hbWU6IFwidWktc3dpdGNoLXdyYXBwZXIgdWktZmxleC1jaGlsZFwiLCBzdHlsZToge2ZsZXg6IFwiMCAwIGF1dG9cIn19LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImlucHV0XCIsIHtjaGVja2VkOiB0aGlzLnN0YXRlLmNoZWNrZWQsIG9uQ2hhbmdlOiB0aGlzLm9uQ2hhbmdlLCBjbGFzc05hbWU6IFwidWktc3dpdGNoLWNoZWNrYm94XCIsIHR5cGU6IFwiY2hlY2tib3hcIn0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7Y2xhc3NOYW1lOiB0aGlzLnN0YXRlLmNoZWNrZWQgPyBcInVpLXN3aXRjaCBjaGVja2VkXCIgOiBcInVpLXN3aXRjaFwifSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7Y2xhc3NOYW1lOiBcImJkYS1kZXNjcmlwdGlvbi13cmFwIHNjcm9sbGVyLXdyYXAgZmFkZVwifSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJiZGEtZGVzY3JpcHRpb24gc2Nyb2xsZXJcIn0sIGRlc2NyaXB0aW9uKVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAod2Vic2l0ZSB8fCBzb3VyY2UpICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJiZGEtZm9vdGVyXCJ9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge2NsYXNzTmFtZTogXCJiZGEtbGlua3NcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgd2Vic2l0ZSAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYVwiLCB7Y2xhc3NOYW1lOiBcImJkYS1saW5rXCIsIGhyZWY6IHdlYnNpdGUsIHRhcmdldDogXCJfYmxhbmtcIn0sIFwiV2Vic2l0ZVwiKSxcclxuICAgICAgICAgICAgICAgICAgICB3ZWJzaXRlICYmIHNvdXJjZSAmJiBcIiB8IFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZSAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYVwiLCB7Y2xhc3NOYW1lOiBcImJkYS1saW5rXCIsIGhyZWY6IHNvdXJjZSwgdGFyZ2V0OiBcIl9ibGFua1wifSwgXCJTb3VyY2VcIilcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2UoKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7Y2hlY2tlZDogIXRoaXMuc3RhdGUuY2hlY2tlZH0pO1xyXG4gICAgICAgIHRoaXMucHJvcHMub25DaGFuZ2UgJiYgdGhpcy5wcm9wcy5vbkNoYW5nZSh0aGlzLnByb3BzLmNvbnRlbnQuaWQpO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/settings/themecard.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ThemeCard; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _icons_reload__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../icons/reload */ \"./src/ui/icons/reload.js\");\n\n // import Toasts from \"../toasts\";\n\nclass ThemeCard extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.state = {\n checked: this.props.enabled,\n //ThemeManager.isEnabled(this.props.content.id),\n reloads: 0\n };\n this.onChange = this.onChange.bind(this);\n this.reload = this.reload.bind(this);\n }\n\n reload() {\n if (!this.props.reload) return;\n this.props.content = this.props.reload(this.props.content.id);\n this.forceUpdate();\n }\n\n render() {\n const {\n content\n } = this.props;\n const name = content.name;\n const description = content.description;\n const version = content.version;\n const author = content.author;\n const website = content.website;\n const source = content.source;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"li\", {\n \"data-name\": name,\n \"data-version\": version,\n \"className\": \"settings-closed ui-switch-item\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-header\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-header-title\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-name\"\n }, name), \" v\", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-version\"\n }, version), \" by \", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-author\"\n }, author)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-controls\"\n }, !modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].get(\"settings\", \"content\", \"autoReload\") && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_icons_reload__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: \"bd-reload-card\",\n onClick: this.reload\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"label\", {\n className: \"ui-switch-wrapper ui-flex-child\",\n style: {\n flex: \"0 0 auto\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"input\", {\n checked: this.state.checked,\n onChange: this.onChange,\n className: \"ui-switch-checkbox\",\n type: \"checkbox\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: this.state.checked ? \"ui-switch checked\" : \"ui-switch\"\n })))), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-description-wrap scroller-wrap fade\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-description scroller\"\n }, description)), (website || source) && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-footer\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-links\"\n }, website && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"a\", {\n className: \"bda-link\",\n href: website,\n target: \"_blank\"\n }, \"Website\"), website && source && \" | \", source && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"a\", {\n className: \"bda-link\",\n href: source,\n target: \"_blank\"\n }, \"Source\"))));\n }\n\n onChange() {\n this.setState({\n checked: !this.state.checked\n });\n this.props.onChange && this.props.onChange(this.props.content.id);\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3NldHRpbmdzL3RoZW1lY2FyZC5qcz9jMDVjIl0sIm5hbWVzIjpbIlRoZW1lQ2FyZCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInN0YXRlIiwiY2hlY2tlZCIsImVuYWJsZWQiLCJyZWxvYWRzIiwib25DaGFuZ2UiLCJiaW5kIiwicmVsb2FkIiwiY29udGVudCIsImlkIiwiZm9yY2VVcGRhdGUiLCJyZW5kZXIiLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJ2ZXJzaW9uIiwiYXV0aG9yIiwid2Vic2l0ZSIsInNvdXJjZSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJTZXR0aW5ncyIsImdldCIsIlJlbG9hZEljb24iLCJvbkNsaWNrIiwic3R5bGUiLCJmbGV4IiwidHlwZSIsImhyZWYiLCJ0YXJnZXQiLCJzZXRTdGF0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtDQUVBOztBQUVlLE1BQU1BLFNBQU4sU0FBd0JDLDZDQUFLLENBQUNDLFNBQTlCLENBQXdDO0FBRW5EQyxhQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFDQSxTQUFLQyxLQUFMLEdBQWE7QUFDVEMsYUFBTyxFQUFFLEtBQUtGLEtBQUwsQ0FBV0csT0FEWDtBQUNvQjtBQUM3QkMsYUFBTyxFQUFFO0FBRkEsS0FBYjtBQUlBLFNBQUtDLFFBQUwsR0FBZ0IsS0FBS0EsUUFBTCxDQUFjQyxJQUFkLENBQW1CLElBQW5CLENBQWhCO0FBQ0EsU0FBS0MsTUFBTCxHQUFjLEtBQUtBLE1BQUwsQ0FBWUQsSUFBWixDQUFpQixJQUFqQixDQUFkO0FBQ0g7O0FBRURDLFFBQU0sR0FBRztBQUNMLFFBQUksQ0FBQyxLQUFLUCxLQUFMLENBQVdPLE1BQWhCLEVBQXdCO0FBQ3hCLFNBQUtQLEtBQUwsQ0FBV1EsT0FBWCxHQUFxQixLQUFLUixLQUFMLENBQVdPLE1BQVgsQ0FBa0IsS0FB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O0FBQVosS0FBM0IsRUFDbkJ0Qiw2Q0FBSyxDQUFDcUIsYUFBTixDQUFvQixNQUFwQixFQUE0QjtBQUFDQyxlQUFTLEVBQUU7QUFBWixLQUE1QixFQUNJSCxPQUFPLElBQUluQiw2Q0FBSyxDQUFDcUIsYUFBTixDQUFvQixHQUFwQixFQUF5QjtBQUFDQyxlQUFTLEVBQUUsVUFBWjtBQUF3QlEsVUFBSSxFQUFFWCxPQUE5QjtBQUF1Q1ksWUFBTSxFQUFFO0FBQS9DLEtBQXpCLEVBQW1GLFNBQW5GLENBRGYsRUFFSVosT0FBTyxJQUFJQyxNQUFYLElBQXFCLEtBRnpCLEVBR0lBLE1BQU0sSUFBSXBCLDZDQUFLLENBQUNxQixhQUFOLENBQW9CLEdBQXBCLEVBQXlCO0FBQUNDLGVBQVMsRUFBRSxVQUFaO0FBQXdCUSxVQUFJLEVBQUVWLE1BQTlCO0FBQXNDVyxZQUFNLEVBQUU7QUFBOUMsS0FBekIsRUFBa0YsUUFBbEYsQ0FIZCxDQURtQixDQXBCcEIsQ0FBUDtBQTRCSDs7QUFFRHZCLFVBQVEsR0FBRztBQUNQLFNBQUt3QixRQUFMLENBQWM7QUFBQzNCLGFBQU8sRUFBRSxDQUFDLEtBQUtELEtBQUwsQ0FBV0M7QUFBdEIsS0FBZDtBQUNBLFNBQUtGLEtBQUwsQ0FBV0ssUUFBWCxJQUF1QixLQUFLTCxLQUFMLENBQVdLLFFBQVgsQ0FBb0IsS0FBS0wsS0FBTCxDQUFXUSxPQUFYLENBQW1CQyxFQUF2QyxDQUF2QjtBQUNIOztBQTVEa0QiLCJmaWxlIjoiLi9zcmMvdWkvc2V0dGluZ3MvdGhlbWVjYXJkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWFjdCwgU2V0dGluZ3N9IGZyb20gXCJtb2R1bGVzXCI7XHJcbmltcG9ydCBSZWxvYWRJY29uIGZyb20gXCIuLi9pY29ucy9yZWxvYWRcIjtcclxuLy8gaW1wb3J0IFRvYXN0cyBmcm9tIFwiLi4vdG9hc3RzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUaGVtZUNhcmQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgICAgICAgIGNoZWNrZWQ6IHRoaXMucHJvcHMuZW5hYmxlZCwgLy9UaGVtZU1hbmFnZXIuaXNFbmFibGVkKHRoaXMucHJvcHMuY29udGVudC5pZCksXHJcbiAgICAgICAgICAgIHJlbG9hZHM6IDBcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSB0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5yZWxvYWQgPSB0aGlzLnJlbG9hZC5iaW5kKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbG9hZCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMucHJvcHMucmVsb2FkKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5wcm9wcy5jb250ZW50ID0gdGhpcy5wcm9wcy5yZWxvYWQodGhpcy5wcm9wcy5jb250ZW50LmlkKTtcclxuICAgICAgICB0aGlzLmZvcmNlVXBkYXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIGNvbnN0IHtjb250ZW50fSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgY29uc3QgbmFtZSA9IGNvbnRlbnQubmFtZTtcclxuICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGNvbnRlbnQuZGVzY3JpcHRpb247XHJcbiAgICAgICAgY29uc3QgdmVyc2lvbiA9IGNvbnRlbnQudmVyc2lvbjtcclxuICAgICAgICBjb25zdCBhdXRob3IgPSBjb250ZW50LmF1dGhvcjtcclxuICAgICAgICBjb25zdCB3ZWJzaXRlID0gY29udGVudC53ZWJzaXRlO1xyXG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IGNvbnRlbnQuc291cmNlO1xyXG5cclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcImxpXCIsIHtcImRhdGEtbmFtZVwiOiBuYW1lLCBcImRhdGEtdmVyc2lvblwiOiB2ZXJzaW9uLCBcImNsYXNzTmFtZVwiOiBcInNldHRpbmdzLWNsb3NlZCB1aS1zd2l0Y2gtaXRlbVwifSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7Y2xhc3NOYW1lOiBcImJkYS1oZWFkZXJcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge2NsYXNzTmFtZTogXCJiZGEtaGVhZGVyLXRpdGxlXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7Y2xhc3NOYW1lOiBcImJkYS1uYW1lXCJ9LCBuYW1lKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCIgdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7Y2xhc3NOYW1lOiBcImJkYS12ZXJzaW9uXCJ9LCB2ZXJzaW9uKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCIgYnkgXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtjbGFzc05hbWU6IFwiYmRhLWF1dGhvclwifSwgYXV0aG9yKVxyXG4gICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7Y2xhc3NOYW1lOiBcImJkYS1jb250cm9sc1wifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgIVNldHRpbmdzLmdldChcInNldHRpbmdzXCIsIFwiY29udGVudFwiLCBcImF1dG9SZWxvYWRcIikgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChSZWxvYWRJY29uLCB7Y2xhc3NOYW1lOiBcImJkLXJlbG9hZC1jYXJkXCIsIG9uQ2xpY2s6IHRoaXMucmVsb2FkfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJsYWJlbFwiLCB7Y2xhc3NOYW1lOiBcInVpLXN3aXRjaC13cmFwcGVyIHVpLWZsZXgtY2hpbGRcIiwgc3R5bGU6IHtmbGV4OiBcIjAgMCBhdXRvXCJ9fSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiLCB7Y2hlY2tlZDogdGhpcy5zdGF0ZS5jaGVja2VkLCBvbkNoYW5nZTogdGhpcy5vbkNoYW5nZSwgY2xhc3NOYW1lOiBcInVpLXN3aXRjaC1jaGVja2JveFwiLCB0eXBlOiBcImNoZWNrYm94XCJ9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogdGhpcy5zdGF0ZS5jaGVja2VkID8gXCJ1aS1zd2l0Y2ggY2hlY2tlZFwiIDogXCJ1aS1zd2l0Y2hcIn0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJiZGEtZGVzY3JpcHRpb24td3JhcCBzY3JvbGxlci13cmFwIGZhZGVcIn0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiYmRhLWRlc2NyaXB0aW9uIHNjcm9sbGVyXCJ9LCBkZXNjcmlwdGlvbilcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgKHdlYnNpdGUgfHwgc291cmNlKSAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiYmRhLWZvb3RlclwifSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtjbGFzc05hbWU6IFwiYmRhLWxpbmtzXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgIHdlYnNpdGUgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChcImFcIiwge2NsYXNzTmFtZTogXCJiZGEtbGlua1wiLCBocmVmOiB3ZWJzaXRlLCB0YXJnZXQ6IFwiX2JsYW5rXCJ9LCBcIldlYnNpdGVcIiksXHJcbiAgICAgICAgICAgICAgICAgICAgd2Vic2l0ZSAmJiBzb3VyY2UgJiYgXCIgfCBcIixcclxuICAgICAgICAgICAgICAgICAgICBzb3VyY2UgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChcImFcIiwge2NsYXNzTmFtZTogXCJiZGEtbGlua1wiLCBocmVmOiBzb3VyY2UsIHRhcmdldDogXCJfYmxhbmtcIn0sIFwiU291cmNlXCIpXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ2hhbmdlKCkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe2NoZWNrZWQ6ICF0aGlzLnN0YXRlLmNoZWNrZWR9KTtcclxuICAgICAgICB0aGlzLnByb3BzLm9uQ2hhbmdlICYmIHRoaXMucHJvcHMub25DaGFuZ2UodGhpcy5wcm9wcy5jb250ZW50LmlkKTtcclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/settings/themecard.js\n"); /***/ }), diff --git a/js/main.min.js b/js/main.min.js index 66975353..993dc37c 100644 --- a/js/main.min.js +++ b/js/main.min.js @@ -1 +1 @@ -var Core=function(e){var t={};function s(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,s),r.l=!0,r.exports}return s.m=e,s.c=t,s.d=function(e,t,n){s.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,t){if(1&t&&(e=s(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(s.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)s.d(n,r,function(t){return e[t]}.bind(null,r));return n},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,"a",t),t},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.p="",s(s.s=6)}([function(e,t){e.exports=require("fs")},function(e,t){e.exports=require("path")},function(e,t){e.exports=require("electron")},function(e,t){e.exports=require("module")},function(e,t){e.exports=require("events")},function(e,t){e.exports=require("request")},function(e,t,s){"use strict";s.r(t);var n={};s.r(n),s.d(n,"Menu",function(){return ge}),s.d(n,"Card",function(){return me}),s.d(n,"Layer",function(){return fe});var r={};s.r(r),s.d(r,"VoiceMode",function(){return ke}),s.d(r,"ClassNormalizer",function(){return Me}),s.d(r,"DeveloperMode",function(){return Be}),s.d(r,"PublicServers",function(){return Ne}),s.d(r,"DarkMode",function(){return Te}),s.d(r,"MinimalMode",function(){return $e}),s.d(r,"TwentyFourHour",function(){return je}),s.d(r,"ColoredText",function(){return Le}),s.d(r,"VoiceDisconnect",function(){return Oe}),s.d(r,"EmoteMenu",function(){return Ue}),s.d(r,"EmoteAutocaps",function(){return _e}),s.d(r,"EmoteModule",function(){return He});var i={local:!1,localServer:"//localhost:8080",minified:!0,version:"0.3.0",branch:"master",repo:"rauenzi",minSupportedVersion:"0.3.0",bbdVersion:"0.2.17"},o={TwitchGlobal:{url:"https://twitchemotes.com/api_cache/v3/global.json",backup:"https://rauenzi.github.io/BetterDiscordApp/data/emotedata_twitch_global.json",variable:"TwitchGlobal",getEmoteURL:e=>`https://static-cdn.jtvnw.net/emoticons/v1/${e.id}/1.0`,getOldData:(e,t)=>({id:e.match(/\/([0-9]+)\//)[1],code:t,emoticon_set:0,description:null})},TwitchSubscriber:{url:"https://rauenzi.github.io/BetterDiscordApp/data/emotedata_twitch_subscriber.json",variable:"TwitchSubscriber",getEmoteURL:e=>`https://static-cdn.jtvnw.net/emoticons/v1/${e}/1.0`,getOldData:e=>e.match(/\/([0-9]+)\//)[1]},FrankerFaceZ:{url:"https://rauenzi.github.io/BetterDiscordApp/data/emotedata_ffz.json",variable:"FrankerFaceZ",getEmoteURL:e=>`https://cdn.frankerfacez.com/emoticon/${e}/1`,getOldData:e=>e.match(/\/([0-9]+)\//)[1]},BTTV:{url:"https://api.betterttv.net/emotes",variable:"BTTV",parser:e=>{const t={};for(let s=0,n=e.emotes.length;s`${e}`,getOldData:e=>e},BTTV2:{url:"https://rauenzi.github.io/BetterDiscordApp/data/emotedata_bttv.json",variable:"BTTV2",oldVariable:"emotesBTTV2",getEmoteURL:e=>`https://cdn.betterttv.net/emote/${e}/1x`,getOldData:e=>e.match(/emote\/(.+)\//)[1]}},a=[{type:"category",id:"general",name:"General",collapsible:!0,settings:[{type:"switch",id:"download",name:"Download Emotes",note:"Download emotes once a week to stay up to date",value:!0},{type:"switch",id:"emoteMenu",name:"Emote Menu",note:"Show Twitch/Favourite emotes in emote menu",value:!0},{type:"switch",id:"hideEmojiMenu",name:"Hide Emoji Menu",note:"Hides Discord's emoji menu when using emote menu",value:!1,enableWith:"emoteMenu"},{type:"switch",id:"autoCaps",name:"Emote Autocapitalization",note:"Autocapitalize emote commands",value:!1},{type:"switch",id:"showNames",name:"Show Names",note:"Show emote names on hover",value:!0},{type:"switch",id:"modifiers",name:"Show Emote Modifiers",note:"Enable emote mods (flip, spin, pulse, spin2, spin3, 1spin, 2spin, 3spin, tr, bl, br, shake, shake2, shake3, flap)",value:!0},{type:"switch",id:"animateOnHover",name:"Animate On Hover",note:"Only animate the emote modifiers on hover",value:!1}]},{type:"category",id:"categories",name:"Categories",collapsible:!0,settings:[{type:"switch",id:"twitch",name:"Twitch",note:"Show Twitch global & subscriber emotes",value:!0},{type:"switch",id:"ffz",name:"FrankerFaceZ",note:"Show emotes from FFZ",value:!0},{type:"switch",id:"bttv",name:"BetterTTV",note:"Show emotes from BTTV",value:!0}]}],l=[{type:"category",id:"general",name:"General",collapsible:!0,settings:[{type:"switch",id:"emotes",name:"Emote System",note:"Enables BD's emote system",value:!0},{type:"switch",id:"publicServers",name:"Public Servers",note:"Display public servers button",value:!0},{type:"switch",id:"voiceDisconnect",name:"Voice Disconnect",note:"Disconnect from voice server when closing Discord",value:!1},{type:"switch",id:"twentyFourHour",name:"24 Hour Timestamps",note:"Hides channels when in minimal mode",value:!1},{type:"switch",id:"classNormalizer",name:"Normalize Classes",note:"Adds stable classes to elements to help themes. (e.g. adds .da-channels to .channels-Ie2l6A)",value:!0},{type:"switch",id:"showToasts",name:"Show Toasts",note:"Shows a small notification for important information",value:!0}]},{type:"category",id:"appearance",name:"Appearance",collapsible:!0,settings:[{type:"switch",id:"voiceMode",name:"Voice Mode",note:"Hides everything that isn't voice chat",value:!1},{type:"switch",id:"minimalMode",name:"Minimal Mode",note:"Hide elements and reduce the size of elements",value:!1},{type:"switch",id:"hideChannels",name:"Hide Channels",note:"Hides channels when in minimal mode",value:!1,enableWith:"minimalMode"},{type:"switch",id:"darkMode",name:"Dark Mode",note:"Make certain elements dark by default",value:!0},{type:"switch",id:"coloredText",name:"Colored Text",note:"Make text colour the same as role color",value:!1}]},{type:"category",id:"content",name:"Content Manager",collapsible:!0,settings:[{type:"switch",id:"contentErrors",name:"Show Content Errors",note:"Shows a modal with plugin/theme errors",value:!0},{type:"switch",id:"autoScroll",name:"Scroll To Settings",note:"Auto-scrolls to a plugin's settings when the button is clicked (only if out of view)",value:!0},{type:"switch",id:"autoReload",name:"Automatic Loading",note:"Automatically loads, reloads, and unloads plugins and themes",value:!0}]},{type:"category",id:"developer",name:"Developer Settings",collapsible:!0,shown:!1,settings:[{type:"switch",id:"developerMode",name:"Developer Mode",note:"Allows activating debugger when pressing F8",value:!1},{type:"switch",id:"copySelector",name:"Copy Selector",note:'Adds a "Copy Selector" option to context menus when developer mode is active',value:!1,enableWith:"developerMode"}]},{type:"category",id:"window",name:"Window Preferences",collapsible:!0,shown:!1,settings:[{type:"switch",id:"transparency",name:"Enable Transparency",note:"Enables the main window to be see-through (requires restart)",value:!1},{type:"switch",id:"frame",name:"Window Frame",note:"Adds the native os window frame to the main window",value:!1,hidden:!0}]}];class c{static get screenWidth(){return Math.max(document.documentElement.clientWidth,window.innerWidth||0)}static get screenHeight(){return Math.max(document.documentElement.clientHeight,window.innerHeight||0)}static stripBOM(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}static getTextArea(){return $(".channelTextArea-1LDbYG textarea")}static getInternalInstance(e){return e[Object.keys(e).find(e=>e.startsWith("__reactInternalInstance"))]||null}static insertText(e,t){e.focus(),e.selectionStart=0,e.selectionEnd=e.value.length,document.execCommand("insertText",!1,t)}static injectCss(e){$("",{type:"text/css",rel:"stylesheet",href:e}).appendTo($("head"))}static injectJs(e){return new Promise(t=>{$("