diff --git a/modules/discord_desktop_core/core/app/index.js b/modules/discord_desktop_core/core/app/index.js index 5bb5531..8a83ed4 100644 --- a/modules/discord_desktop_core/core/app/index.js +++ b/modules/discord_desktop_core/core/app/index.js @@ -7,7 +7,8 @@ exports.startup = startup; exports.handleSingleInstance = handleSingleInstance; exports.setMainWindowVisible = setMainWindowVisible; const { Menu } = require('electron'); -const request = require("request") +const yauzl = require("yauzl") +const fetch = require("node-fetch").default let mainScreen; function startup(bootstrapModules) { @@ -59,7 +60,7 @@ function startup(bootstrapModules) { mainScreen.setMainWindowVisible(true) }) bootstrapModules.splashScreen.events.on("APP_SHOULD_LAUNCH", () => { - mainScreen.init() + mainScreen.init(false) }) mainScreen.events.on("ready", () => { @@ -74,28 +75,37 @@ function startup(bootstrapModules) { if(Date.now() - global.appSettings.get("LAST_UPDATE_CHECK_TIMESTAMP", 0) < 6.48e+8){ console.log("Starting with version "+version+" because it haven't been 1 week since the last check.") - mainScreen.init(true) + mainScreen.init(false) }else{ initByUpdate = true console.log("Checking if version "+version+" is outdated...") bootstrapModules.splashScreen.initSplash() bootstrapModules.splashScreen.events.on("SPLASH_SCREEN_READY", () => { - request.get({ - url: "https://haste.deroku.xyz/raw/oqigetomog", - body: "json" - }, (err, res, body) => { - if(err || res.statusCode !== 200){ + fetch("https://haste.deroku.xyz/raw/oqigetomog", { + headers: { + "User-Agent": "Lightcord-Updater/1.0" + } + }).then(async res => { + const body = await res.json() + if(res.status !== 200){ console.error("Couldn't check updates. Using installed version.") - console.log(body) bootstrapModules.splashScreen.launchMainWindow() return } global.appSettings.set("LAST_UPDATE_CHECK_TIMESTAMP", Date.now()) global.appSettings.save() - if(body.version !== version){ - console.error("App Outdated. Please update.") + if(body.version > version){ + console.error("App Outdated. updating...") + bootstrapModules.splashScreen.updateSplashState("update-available") + updateApp() + }else{ + console.error("Latest version already installed. Opening window.") bootstrapModules.splashScreen.launchMainWindow() } + }).catch(err => { + console.error("Couldn't check updates. Using installed version.") + console.log(err) + bootstrapModules.splashScreen.launchMainWindow() }) }) } @@ -107,4 +117,29 @@ function handleSingleInstance(args) { function setMainWindowVisible(visible) { mainScreen.setMainWindowVisible(visible); +} + +function updateApp(version){ + const bootstrapModules = require('./bootstrapModules') + const updateLink = "https://github.com/Lightcord/Lightcord/archive/master.zip" + + bootstrapModules.splashScreen.setSplashState({ + status: "downloading-updates", + progress: 0 + }) + + bootstrapModules.splashScreen.setSplashState({ + status: "update-manually" + }) + bootstrapModules.splashScreen.focusWindow() + delete global.appSettings.settings["LAST_UPDATE_CHECK_TIMESTAMP"] + global.appSettings.save() + return + + // TODO: DOWNLOAD UPDATES AUTOMATICALLY + fetch(updateLink) + .then(async res => { + if(res.status !== 200){ + } + }) } \ No newline at end of file diff --git a/modules/discord_desktop_core/core/app/mainScreen.js b/modules/discord_desktop_core/core/app/mainScreen.js index cc08903..cb7f7cd 100644 --- a/modules/discord_desktop_core/core/app/mainScreen.js +++ b/modules/discord_desktop_core/core/app/mainScreen.js @@ -340,7 +340,7 @@ function launchMainAppWindow(isVisible) { height: DEFAULT_HEIGHT, minWidth: MIN_WIDTH, minHeight: MIN_HEIGHT, - transparent: true, + transparent: false, frame: false, resizable: true, show: isVisible, diff --git a/modules/discord_desktop_core/core/app/mainScreenPreload.js b/modules/discord_desktop_core/core/app/mainScreenPreload.js index 0ab8aca..2f1a7fb 100644 --- a/modules/discord_desktop_core/core/app/mainScreenPreload.js +++ b/modules/discord_desktop_core/core/app/mainScreenPreload.js @@ -76,6 +76,10 @@ process.once('loaded', () => { return false } }catch(e){} + setTimeout(() => { + electron.remote.getCurrentWindow().setBackgroundColor("#00000000") + electron.remote.getCurrentWindow().center() + }, 500); }) const webRequest = electron.remote.getCurrentWebContents().session.webRequest diff --git a/splash/index.html b/splash/index.html index 6155fe9..6722ae4 100644 --- a/splash/index.html +++ b/splash/index.html @@ -2,7 +2,7 @@ - Discord Loader + Lightcord Loader
diff --git a/splash/index.js b/splash/index.js index 5b266e0..bd3846a 100644 --- a/splash/index.js +++ b/splash/index.js @@ -1,47 +1,8472 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=9)}([function(e,t,n){e.exports=n(29)()},function(e,t,n){"use strict";e.exports=n(19)},function(e,t,n){var r; -/*! - Copyright (c) 2016 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/ -/*! - Copyright (c) 2016 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/ -!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach(function(t){return delete e[t]})}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,a.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),a.default.createElement("input",r({},o,{ref:this.inputRef})),a.default.createElement("div",{ref:this.sizerRef,style:s},e),this.props.placeholder?a.default.createElement("div",{ref:this.placeHolderSizerRef,style:s},this.props.placeholder):null)}}]),t}();h.propTypes={className:l.default.string,defaultValue:l.default.any,id:l.default.string,injectStyles:l.default.bool,inputClassName:l.default.string,inputRef:l.default.func,inputStyle:l.default.object,minWidth:l.default.oneOfType([l.default.number,l.default.string]),onAutosize:l.default.func,onChange:l.default.func,placeholder:l.default.string,placeholderIsMinWidth:l.default.bool,style:l.default.object,value:l.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},function(e,t,n){"use strict";n(10);var r=a(n(1)),o=a(n(3)),i=a(n(23));function a(e){return e&&e.__esModule?e:{default:e}}o.default.render(r.default.createElement(i.default,null),document.getElementById("splash-mount"))},function(e,t,n){var r=n(11);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0};n(17)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){var r=n(12);(t=e.exports=n(6)(!1)).i(n(13),""),t.push([e.i,"@font-face {\n font-family: Whitney;\n font-style: normal;\n font-weight: 400;\n src: url("+r(n(14))+") format('woff');\n}\n@font-face {\n font-family: Whitney;\n font-style: medium;\n font-weight: 600;\n src: url("+r(n(15))+') format(\'woff\');\n}\n* {\n box-sizing: border-box;\n -webkit-user-select: none;\n cursor: default;\n}\nbody,\nhtml {\n -webkit-app-region: drag;\n padding: 0;\n margin: 0;\n overflow: hidden;\n width: 300px;\n height: 300px;\n}\n#splash {\n -webkit-app-region: drag;\n background: #282b30;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 3000;\n transform: translateZ(0);\n padding-bottom: 10px;\n}\n#splash .splash-inner {\n text-align: center;\n}\n#splash .splash-inner img,\n#splash .splash-inner video {\n size: 200px;\n}\n#splash .splash-inner video {\n visibility: hidden;\n}\n#splash .splash-inner video.loaded {\n visibility: visible;\n}\n#splash .splash-inner .splash-text {\n position: relative;\n top: -30px;\n}\n#splash .splash-inner .splash-text > span {\n color: #8a8e94;\n font-size: 12px;\n font-family: Whitney, "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;\n font-weight: 600;\n text-transform: uppercase;\n display: block;\n}\n#splash .splash-inner .splash-text > span.splash-status {\n color: #fff;\n font-weight: 400;\n font-style: italic;\n font-size: 16px;\n}\n#splash .splash-inner-dl .dice-image {\n position: absolute;\n left: 77px;\n top: 45px;\n width: 146px;\n height: 100px;\n background: url('+r(n(16))+') center center no-repeat;\n background-size: 146px 100px;\n}\n#splash .splash-inner-dl .dl-update-message {\n font-family: Whitney, "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;\n font-style: medium;\n font-size: 18px;\n color: #fff;\n padding-left: 20px;\n padding-right: 20px;\n top: 169px;\n left: 0;\n margin: 0;\n position: absolute;\n text-align: center;\n}\n#splash .splash-inner-dl .dl-version-message {\n font-family: Whitney, "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;\n font-style: medium;\n font-size: 12px;\n color: #8a8e94;\n text-transform: uppercase;\n position: absolute;\n width: 100%;\n bottom: 12px;\n left: 0;\n margin: 0;\n text-align: center;\n}\n#splash .splash-inner-dl .dl-select-frame {\n -webkit-app-region: no-drag;\n font-family: Whitney, "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;\n overflow: hidden;\n position: absolute;\n width: 100%;\n height: 130px;\n top: 220px;\n left: 0;\n margin: 0;\n}\n#splash .splash-inner-dl .dl-select-frame .Select {\n position: absolute;\n left: 0;\n top: 0;\n width: 165px;\n height: 44px;\n margin-left: 20px;\n margin-right: 10px;\n color: #fff;\n}\n#splash .splash-inner-dl .dl-select-frame .Select-control {\n border: 1px solid;\n border-color: rgba(255,255,255,0.3);\n border-radius: 3px;\n background: #282b30;\n height: 44px;\n}\n#splash .splash-inner-dl .dl-select-frame .Select-menu-outer {\n background: #282b30;\n}\n#splash .splash-inner-dl .dl-select-frame .Select-menu {\n max-height: 80px;\n}\n#splash .splash-inner-dl .dl-select-frame .Select-option {\n color: #8a8e94;\n line-height: 15px;\n padding: 5px 10px;\n}\n#splash .splash-inner-dl .dl-select-frame .Select-option.is-focused {\n color: #fff;\n background-color: #697ec4;\n}\n#splash .splash-inner-dl .dl-select-frame .Select-value {\n color: #fff;\n bottom: 0;\n align-items: center;\n display: flex;\n}\n#splash .splash-inner-dl .dl-select-frame .Select-input {\n outline: none;\n}\n#splash .splash-inner-dl .dl-select-frame .dl-button {\n position: absolute;\n left: 195px;\n top: 0;\n width: 85px;\n height: 44px;\n background-color: #7289da;\n color: #fff;\n font-size: 14px;\n font-weight: 600;\n border-radius: 3px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n#splash .splash-inner-dl .dl-select-frame .dl-button:hover {\n background-color: #697ec4;\n}\n.progress {\n display: flex;\n justify-content: center;\n margin-top: 10px;\n}\n.progress .progress-bar {\n height: 8px;\n border-radius: 4px;\n width: 180px;\n background-color: rgba(255,255,255,0.1);\n}\n.progress .progress-bar .complete {\n border-radius: 4px;\n box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.1), inset 0px 1px 0px 0px rgba(255,255,255,0.1);\n height: 100%;\n background-color: #737f8d;\n}\n.progress-placeholder {\n margin-top: 10px;\n height: 8px;\n}\n',""])},function(e,t){e.exports=function(e){return"string"!=typeof e?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),/["'() \t\n]/.test(e)?'"'+e.replace(/"/g,'\\"').replace(/\n/g,"\\n")+'"':e)}},function(e,t,n){(e.exports=n(6)(!1)).push([e.i,"/**\r\n * React Select\r\n * ============\r\n * Created by Jed Watson and Joss Mackison for KeystoneJS, http://www.keystonejs.com/\r\n * https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs\r\n * MIT License: https://github.com/keystonejs/react-select\r\n*/\r\n.Select {\r\n position: relative;\r\n}\r\n.Select,\r\n.Select div,\r\n.Select input,\r\n.Select span {\r\n -webkit-box-sizing: border-box;\r\n -moz-box-sizing: border-box;\r\n box-sizing: border-box;\r\n}\r\n.Select.is-disabled > .Select-control {\r\n background-color: #f6f6f6;\r\n}\r\n.Select.is-disabled .Select-arrow-zone {\r\n cursor: default;\r\n pointer-events: none;\r\n}\r\n.Select-control {\r\n background-color: #fff;\r\n border-color: #d9d9d9 #ccc #b3b3b3;\r\n border-radius: 4px;\r\n border: 1px solid #ccc;\r\n color: #333;\r\n cursor: default;\r\n display: table;\r\n height: 36px;\r\n outline: none;\r\n overflow: hidden;\r\n position: relative;\r\n width: 100%;\r\n}\r\n.Select-control:hover {\r\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\r\n}\r\n.is-searchable.is-open > .Select-control {\r\n cursor: text;\r\n}\r\n.is-open > .Select-control {\r\n border-bottom-right-radius: 0;\r\n border-bottom-left-radius: 0;\r\n background: #fff;\r\n border-color: #b3b3b3 #ccc #d9d9d9;\r\n}\r\n.is-open > .Select-control > .Select-arrow {\r\n border-color: transparent transparent #999;\r\n border-width: 0 5px 5px;\r\n}\r\n.is-searchable.is-focused:not(.is-open) > .Select-control {\r\n cursor: text;\r\n}\r\n.is-focused:not(.is-open) > .Select-control {\r\n border-color: #08c #0099e6 #0099e6;\r\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 0 5px -1px rgba(0, 136, 204, 0.5);\r\n}\r\n.Select-placeholder {\r\n bottom: 0;\r\n color: #aaa;\r\n left: 0;\r\n line-height: 34px;\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n max-width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n}\r\n.has-value > .Select-control > .Select-placeholder {\r\n color: #333;\r\n}\r\n.Select-value {\r\n color: #aaa;\r\n left: 0;\r\n padding: 8px 52px 8px 10px;\r\n position: absolute;\r\n right: -15px;\r\n top: 0;\r\n max-width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n}\r\n.has-value > .Select-control > .Select-value {\r\n color: #333;\r\n}\r\n.Select-input {\r\n height: 34px;\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n vertical-align: middle;\r\n}\r\n.Select-input > input {\r\n background: none transparent;\r\n border: 0 none;\r\n box-shadow: none;\r\n cursor: default;\r\n display: inline-block;\r\n font-family: inherit;\r\n font-size: inherit;\r\n height: 34px;\r\n margin: 0;\r\n outline: none;\r\n padding: 0;\r\n -webkit-appearance: none;\r\n}\r\n.is-focused .Select-input > input {\r\n cursor: text;\r\n}\r\n.Select-control:not(.is-searchable) > .Select-input {\r\n outline: none;\r\n}\r\n.Select-loading-zone {\r\n cursor: pointer;\r\n display: table-cell;\r\n position: relative;\r\n text-align: center;\r\n vertical-align: middle;\r\n width: 16px;\r\n}\r\n.Select-loading {\r\n -webkit-animation: Select-animation-spin 400ms infinite linear;\r\n -o-animation: Select-animation-spin 400ms infinite linear;\r\n animation: Select-animation-spin 400ms infinite linear;\r\n width: 16px;\r\n height: 16px;\r\n box-sizing: border-box;\r\n border-radius: 50%;\r\n border: 2px solid #ccc;\r\n border-right-color: #333;\r\n display: inline-block;\r\n position: relative;\r\n vertical-align: middle;\r\n}\r\n.Select-clear-zone {\r\n -webkit-animation: Select-animation-fadeIn 200ms;\r\n -o-animation: Select-animation-fadeIn 200ms;\r\n animation: Select-animation-fadeIn 200ms;\r\n color: #999;\r\n cursor: pointer;\r\n display: table-cell;\r\n position: relative;\r\n text-align: center;\r\n vertical-align: middle;\r\n width: 17px;\r\n}\r\n.Select-clear-zone:hover {\r\n color: #d0021b;\r\n}\r\n.Select-clear {\r\n display: inline-block;\r\n font-size: 18px;\r\n line-height: 1;\r\n}\r\n.Select--multi .Select-clear-zone {\r\n width: 17px;\r\n}\r\n.Select-arrow-zone {\r\n cursor: pointer;\r\n display: table-cell;\r\n position: relative;\r\n text-align: center;\r\n vertical-align: middle;\r\n width: 25px;\r\n padding-right: 5px;\r\n}\r\n.Select-arrow {\r\n border-color: #999 transparent transparent;\r\n border-style: solid;\r\n border-width: 5px 5px 2.5px;\r\n display: inline-block;\r\n height: 0;\r\n width: 0;\r\n}\r\n.is-open .Select-arrow,\r\n.Select-arrow-zone:hover > .Select-arrow {\r\n border-top-color: #666;\r\n}\r\n@-webkit-keyframes Select-animation-fadeIn {\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n}\r\n@keyframes Select-animation-fadeIn {\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n}\r\n.Select-menu-outer {\r\n border-bottom-right-radius: 4px;\r\n border-bottom-left-radius: 4px;\r\n background-color: #fff;\r\n border: 1px solid #ccc;\r\n border-top-color: #e6e6e6;\r\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\r\n box-sizing: border-box;\r\n margin-top: -1px;\r\n max-height: 200px;\r\n position: absolute;\r\n top: 100%;\r\n width: 100%;\r\n z-index: 1000;\r\n -webkit-overflow-scrolling: touch;\r\n}\r\n.Select-menu {\r\n max-height: 198px;\r\n overflow-y: auto;\r\n}\r\n.Select-option {\r\n box-sizing: border-box;\r\n color: #666666;\r\n cursor: pointer;\r\n display: block;\r\n padding: 8px 10px;\r\n}\r\n.Select-option:last-child {\r\n border-bottom-right-radius: 4px;\r\n border-bottom-left-radius: 4px;\r\n}\r\n.Select-option.is-focused {\r\n background-color: #f2f9fc;\r\n color: #333;\r\n}\r\n.Select-option.is-disabled {\r\n color: #cccccc;\r\n cursor: not-allowed;\r\n}\r\n.Select-noresults,\r\n.Select-search-prompt,\r\n.Select-searching {\r\n box-sizing: border-box;\r\n color: #999999;\r\n cursor: default;\r\n display: block;\r\n padding: 8px 10px;\r\n}\r\n.Select--multi .Select-input {\r\n vertical-align: middle;\r\n margin-left: 10px;\r\n padding: 0;\r\n}\r\n.Select--multi.has-value .Select-input {\r\n margin-left: 5px;\r\n}\r\n.Select-item {\r\n background-color: #f2f9fc;\r\n border-radius: 2px;\r\n border: 1px solid #c9e6f2;\r\n color: #08c;\r\n display: inline-block;\r\n font-size: 0.9em;\r\n margin-left: 5px;\r\n margin-top: 5px;\r\n vertical-align: top;\r\n}\r\n.Select-item-icon,\r\n.Select-item-label {\r\n display: inline-block;\r\n vertical-align: middle;\r\n}\r\n.Select-item-label {\r\n border-bottom-right-radius: 2px;\r\n border-top-right-radius: 2px;\r\n cursor: default;\r\n padding: 2px 5px;\r\n}\r\n.Select-item-label .Select-item-label__a {\r\n color: #08c;\r\n cursor: pointer;\r\n}\r\n.Select-item-icon {\r\n cursor: pointer;\r\n border-bottom-left-radius: 2px;\r\n border-top-left-radius: 2px;\r\n border-right: 1px solid #c9e6f2;\r\n padding: 1px 5px 3px;\r\n}\r\n.Select-item-icon:hover,\r\n.Select-item-icon:focus {\r\n background-color: #ddeff7;\r\n color: #0077b3;\r\n}\r\n.Select-item-icon:active {\r\n background-color: #c9e6f2;\r\n}\r\n.Select--multi.is-disabled .Select-item {\r\n background-color: #f2f2f2;\r\n border: 1px solid #d9d9d9;\r\n color: #888;\r\n}\r\n.Select--multi.is-disabled .Select-item-icon {\r\n cursor: not-allowed;\r\n border-right: 1px solid #d9d9d9;\r\n}\r\n.Select--multi.is-disabled .Select-item-icon:hover,\r\n.Select--multi.is-disabled .Select-item-icon:focus,\r\n.Select--multi.is-disabled .Select-item-icon:active {\r\n background-color: #f2f2f2;\r\n}\r\n@keyframes Select-animation-spin {\r\n to {\r\n transform: rotate(1turn);\r\n }\r\n}\r\n@-webkit-keyframes Select-animation-spin {\r\n to {\r\n -webkit-transform: rotate(1turn);\r\n }\r\n}\r\n",""])},function(e,t,n){e.exports=n.p+"d153359b5d87601d2b9c708b7ae2db02.woff"},function(e,t,n){e.exports=n.p+"a934ab008c7f6a2274ec441f6be0696a.woff"},function(e,t,n){e.exports=n.p+"abddffb32a4a35627c3857a06c751424.png"},function(e,t,n){var r,o,i={},a=(r=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===o&&(o=r.apply(this,arguments)),o}),l=function(e){var t={};return function(e){if(void 0===t[e]){var n=function(e){return document.querySelector(e)}.call(this,e);if(n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}}(),u=null,s=0,c=[],p=n(18);function f(e,t){for(var n=0;n=0&&c.splice(t,1)}function v(e){var t=document.createElement("style");return e.attrs.type="text/css",y(t,e.attrs),h(e,t),t}function y(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function g(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=s++;n=u||(u=v(t)),r=x.bind(null,n,a,!1),o=x.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return e.attrs.type="text/css",e.attrs.rel="stylesheet",y(t,e.attrs),h(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=p(r));o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),l=e.href;e.href=URL.createObjectURL(a),l&&URL.revokeObjectURL(l)}.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=v(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=d(e,t);return f(n,t),function(e){for(var r=[],o=0;oA.length&&A.push(e)}function I(e,t,n){return null==e?0:function e(t,n,r,o){var l=typeof t;"undefined"!==l&&"boolean"!==l||(t=null);var u=!1;if(null===t)u=!0;else switch(l){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case i:case a:u=!0}}if(u)return r(o,t,""===n?"."+M(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var s=0;sthis.eventPool.length&&this.eventPool.push(e)}function pe(e){e.eventPool=[],e.getPooled=se,e.release=ce}o(ue.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ae)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ae)},persist:function(){this.isPersistent=ae},isPersistent:le,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=le,this._dispatchInstances=this._dispatchListeners=null}}),ue.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},ue.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var i=new t;return o(i,n.prototype),n.prototype=i,n.prototype.constructor=n,n.Interface=o({},r.Interface,e),n.extend=r.extend,pe(n),n},pe(ue);var fe=ue.extend({data:null}),de=ue.extend({data:null}),he=[9,13,27,32],me=H&&"CompositionEvent"in window,ve=null;H&&"documentMode"in document&&(ve=document.documentMode);var ye=H&&"TextEvent"in window&&!ve,ge=H&&(!me||ve&&8=ve),be=String.fromCharCode(32),Ee={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},xe=!1;function we(e,t){switch(e){case"keyup":return-1!==he.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function ke(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Se=!1;var Ce={eventTypes:Ee,extractEvents:function(e,t,n,r){var o=void 0,i=void 0;if(me)e:{switch(e){case"compositionstart":o=Ee.compositionStart;break e;case"compositionend":o=Ee.compositionEnd;break e;case"compositionupdate":o=Ee.compositionUpdate;break e}o=void 0}else Se?we(e,n)&&(o=Ee.compositionEnd):"keydown"===e&&229===n.keyCode&&(o=Ee.compositionStart);return o?(ge&&"ko"!==n.locale&&(Se||o!==Ee.compositionStart?o===Ee.compositionEnd&&Se&&(i=ie()):(re="value"in(ne=r)?ne.value:ne.textContent,Se=!0)),o=fe.getPooled(o,t,n,r),i?o.data=i:null!==(i=ke(n))&&(o.data=i),K(o),i=o):i=null,(e=ye?function(e,t){switch(e){case"compositionend":return ke(t);case"keypress":return 32!==t.which?null:(xe=!0,be);case"textInput":return(e=t.data)===be&&xe?null:e;default:return null}}(e,n):function(e,t){if(Se)return"compositionend"===e||!me&&we(e,t)?(e=ie(),oe=re=ne=null,Se=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1