NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name WebSwitcher: 在百度、谷歌之间切换搜索结果 // @namespace https://github.com/Krysl // @description 为百度、谷歌添加按钮, 点击跳转到对方页面搜索同样内容 // @license MIT // @version 0.5.1 // @author Krysl <krysl@qq.com> // @source https://github.com/Krysl/WebSwitcher // @include http*://www.baidu.com/* // @include http*://www.google.com/ // @include http*://www.google.com/webhp* // @include http*://www.google.com/search?* // @include http*://www.google.com.* // @include http*://www.google.com.*/search?* // @require https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js // @require https://cdn.jsdelivr.net/npm/vue@^3.2.6/dist/vue.global.prod.js // @require https://cdn.jsdelivr.net/npm/vue-class-component@^8.0.0-rc.1/dist/vue-class-component.global.prod.js // @require https://cdn.jsdelivr.net/npm/vuex@^4.0.2/dist/vuex.global.prod.js // @require https://cdn.jsdelivr.net/npm/@svgdotjs/svg.js@^3.1.1/dist/svg.min.js // @require https://cdn.jsdelivr.net/npm/loglevel@^1.7.1/dist/loglevel.js // @require https://cdn.jsdelivr.net/npm/window-vue@^1.0.0/index.js // @require https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/dist/index.full.js // @require https://cdn.jsdelivr.net/npm/@popperjs/core@^2.4.4/dist/umd/popper.min.js // @require https://cdn.jsdelivr.net/npm/lodash@^4.17.20/lodash.js // @require https://cdn.jsdelivr.net/npm/@chocolateboy/uncommonjs@3.1.2/dist/polyfill.iife.min.js // @require https://cdn.jsdelivr.net/npm/ansicolor@^1.1.95/build/ansicolor.min.js // @resource element-icons.ttf https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/fonts/element-icons.ttf // @resource element-icons.woff https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/fonts/element-icons.woff // @resource theme_chalk_index https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/index.css // @resource theme_chalk_el_col https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-col.css // @resource theme_chalk_el_slider https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-slider.css // @resource theme_chalk_el_button https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-button.css // @resource theme_chalk_el_button_group https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-button-group.css // @resource theme_chalk_el_input https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-input.css // @resource theme_chalk_el_collapse https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-collapse.css // @resource theme_chalk_el_switch https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-switch.css // @resource theme_chalk_el_row https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-row.css // @resource theme_chalk_el_divider https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-divider.css // @resource theme_chalk_el_main https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-main.css // @resource theme_chalk_el_header https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-header.css // @resource theme_chalk_el_container https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-container.css // @resource theme_chalk_el_collapse_item https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-collapse-item.css // @resource theme_chalk_el_message https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-message.css // @resource theme_chalk_el_message_box https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-message-box.css // @resource theme_chalk_el_notification https://cdn.jsdelivr.net/npm/element-plus@1.1.0-beta.7/theme-chalk/el-notification.css // @supportURL https://github.com/Krysl/WebSwitcher // @grant GM_xmlhttpRequest // @grant GM_registerMenuCommand // @grant GM_openInTab // @grant GM_info // @grant GM_getValue // @grant GM_setValue // @grant GM_getResourceText // @grant GM_addStyle // @grant window.onurlchange // @connect httpbin.org // @run-at document-start // ==/UserScript== /******/ (function() { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ 170: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ SearchButton; } }); // EXTERNAL MODULE: external "Vue" var external_Vue_ = __webpack_require__(5); ;// CONCATENATED MODULE: external "$" var external_$_namespaceObject = $; // EXTERNAL MODULE: ./src/utils/logger.ts + 3 modules var logger = __webpack_require__(700); // EXTERNAL MODULE: ./src/utils/shortcut.ts var utils_shortcut = __webpack_require__(248); // EXTERNAL MODULE: ./src/components/settings/config.ts + 1 modules var config = __webpack_require__(274); ;// CONCATENATED MODULE: ./src/components/button/URLButton.tsx /* harmony default export */ var URLButton = ((0,external_Vue_.defineComponent)({ name: 'URLButton', props: { id: String, img: String, imgSize: { type: Object, required: false, default: { w: 80, h: 80 } }, url: String, style: { type: Object, required: false, default: { defaultColor: '#424242', highlightColor: '#666666' } }, isInline: { type: Boolean, require: false, default: false }, offset: { type: Object, required: false, default: { w: 0, h: 0 } }, css: String, imgcss: String, hasBackground: { type: Boolean, required: false, default: false } }, setup(props) { var { id, img, imgSize, url, style, isInline, offset, css, imgcss, hasBackground } = (0,external_Vue_.toRefs)(props); var isHover = (0,external_Vue_.ref)(false); var color = (0,external_Vue_.computed)(() => isHover.value ? style.value.highlightColor : style.value.defaultColor); var setColor = _isHover => { // debug(`setColor=${_isHover}`); isHover.value = _isHover; }; var _css = (0,external_Vue_.computed)(() => { var __css = css === null || css === void 0 ? void 0 : css.value; if (__css === undefined) { __css = 'height:30px;' + ' display: inline-block; '; } if (hasBackground.value) { __css += "background-color:".concat(color.value, ";") + 'border-radius:10px 10px 10px 10px;'; } return __css; }); var imgH = imgSize.value.h.valueOf(); if (imgH === undefined) { imgH = 100; } else if (imgH > 0 && imgH <= 1) { imgH *= 100; } var imgW = imgSize.value.w.valueOf(); if (imgW === undefined) { imgW = 100; } else if (imgW > 0 && imgW <= 1) { imgW *= 100; } return () => (0,external_Vue_.createVNode)("a", { "id": id === null || id === void 0 ? void 0 : id.value, "href": url === null || url === void 0 ? void 0 : url.value, "style": 'height:100%; width:100%;' }, [(0,external_Vue_.createVNode)("div", { "style": _css.value, "onMouseover": () => setColor(true), "onMouseout": () => setColor(false) }, [(0,external_Vue_.createVNode)("div", { "style": 'height:100%; width:100%;' + 'flex-direction:column;' + "display:".concat(isInline.value ? 'inline-' : '', "flex;") + "position: relative; top: ".concat(offset.value.h, "px; left:").concat(offset.value.w) }, [(0,external_Vue_.createVNode)("div", { "style": "height:".concat((100 - imgH) / 2, "%;") }, null), (0,external_Vue_.createVNode)("div", { "style": "height:".concat(imgH, "%; width:100%;") + 'flex-direction:row;' + "display:".concat(isInline.value ? 'inline-' : '', "flex;") }, [(0,external_Vue_.createVNode)("div", { "style": "width:".concat((100 - imgW) / 2, "%;") }, null), (0,external_Vue_.createVNode)("img", { "src": img === null || img === void 0 ? void 0 : img.value, "style": (imgcss === null || imgcss === void 0 ? void 0 : imgcss.value) === undefined ? "height:100%; width:".concat(imgW, "%; vertical-align: middle; display: inline-block;") : "height:100%; width:".concat(imgW, "%; ") + (imgcss === null || imgcss === void 0 ? void 0 : imgcss.value) }, null)])])])]); } })); ;// CONCATENATED MODULE: ./src/components/button/SearchButton.tsx /* harmony default export */ var SearchButton = ((0,external_Vue_.defineComponent)({ name: 'SearchButton', props: { id: String, img: String, imgSize: { type: Object, required: false, default: { w: 80, h: 80 } }, url: String, input: String, isInline: { type: Boolean, require: false, default: false }, offset: { type: Object, required: false, default: { w: 0, h: 0 } }, css: String, imgcss: String, hasBackground: Boolean }, setup(props) { var { id, img, imgSize, url, input, isInline, offset, css, imgcss, hasBackground } = (0,external_Vue_.toRefs)(props); var store = (0,config/* useStore */.oR)(); var _url = (0,external_Vue_.ref)(url === null || url === void 0 ? void 0 : url.value); var _onChange = () => { if (input !== null && input !== void 0 && input.value) { var _$; var txt = (_$ = external_$_namespaceObject(input === null || input === void 0 ? void 0 : input.value)) === null || _$ === void 0 ? void 0 : _$.val(); if (txt && !Array.isArray(txt) && _url !== null && _url !== void 0 && _url.value) { _url.value = (url === null || url === void 0 ? void 0 : url.value) + encodeURIComponent(txt); (0,logger/* debug */.fF)("URL => ".concat(_url === null || _url === void 0 ? void 0 : _url.value)); } } }; var shortcuts = (0,external_Vue_.computed)(() => store.state.shortcuts); var shortcutsListener = event => { if (shortcuts.value.enable === false) return; shortcuts.value.altSearch.forEach(shortcut => { if ((0,utils_shortcut/* isShortcut */.zD)(event, shortcut)) { (0,logger/* debug */.fF)(event); _onChange(); if (_url !== null && _url !== void 0 && _url.value) { location.href = _url === null || _url === void 0 ? void 0 : _url.value; } } }); }; (0,external_Vue_.onMounted)(() => { (0,logger/* debug */.fF)('SearchButton: onMounted'); _onChange(); if (input !== null && input !== void 0 && input.value) { (0,logger/* debug */.fF)("SearchButton: onMounted ".concat(input === null || input === void 0 ? void 0 : input.value)); external_$_namespaceObject(input === null || input === void 0 ? void 0 : input.value).change(_onChange); } window.addEventListener('keydown', shortcutsListener); }); (0,external_Vue_.onUnmounted)(() => { window.removeEventListener('keydown', shortcutsListener); }); return () => (0,external_Vue_.createVNode)(URLButton, { "id": id === null || id === void 0 ? void 0 : id.value, "img": img === null || img === void 0 ? void 0 : img.value, "imgSize": imgSize === null || imgSize === void 0 ? void 0 : imgSize.value, "url": _url === null || _url === void 0 ? void 0 : _url.value, "isInline": isInline === null || isInline === void 0 ? void 0 : isInline.value, "offset": offset === null || offset === void 0 ? void 0 : offset.value, "css": css === null || css === void 0 ? void 0 : css.value, "imgcss": imgcss === null || imgcss === void 0 ? void 0 : imgcss.value, "hasBackground": hasBackground === null || hasBackground === void 0 ? void 0 : hasBackground.value }, null); } })); /***/ }), /***/ 274: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { "u_": function() { return /* binding */ defaultConfig; }, "oR": function() { return /* binding */ useStore; } }); // UNUSED EXPORTS: Config, defaultSettings // EXTERNAL MODULE: external "Vue" var external_Vue_ = __webpack_require__(5); ;// CONCATENATED MODULE: external "Vuex" var external_Vuex_namespaceObject = Vuex; // EXTERNAL MODULE: ./src/utils/object.ts var object = __webpack_require__(701); // EXTERNAL MODULE: ./package.json var package_0 = __webpack_require__(147); // EXTERNAL MODULE: ./src/utils/logger.ts + 3 modules var logger = __webpack_require__(700); ;// CONCATENATED MODULE: ./src/components/settings/config.ts function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var defaultSettings = { version: package_0/* version */.i8, debugLevel: 'silent', siteCfgs: { baidu: { showButtonForHomePage: true, showButtonForSearchPage: true }, google: { showButtonForHomePage: true, showButtonForSearchPage: true } }, shortcuts: { enable: true, altSearch: [{ alt: true, code: 'KeyS' }, { ctrl: true, shift: true, code: 'Enter' }], showSettings: [{ ctrl: true, alt: true, code: 'KeyS' }] }, style: { settings: { background: 'rgb(255 255 255 / 80%)' } }, showHiddenSettings: false, showDevSettings: false }; class Config { constructor() { _defineProperty(this, "store", void 0); var config = Config.loadValues(); console.debug('Config=', config); var loadState = JSON.parse(config); var _state = defaultSettings; if ('version' in loadState) { var configVer = loadState.version; if (configVer === package_0/* version */.i8) { _state = loadState; } } this.store = (0,external_Vuex_namespaceObject.createStore)({ plugins: [(0,external_Vuex_namespaceObject.createLogger)()], state: _state, mutations: { setCurrentSite(state, arg) { (0,logger/* debug */.fF)("setCurrentSite: ".concat(arg)); state.curSite = arg; }, saveConfig(state) { GM_setValue('Config', JSON.stringify(state)); }, cancelConfig(state, arg) { (0,object/* copy */.JG)(state, arg.savedCfg); }, resetConfig(state) { (0,object/* copy */.JG)(state, defaultSettings); GM_setValue('Config', JSON.stringify(defaultSettings)); }, printConfig() { var cfg = JSON.parse(Config.loadValues()); console.debug(cfg); }, addShortCut(state, arg) { var shortcut; switch (arg.type) { case 'altSearch': shortcut = state.shortcuts.altSearch; break; case 'showSettings': shortcut = state.shortcuts.showSettings; break; } shortcut.push(arg.val); }, deleteShortCut(state, arg) { var shortcut; switch (arg.type) { case 'altSearch': shortcut = state.shortcuts.altSearch; break; case 'showSettings': shortcut = state.shortcuts.showSettings; break; } shortcut.splice(arg.index, 1); } }, actions: { saveConfig(context) { console.debug('Save Config...', context); context.commit('saveConfig'); }, cancelConfig(context) { console.debug('Cancel Config...', context); context.commit('cancelConfig', { savedCfg: context.getters.savedCfg }); }, resetConfig(context) { console.debug('Reset Config...', context); context.commit('resetConfig'); }, printConfig(context) { context.commit('printConfig'); } }, getters: { currentSiteCfg(state) { (0,logger/* debug */.fF)("currentSiteCfg: curSite=".concat(state.curSite)); if (state.curSite === undefined) return null; if ((0,object/* hasOwnProperty */.nr)(state.siteCfgs, state.curSite)) { var siteCfg = state.siteCfgs[state.curSite]; (0,logger/* debug */.fF)('currentSiteCfg: siteCfg=', siteCfg); return siteCfg; } return null; }, savedCfg() { return JSON.parse(Config.loadValues()); }, haveCfgChange(state, getters) { return !(0,object/* equal */.Dg)(state, getters.savedCfg); } } }); Config.inited.value = true; } install(app) { (0,logger/* debug */.fF)('app.use VueX'); app.use(this.store, Config.key); } static loadValues() { return GM_getValue('Config', JSON.stringify(defaultSettings)); } } _defineProperty(Config, "key", Symbol('WebSwitcher-Config')); _defineProperty(Config, "inited", (0,external_Vue_.ref)(false)); var defaultConfig = new Config(); function useStore() { console.assert(Config.inited.value === true); return (0,external_Vuex_namespaceObject.useStore)(Config.key); } /***/ }), /***/ 962: /***/ (function(module, __unused_webpack___webpack_exports__, __webpack_require__) { __webpack_require__.a(module, async function (__webpack_handle_async_dependencies__) { /* harmony import */ var _utils_load_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(340); /* harmony import */ var _site_GoogleHP__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(36); /* harmony import */ var _webSwitcher__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(381); /* harmony import */ var _site_Baidu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(634); /* harmony import */ var _site_Google__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(554); var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_utils_load_css__WEBPACK_IMPORTED_MODULE_0__]); _utils_load_css__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? await __webpack_async_dependencies__ : __webpack_async_dependencies__)[0]; /* eslint-disable */ // const _MutationObserver = window.MutationObserver as unknown as MutationObserver; var webSwitcher = new _webSwitcher__WEBPACK_IMPORTED_MODULE_2__/* .WebSwitcher */ .M([new _site_Baidu__WEBPACK_IMPORTED_MODULE_3__/* .Baidu */ .v3(), new _site_Google__WEBPACK_IMPORTED_MODULE_4__/* .Google */ .ie(), new _site_GoogleHP__WEBPACK_IMPORTED_MODULE_1__/* .GoogleHP */ .J()]); console.debug(_utils_load_css__WEBPACK_IMPORTED_MODULE_0__/* .default.size */ .Z.size); if (typeof window._MutationObserver !== 'function') { var iframe = document.createElement('iframe'); document.body.appendChild(iframe); var _MutationObserver = iframe.contentWindow.MutationObserver; window._MutationObserver = _MutationObserver; } // @ts-ignore if (typeof window._MutationObserver !== 'undefined') { // @ts-ignore webSwitcher.run({ mutationObserver: window._MutationObserver }); } }); /***/ }), /***/ 634: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { "v3": function() { return /* binding */ Baidu; } }); // UNUSED EXPORTS: BaiduApp, default // EXTERNAL MODULE: external "Vue" var external_Vue_ = __webpack_require__(5); // EXTERNAL MODULE: ./src/assets/googlelogo_color_92x30dp.png var googlelogo_color_92x30dp = __webpack_require__(849); // EXTERNAL MODULE: ./src/components/button/SearchButton.tsx + 2 modules var SearchButton = __webpack_require__(170); ;// CONCATENATED MODULE: ./src/components/button/GoogleButton.tsx /* harmony default export */ var GoogleButton = ((0,external_Vue_.defineComponent)({ name: 'GoogleButton', props: { input: String }, setup(props) { var { input } = (0,external_Vue_.toRefs)(props); return () => (0,external_Vue_.createVNode)(SearchButton/* default */.Z, { "input": input === null || input === void 0 ? void 0 : input.value, "id": "google", "img": googlelogo_color_92x30dp, "imgSize": { w: 92.0 / 102, h: 75 }, "url": "https://www.google.com/search?&q=", "isInline": true, "offset": { w: 0, h: -6 }, "css": 'height: 100%;width: 102px;' + 'display: inline-block;', "hasBackground": true }, null); } })); // EXTERNAL MODULE: ./src/components/settings/config.ts + 1 modules var config = __webpack_require__(274); // EXTERNAL MODULE: ./src/utils/logger.ts + 3 modules var logger = __webpack_require__(700); // EXTERNAL MODULE: ./src/site/site.ts var site = __webpack_require__(801); ;// CONCATENATED MODULE: ./src/site/Baidu.tsx function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var BaiduApp = (0,external_Vue_.defineComponent)({ name: 'Baidu', setup() { var store = (0,config/* useStore */.oR)(); store.commit('setCurrentSite', 'baidu'); var url = window.location.href; var isSearchPage = !!url.match(/www\.baidu\.com\/s\?/); var display = (0,external_Vue_.computed)(() => { if (isSearchPage) { var _store$state$siteCfgs; return (_store$state$siteCfgs = store.state.siteCfgs) === null || _store$state$siteCfgs === void 0 ? void 0 : _store$state$siteCfgs.baidu.showButtonForSearchPage; } else { var _store$state$siteCfgs2; return (_store$state$siteCfgs2 = store.state.siteCfgs) === null || _store$state$siteCfgs2 === void 0 ? void 0 : _store$state$siteCfgs2.baidu.showButtonForHomePage; } }); var setAppDisplay = val => { var app = $('#WebSwitcher_app'); if (val === true) { (0,logger/* debug */.fF)('display: inline-block;'); app.css('display', 'inline-block'); } else { (0,logger/* debug */.fF)('display: none;'); app.css('display', 'none'); } }; (0,external_Vue_.onMounted)(() => setAppDisplay(display.value)); (0,external_Vue_.watch)(display, setAppDisplay); return () => (0,external_Vue_.withDirectives)((0,external_Vue_.createVNode)(GoogleButton, { "input": "#kw" }, null), [[external_Vue_.vShow, display.value]]); } }); class Baidu extends site/* Site */.T { constructor() { super(...arguments); _defineProperty(this, "name", 'Baidu'); _defineProperty(this, "siteAddrReg", /www\.baidu\.com/); _defineProperty(this, "mountElementName", '.s_btn_wr,#s_btn_wr'); _defineProperty(this, "container", null); _defineProperty(this, "app", null); _defineProperty(this, "waitCondition", () => { var result = $('.result.c-container.new-pmd'); return false; return !(result.length > 0); }); } beforeMount() { this.container = document.createElement('div'); this.container.id = 'WebSwitcher_app'; this.container.style.display = 'inline-block'; this.app = (0,external_Vue_.createApp)(BaiduApp); this.app.use(ElementPlus); } mount() { var _this = this; return _asyncToGenerator(function* () { var searchButton = $(_this.mountElementName); var height = searchButton.css('height'); var form = $('#form.fm'); if (_this.container) { var _this$app; var width = form.width(); if (form.length > 0 && width) { form.width(width + 102); } _this.container.style.height = height; searchButton.after(_this.container); (_this$app = _this.app) === null || _this$app === void 0 ? void 0 : _this$app.mount(_this.container); $('#kw').one('input', () => { (0,logger/* debug */.fF)('#kw on change event'); var observer = new MutationObserver((mutations, me) => { var newHeight = searchButton.css('height'); if (newHeight !== height) { (0,logger/* debug */.fF)("#kw on change event: set new height: ".concat(newHeight)); if (_this.container !== null) { _this.container.style.height = newHeight; } form.css('width'); me.disconnect(); // stop observing } }); observer.observe(document, { childList: true, subtree: true }); }); } })(); } } /* harmony default export */ var site_Baidu = ((/* unused pure expression or super */ null && (BaiduApp))); /***/ }), /***/ 554: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { "ie": function() { return /* binding */ Google; } }); // UNUSED EXPORTS: GoogleApp, default // EXTERNAL MODULE: external "Vue" var external_Vue_ = __webpack_require__(5); // EXTERNAL MODULE: external "SVG" var external_SVG_ = __webpack_require__(619); // EXTERNAL MODULE: ./src/assets/baidu.svg var baidu = __webpack_require__(625); // EXTERNAL MODULE: ./src/utils/base64.ts var base64 = __webpack_require__(457); // EXTERNAL MODULE: ./src/components/button/SearchButton.tsx + 2 modules var SearchButton = __webpack_require__(170); ;// CONCATENATED MODULE: ./src/components/button/BaiduButton.tsx /* harmony default export */ var BaiduButton = ((0,external_Vue_.defineComponent)({ name: 'BaiduButton', props: { input: String }, setup(props) { var { input } = (0,external_Vue_.toRefs)(props); var imgHead = 'data:image/svg+xml;base64,'; var isSVG = baidu.startsWith(imgHead); var base64Str = baidu.substring(imgHead.length); console.assert(isSVG === true); var svgStr = (0,base64/* Base64Decode */.y)(base64Str); // debug('svgStr=', isSVG, svgStr); var oParser = new DOMParser(); var oDOM = oParser.parseFromString(svgStr, 'image/svg+xml'); // debug('svg dom=', oDOM); var svg = (0,external_SVG_.SVG)(oDOM.firstChild); // @ts-ignore svg.find('#Rectangle-2').fill('#3388FF'); // @ts-ignore svg.find('#搜索_熊掌_66icon').fill('#FFFFFF'); var s = new XMLSerializer(); var _imgStr = s.serializeToString(svg.node); var _img = imgHead + (0,base64/* Base64Encode */.H)(_imgStr); // debug('_img=', _img); return () => (0,external_Vue_.createVNode)(SearchButton/* default */.Z, { "input": input === null || input === void 0 ? void 0 : input.value, "id": "baidu", "img": _img, "imgSize": { w: 80, h: 80 }, "url": "https://www.baidu.com/s?wd=", "css": 'height: 100%; width: 96px;' + 'background: #3388FF;' + 'border-radius: 24px;' }, null); } })); // EXTERNAL MODULE: ./src/components/settings/config.ts + 1 modules var config = __webpack_require__(274); // EXTERNAL MODULE: ./src/utils/logger.ts + 3 modules var logger = __webpack_require__(700); // EXTERNAL MODULE: ./src/site/site.ts var site = __webpack_require__(801); ;// CONCATENATED MODULE: ./src/site/Google.tsx function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var siteAddrReg = /www\.google\.com(\.[^/]*)?\/search\?.*/; var _mountElementName = '.Tg7LZd:first'; var _mountElementNameHomePage = '.XDyW0e:first'; var GoogleApp = (0,external_Vue_.defineComponent)({ name: 'Google', setup() { var store = (0,config/* useStore */.oR)(); store.commit('setCurrentSite', 'google'); var url = window.location.href; var isSearchPage = !!url.match(siteAddrReg); var display = (0,external_Vue_.computed)(() => { if (isSearchPage) { var _store$state$siteCfgs; return (_store$state$siteCfgs = store.state.siteCfgs) === null || _store$state$siteCfgs === void 0 ? void 0 : _store$state$siteCfgs.google.showButtonForSearchPage; } else { var _store$state$siteCfgs2; return (_store$state$siteCfgs2 = store.state.siteCfgs) === null || _store$state$siteCfgs2 === void 0 ? void 0 : _store$state$siteCfgs2.google.showButtonForHomePage; } }); var dividLineContainer = document.createElement('div'); var dividLineTopOfffset = document.createElement('span'); var dividLine = document.createElement('span'); dividLineTopOfffset.style.height = '17.5%'; dividLine.style.height = '65%'; dividLine.style.borderLeft = '1px solid #dfe1e5'; dividLineContainer.style.display = display.value === true ? 'flex' : 'none'; dividLineContainer.style.flexDirection = 'column'; dividLineContainer.appendChild(dividLineTopOfffset); dividLineContainer.appendChild(dividLine); (0,external_Vue_.watch)(display, _display => { dividLineContainer.style.display = _display === true ? 'flex' : 'none'; }); (0,external_Vue_.onMounted)(() => { var searchButton = $(isSearchPage ? _mountElementName : _mountElementNameHomePage); searchButton.css('padding-right', '3px'); searchButton.after(dividLineContainer); }); return () => // {display.value && dividLineContainer} (0,external_Vue_.withDirectives)((0,external_Vue_.createVNode)(BaiduButton, { "input": "input.gLFyf.gsfi" }, null), [[external_Vue_.vShow, display.value]]); } }); class Google extends site/* Site */.T { constructor() { super(...arguments); _defineProperty(this, "name", 'Google'); _defineProperty(this, "siteAddrReg", siteAddrReg); _defineProperty(this, "mountElementName", _mountElementName); _defineProperty(this, "container", null); _defineProperty(this, "app", null); _defineProperty(this, "waitCondition", null); } beforeMount() { this.container = document.createElement('div'); this.container.id = 'WebSwitcher_app'; this.container.style.margin = '0.4%'; this.app = (0,external_Vue_.createApp)(GoogleApp); this.app.use(ElementPlus); } mount() { var _this = this; return _asyncToGenerator(function* () { (0,logger/* debug */.fF)('Google: mount...'); var searchButton = $(_this.mountElementName); if (_this.container !== null) { var _this$app; searchButton.after(_this.container); (_this$app = _this.app) === null || _this$app === void 0 ? void 0 : _this$app.mount(_this.container); } // if (this.dividLineContainer !== null) { // searchButton.after(this.dividLineContainer); // } })(); } } /* harmony default export */ var site_Google = ((/* unused pure expression or super */ null && (GoogleApp))); /***/ }), /***/ 36: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "J": function() { return /* binding */ GoogleHP; } /* harmony export */ }); /* harmony import */ var _Google__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(554); function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } class GoogleHP extends _Google__WEBPACK_IMPORTED_MODULE_0__/* .Google */ .ie { constructor() { super(...arguments); _defineProperty(this, "name", 'GoogleHP'); _defineProperty(this, "siteAddrReg", /www\.google\.com((\.\w+)?\/?(webhp.*)?)$/); _defineProperty(this, "mountElementName", '.XDyW0e:first'); } mount() { var _superprop_getMount = () => super.mount, _this = this; return _asyncToGenerator(function* () { var searchRow = $('.SDkEP'); searchRow.css('padding-right', 6); if (_this.container !== null) { _this.container.style.margin = '2.4%'; } yield _superprop_getMount().call(_this); })(); } } /***/ }), /***/ 801: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "T": function() { return /* binding */ Site; } /* harmony export */ }); /* harmony import */ var _utils_logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(700); function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } class Site { constructor() { _defineProperty(this, "ObserverInterval", 0); } run(settings, options) { var url = window.location.href; (0,_utils_logger__WEBPACK_IMPORTED_MODULE_0__/* .debug */ .fF)('url=', url); var match = url.match(this.siteAddrReg); if (!match) { return; } (0,_utils_logger__WEBPACK_IMPORTED_MODULE_0__/* .debug */ .fF)("WebSwitcher for ".concat(this.name)); console.assert((settings === null || settings === void 0 ? void 0 : settings.cfg) !== undefined); this.beforeMount(); console.assert(this.app !== null); if (settings !== undefined) { var cfg = settings.cfg; if (cfg && this.app) { cfg.install(this.app); console.log("=========== ".concat(this.name, " install Vuex ============")); } } console.log("typeof MutationObserver = ".concat(typeof (options === null || options === void 0 ? void 0 : options.mutationObserver))); this.runObserver(this, options); } runObserver(thisArg, options) { var _MutationObserver = options === null || options === void 0 ? void 0 : options.mutationObserver; if (typeof _MutationObserver !== 'undefined' && _MutationObserver !== null) { try { // set up the mutation observer // @ts-ignore var observer = new _MutationObserver((mutations, me) => { // `mutations` is an array of mutations that occurred // `me` is the MutationObserver instance if (thisArg.waitCondition !== null && typeof thisArg.waitCondition === 'function' && thisArg.waitCondition() === true) { return; } var canvas = $(thisArg.mountElementName); console.log("".concat(thisArg.mountElementName, ": ").concat(canvas.length)); if (canvas.length > 0) { (0,_utils_logger__WEBPACK_IMPORTED_MODULE_0__/* .debug */ .fF)("WebSwitcher for ".concat(thisArg.name, ": found ").concat(thisArg.mountElementName)); thisArg.mount(); me.disconnect(); // stop observing } }); // debug(`WebSwitcher for ${this.name}: document=${document}`); // start observing observer.observe(document, { childList: true, subtree: true }); } catch (error) { console.log(typeof this.waitCondition); throw error; } window.clearInterval(this.ObserverInterval); } else {// throw new Error('MutationObserver NOT ready'); } } } /***/ }), /***/ 339: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Gm": function() { return /* binding */ externalsCSS; } /* harmony export */ }); /* unused harmony exports includes, names */ var backgroundPatch = { // 'background-color:#FFF': 'background-color: rgb(255 255 255 / 80%)', 'background-color:#FFF': 'background-color: transparent' }; var externalsCSS = [{ name: 'index' // patch: backgroundPatch, }, 'el-col', { name: 'el-slider', patch: { 'color:#909399;margin-top:15px': 'color:#909399;margin-top:1px' } }, 'el-button', 'el-button-group', 'el-input', { name: 'el-collapse', patch: backgroundPatch }, 'el-switch', 'el-row', 'el-divider', 'el-main', 'el-header', 'el-container', 'el-collapse-item', 'el-message', 'el-message-box', 'el-notification']; /* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = ((/* unused pure expression or super */ null && (externalsCSS))); function includes(name) { return undefined !== externalsCSS.find(cfg => { var _name = typeof cfg === 'string' ? cfg : cfg.name; return _name === name; }); } function names() { return externalsCSS.map(cfg => typeof cfg === 'string' ? cfg : cfg.name); } /***/ }), /***/ 457: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "H": function() { return /* binding */ Base64Encode; }, /* harmony export */ "y": function() { return /* binding */ Base64Decode; } /* harmony export */ }); /* harmony import */ var base64_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(742); function Base64Encode(str) { var bytes = new TextEncoder().encode(str); return base64_js__WEBPACK_IMPORTED_MODULE_0__/* .fromByteArray */ .JQ(bytes); } function Base64Decode(str) { var bytes = base64_js__WEBPACK_IMPORTED_MODULE_0__/* .toByteArray */ .b$(str); return new TextDecoder().decode(bytes); } /***/ }), /***/ 340: /***/ (function(module, __webpack_exports__, __webpack_require__) { __webpack_require__.a(module, async function (__webpack_handle_async_dependencies__) { /* harmony import */ var _style_element_plus_elternals_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(339); /* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(147); function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function loadElementPlusStyle() { return _loadElementPlusStyle.apply(this, arguments); } function _loadElementPlusStyle() { _loadElementPlusStyle = _asyncToGenerator(function* () { var globalVars = new Map(); var version = _package_json__WEBPACK_IMPORTED_MODULE_1__/* .dependencies["element-plus"] */ .HO.O_; var ret = _style_element_plus_elternals_css__WEBPACK_IMPORTED_MODULE_0__/* .externalsCSS.map */ .Gm.map( /*#__PURE__*/function () { var _ref = _asyncToGenerator(function* (name) { var globalName = "theme_chalk_".concat((typeof name === 'string' ? name : name.name).replace(/-/g, '_')); var style = yield GM_getResourceText(globalName); if (style === undefined || style === null) { throw new Error("Can NOT find css ".concat(globalName)); } style = style.replaceAll('url(', "url(https://cdn.jsdelivr.net/npm/element-plus@".concat(version, "/theme-chalk/")); if (typeof name !== 'string' && name.patch !== undefined) { for (var key in name.patch) { style = style.replaceAll(key, name.patch[key]); } } if (typeof window === 'undefined') { throw new Error('window undefined'); } window[globalName] = style; GM_addStyle(style); globalVars.set(globalName, window[globalName]); // console.debug(`GM_addStyle: ${globalVars.get(globalName)}`); }); return function (_x) { return _ref.apply(this, arguments); }; }()); yield Promise.all(ret); return globalVars; }); return _loadElementPlusStyle.apply(this, arguments); } var globalCSSVars = await loadElementPlusStyle(); /* harmony default export */ __webpack_exports__["Z"] = (globalCSSVars); __webpack_handle_async_dependencies__(); }, 1); /***/ }), /***/ 700: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { "fF": function() { return /* binding */ debug; }, "cM": function() { return /* binding */ logger_log; }, "uR": function() { return /* binding */ setLevel; }, "g4": function() { return /* binding */ trace; } }); // UNUSED EXPORTS: error, info, warn ;// CONCATENATED MODULE: external "log" var external_log_namespaceObject = log; ;// CONCATENATED MODULE: external "Colors" var external_Colors_namespaceObject = Colors; ;// CONCATENATED MODULE: ./src/utils/logger_prefix.ts // interface IPrototype { // // eslint-disable-next-line // prototype: any; // } function merge(target) { for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { sources[_key - 1] = arguments[_key]; } for (var i = 0; i < sources.length; i++) { for (var key in sources[i]) { if (Object.prototype.hasOwnProperty.call(sources[i], key)) { // target[key] = sources[i][key]; Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(sources[i], key) || Object.create(null)); } } } return target; } var defaultConfig = { template: '[%t] %l:', levelFormatter: function levelFormatter(level) { return (level || 'debug').toUpperCase(); }, nameFormatter: function nameFormatter(name) { if (typeof name === 'string') { return name; } else if (typeof name === 'symbol') { return name.description; } return 'root'; }, timestampFormatter: function timestampFormatter(date) { return date.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, '$1'); }, format: undefined }; var configs = new Map(); function apply(logger, config) { /* eslint-disable vars-on-top */ var originalFactory = logger.methodFactory; var name = ''; // if ('name' in logger) { if (Object.prototype.hasOwnProperty.call(logger, 'name')) { var _name = logger.name; if (_name) name = _name;else name = ''; } // const name = (logger as LoggerName).name || ''; var parent = configs.get(name) || configs.get('') || defaultConfig; /* eslint-enable vars-on-top */ function methodFactory(methodName, logLevel, loggerName) { var _options$template, _options$template2, _options$template3; var originalMethod = originalFactory(methodName, logLevel, loggerName); var options = configs.get(loggerName) || configs.get(''); var hasTimestamp = (options === null || options === void 0 ? void 0 : (_options$template = options.template) === null || _options$template === void 0 ? void 0 : _options$template.indexOf('%t')) !== -1; var hasLevel = (options === null || options === void 0 ? void 0 : (_options$template2 = options.template) === null || _options$template2 === void 0 ? void 0 : _options$template2.indexOf('%l')) !== -1; var hasName = (options === null || options === void 0 ? void 0 : (_options$template3 = options.template) === null || _options$template3 === void 0 ? void 0 : _options$template3.indexOf('%n')) !== -1; return function () { var content = []; // skip the root method for child loggers to prevent duplicate logic for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } if ((name || !configs.get(loggerName)) && !(options === null || options === undefined)) { var _options$timestampFor, _options$levelFormatt, _options$nameFormatte; /* eslint-disable vars-on-top */ var timestamp = ((_options$timestampFor = options.timestampFormatter) === null || _options$timestampFor === void 0 ? void 0 : _options$timestampFor.call(options, new Date())) || ''; var level = ((_options$levelFormatt = options.levelFormatter) === null || _options$levelFormatt === void 0 ? void 0 : _options$levelFormatt.call(options, methodName)) || 'debug'; var lname = ((_options$nameFormatte = options.nameFormatter) === null || _options$nameFormatte === void 0 ? void 0 : _options$nameFormatte.call(options, typeof loggerName === 'string' ? loggerName : loggerName.description)) || ''; /* eslint-enable vars-on-top */ if (options.format) { var formats = options.format(level, lname, timestamp); if (formats) { if (Array.isArray(formats)) { content.push(...formats); } else { content.push(formats); } } } else { if (options.template) { content.push(options.template); } if (hasTimestamp) { content = content.map(v => v.replace(/%t/, timestamp)); } if (hasLevel) content = content.map(v => v.replace(/%l/, level)); if (hasName) content = content.map(v => v.replace(/%n/, lname)); } args.unshift(...content); } originalMethod(...args); }; } if (!configs.get(name)) { logger.methodFactory = methodFactory; } // for remove inherited format option if template option preset config = config || {}; if (config.template) config.format = undefined; configs.set(name, merge({}, parent, config)); logger.setLevel(logger.getLevel()); // if (!loglevel) { // logger.warn( // 'It is necessary to call the function reg() of loglevel-plugin-prefix before calling apply. From the next release, it will throw an error. See more: https://github.com/kutuluk/loglevel-plugin-prefix/blob/master/README.md' // ); // } return logger; } ;// CONCATENATED MODULE: ./src/utils/logger.ts var colors = { TRACE: external_Colors_namespaceObject.magenta, DEBUG: external_Colors_namespaceObject.cyan, INFO: external_Colors_namespaceObject.blue, WARN: external_Colors_namespaceObject.yellow, ERROR: external_Colors_namespaceObject.red }; var logger_log = apply(external_log_namespaceObject.getLogger(Symbol('WebSwitcher')), { format(level, name, timestamp) { return external_Colors_namespaceObject.parse("".concat(external_Colors_namespaceObject.darkGray("[".concat(timestamp, "]")), " ") + "".concat(colors[level.toUpperCase()](level), " ") + "".concat(external_Colors_namespaceObject.green("".concat(typeof name === 'string' ? name : typeof name === 'symbol' ? name.description : '', ":")))).asChromeConsoleLogArguments; } }); function setLevel(level, persist) { console.debug("log level => ".concat(level)); logger_log.setLevel(level, persist); } function error() { logger_log.error(...arguments); } function warn() { logger_log.warn(...arguments); } function info() { logger_log.info(...arguments); } function debug() { logger_log.debug(...arguments); } function trace() { logger_log.trace(...arguments); } /***/ }), /***/ 701: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "nr": function() { return /* binding */ hasOwnProperty; }, /* harmony export */ "JG": function() { return /* binding */ copy; }, /* harmony export */ "Dg": function() { return /* binding */ equal; } /* harmony export */ }); function hasOwnProperty(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } function copy(dst, src) { for (var key in src) { if (Object.prototype.hasOwnProperty.call(src, key)) { if (key in dst) { dst[key] = src[key]; } } } } function equal(a, b) { if (typeof a === 'object') { for (var key in a) { if (Object.prototype.hasOwnProperty.call(a, key)) { if (key in b) { if (typeof b[key] !== typeof a[key]) return false; if (equal(b[key], a[key]) === false) return false; } } } } else { return a === b; } return true; } /***/ }), /***/ 248: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "zD": function() { return /* binding */ isShortcut; }, /* harmony export */ "BO": function() { return /* binding */ setShortcutByEvent; }, /* harmony export */ "tC": function() { return /* binding */ Shortcut2Str; } /* harmony export */ }); // eslint-disable-next-line function instanceOfShortCut(object) { return !('ctrlKey' in object); } function isShortcut(event, sc) { var ctrl = sc.ctrl || false; var shift = sc.shift || false; var alt = sc.alt || false; return event.ctrlKey === ctrl && event.shiftKey === shift && event.altKey === alt && event.code === sc.code; } function setShortcutByEvent(sc, ev) { sc.ctrl = ev.ctrlKey; sc.shift = ev.shiftKey; sc.alt = ev.altKey; sc.code = ev.code; } function Shortcut2Str(sc) { var str = ''; var ctrl; var shift; var alt; if (instanceOfShortCut(sc)) { ctrl = sc.ctrl || false; alt = sc.alt || false; shift = sc.shift || false; } else { ctrl = sc.ctrlKey || false; alt = sc.altKey || false; shift = sc.shiftKey || false; } if (ctrl) str += 'Ctrl+'; if (shift) str += 'Shift+'; if (alt) str += 'Alt+'; if (sc.code.match(/^(Alt|Shift|Control)/) === null) { str += sc.code; } return str; } /***/ }), /***/ 381: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { "M": function() { return /* binding */ WebSwitcher; } }); ;// CONCATENATED MODULE: external "window.theme_chalk_el_main" var external_window_theme_chalk_el_main_namespaceObject = window.theme_chalk_el_main; ;// CONCATENATED MODULE: external "ElementPlus.ElMain" var external_ElementPlus_ElMain_namespaceObject = ElementPlus.ElMain; var external_ElementPlus_ElMain_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElMain_namespaceObject); ;// CONCATENATED MODULE: external "window.theme_chalk_el_collapse" var external_window_theme_chalk_el_collapse_namespaceObject = window.theme_chalk_el_collapse; ;// CONCATENATED MODULE: external "ElementPlus.ElCollapse" var external_ElementPlus_ElCollapse_namespaceObject = ElementPlus.ElCollapse; var external_ElementPlus_ElCollapse_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElCollapse_namespaceObject); ;// CONCATENATED MODULE: external "window.theme_chalk_el_collapse_item" var external_window_theme_chalk_el_collapse_item_namespaceObject = window.theme_chalk_el_collapse_item; ;// CONCATENATED MODULE: external "ElementPlus.ElCollapseItem" var external_ElementPlus_ElCollapseItem_namespaceObject = ElementPlus.ElCollapseItem; var external_ElementPlus_ElCollapseItem_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElCollapseItem_namespaceObject); ;// CONCATENATED MODULE: external "window.theme_chalk_el_switch" var external_window_theme_chalk_el_switch_namespaceObject = window.theme_chalk_el_switch; ;// CONCATENATED MODULE: external "ElementPlus.ElSwitch" var external_ElementPlus_ElSwitch_namespaceObject = ElementPlus.ElSwitch; var external_ElementPlus_ElSwitch_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElSwitch_namespaceObject); ;// CONCATENATED MODULE: external "window.theme_chalk_el_header" var external_window_theme_chalk_el_header_namespaceObject = window.theme_chalk_el_header; ;// CONCATENATED MODULE: external "ElementPlus.ElHeader" var external_ElementPlus_ElHeader_namespaceObject = ElementPlus.ElHeader; var external_ElementPlus_ElHeader_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElHeader_namespaceObject); ;// CONCATENATED MODULE: external "window.theme_chalk_el_row" var external_window_theme_chalk_el_row_namespaceObject = window.theme_chalk_el_row; ;// CONCATENATED MODULE: external "ElementPlus.ElRow" var external_ElementPlus_ElRow_namespaceObject = ElementPlus.ElRow; var external_ElementPlus_ElRow_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElRow_namespaceObject); ;// CONCATENATED MODULE: external "window.theme_chalk_el_button" var external_window_theme_chalk_el_button_namespaceObject = window.theme_chalk_el_button; ;// CONCATENATED MODULE: external "ElementPlus.ElButton" var external_ElementPlus_ElButton_namespaceObject = ElementPlus.ElButton; var external_ElementPlus_ElButton_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElButton_namespaceObject); ;// CONCATENATED MODULE: external "window.theme_chalk_el_col" var external_window_theme_chalk_el_col_namespaceObject = window.theme_chalk_el_col; ;// CONCATENATED MODULE: external "ElementPlus.ElCol" var external_ElementPlus_ElCol_namespaceObject = ElementPlus.ElCol; var external_ElementPlus_ElCol_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElCol_namespaceObject); ;// CONCATENATED MODULE: external "window.theme_chalk_el_message_box" var external_window_theme_chalk_el_message_box_namespaceObject = window.theme_chalk_el_message_box; ;// CONCATENATED MODULE: external "ElementPlus.ElMessageBox" var external_ElementPlus_ElMessageBox_namespaceObject = ElementPlus.ElMessageBox; var external_ElementPlus_ElMessageBox_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElMessageBox_namespaceObject); ;// CONCATENATED MODULE: external "window.theme_chalk_el_notification" var external_window_theme_chalk_el_notification_namespaceObject = window.theme_chalk_el_notification; ;// CONCATENATED MODULE: external "ElementPlus.ElNotification" var external_ElementPlus_ElNotification_namespaceObject = ElementPlus.ElNotification; var external_ElementPlus_ElNotification_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElNotification_namespaceObject); ;// CONCATENATED MODULE: external "window.theme_chalk_el_container" var external_window_theme_chalk_el_container_namespaceObject = window.theme_chalk_el_container; ;// CONCATENATED MODULE: external "ElementPlus.ElContainer" var external_ElementPlus_ElContainer_namespaceObject = ElementPlus.ElContainer; var external_ElementPlus_ElContainer_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElContainer_namespaceObject); // EXTERNAL MODULE: external "Vue" var external_Vue_ = __webpack_require__(5); // EXTERNAL MODULE: ./src/site/site.ts var site = __webpack_require__(801); // EXTERNAL MODULE: ./src/utils/logger.ts + 3 modules var logger = __webpack_require__(700); // EXTERNAL MODULE: ./src/utils/shortcut.ts var utils_shortcut = __webpack_require__(248); // EXTERNAL MODULE: ./package.json var package_0 = __webpack_require__(147); // EXTERNAL MODULE: ./src/components/settings/config.ts + 1 modules var config = __webpack_require__(274); ;// CONCATENATED MODULE: external "window.theme_chalk_el_slider" var external_window_theme_chalk_el_slider_namespaceObject = window.theme_chalk_el_slider; ;// CONCATENATED MODULE: external "ElementPlus.ElSlider" var external_ElementPlus_ElSlider_namespaceObject = ElementPlus.ElSlider; var external_ElementPlus_ElSlider_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElSlider_namespaceObject); ;// CONCATENATED MODULE: ./src/components/settings/DebugLogLevel.tsx // import '../../style/element-custom.scss'; // import 'element-plus/lib/theme-chalk/index.css'; /* harmony default export */ var DebugLogLevel = ((0,external_Vue_.defineComponent)({ name: 'DebugLogLevel', setup() { var store = (0,config/* useStore */.oR)(); var showDevSettings = (0,external_Vue_.computed)({ get: () => store.state.showDevSettings, set: val => store.state.showDevSettings = val }); var debugLevel = (0,external_Vue_.computed)({ get: () => store.state.debugLevel, set: val => { store.state.debugLevel = val; (0,logger/* setLevel */.uR)(val); } }); var _marks = new Map([]); // reverse var step = 100.0 / (logger/* log.levels.SILENT */.cM.levels.SILENT - logger/* log.levels.TRACE */.cM.levels.TRACE); var debugNumMap = new Map([]); Object.keys(logger/* log.levels */.cM.levels).forEach((str, n) => { _marks.set(100 - n * step, str.toLowerCase()); debugNumMap.set(str.toLowerCase(), n); }); function convertMapToObject(map) { var newObject = {}; for (var [key, value] of map) { newObject[String(key)] = value; } return newObject; } var marks = convertMapToObject(_marks); (0,logger/* debug */.fF)("step=".concat(step)); var debugLevelNum = (0,external_Vue_.computed)({ // reverse get: () => { var val = debugLevel.value; var ret = 0; if (typeof val === 'string') { var _debugNum = debugNumMap.get(val.toLowerCase()); if (_debugNum) ret = _debugNum; } else if (typeof val === 'number') { ret = val; } return 100 - ret * step; }, set: val => { var levelStr = marks[val]; (0,logger/* debug */.fF)("levelStr=".concat(levelStr)); if (levelStr) debugLevel.value = levelStr; } }); if (debugLevelNum.value) { var _val = Math.floor(debugLevelNum.value / step); if (_val >= logger/* log.levels.TRACE */.cM.levels.TRACE && _val <= logger/* log.levels.SILENT */.cM.levels.SILENT) { (0,logger/* setLevel */.uR)(_val); } (0,logger/* debug */.fF)("debugLevelNum=".concat(debugLevelNum.value)); } var formatTooltip = val => { return marks[val]; }; return () => (0,external_Vue_.withDirectives)((0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "start" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 7, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)("span", null, [(0,external_Vue_.createTextVNode)("\u8C03\u8BD5\u65E5\u5FD7\u7EA7\u522B")])] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 16 }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "end" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), null, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElSlider_default()), { "modelValue": debugLevelNum.value, "onUpdate:modelValue": $event => debugLevelNum.value = $event, "min": logger/* log.levels.TRACE */.cM.levels.TRACE * step, "max": logger/* log.levels.SILENT */.cM.levels.SILENT * step, "step": step, "showStops": true, "format-tooltip": formatTooltip, "marks": marks }, null)] })] })] })] }), [[external_Vue_.vShow, showDevSettings.value]]); } })); ;// CONCATENATED MODULE: ./src/components/settings/ShowHiddenSettings.tsx /* harmony default export */ var ShowHiddenSettings = ((0,external_Vue_.defineComponent)({ name: 'ShowHiddenSettings', setup() { var store = (0,config/* useStore */.oR)(); var showHiddenSettings = (0,external_Vue_.computed)({ get: () => store.state.showHiddenSettings, set: val => store.state.showHiddenSettings = val }); return () => (0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "space-between" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 16, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)("span", null, [(0,external_Vue_.createTextVNode)("\u663E\u793A\u9690\u85CF\u9009\u9879")])] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 4, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "end" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElSwitch_default()), { "modelValue": showHiddenSettings.value, "onUpdate:modelValue": $event => showHiddenSettings.value = $event }, null)] })] })] }); } })); ;// CONCATENATED MODULE: external "window.theme_chalk_el_divider" var external_window_theme_chalk_el_divider_namespaceObject = window.theme_chalk_el_divider; ;// CONCATENATED MODULE: external "ElementPlus.ElDivider" var external_ElementPlus_ElDivider_namespaceObject = ElementPlus.ElDivider; var external_ElementPlus_ElDivider_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElDivider_namespaceObject); ;// CONCATENATED MODULE: external "window.theme_chalk_el_input" var external_window_theme_chalk_el_input_namespaceObject = window.theme_chalk_el_input; ;// CONCATENATED MODULE: external "ElementPlus.ElInput" var external_ElementPlus_ElInput_namespaceObject = ElementPlus.ElInput; var external_ElementPlus_ElInput_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElInput_namespaceObject); ;// CONCATENATED MODULE: ./src/components/settings/Shortcuts.tsx /* harmony default export */ var Shortcuts = ((0,external_Vue_.defineComponent)({ name: 'Shortcuts', setup() { var store = (0,config/* useStore */.oR)(); console.assert((store === null || store === void 0 ? void 0 : store.state) !== undefined, 'Shortcuts: ERROR: Vuex Not installed!'); var showHiddenSettings = (0,external_Vue_.computed)({ get: () => store.state.showHiddenSettings, set: val => store.state.showHiddenSettings = val }); var shortcutUICfgs = [{ title: '切换搜索', cfgName: 'altSearch', shortcuts: (0,external_Vue_.computed)(() => store.state.shortcuts.altSearch) }, { isHide: true, title: '显示设置界面', cfgName: 'showSettings', shortcuts: (0,external_Vue_.computed)(() => store.state.shortcuts.showSettings) }]; var setShortcutsFnFactory = (shortcutsText, sc) => { var shortcutsCfg = (0,external_Vue_.computed)(() => { var _store$state; return store === null || store === void 0 ? void 0 : (_store$state = store.state) === null || _store$state === void 0 ? void 0 : _store$state.shortcuts; }); var shortcutsListener = event => { shortcutsText.value = (0,utils_shortcut/* Shortcut2Str */.tC)(event); (0,logger/* trace */.g4)(shortcutsText.value, event); (0,utils_shortcut/* setShortcutByEvent */.BO)(sc, event); }; var setShortcutsFn = payload => { (0,logger/* debug */.fF)('setShortcuts', payload.type); if (payload.type === 'focus') { shortcutsCfg.value.enable = false; window.addEventListener('keydown', shortcutsListener); } else if (payload.type === 'blur') { shortcutsCfg.value.enable = true; window.removeEventListener('keydown', shortcutsListener); } }; return setShortcutsFn; }; var deleteShortcuts = (cfg, index) => { var _cfg$txt, _cfg$onFocus; (_cfg$txt = cfg.txt) === null || _cfg$txt === void 0 ? void 0 : _cfg$txt.splice(index, 1); // const del = cfg.shortcuts.splice(index, 1); store.commit('deleteShortCut', { type: cfg.cfgName, index: index }); (_cfg$onFocus = cfg.onFocus) === null || _cfg$onFocus === void 0 ? void 0 : _cfg$onFocus.splice(index, 1); // debug(`delete ${del.map((v) => Shortcut2Str(v)).join(',')}`); }; var addShortcuts = cfg => { var _cfg$txt2, _cfg$onFocus2; var _txt = (0,external_Vue_.ref)(''); var _sc = { code: '' }; (_cfg$txt2 = cfg.txt) === null || _cfg$txt2 === void 0 ? void 0 : _cfg$txt2.push(_txt); // cfg.shortcuts.push(_sc); store.commit('addShortCut', { type: cfg.cfgName, val: _sc }); (_cfg$onFocus2 = cfg.onFocus) === null || _cfg$onFocus2 === void 0 ? void 0 : _cfg$onFocus2.push(setShortcutsFnFactory(_txt, _sc)); (0,logger/* debug */.fF)('add'); (0,logger/* debug */.fF)(cfg.txt); (0,logger/* debug */.fF)(cfg.shortcuts); }; var lastShowIdx = -1; shortcutUICfgs.forEach((cfg, idx) => { var setCfg = () => { cfg.txt = new Array(cfg.shortcuts.value.length); cfg.onFocus = new Array(cfg.shortcuts.value.length); cfg.shortcuts.value.forEach((sc, idx) => { var _cfg$txt3, _cfg$onFocus3; var txt = (0,external_Vue_.ref)((0,utils_shortcut/* Shortcut2Str */.tC)(sc)); (_cfg$txt3 = cfg.txt) === null || _cfg$txt3 === void 0 ? void 0 : _cfg$txt3.fill(txt, idx, idx + 1); (_cfg$onFocus3 = cfg.onFocus) === null || _cfg$onFocus3 === void 0 ? void 0 : _cfg$onFocus3.fill(setShortcutsFnFactory(txt, sc), idx, idx + 1); }); if (cfg.isHide !== true && idx > lastShowIdx) lastShowIdx = idx; }; setCfg(); (0,external_Vue_.watch)(cfg.shortcuts, setCfg); }); return () => (0,external_Vue_.createVNode)("div", null, [shortcutUICfgs.map((cfg, idx) => (0,external_Vue_.createVNode)("div", null, [(0,external_Vue_.withDirectives)((0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "space-between" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 8, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)("span", null, [cfg.title])] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 16 }, { default: () => [cfg.shortcuts.value.map((sc, index) => { var _cfg$txt4, _cfg$onFocus4; var shortcutsText = (_cfg$txt4 = cfg.txt) === null || _cfg$txt4 === void 0 ? void 0 : _cfg$txt4[index]; if (shortcutsText === undefined) { var _cfg$txt5; (0,logger/* debug */.fF)("shortcutsText === undefined, add new at idx ".concat(index)); shortcutsText = (0,external_Vue_.ref)('未初始化'); (_cfg$txt5 = cfg.txt) === null || _cfg$txt5 === void 0 ? void 0 : _cfg$txt5.fill(shortcutsText, index, index + 1); } (0,logger/* debug */.fF)("shortcutsText=".concat(shortcutsText.value, " index=").concat(index)); var onFocus = (_cfg$onFocus4 = cfg.onFocus) === null || _cfg$onFocus4 === void 0 ? void 0 : _cfg$onFocus4[index]; if (onFocus === undefined) { var _cfg$onFocus5; (0,logger/* debug */.fF)("onFocus === undefined, add new at idx ".concat(index)); onFocus = setShortcutsFnFactory(shortcutsText, sc); (_cfg$onFocus5 = cfg.onFocus) === null || _cfg$onFocus5 === void 0 ? void 0 : _cfg$onFocus5.fill(onFocus, index, index + 1); } return (0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "end" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 20 }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElInput_default()), { "placeholder": "请按下快捷键", "modelValue": shortcutsText.value, "onUpdate:modelValue": $event => shortcutsText.value = $event, "clearable": true, "readonly": true, "onFocus": onFocus, "onBlur": onFocus }, null)] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 4, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElButton_default()), { "type": "danger", "icon": "el-icon-minus", "size": "small", "style": 'padding: 3px;' + 'min-height: fit-content;' + 'height: fit-content;', "onClick": () => deleteShortcuts(cfg, index), "circle": true }, null)] })] }); }), (0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "space-around" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElButton_default()), { "type": "primary", "icon": "el-icon-plus", "size": "small", "style": 'padding: 3px;' + 'min-height: fit-content;' + 'height: fit-content;', "onClick": () => addShortcuts(cfg), "circle": true }, null)] })] })] }), [[external_Vue_.vShow, cfg.isHide === undefined || cfg.isHide === false || showHiddenSettings.value]]), (0,external_Vue_.withDirectives)((0,external_Vue_.createVNode)((external_ElementPlus_ElDivider_default()), { "style": "width: 80%; margin: 6px auto;" }, null), [[external_Vue_.vShow, showHiddenSettings.value ? idx + 1 < shortcutUICfgs.length : cfg.isHide !== true ? idx < lastShowIdx : false]])]))]); } })); // EXTERNAL MODULE: external "SVG" var external_SVG_ = __webpack_require__(619); // EXTERNAL MODULE: ./src/utils/base64.ts var base64 = __webpack_require__(457); // EXTERNAL MODULE: ./src/assets/Recovery.svg var Recovery = __webpack_require__(15); // EXTERNAL MODULE: ./src/utils/object.ts var object = __webpack_require__(701); ;// CONCATENATED MODULE: ./src/components/settings/ResetSettings.tsx /* harmony default export */ var ResetSettings = ((0,external_Vue_.defineComponent)({ name: 'ResetSettings', setup() { var _oDOM$firstChild; var store = (0,config/* useStore */.oR)(); var showHiddenSettings = (0,external_Vue_.computed)({ get: () => store.state.showHiddenSettings, set: val => store.state.showHiddenSettings = val }); var onClick = () => { external_ElementPlus_ElMessageBox_default()({ title: '重置', message: '此操作将重置所有选项到默认值, 是否继续?', confirmButtonText: '重置', cancelButtonText: '放弃', type: 'warning', showClose: false, showCancelButton: true, callback: action => { switch (action) { case 'confirm': store.dispatch('resetConfig'); external_ElementPlus_ElNotification_default()({ title: '成功', message: '重置选项成功', type: 'success', duration: 1000 }); break; case 'close': case 'cancel': external_ElementPlus_ElNotification_default()({ title: '放弃', message: '放弃重置选项', type: 'info', duration: 1000 }); break; default: break; } } }); }; var imgHead = 'data:image/svg+xml;base64,'; var isSVG = Recovery.startsWith(imgHead); var base64Str = Recovery.substring(imgHead.length); console.assert(isSVG === true); var svgStr = (0,base64/* Base64Decode */.y)(base64Str); var oParser = new DOMParser(); var oDOM = oParser.parseFromString(svgStr, 'image/svg+xml'); // for (const node of oDOM.firstChild?.childNodes) { // } var nodeToRemove = []; if (typeof oDOM.firstChild === 'object' && oDOM.firstChild !== null && (0,object/* hasOwnProperty */.nr)(oDOM.firstChild, 'viewBox')) { var viewBox = oDOM.firstChild.viewBox; if (viewBox instanceof SVGAnimatedRect) { // viewBox = new SVGRect(0, 0, 100, 100); viewBox.baseVal.height = 100; } } (_oDOM$firstChild = oDOM.firstChild) === null || _oDOM$firstChild === void 0 ? void 0 : _oDOM$firstChild.childNodes.forEach(childNode => { if (childNode.nodeName === 'text') { // childNode.remove(); nodeToRemove.push(childNode); } }); nodeToRemove.forEach(n => n.remove()); // debug('svg dom=', oDOM); var svg = (0,external_SVG_.SVG)(oDOM.firstChild); svg.size(100, 100); // @ts-ignore svg.find('#Recovery').fill('#FFFFFF'); var s = new XMLSerializer(); var _imgStr = s.serializeToString(svg.node); var _img = imgHead + (0,base64/* Base64Encode */.H)(_imgStr); return () => (0,external_Vue_.withDirectives)((0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "space-between" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 16, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)("span", null, [(0,external_Vue_.createTextVNode)("\u91CD\u7F6E\u6240\u6709\u9009\u9879\u5230\u9ED8\u8BA4\u503C")])] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 8 }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "end" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElButton_default()), { "type": "danger", "size": "small", "onClick": onClick, "style": 'padding: 3px 7px;' }, { default: () => [(0,external_Vue_.createVNode)("img", { "width": 22, "src": _img, "style": "top: 4px; position: relative;" }, null)] })] })] })] }), [[external_Vue_.vShow, showHiddenSettings.value]]); } })); ;// CONCATENATED MODULE: ./src/components/settings/ShowDevSettings.tsx /* harmony default export */ var ShowDevSettings = ((0,external_Vue_.defineComponent)({ name: 'ShowDevSettings', setup() { var store = (0,config/* useStore */.oR)(); var showHiddenSettings = (0,external_Vue_.computed)(() => store.state.showHiddenSettings); var showDevSettings = (0,external_Vue_.computed)({ get: () => store.state.showDevSettings, set: val => store.state.showDevSettings = val }); return () => (0,external_Vue_.withDirectives)((0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "space-between" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 16, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)("span", null, [(0,external_Vue_.createTextVNode)("\u663E\u793A\u5F00\u53D1\u8005\u9009\u9879")])] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 4, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "end" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElSwitch_default()), { "modelValue": showDevSettings.value, "onUpdate:modelValue": $event => showDevSettings.value = $event }, null)] })] })] }), [[external_Vue_.vShow, showHiddenSettings.value]]); } })); ;// CONCATENATED MODULE: external "window.theme_chalk_el_button_group" var external_window_theme_chalk_el_button_group_namespaceObject = window.theme_chalk_el_button_group; ;// CONCATENATED MODULE: external "ElementPlus.ElButtonGroup" var external_ElementPlus_ElButtonGroup_namespaceObject = ElementPlus.ElButtonGroup; var external_ElementPlus_ElButtonGroup_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElButtonGroup_namespaceObject); ;// CONCATENATED MODULE: external "window.theme_chalk_el_message" var external_window_theme_chalk_el_message_namespaceObject = window.theme_chalk_el_message; ;// CONCATENATED MODULE: external "ElementPlus.ElMessage" var external_ElementPlus_ElMessage_namespaceObject = ElementPlus.ElMessage; var external_ElementPlus_ElMessage_default = /*#__PURE__*/__webpack_require__.n(external_ElementPlus_ElMessage_namespaceObject); ;// CONCATENATED MODULE: ./src/components/settings/DevTools.tsx function _isSlot(s) { return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !(0,external_Vue_.isVNode)(s); } /* harmony default export */ var DevTools = ((0,external_Vue_.defineComponent)({ name: 'DebugLogLevel', setup() { var store = (0,config/* useStore */.oR)(); var showDevSettings = (0,external_Vue_.computed)({ get: () => store.state.showDevSettings, set: val => store.state.showDevSettings = val }); var tools = [{ title: '打印保存的配置', callback: () => store.dispatch('printConfig') }, { title: '是否存在修改', callback: () => { var haveCfgChange = store.getters.haveCfgChange; external_ElementPlus_ElMessage_default()({ message: haveCfgChange ? '存在修改' : '无修改', type: haveCfgChange ? 'error' : 'success', duration: 1000 }); } }, { title: '放弃保存', callback: () => store.dispatch('cancelConfig') }]; return () => { var _slot; return (0,external_Vue_.withDirectives)((0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), null, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElButtonGroup_default()), null, _isSlot(_slot = tools.map(tool => { return (0,external_Vue_.createVNode)((external_ElementPlus_ElButton_default()), { "type": "primary", "size": "small", "onClick": tool.callback, "style": 'padding: 3px 8px; margin-top: 1px;' }, { default: () => [tool.title] }); })) ? _slot : { default: () => [_slot] })] }), [[external_Vue_.vShow, showDevSettings.value]]); }; } })); ;// CONCATENATED MODULE: ./src/components/settings/settings.tsx function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } // import '../../style/element-custom.scss'; // import 'element-plus/lib/theme-chalk/index.css'; var SettingsUI = (0,external_Vue_.defineComponent)({ name: 'SettingsUI', components: { ElContainer: (external_ElementPlus_ElContainer_default()) }, setup() { var store = (0,config/* useStore */.oR)(); var shortcuts = (0,external_Vue_.computed)(() => store.state.shortcuts); var enableHomePage = (0,external_Vue_.computed)({ get: () => { var _store$getters$curren; return (_store$getters$curren = store.getters.currentSiteCfg) === null || _store$getters$curren === void 0 ? void 0 : _store$getters$curren.showButtonForHomePage; }, set: val => store.getters.currentSiteCfg && (store.getters.currentSiteCfg.showButtonForHomePage = val) }); var enableSearchPage = (0,external_Vue_.computed)({ get: () => { var _store$getters$curren2; return (_store$getters$curren2 = store.getters.currentSiteCfg) === null || _store$getters$curren2 === void 0 ? void 0 : _store$getters$curren2.showButtonForSearchPage; }, set: val => store.getters.currentSiteCfg && (store.getters.currentSiteCfg.showButtonForSearchPage = val) }); var backgroundColor = (0,external_Vue_.computed)(() => store.state.style.settings.background); var enableHomePageModified = () => { (0,logger/* debug */.fF)("enableHomePage value changed to : ".concat(enableHomePage.value)); }; (0,external_Vue_.watch)(enableHomePage, enableHomePageModified); var activeNames = (0,external_Vue_.ref)(['UI' // 'shortcuts', // 'moreSettings', ]); var showSettings = (0,external_Vue_.ref)(false); var onSave = () => { (0,logger/* debug */.fF)('close'); store.dispatch('saveConfig'); external_ElementPlus_ElNotification_default()({ title: '成功', message: '配置保存成功', type: 'success', duration: 1000 }); showSettings.value = false; }; var onCancel = () => { (0,logger/* debug */.fF)('close'); store.dispatch('cancelConfig'); external_ElementPlus_ElNotification_default()({ title: '放弃', message: '放弃保存', type: 'info', duration: 1000 }); showSettings.value = false; }; var onClose = () => { var haveChange = (0,external_Vue_.computed)(() => store.getters.haveCfgChange); if (haveChange.value === true) { external_ElementPlus_ElMessageBox_default()({ title: '关闭', message: '您正在关闭设置窗口, 是否需要保存修改后的配置?', confirmButtonText: '保存修改', cancelButtonText: '放弃修改', type: 'warning', distinguishCancelAndClose: true, showCancelButton: true, callback: action => { switch (action) { case 'confirm': onSave(); break; case 'close': break; case 'cancel': onCancel(); break; } } }); } else { showSettings.value = false; } }; try { GM_registerMenuCommand('脚本设置', function () { showSettings.value = true; }); GM_registerMenuCommand('使用反馈', function () { GM_openInTab('https://greasyfork.org/zh-CN/scripts/421329-webswitcher-%E5%9C%A8%E7%99%BE%E5%BA%A6-%E8%B0%B7%E6%AD%8C%E4%B9%8B%E9%97%B4%E5%88%87%E6%8D%A2%E6%90%9C%E7%B4%A2%E7%BB%93%E6%9E%9C/feedback', { active: true, insert: true, setParent: true }); }); } catch (e) {} var shortcutsListener = event => { if (shortcuts.value.enable === false) return; shortcuts.value.showSettings.forEach(shortcut => { (0,logger/* trace */.g4)((0,utils_shortcut/* Shortcut2Str */.tC)(event), (0,utils_shortcut/* Shortcut2Str */.tC)(shortcut)); if ((0,utils_shortcut/* isShortcut */.zD)(event, shortcut)) { if (showSettings.value === true) { onClose(); } else { showSettings.value = true; } } }); }; (0,external_Vue_.onMounted)(() => { window.addEventListener('keydown', shortcutsListener); }); (0,external_Vue_.onUnmounted)(() => { window.removeEventListener('keydown', shortcutsListener); }); return () => (0,external_Vue_.createVNode)((external_ElementPlus_ElContainer_default()), { "key": "webswitcher-settings", "style": 'width: 350px;' + "background: ".concat(backgroundColor.value, ";") + 'border: 1px solid #eee;' + 'text-align: left;' + (showSettings.value === false ? 'display: none;' : 'display: block;') }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElHeader_default()), { "style": "height:auto; padding: 5px; border-bottom: 1px solid grey;" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "space-between" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 4, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)("span", null, [(0,external_Vue_.createVNode)("b", null, [(0,external_Vue_.createTextVNode)("\u8BBE\u7F6E")])])] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 12, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)("span", { "style": 'font-size: 12px;' + 'color: rgb(0,0,0, 0.5);' }, [(0,external_Vue_.createTextVNode)("WebSwitcher "), package_0/* version */.i8, (0,external_Vue_.createVNode)("br", null, null), (0,external_Vue_.createTextVNode)("\u5728\u767E\u5EA6\u3001\u8C37\u6B4C\u4E4B\u95F4\u5207\u6362\u641C\u7D22\u7ED3\u679C")])] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 8 }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "end" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElButton_default()), { "type": "danger", "icon": "el-icon-close", "size": "small", "onClick": onClose }, null)] })] })] })] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElMain_default()), null, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElCollapse_default()), { "modelValue": activeNames.value, "onUpdate:modelValue": $event => activeNames.value = $event }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElCollapseItem_default()), { "name": "UI" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "space-between" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 16, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)("span", null, [(0,external_Vue_.createTextVNode)("\u5728\u3010\u9996\u9875\u3011\u542F\u7528\u5207\u6362\u6309\u94AE")])] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 4, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "end" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElSwitch_default()), { "modelValue": enableHomePage.value, "onUpdate:modelValue": $event => enableHomePage.value = $event }, null)] })] })] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "space-between" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 16, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)("span", null, [(0,external_Vue_.createTextVNode)("\u5728\u3010\u641C\u7D22\u9875\u9762\u3011\u542F\u7528\u5207\u6362\u6309\u94AE")])] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 4, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "end" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElSwitch_default()), { "modelValue": enableSearchPage.value, "onUpdate:modelValue": $event => enableSearchPage.value = $event }, null)] })] })] })], title: () => (0,external_Vue_.createVNode)("b", null, [(0,external_Vue_.createTextVNode)("\u754C\u9762\u8BBE\u7F6E")]) })] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElCollapse_default()), { "modelValue": activeNames.value, "onUpdate:modelValue": $event => activeNames.value = $event }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElCollapseItem_default()), { "name": "shortcuts" }, { default: () => [(0,external_Vue_.createVNode)(Shortcuts, null, null)], title: () => (0,external_Vue_.createVNode)("b", null, [(0,external_Vue_.createTextVNode)("\u5FEB\u6377\u952E\u8BBE\u7F6E")]) })] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElCollapse_default()), { "modelValue": activeNames.value, "onUpdate:modelValue": $event => activeNames.value = $event }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElCollapseItem_default()), { "name": "moreSettings" }, { default: () => [(0,external_Vue_.createVNode)(ShowHiddenSettings, null, null), (0,external_Vue_.createVNode)(ShowDevSettings, null, null), (0,external_Vue_.createVNode)(DebugLogLevel, null, null), (0,external_Vue_.createVNode)(DevTools, null, null), (0,external_Vue_.createVNode)(ResetSettings, null, null)], title: () => (0,external_Vue_.createVNode)("b", null, [(0,external_Vue_.createTextVNode)("\u66F4\u591A\u8BBE\u7F6E")]) })] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElRow_default()), { "tag": "flex", "justify": "space-around" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 4, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElButton_default()), { "type": "info", "size": "small", "onClick": onCancel, "style": 'padding: 3px 7px;' }, { default: () => [(0,external_Vue_.createTextVNode)("\u653E\u5F03\u4FEE\u6539")] })] }), (0,external_Vue_.createVNode)((external_ElementPlus_ElCol_default()), { "span": 4, "style": "margin: auto 0;" }, { default: () => [(0,external_Vue_.createVNode)((external_ElementPlus_ElButton_default()), { "type": "primary", "size": "small", "onClick": onSave, "style": 'padding: 3px 7px;' }, { default: () => [(0,external_Vue_.createTextVNode)("\u4FDD\u5B58\u4FEE\u6539")] })] })] })] })] }); } }); class Settings extends site/* Site */.T { constructor() { super(...arguments); _defineProperty(this, "id", 'WebSwitcher_Settings'); _defineProperty(this, "name", 'Settings'); _defineProperty(this, "siteAddrReg", /.*/); _defineProperty(this, "mountElementName", 'body'); _defineProperty(this, "container", null); _defineProperty(this, "app", null); _defineProperty(this, "waitCondition", null); _defineProperty(this, "cfg", config/* defaultConfig */.u_); } beforeMount() { var isDebugOn = false; this.container = document.createElement('div'); this.container.id = this.id; // this.container.style.display = 'block'; this.container.style.zIndex = '1999'; // this.container.style.backgroundColor = 'white'; this.container.style.position = 'fixed'; var clientWidth = document.documentElement.clientWidth; var vw = clientWidth / 100; var top = 3.9 * vw; var right = 8.8 * vw; this.container.style.top = "".concat(top, "px"); this.container.style.right = "".concat(right, "px"); this.container.draggable = true; var cross = document.createElement('div'); cross.id = 'CrossLine'; if (isDebugOn === false) cross.style.display = 'none'; cross.style.backgroundColor = 'gray'; cross.style.position = 'fixed'; cross.style.width = '100px'; cross.style.height = '100px'; document.body.appendChild(cross); var dragstart = null; this.container.ondragover = ev => { ev.preventDefault(); }; this.container.ondragstart = ev => { console.debug('ondragstart', ev); dragstart = ev; }; var limitNumber = (val, min, max) => { var ret = val; if (ret < min) { ret = min; } else if (ret > max) { ret = max; } return ret; }; var lastX = 0; var lastY = 0; this.container.ondragend = ev => { console.debug('ondragend', ev); if (dragstart) { top = lastY; right = lastX; dragstart = null; } }; this.container.ondrag = ev => { if (dragstart) { if (isDebugOn) (0,logger/* debug */.fF)("[".concat(ev.clientX, ",").concat(ev.clientY, "]")); var clientX = ev.clientX; var clientY = ev.clientY; if (clientX !== 0 || clientY !== 0) { if (this.container) { var _clientWidth = document.documentElement.clientWidth; var clientHeight = document.documentElement.clientHeight; var x = limitNumber(right - (clientX - dragstart.clientX), 0, _clientWidth - this.container.getBoundingClientRect().width); var y = limitNumber(top + (clientY - dragstart.clientY), 0, clientHeight - this.container.getBoundingClientRect().height); cross.style.top = "".concat(clientY, "px"); cross.style.left = "".concat(clientX, "px"); this.container.style.top = "".concat(y, "px"); this.container.style.right = "".concat(x, "px"); lastX = x; lastY = y; } } } }; this.app = (0,external_Vue_.createApp)(SettingsUI); this.app.use(ElementPlus); } mount() { var _this = this; return _asyncToGenerator(function* () { var body = $(_this.mountElementName); if (_this.container) { var _this$app; body.append(_this.container); (_this$app = _this.app) === null || _this$app === void 0 ? void 0 : _this$app.mount(_this.container); } })(); } } ;// CONCATENATED MODULE: ./src/webSwitcher.ts function webSwitcher_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } class WebSwitcher { constructor(sites) { webSwitcher_defineProperty(this, "sites", void 0); webSwitcher_defineProperty(this, "settings", new Settings()); this.sites = sites; } run(options) { this.settings.run(this.settings, options); // this.settings.app?.config; this.sites.forEach(site => { site.run(this.settings, options); }); } } /***/ }), /***/ 742: /***/ (function(__unused_webpack_module, exports) { var __webpack_unused_export__; __webpack_unused_export__ = byteLength exports.b$ = toByteArray exports.JQ = fromByteArray var lookup = [] var revLookup = [] var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' for (var i = 0, len = code.length; i < len; ++i) { lookup[i] = code[i] revLookup[code.charCodeAt(i)] = i } // Support decoding URL-safe base64 strings, as Node.js does. // See: https://en.wikipedia.org/wiki/Base64#URL_applications revLookup['-'.charCodeAt(0)] = 62 revLookup['_'.charCodeAt(0)] = 63 function getLens (b64) { var len = b64.length if (len % 4 > 0) { throw new Error('Invalid string. Length must be a multiple of 4') } // Trim off extra bytes after placeholder bytes are found // See: https://github.com/beatgammit/base64-js/issues/42 var validLen = b64.indexOf('=') if (validLen === -1) validLen = len var placeHoldersLen = validLen === len ? 0 : 4 - (validLen % 4) return [validLen, placeHoldersLen] } // base64 is 4/3 + up to two characters of the original data function byteLength (b64) { var lens = getLens(b64) var validLen = lens[0] var placeHoldersLen = lens[1] return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen } function _byteLength (b64, validLen, placeHoldersLen) { return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen } function toByteArray (b64) { var tmp var lens = getLens(b64) var validLen = lens[0] var placeHoldersLen = lens[1] var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) var curByte = 0 // if there are placeholders, only get up to the last complete 4 chars var len = placeHoldersLen > 0 ? validLen - 4 : validLen var i for (i = 0; i < len; i += 4) { tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)] arr[curByte++] = (tmp >> 16) & 0xFF arr[curByte++] = (tmp >> 8) & 0xFF arr[curByte++] = tmp & 0xFF } if (placeHoldersLen === 2) { tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4) arr[curByte++] = tmp & 0xFF } if (placeHoldersLen === 1) { tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2) arr[curByte++] = (tmp >> 8) & 0xFF arr[curByte++] = tmp & 0xFF } return arr } function tripletToBase64 (num) { return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F] } function encodeChunk (uint8, start, end) { var tmp var output = [] for (var i = start; i < end; i += 3) { tmp = ((uint8[i] << 16) & 0xFF0000) + ((uint8[i + 1] << 8) & 0xFF00) + (uint8[i + 2] & 0xFF) output.push(tripletToBase64(tmp)) } return output.join('') } function fromByteArray (uint8) { var tmp var len = uint8.length var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes var parts = [] var maxChunkLength = 16383 // must be multiple of 3 // go through the array every three bytes, we'll deal with trailing stuff later for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) } // pad the end with zeros, but make sure to not forget the extra bytes if (extraBytes === 1) { tmp = uint8[len - 1] parts.push( lookup[tmp >> 2] + lookup[(tmp << 4) & 0x3F] + '==' ) } else if (extraBytes === 2) { tmp = (uint8[len - 2] << 8) + uint8[len - 1] parts.push( lookup[tmp >> 10] + lookup[(tmp >> 4) & 0x3F] + lookup[(tmp << 2) & 0x3F] + '=' ) } return parts.join('') } /***/ }), /***/ 15: /***/ (function(module) { module.exports = "data:image/svg+xml;base64,PHN2ZyB4bWxuczp4PSJodHRwOi8vbnMuYWRvYmUuY29tL0V4dGVuc2liaWxpdHkvMS4wLyIgeG1sbnM6aT0iaHR0cDovL25zLmFkb2JlLmNvbS9BZG9iZUlsbHVzdHJhdG9yLzEwLjAvIgogICAgeG1sbnM6Z3JhcGg9Imh0dHA6Ly9ucy5hZG9iZS5jb20vR3JhcGhzLzEuMC8iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwIDEyNSIKICAgIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDEwMCAxMDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgIDxzd2l0Y2g+CiAgICAgICAgPGZvcmVpZ25PYmplY3QgcmVxdWlyZWRFeHRlbnNpb25zPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlSWxsdXN0cmF0b3IvMTAuMC8iIHg9IjAiIHk9IjAiIHdpZHRoPSIxIgogICAgICAgICAgICBoZWlnaHQ9IjEiIC8+CiAgICAgICAgPGcgaTpleHRyYW5lb3VzPSJzZWxmIj4KICAgICAgICAgICAgPGcgaWQ9IlJlY292ZXJ5Ij4KICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgZD0iTTk3LDQyLjhsLTguMy0xM2MtMS4yLTEuOS00LjQtMS45LTUuNiwwbC04LjMsMTNjLTAuNywxLTAuNywyLjMtMC4xLDMuNGMwLjYsMS4xLDEuNywxLjcsMi45LDEuN2g0LjZ2MiAgICAgYzAsMTcuNy0xNC40LDMyLjEtMzIuMSwzMi4xYy03LjYsMC0xNC45LTIuNy0yMC43LTcuNmMtMS42LTEuMy0zLjktMS4xLTUuMiwwLjRjLTEuMywxLjYtMS4xLDMuOSwwLjQsNS4yICAgICBjNy4xLDYsMTYuMiw5LjMsMjUuNSw5LjNjMjEuOCwwLDM5LjUtMTcuNywzOS41LTM5LjV2LTJoNC42YzEuMiwwLDIuMy0wLjcsMi45LTEuN0M5Ny43LDQ1LjIsOTcuNiw0My45LDk3LDQyLjh6IiAvPgogICAgICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICAgICAgICBkPSJNMjUuNCw1My43Yy0wLjYtMS4xLTEuNy0xLjctMi45LTEuN2gtNC42di0yYzAtMTcuNywxNC40LTMyLjEsMzIuMS0zMi4xYzcuNiwwLDE0LjksMi43LDIwLjcsNy42ICAgICBjMS42LDEuMywzLjksMS4xLDUuMi0wLjRjMS4zLTEuNiwxLjEtMy45LTAuNC01LjJjLTcuMS02LTE2LjItOS4zLTI1LjUtOS4zYy0yMS44LDAtMzkuNSwxNy43LTM5LjUsMzkuNXYySDUuOCAgICAgYy0xLjIsMC0yLjMsMC43LTIuOSwxLjdjLTAuNiwxLjEtMC41LDIuNCwwLjEsMy40bDguMywxM2MwLjYsMSwxLjcsMS41LDIuOCwxLjVzMi4yLTAuNiwyLjgtMS41bDguMy0xMyAgICAgQzI2LDU2LjEsMjYsNTQuOCwyNS40LDUzLjd6IiAvPgogICAgICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICAgICAgICBkPSJNNTAsMjUuNGMtMiwwLTMuNywxLjctMy43LDMuN1Y1MGMwLDEuMywwLjcsMi42LDEuOSwzLjJsMTAuMyw1LjhjMC42LDAuMywxLjIsMC41LDEuOCwwLjVjMS4zLDAsMi42LTAuNywzLjItMS45ICAgICBjMS0xLjgsMC40LTQtMS40LTUuMWwtOC40LTQuOFYyOS4xQzUzLjcsMjcsNTIsMjUuNCw1MCwyNS40eiIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvc3dpdGNoPgogICAgPHRleHQgeD0iMCIgeT0iMTE1IiBmaWxsPSIjMDAwMDAwIiBmb250LXNpemU9IjVweCIgZm9udC13ZWlnaHQ9ImJvbGQiCiAgICAgICAgZm9udC1mYW1pbHk9IidIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwtVW5pY29kZSwgQXJpYWwsIFNhbnMtc2VyaWYiPkNyZWF0ZWQgYnkgQWRyaWVuIENvcXVldDwvdGV4dD48dGV4dAogICAgICAgIHg9IjAiIHk9IjEyMCIgZmlsbD0iIzAwMDAwMCIgZm9udC1zaXplPSI1cHgiIGZvbnQtd2VpZ2h0PSJib2xkIgogICAgICAgIGZvbnQtZmFtaWx5PSInSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLVVuaWNvZGUsIEFyaWFsLCBTYW5zLXNlcmlmIj5mcm9tIHRoZSBOb3VuIFByb2plY3Q8L3RleHQ+Cjwvc3ZnPgo="; /***/ }), /***/ 625: /***/ (function(module) { module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTAwMHB4IiBoZWlnaHQ9IjEwMDBweCIgdmlld0JveD0iMCAwIDEwMDAgMTAwMCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNDYuMiAoNDQ0OTYpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPkdyb3VwIDM8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iR3JvdXAtMyI+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMiIgZmlsbD0iI0ZGRkZGRiIgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMDAiIGhlaWdodD0iMTAwMCI+PC9yZWN0PgogICAgICAgICAgICA8ZyBpZD0i5pCc57SiX+eGiuaOjF82Nmljb24iIGZpbGw9IiMzMzg4RkYiPgogICAgICAgICAgICAgICAgPGcgaWQ9ImxvZ28iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMS4yMTIxMjEsIDkwLjkwOTA5MSkiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yODEuMzkxNjcyLDI1My4yMjc4ODkgQzMzMC4yNDk0MDgsMjUzLjIyNzg4OSAzNjkuNzI3NTM2LDE5Ny4xNzA0MDYgMzY5LjcyNzUzNiwxMjcuODU1MzgyIEMzNjkuNzI3NTM2LDU4LjYwMDAwODUgMzMwLjI0OTQwOCwyLjU1NzQzOTAzIDI4MS4zOTE2NzIsMi41NTc0MzkwMyBDMjMyLjU5Mzc3NCwyLjU1NzQzOTAzIDE5My4wMTA5MjksNTguNjAwMDA4NSAxOTMuMDEwOTI5LDEyNy44NTUzODIgQzE5My4wMTA5MjksMTk3LjE3MDQwNiAyMzIuNTkzNzc0LDI1My4yMjc4ODkgMjgxLjM5MTY3MiwyNTMuMjI3ODg5IiBpZD0iRmlsbC0xIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ5MS44MDQ1NTksMjYxLjUxNDk3MSBDNTU3LjEzMjcwOCwyNjkuOTU1NjU2IDU5OS4xMjQwMzIsMjAwLjQ3NjU5IDYwNy40NzE0MzUsMTQ3LjgxOTI0MiBDNjE1Ljk4MzM5Miw5NS4yNTEzNzE3IDU3My44NDI0NzMsMzQuMTM4NDI2MSA1MjcuNjE3NjA5LDIzLjYzOTc2NDkgQzQ4MS4yNzMwNjksMTMuMDUxNjI2NCA0MjMuNDI0NjcyLDg3LjAzNDM3OTggNDE4LjE1ODkyNywxMzUuMjc3NTE4IEM0MTEuODYwOTc2LDE5NC4yNDMwMSA0MjYuNjQwOTY1LDI1My4xMzM5MzggNDkxLjgwNDU1OSwyNjEuNTE0OTcxIiBpZD0iRmlsbC0zIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTExNy4xNzM3MjksNDI5Ljk4MjY5MyBDMjA1LjYyOTI3LDQxMS4wMjg0MzQgMTkzLjYwMTgyOSwzMDUuNjM5MTc0IDE5MC45NTM5OTcsMjgyLjU4Mzg3NSBDMTg2LjYwMDc4MiwyNDcuMDYxNDE3IDE0NC42OTkyMTUsMTg1LjAwODk2IDg3Ljc5MzI2NTgsMTg5LjkwMDM4MiBDMTYuMTk3MDg1MiwxOTYuMjk4MDAzIDUuNzQwMzkyNjksMjk5LjQwNTU5NCA1Ljc0MDM5MjY5LDI5OS40MDU1OTQgQy0zLjk1MzM2NTE1LDM0Ny4wODIwNDMgMjguOTEyNjYyNiw0NDguOTM2OTUyIDExNy4xNzM3MjksNDI5Ljk4MjY5MyIgaWQ9IkZpbGwtNSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03NTAuNzAyNjkxLDM0OS45Mjg5MSBDNzUwLjcwMjY5MSwzMjQuNzU1OTg0IDcyOS43Mjk0NjgsMjQ4Ljg3OTI5NiA2NTEuODY1MjU2LDI0OC44NzkyOTYgQzU3My44NTE0NDgsMjQ4Ljg3OTI5NiA1NjMuNDM5NjM0LDMyMC40NzU5OSA1NjMuNDM5NjM0LDM3MS4wOTAyNzQgQzU2My40Mzk2MzQsNDE5LjQwNzk3NiA1NjcuNTIzNTc5LDQ4Ni44NDM5NzkgNjY0LjQwMTMxOSw0ODQuNjk2NTI2IEM3NjEuMzA4OTc4LDQ4Mi41Nzg4OTggNzUwLjcwMjY5MSwzNzUuMjY1ODc4IDc1MC43MDI2OTEsMzQ5LjkyODkxIiBpZD0iRmlsbC03Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIxMS4xMDg5MzYsNjEzLjMwNjYxNyBDMjA4LjUyMDk0Miw2MjAuNzE4MzE0IDIwMi43MzE2MTQsNjM5LjY3MjU3MyAyMDcuNzI4MDg4LDY1Ni4xODExMjEgQzIxNy42MzEyNzksNjkzLjE5NDg2NyAyNDkuODgzOTY3LDY5NC44NjUxMDkgMjQ5Ljg4Mzk2Nyw2OTQuODY1MTA5IEwyOTYuMTk4NTg4LDY5NC44NjUxMDkgTDI5Ni4xOTg1ODgsNTgxLjk1OTc2MiBMMjQ2LjU3NzkxNyw1ODEuOTU5NzYyIEMyMjQuMjg4MjU4LDU4OC41OTU5OSAyMTMuNTE3NDE2LDYwNS44ODAwMDcgMjExLjEwODkzNiw2MTMuMzA2NjE3IiBpZD0iRmlsbC05Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTU2My4zNTg4NTMsNzM5LjQ2OTUwNiBMNDMxLjAyNzA5MSw3MzkuNDY5NTA2IEMzNzkuNzYwODc1LDcyNi4yODY1MjggMzc3LjMyMjQ3Niw2ODkuOTczNjg3IDM3Ny4zMjI0NzYsNjg5Ljk3MzY4NyBMMzc3LjMyMjQ3Niw1NDQuMDY2MTU3IEw0MzEuMDI3MDkxLDU0My4yMDEyMSBMNDMxLjAyNzA5MSw2NzQuMzQ0OTk4IEM0MzQuMzAzMjIyLDY4OC4zMDM0NDYgNDUxLjczMTA0Myw2OTAuODM4NjM0IDQ1MS43MzEwNDMsNjkwLjgzODYzNCBMNTA2LjI3MzM5LDY5MC44Mzg2MzQgTDUwNi4yNzMzOSw1NDQuMDY2MTU3IEw1NjMuMzU4ODUzLDU0NC4wNjYxNTcgTDU2My4zNTg4NTMsNzM5LjQ2OTUwNiBaIE0zNDkuMTY4NjkxLDc0MC4yNTk4ODggTDIzNC4xODk5NTIsNzQwLjI1OTg4OCBDMTg0LjUyNDQwMyw3MzAuNDAyNDgxIDE2NC43NDc5NCw2OTYuNTk1MDAyIDE2Mi4yMzQ3NDQsNjkwLjgzODYzNCBDMTU5Ljc2NjQyNiw2ODQuOTkyNzg4IDE0NS43MTk0NTMsNjU3LjgzNjQ1IDE1My4xNjkyODUsNjExLjY1MTI4OCBDMTc0LjYzNjE3Miw1NDIuNDEwODI4IDIzNS44NTA0NTcsNTM3LjQyOTkyOSAyMzUuODUwNDU3LDUzNy40Mjk5MjkgTDI5Ny4wNjQ3NDMsNTM3LjQyOTkyOSBMMjk3LjA2NDc0Myw0NjIuNDMzMSBMMzQ5LjE2ODY5MSw0NjMuMjIzNDgzIEwzNDkuMTY4NjkxLDc0MC4yNTk4ODggWiBNNjUxLjg1OTI3Miw1NzEuMDczMzY2IEM2NTEuODU5MjcyLDU3MS4wNzMzNjYgNTUwLjgwNzgzLDQ5My4xMzg3MDIgNDkxLjgwNzU1MSw0MDguOTEwODA2IEM0MTEuODYzOTY4LDI4NC43MTY0MTYgMjk4LjI2MTUwMywzMzUuMjU2MTM2IDI2MC4yNzkzMjUsMzk4LjQxMjE0NSBDMjIyLjQ2MTcwMiw0NjEuNTY4MTU0IDE2My41MDYzMDIsNTAxLjUxOTczNiAxNTUuMDk5MDYxLDUxMi4wOTI5NjEgQzE0Ni42MzE5ODIsNTIyLjUxNzA1OCAzMy4wNzQzOTYzLDU4My42MTUwOTEgNTguMjgxMTU4Niw2OTUuMjUyODQ0IEM4My40ODc5MjA5LDgwNi44MzA5NDUgMTcyLjAxODI1OSw4MDQuNjY4NTc5IDE3Mi4wMTgyNTksODA0LjY2ODU3OSBDMTcyLjAxODI1OSw4MDQuNjY4NTc5IDIzNy4yNzE2MSw4MTEuMDgxMTEzIDMxMi45OTY2MTMsNzk0LjE4NDgzIEMzODguNjkxNjk4LDc3Ny40NTI1ODkgNDUzLjkxNTEzLDc5OC4zNjA0MzQgNDUzLjkxNTEzLDc5OC4zNjA0MzQgQzQ1My45MTUxMyw3OTguMzYwNDM0IDYzMC43OTYyOTIsODU3LjQxNTQwNCA2NzkuMTc1MzI0LDc0My43MTk2NzUgQzcyNy41MzkzOTcsNjMwLjAzODg1OCA2NTEuODU5MjcyLDU3MS4wNzMzNjYgNjUxLjg1OTI3Miw1NzEuMDczMzY2IEw2NTEuODU5MjcyLDU3MS4wNzMzNjYgWiIgaWQ9IkZpbGwtMTEiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; /***/ }), /***/ 849: /***/ (function(module) { module.exports = "data:image/png;base64,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"; /***/ }), /***/ 619: /***/ (function(module) { module.exports = SVG; /***/ }), /***/ 5: /***/ (function(module) { module.exports = Vue; /***/ }), /***/ 147: /***/ (function(module) { module.exports = JSON.parse('{"i8":"0.5.1","HO":{"O_":"1.1.0-beta.7"}}'); /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/async module */ /******/ !function() { /******/ var webpackThen = typeof Symbol === "function" ? Symbol("webpack then") : "__webpack_then__"; /******/ var webpackExports = typeof Symbol === "function" ? Symbol("webpack exports") : "__webpack_exports__"; /******/ var completeQueue = function(queue) { /******/ if(queue) { /******/ queue.forEach(function(fn) { fn.r--; }); /******/ queue.forEach(function(fn) { fn.r-- ? fn.r++ : fn(); }); /******/ } /******/ } /******/ var completeFunction = function(fn) { !--fn.r && fn(); }; /******/ var queueFunction = function(queue, fn) { queue ? queue.push(fn) : completeFunction(fn); }; /******/ var wrapDeps = function(deps) { return deps.map(function(dep) { /******/ if(dep !== null && typeof dep === "object") { /******/ if(dep[webpackThen]) return dep; /******/ if(dep.then) { /******/ var queue = []; /******/ dep.then(function(r) { /******/ obj[webpackExports] = r; /******/ completeQueue(queue); /******/ queue = 0; /******/ }); /******/ var obj = {}; /******/ obj[webpackThen] = function(fn, reject) { queueFunction(queue, fn), dep.catch(reject); }; /******/ return obj; /******/ } /******/ } /******/ var ret = {}; /******/ ret[webpackThen] = function(fn) { completeFunction(fn); }; /******/ ret[webpackExports] = dep; /******/ return ret; /******/ }); }; /******/ __webpack_require__.a = function(module, body, hasAwait) { /******/ var queue = hasAwait && []; /******/ var exports = module.exports; /******/ var currentDeps; /******/ var outerResolve; /******/ var reject; /******/ var isEvaluating = true; /******/ var nested = false; /******/ var whenAll = function(deps, onResolve, onReject) { /******/ if (nested) return; /******/ nested = true; /******/ onResolve.r += deps.length; /******/ deps.map(function(dep, i) { dep[webpackThen](onResolve, onReject); }); /******/ nested = false; /******/ }; /******/ var promise = new Promise(function(resolve, rej) { /******/ reject = rej; /******/ outerResolve = function() { resolve(exports), completeQueue(queue), queue = 0; }; /******/ }); /******/ promise[webpackExports] = exports; /******/ promise[webpackThen] = function(fn, rejectFn) { /******/ if (isEvaluating) { return completeFunction(fn); } /******/ if (currentDeps) whenAll(currentDeps, fn, rejectFn); /******/ queueFunction(queue, fn); /******/ promise.catch(rejectFn); /******/ }; /******/ module.exports = promise; /******/ body(function(deps) { /******/ if(!deps) return outerResolve(); /******/ currentDeps = wrapDeps(deps); /******/ var fn, result; /******/ var promise = new Promise(function(resolve, reject) { /******/ fn = function() { resolve(result = currentDeps.map(function(d) { return d[webpackExports]; })); }; /******/ fn.r = 0; /******/ whenAll(currentDeps, fn, reject); /******/ }); /******/ return fn.r ? promise : result; /******/ }).then(outerResolve, reject); /******/ isEvaluating = false; /******/ }; /******/ }(); /******/ /******/ /* webpack/runtime/compat get default export */ /******/ !function() { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function() { return module['default']; } : /******/ function() { return module; }; /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ }(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ !function() { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = function(exports, definition) { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ }(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ !function() { /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } /******/ }(); /******/ /************************************************************************/ /******/ /******/ // startup /******/ // Load entry module and return exports /******/ // This entry module used 'module' so it can't be inlined /******/ var __webpack_exports__ = __webpack_require__(962); /******/ /******/ })() ;