优化多个游戏下载站:二维码转链接|弹窗浏览|自动填写密码|下载按钮直达下载地址页|去Steam查看游戏。包括switch520、switch618、acgxj、fzgamer、steamzg等
// ==UserScript== // @name switch520-auto-secret // @description 优化多个游戏下载站:二维码转链接|弹窗浏览|自动填写密码|下载按钮直达下载地址页|去Steam查看游戏。包括switch520、switch618、acgxj、fzgamer、steamzg等 // @version 7.2.6 // @author Kane // @match *://dl.xxxxx520.cc/* // @match *://www.xxxxx520.org/* // @match *://acgxj.com/* // @match *://acfb.top/* // @match *://*.steamzg.com/* // @match *://gamers520.com/* // @match *://*.gamers520.com/* // @match *://*.switch618.com/* // @match *://gamer520.com/* // @match *://*.gamer520.com/* // @match *://download.gamer520.com/* // @match *://download.espartasr.com/* // @match *://download.freer.blog/* // @match *://www.freer.blog/* // @match *://*.xxxxx528.com/* // @match *://www.efemovies.com/* // @match *://www.espartasr.com/* // @match *://www.piclabo.xyz/* // @match *://like.gamer520.com/* // @match *://pan.baidu.com/* // @match *://www.fzgamer.com/* // @match *://fzgamer.com/* // @grant GM.registerMenuCommand // @grant GM.getValue // @grant GM.setValue // @icon https://www.switch618.com/wp-content/uploads/2024/05/23154031569.webp // @license MIT // @namespace http://tampermonkey.net/ // @require https://unpkg.com/[email protected]/umd/react.production.min.js // @require https://unpkg.com/[email protected]/umd/react-dom.production.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js // @require https://unpkg.com/[email protected]/dist/mobx.umd.production.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.11.13/dayjs.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/antd/5.22.7/antd.min.js // @require https://unpkg.com/[email protected]/dist/jsQR.js // @resource antdCSS https://cdnjs.cloudflare.com/ajax/libs/antd/5.22.7/reset.min.css // ==/UserScript== /* suppress ResizeObserver loop errors - layer 1: intercept window.addEventListener */ {const __a=window.addEventListener;window.addEventListener=function(t,l,o){if(t==="error"){const w=function(e){if(e instanceof ErrorEvent&&typeof e.message==="string"&&e.message.indexOf("ResizeObserver loop completed")!==-1){return}return l.call(this,e)};return __a.call(this,t,w,o)}return __a.call(this,t,l,o)}} /* suppress ResizeObserver loop errors - layer 2: hide overlay DOM */ {var __s=document.createElement("style");__s.textContent="#webpack-dev-server-client-overlay{display:none!important}";document.documentElement.appendChild(__s)} /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ 586: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ clickGenuinePurchaseButton: () => (/* binding */ clickGenuinePurchaseButton), /* harmony export */ findGenuinePurchaseButton: () => (/* binding */ findGenuinePurchaseButton), /* harmony export */ getGameName: () => (/* binding */ getGameName), /* harmony export */ moveElementsToVersionIntro: () => (/* binding */ moveElementsToVersionIntro), /* harmony export */ removeSidebarContentAboveHotRank: () => (/* binding */ removeSidebarContentAboveHotRank), /* harmony export */ removeSnakeCanvas: () => (/* binding */ removeSnakeCanvas) /* harmony export */ }); /* harmony import */ var _core_domain_matcher__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55); function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } /** * fzgamer.com 内容页 DOM 操作 * 1. 将"温馨提示框"和"游戏视频框"移动到"版本介绍"上方 * 2. 移除侧栏中"近期游戏热榜"以上的所有内容 */ /** * 移动温馨提示框和游戏视频框到版本介绍上方 * 最终顺序:游戏视频标题+视频框 → 温馨提示框 → 版本介绍 */ var moveElementsToVersionIntro = function moveElementsToVersionIntro() { // 只在内容页执行(URL 以 .html 结尾) if (!(0,_core_domain_matcher__WEBPACK_IMPORTED_MODULE_0__/* .isHtmlPostPage */ .zN)()) { return; } // 等待 DOM 加载完成 var observer = new MutationObserver(function (mutations, obs) { var articleContent = document.querySelector('.article-content'); if (!articleContent) return; // 查找温馨提示框(在 .article-content 直接子级,通过特征样式匹配) var warmTipBox = Array.from(articleContent.children).find(function (el) { var _el$getAttribute; return el.outerHTML.includes('温馨提示') && ((_el$getAttribute = el.getAttribute('style')) === null || _el$getAttribute === void 0 ? void 0 : _el$getAttribute.includes('linear-gradient')); }); // 查找游戏视频标题 var videoHeading = Array.from(articleContent.querySelectorAll('h3.wp-block-heading')).find(function (el) { return el.textContent.includes('游戏视频'); }); // 查找游戏视频框(dplayer 播放器) var videoBox = articleContent.querySelector('.wp-block-zibllblock-dplayer'); // 查找版本介绍标题 var versionIntroHeading = Array.from(articleContent.querySelectorAll('h4.wp-block-heading')).find(function (el) { return el.textContent.includes('版本介绍'); }); // 如果找到了版本介绍标题,执行移动操作 if (versionIntroHeading) { obs.disconnect(); // 停止观察 var parent = versionIntroHeading.parentElement; // 1. 先移动游戏视频标题到版本介绍上方 if (videoHeading && videoHeading.parentElement) { parent.insertBefore(videoHeading, versionIntroHeading); console.log('[fzgamer] 游戏视频标题已移动到版本介绍上方'); } // 2. 再移动游戏视频框到版本介绍上方(在标题之后) if (videoBox && videoBox.parentElement) { parent.insertBefore(videoBox, versionIntroHeading); console.log('[fzgamer] 游戏视频框已移动到版本介绍上方'); } // 3. 最后移动温馨提示框到版本介绍上方(在游戏视频之后) if (warmTipBox && warmTipBox.parentElement) { parent.insertBefore(warmTipBox, versionIntroHeading); console.log('[fzgamer] 温馨提示框已移动到版本介绍上方'); } } }); // 开始观察 DOM 变化 observer.observe(document.body, { childList: true, subtree: true }); // 如果 DOM 已经加载完成,立即尝试执行 setTimeout(function () { var articleContent = document.querySelector('.article-content'); if (articleContent) { observer.takeRecords(); // 触发一次检查 } }, 1000); }; /** * 移除侧栏中"近期游戏热榜"以上的所有内容 * 仅在 .sidebar 容器内部操作,不影响 .content-wrap 主内容区 */ var removeSidebarContentAboveHotRank = function removeSidebarContentAboveHotRank() { // 使用 MutationObserver 等待 DOM 加载完成 var observer = new MutationObserver(function (mutations, obs) { // 查找侧栏容器 var sidebar = document.querySelector('.sidebar'); if (!sidebar) return; // 在侧栏内查找"近期游戏热榜"标题 var titleThemeElements = sidebar.querySelectorAll('.title-theme'); var hotRankTitle = Array.from(titleThemeElements).find(function (el) { return el.textContent.includes('近期游戏热榜'); }); if (!hotRankTitle) return; obs.disconnect(); // 停止观察 // 找到热榜标题所在的容器(data-affix="true" 的那个 div) var hotRankContainer = hotRankTitle.closest('[data-affix="true"]'); if (!hotRankContainer) return; // 收集热榜容器之前的所有 .sidebar 直接子元素 var elementsToRemove = []; var elem = hotRankContainer.previousElementSibling; while (elem) { elementsToRemove.push(elem); elem = elem.previousElementSibling; } // 移除所有收集到的元素 elementsToRemove.forEach(function (el) { el.remove(); }); console.log("[fzgamer] \u2705 \u6210\u529F\u79FB\u9664\u4FA7\u680F\u4E2D\"\u8FD1\u671F\u6E38\u620F\u70ED\u699C\"\u4EE5\u4E0A\u7684 ".concat(elementsToRemove.length, " \u4E2A\u5143\u7D20")); }); // 开始观察 DOM 变化 observer.observe(document.body, { childList: true, subtree: true }); // 如果 DOM 已经加载完成,立即尝试执行 setTimeout(function () { var sidebar = document.querySelector('.sidebar'); if (sidebar) { var hotRankTitle = Array.from(sidebar.querySelectorAll('.title-theme')).find(function (el) { return el.textContent.includes('近期游戏热榜'); }); if (hotRankTitle) { observer.takeRecords(); // 触发一次检查 } } }, 1500); }; /** * 移除 id 为 snakeCanvas 的 canvas 画布元素 */ var removeSnakeCanvas = function removeSnakeCanvas() { // 使用 MutationObserver 等待 DOM 加载完成 var observer = new MutationObserver(function (mutations, obs) { // 查找 snakeCanvas 元素 var snakeCanvas = document.getElementById('snakeCanvas'); if (!snakeCanvas) return; obs.disconnect(); // 停止观察 // 移除 canvas 元素 snakeCanvas.remove(); console.log('[fzgamer] ✅ 成功移除 id 为 snakeCanvas 的 canvas 元素'); }); // 开始观察 DOM 变化 observer.observe(document.body, { childList: true, subtree: true }); // 如果 DOM 已经加载完成,立即尝试执行 setTimeout(function () { var snakeCanvas = document.getElementById('snakeCanvas'); if (snakeCanvas) { observer.takeRecords(); // 触发一次检查 } }, 500); }; /** * 查找资源区「正版购买」按钮(兼容中英文 UI) */ function findGenuinePurchaseButton() { var roots = [document.querySelector('#posts-pay'), document.querySelector('.but-download'), document.querySelector('.pay-box'), document].filter(Boolean); var _iterator = _createForOfIteratorHelper(roots), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var root = _step.value; var anchors = root.querySelectorAll('a, button'); for (var _i = 0, _Array$from = Array.from(anchors); _i < _Array$from.length; _i++) { var el = _Array$from[_i]; var text = (el.textContent || '').replace(/\s+/g, ' ').trim(); if (!text) continue; // 正版购买 / Genuine purchase;排除普通网盘按钮 if (!/正版|genuine|purchase|购买/i.test(text)) continue; if (/网盘|cloud\s*drive|baidu|quark|thunder|迅雷|夸克|百度/i.test(text)) continue; return el; } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return null; } /** * 模拟点击「正版购买」;找到并点中返回 true */ function clickGenuinePurchaseButton() { var btn = findGenuinePurchaseButton(); if (!btn) return false; btn.click(); return true; } /** * 从文章标题提取游戏名(优先英文) * 结构示例:埃尔巴布/ELbab + .fzg-title-new「最新」 */ function getGameName() { var h1 = document.querySelector('h1.article-title'); if (h1) { var clone = h1.cloneNode(true); clone.querySelectorAll('.fzg-title-new').forEach(function (el) { return el.remove(); }); var fromH1 = pickGameNameFromTitle((clone.textContent || '').trim()); if (fromH1) return fromH1; } var fromDocTitle = pickGameNameFromTitle(document.title.split(/[-–|]/)[0].trim()); return fromDocTitle; } function pickGameNameFromTitle(raw) { if (!raw) return ''; var text = raw.replace(/\s*(最新|热门|推荐|Latest)\s*$/i, '').trim(); if (text.includes('/')) { var parts = text.split('/').map(function (s) { return s.trim(); }).filter(Boolean); var english = _toConsumableArray(parts).reverse().find(function (p) { return /[A-Za-z]/.test(p); }); if (english) return english; } return text; } if (false) {} /***/ }), /***/ 95: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ analyzeGameNameInArticle: () => (/* binding */ analyzeGameNameInArticle), /* harmony export */ analyzeGameNameInTitle: () => (/* binding */ analyzeGameNameInTitle), /* harmony export */ articleContainer: () => (/* binding */ articleContainer), /* harmony export */ getGameName: () => (/* binding */ getGameName), /* harmony export */ nameInArticle: () => (/* binding */ nameInArticle), /* harmony export */ nameInTitle: () => (/* binding */ nameInTitle), /* harmony export */ titleElement: () => (/* binding */ titleElement) /* harmony export */ }); var articleContainer = function articleContainer() { return document.querySelector('div.entry-content.u-text-format.u-clearfix'); }; var titleElement = function titleElement() { return document.querySelector('h1.entry-title'); }; /** * 根据标题解析出中文名和英文名 */ var analyzeGameNameInTitle = function analyzeGameNameInTitle() { var _titleElement; var title = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (_titleElement = titleElement()) === null || _titleElement === void 0 ? void 0 : _titleElement.innerText; var chineseGameName; var englishGameName; var _titleText = title.split(/\/|\|/)[0]; //<Liberated: Enhanced Edition> if (/^[a-zA-Z0-9\s:]+/.test(_titleText)) { chineseGameName = null; englishGameName = _titleText.replaceAll(/[\u4e00-\u9fa5]/g, '').replaceAll(/^:|:$/g, '').trim(); } //<商店模拟器 超市 Shop Simulator Supermarket> if (/^\s*[\u4e00-\u9fa5™…?《][\w\W]*[\u4e00-\u9fa5\s™…?》-](?=(\s|$))/.test(_titleText)) { var _titleText$match; chineseGameName = (_titleText$match = _titleText.match(/^\s*[\u4e00-\u9fa5™…?《-]+[\w\W]*[\u4e00-\u9fa5™…?-]+(?=\s?)/)) === null || _titleText$match === void 0 ? void 0 : _titleText$match[0]; englishGameName = _titleText.replace(chineseGameName, '').replaceAll(/^:|:$/g, '').trim(); } //<零号奴隶X Slave Zero X> if (/^\s*[\u4e00-\u9fa5™…?《]+[a-zA-Z0-9](\s+|\b)/.test(_titleText)) { var _titleText$match2; chineseGameName = (_titleText$match2 = _titleText.match(/\s*[\u4e00-\u9fa5《]+[a-zA-Z0-9](?=\s*)/)) === null || _titleText$match2 === void 0 ? void 0 : _titleText$match2[0]; englishGameName = _titleText.replace(chineseGameName, '').replaceAll(/^:|:$/g, '').trim(); } //<我的世界:传奇:minecraft:legends> if (_titleText.split(':').length - 1 > 2 && /^[\u4e00-\u9fa5]+[\w\W]*:[\w\W]*$/i.test(_titleText)) { var _titleText$match3; chineseGameName = (_titleText$match3 = _titleText.match(/^[\u4e00-\u9fa5]+:[\u4e00-\u9fa5]+/g)) === null || _titleText$match3 === void 0 ? void 0 : _titleText$match3[0]; englishGameName = _titleText.replace(chineseGameName, '').replaceAll(/^:|:$/g, '').trim(); } //<超级竞技场:Hyper Jam> if (/^[\u4e00-\u9fa5]+:[a-zA-Z\s]+$/.test(_titleText)) { var _titleText$match4; chineseGameName = (_titleText$match4 = _titleText.match(/^\s*[\u4e00-\u9fa5]+:?[\u4e00-\u9fa5]*(?=:)/i)) === null || _titleText$match4 === void 0 ? void 0 : _titleText$match4[0]; englishGameName = _titleText.replace(chineseGameName, '').replaceAll(/^:|:$/g, '').trim(); } var res = { chinese: chineseGameName, english: englishGameName }; return res; }; /** * 根据文章内容解析出游戏名 */ var analyzeGameNameInArticle = function analyzeGameNameInArticle(rowText, el) { var _el$childNodes$; if (/《[\w\W]+》/.test(rowText)) { var _rowText$match; false && 0; return analyzeGameNameInTitle((_rowText$match = rowText.match(/(?<=《)[\w\W]+(?=》)/)) === null || _rowText$match === void 0 ? void 0 : _rowText$match[0]); } else if (/^《[\w\W]+》\s*[\u4e00-\u9fa5]+\s*[a-zA-Z]+\s*$/.test(rowText)) { var _rowText$match2; false && 0; return analyzeGameNameInTitle(rowText.replaceAll(/[\u4e00-\u9fa5《》][a-zA-Z0-9]+/g, '').replaceAll(/[\u4e00-\u9fa5《》]/g, '')); } else if (el !== null && el !== void 0 && (_el$childNodes$ = el.childNodes[0]) !== null && _el$childNodes$ !== void 0 && _el$childNodes$.textContent.startsWith('名称:')) { var _el$childNodes$2, _el$childNodes$3; false && 0; return analyzeGameNameInTitle((_el$childNodes$3 = el.childNodes[0]) === null || _el$childNodes$3 === void 0 ? void 0 : _el$childNodes$3.textContent.replace('名称:', '').trim()); } else if ((el === null || el === void 0 ? void 0 : el.tagName.toLowerCase()) === 'p') { false && 0; return analyzeGameNameInTitle(rowText); } return analyzeGameNameInTitle(rowText); }; var nameInTitle = function nameInTitle() { var el = titleElement(); return analyzeGameNameInTitle(el.innerText); }; var nameInArticle = function nameInArticle() { var container = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : articleContainer(); return Array.from(container.querySelectorAll('*')).reduce(function (accu, el) { if (accu) return accu; if (el.innerText.includes('解压密码') || el.innerText.includes('去Steam') || !el.innerText.trim()) return null; return accu = analyzeGameNameInArticle(el.innerText, el); }, null); }; var getGameName = function getGameName() { return titleElement().innerText.split('|')[0]; var articleName = nameInArticle(); var titleName = nameInTitle(); return articleName.english || articleName.chinese || titleName.english || titleName.chinese; }; if (false) {} /***/ }), /***/ 801: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ getGameName: () => (/* binding */ getGameName) /* harmony export */ }); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _wrapRegExp() { _wrapRegExp = function _wrapRegExp(e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)>/g, function (e, r) { var t = o[r]; return "$" + (Array.isArray(t) ? t.join("$") : t); })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != _typeof(e[e.length - 1]) && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } var getGameName = function getGameName() { var _titleText$match; var titleText = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.querySelector('.article-title').innerText; var _ref = ((_titleText$match = titleText.match(/*#__PURE__*/_wrapRegExp(/\u300A([\s\S]+?)\(([\s\S]+?)\)\u300B[\w\W]*/, { chinese: 1, english: 2 }))) === null || _titleText$match === void 0 ? void 0 : _titleText$match.groups) || {}, chinese = _ref.chinese, english = _ref.english; if (!chinese && !english) { english = titleText.split('|')[0]; } return { chinese: chinese, english: english }; }; if (false) {} /***/ }), /***/ 55: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ cb: () => (/* binding */ GAMER520_INCLUDES), /* harmony export */ zN: () => (/* binding */ isHtmlPostPage) /* harmony export */ }); /* unused harmony exports isDomainMatch, getCurrentSiteIdentifier */ /** * 域名匹配核心逻辑 * 封装 useMatchDomain 的条件判断,提供统一的域名检测接口 */ /** * gamer520 / gamers520 必须同时列出:后者多一个 s, * `includes('gamer520')` / `includes('gamer520.com')` 都匹配不到 `gamers520.com` */ var GAMER520_INCLUDES = ['gamer520.com', 'gamers520.com']; /** * 是否为 .html 内容页(gamer520 文章页 / gamers520 下载页均为此形态)。 * 必须用 pathname,否则 `?pwd=` 会让 `href.endsWith('.html')` 误判。 */ function isHtmlPostPage() { return location.pathname.endsWith('.html'); } /** * 检查当前页面是否匹配指定的域名规则 * @param options 域名匹配规则 * @returns 是否匹配 */ function isDomainMatch(options) { var includes = options.includes, hosts = options.hosts, regExp = options.regExp; var currentHost = location.host; var currentHref = location.href; if (includes && includes.some(function (keyword) { return currentHost.includes(keyword) || currentHref.includes(keyword); })) { return true; } if (hosts && hosts.some(function (host) { return currentHost === host; })) { return true; } if (regExp && regExp.test(currentHref)) { return true; } return false; } /** * 获取当前站点标识(用于日志和调试) */ function getCurrentSiteIdentifier() { return location.host; } /***/ }), /***/ 259: /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(601); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(314); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); // Module ___CSS_LOADER_EXPORT___.push([module.id, `.ant-modal .ant-modal-content { padding: 10px; } `, ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ 243: /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(601); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(314); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); // Module ___CSS_LOADER_EXPORT___.push([module.id, `/* 划词搜索样式(如需自定义样式可在此添加) */ `, ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ 543: /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(601); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(314); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); // Module ___CSS_LOADER_EXPORT___.push([module.id, `.app { color: red; } header.header { z-index: 500!important; } /* fzgamer.com 扫码弹窗:缩小二维码 + 直链展示 */ #fzg-qr-mask.show .fzg-qr-wrap { padding: 8px !important; margin-bottom: 8px !important; } #fzg-qr-mask.show .fzg-qr-wrap img, #fzg-qr-mask.show #fzg-qr-canvas img { width: 120px !important; height: 120px !important; } #fzg-qr-mask.show .fzg-qr-corner { width: 14px !important; height: 14px !important; } #fzg-qr-mask.show .fzg-qr-scanline { display: none !important; } #fzg-qr-mask.show #fzg-qr-scan-tip { opacity: 0.55; font-size: 12px !important; } #s520-fzg-direct-link { display: block; margin: 8px 16px 12px; padding: 10px 12px; background: #f0fff0; border: 1px solid #7dcea0; border-radius: 8px; color: #196f3d; font-size: 13px; line-height: 1.5; word-break: break-all; text-decoration: none; text-align: left; } #s520-fzg-direct-link:hover { background: #e8f8e8; } `, ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ 314: /***/ ((module) => { /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ module.exports = function (cssWithMappingToString) { var list = []; // return the list of modules as css string list.toString = function toString() { return this.map(function (item) { var content = ""; var needLayer = typeof item[5] !== "undefined"; if (item[4]) { content += "@supports (".concat(item[4], ") {"); } if (item[2]) { content += "@media ".concat(item[2], " {"); } if (needLayer) { content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {"); } content += cssWithMappingToString(item); if (needLayer) { content += "}"; } if (item[2]) { content += "}"; } if (item[4]) { content += "}"; } return content; }).join(""); }; // import a list of modules into the list list.i = function i(modules, media, dedupe, supports, layer) { if (typeof modules === "string") { modules = [[null, modules, undefined]]; } var alreadyImportedModules = {}; if (dedupe) { for (var k = 0; k < this.length; k++) { var id = this[k][0]; if (id != null) { alreadyImportedModules[id] = true; } } } for (var _k = 0; _k < modules.length; _k++) { var item = [].concat(modules[_k]); if (dedupe && alreadyImportedModules[item[0]]) { continue; } if (typeof layer !== "undefined") { if (typeof item[5] === "undefined") { item[5] = layer; } else { item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}"); item[5] = layer; } } if (media) { if (!item[2]) { item[2] = media; } else { item[1] = "@media ".concat(item[2], " {").concat(item[1], "}"); item[2] = media; } } if (supports) { if (!item[4]) { item[4] = "".concat(supports); } else { item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}"); item[4] = supports; } } list.push(item); } }; return list; }; /***/ }), /***/ 601: /***/ ((module) => { module.exports = function (i) { return i[1]; }; /***/ }), /***/ 338: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var __webpack_unused_export__; var m = __webpack_require__(206); if (true) { exports.H = m.createRoot; __webpack_unused_export__ = m.hydrateRoot; } else { var i; } /***/ }), /***/ 72: /***/ ((module) => { var stylesInDOM = []; function getIndexByIdentifier(identifier) { var result = -1; for (var i = 0; i < stylesInDOM.length; i++) { if (stylesInDOM[i].identifier === identifier) { result = i; break; } } return result; } function modulesToDom(list, options) { var idCountMap = {}; var identifiers = []; for (var i = 0; i < list.length; i++) { var item = list[i]; var id = options.base ? item[0] + options.base : item[0]; var count = idCountMap[id] || 0; var identifier = "".concat(id, " ").concat(count); idCountMap[id] = count + 1; var indexByIdentifier = getIndexByIdentifier(identifier); var obj = { css: item[1], media: item[2], sourceMap: item[3], supports: item[4], layer: item[5] }; if (indexByIdentifier !== -1) { stylesInDOM[indexByIdentifier].references++; stylesInDOM[indexByIdentifier].updater(obj); } else { var updater = addElementStyle(obj, options); options.byIndex = i; stylesInDOM.splice(i, 0, { identifier: identifier, updater: updater, references: 1 }); } identifiers.push(identifier); } return identifiers; } function addElementStyle(obj, options) { var api = options.domAPI(options); api.update(obj); var updater = function updater(newObj) { if (newObj) { if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) { return; } api.update(obj = newObj); } else { api.remove(); } }; return updater; } module.exports = function (list, options) { options = options || {}; list = list || []; var lastIdentifiers = modulesToDom(list, options); return function update(newList) { newList = newList || []; for (var i = 0; i < lastIdentifiers.length; i++) { var identifier = lastIdentifiers[i]; var index = getIndexByIdentifier(identifier); stylesInDOM[index].references--; } var newLastIdentifiers = modulesToDom(newList, options); for (var _i = 0; _i < lastIdentifiers.length; _i++) { var _identifier = lastIdentifiers[_i]; var _index = getIndexByIdentifier(_identifier); if (stylesInDOM[_index].references === 0) { stylesInDOM[_index].updater(); stylesInDOM.splice(_index, 1); } } lastIdentifiers = newLastIdentifiers; }; }; /***/ }), /***/ 659: /***/ ((module) => { var memo = {}; /* istanbul ignore next */ function getTarget(target) { if (typeof memo[target] === "undefined") { var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { try { // This will throw an exception if access to iframe is blocked // due to cross-origin restrictions styleTarget = styleTarget.contentDocument.head; } catch (e) { // istanbul ignore next styleTarget = null; } } memo[target] = styleTarget; } return memo[target]; } /* istanbul ignore next */ function insertBySelector(insert, style) { var target = getTarget(insert); if (!target) { throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); } target.appendChild(style); } module.exports = insertBySelector; /***/ }), /***/ 540: /***/ ((module) => { /* istanbul ignore next */ function insertStyleElement(options) { var element = document.createElement("style"); options.setAttributes(element, options.attributes); options.insert(element, options.options); return element; } module.exports = insertStyleElement; /***/ }), /***/ 56: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { /* istanbul ignore next */ function setAttributesWithoutAttributes(styleElement) { var nonce = true ? __webpack_require__.nc : 0; if (nonce) { styleElement.setAttribute("nonce", nonce); } } module.exports = setAttributesWithoutAttributes; /***/ }), /***/ 825: /***/ ((module) => { /* istanbul ignore next */ function apply(styleElement, options, obj) { var css = ""; if (obj.supports) { css += "@supports (".concat(obj.supports, ") {"); } if (obj.media) { css += "@media ".concat(obj.media, " {"); } var needLayer = typeof obj.layer !== "undefined"; if (needLayer) { css += "@layer".concat(obj.layer.length > 0 ? " ".concat(obj.layer) : "", " {"); } css += obj.css; if (needLayer) { css += "}"; } if (obj.media) { css += "}"; } if (obj.supports) { css += "}"; } var sourceMap = obj.sourceMap; if (sourceMap && typeof btoa !== "undefined") { css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); } // For old IE /* istanbul ignore if */ options.styleTagTransform(css, styleElement, options.options); } function removeStyleElement(styleElement) { // istanbul ignore if if (styleElement.parentNode === null) { return false; } styleElement.parentNode.removeChild(styleElement); } /* istanbul ignore next */ function domAPI(options) { if (typeof document === "undefined") { return { update: function update() {}, remove: function remove() {} }; } var styleElement = options.insertStyleElement(options); return { update: function update(obj) { apply(styleElement, options, obj); }, remove: function remove() { removeStyleElement(styleElement); } }; } module.exports = domAPI; /***/ }), /***/ 113: /***/ ((module) => { /* istanbul ignore next */ function styleTagTransform(css, styleElement) { if (styleElement.styleSheet) { styleElement.styleSheet.cssText = css; } else { while (styleElement.firstChild) { styleElement.removeChild(styleElement.firstChild); } styleElement.appendChild(document.createTextNode(css)); } } module.exports = styleTagTransform; /***/ }), /***/ 594: /***/ ((module) => { module.exports = React; /***/ }), /***/ 206: /***/ ((module) => { module.exports = ReactDOM; /***/ }) /******/ }); /************************************************************************/ /******/ // 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] = { /******/ id: moduleId, /******/ // 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/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (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 */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/nonce */ /******/ (() => { /******/ __webpack_require__.nc = undefined; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; ;// external "_" const external_namespaceObject = _; var external_default = /*#__PURE__*/__webpack_require__.n(external_namespaceObject); ;// ./generic-services/utils/useMatchDomain/index.ts function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } /** * 如果匹配到域名则会执行回调 */ var useMatchDomain = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(matcher, callback) { var _matcher$regExp, _matcher$hosts, _matcher$includes; var matchResult; return _regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: matchResult = false; _context.t0 = true; _context.next = _context.t0 === ((_matcher$regExp = matcher.regExp) === null || _matcher$regExp === void 0 ? void 0 : _matcher$regExp.test(location.href)) ? 4 : _context.t0 === ((_matcher$hosts = matcher.hosts) === null || _matcher$hosts === void 0 ? void 0 : _matcher$hosts.some(function (host) { return location.host === host; })) ? 4 : _context.t0 === ((_matcher$includes = matcher.includes) === null || _matcher$includes === void 0 ? void 0 : _matcher$includes.some(function (kw) { if (external_default().isString(kw)) { return location.href.includes(kw); } else { return kw.every(function (txt) { return location.href.includes(txt); }); } })) ? 4 : 6; break; case 4: matchResult = true; return _context.abrupt("break", 6); case 6: if (!matchResult) { _context.next = 10; break; } return _context.abrupt("return", callback()); case 10: return _context.abrupt("return", null); case 11: case "end": return _context.stop(); } }, _callee); })); return function useMatchDomain(_x, _x2) { return _ref.apply(this, arguments); }; }(); /** * regExp,hosts,includes取并集,protocol为约束性规则,与上述规则结果取交集 * 需要注意的是includes规则:第一层的所有规则取并集,如果第一层的某个成员是数组,则数组内的规则取交集,href必须包含该内层数组中的所有字符 * 比如includes:['switch520',['switch','618']]这个规则代表href要么包含'switch520',要么既包含'switch'也同时包含'618' */ ;// ./projects/switch520-auto-secret/core/password-extractor.ts function password_extractor_typeof(o) { "@babel/helpers - typeof"; return password_extractor_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, password_extractor_typeof(o); } function _wrapRegExp() { _wrapRegExp = function _wrapRegExp(e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)>/g, function (e, r) { var t = o[r]; return "$" + (Array.isArray(t) ? t.join("$") : t); })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != password_extractor_typeof(e[e.length - 1]) && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } /** * 密码提取核心逻辑 * 从页面文本中提取受保护内容的访问密码,纯函数无副作用 */ /** * 从标题文本中提取密码保护内容的密码 * 匹配格式: "密码保护:123456" * @param text 元素文本内容 * @returns 提取的密码或 null */ function extractPasswordFromTitle(text) { if (!(text !== null && text !== void 0 && text.startsWith('密码保护:'))) return null; // 排除非密码保护的干扰文本 if (text.includes('上一篇') || text.includes('牛夫人')) return null; if (text.includes('当前位置') || text.includes('此内容受密码保护')) return null; if (text.includes('永久防迷路')) return null; return text.replace('密码保护:', ''); } /** * 从 span 元素中提取访问密码 * 匹配格式: "访问密码:123456"(6位数字结尾) * @param text 元素文本内容 * @returns 提取的密码或 null */ function extractPasswordFromSpan(text) { if (!text.startsWith('访问密码:')) return null; if (!/\d{6}$/.test(text)) return null; return text.replace('访问密码:', ''); } /** * 从提取码文本中提取4位密码 * 匹配格式: "提取码:abcd" 或 "提取码: abcd" * @param text 包含提取码的文本 * @returns 4位提取码 */ function extractBaiduPwd(text) { var _match$groups; var reg = /*#__PURE__*/_wrapRegExp(/(\u63D0\u53D6\u7801|\u5982\u9047\u5230\u6709\u5E26x\u7684\u63D0\u53D6\u7801\u8BF7\u624B\u6253\u8F93\u5165)[::]\s*([a-zA-Z0-9]{4})/, { code: 2 }); var match = text.match(reg); return (match === null || match === void 0 || (_match$groups = match.groups) === null || _match$groups === void 0 ? void 0 : _match$groups.code) || null; } /** * 统一提取码提取(用于多网盘场景) * 匹配格式: "统一提取码:1234" * @param text 文本内容 * @returns 提取码或 undefined */ function extractUnifiedCode(text) { var _match$groups2; var reg = /*#__PURE__*/_wrapRegExp(/\u7EDF\u4E00\u63D0\u53D6\u7801\uFF1A(\d{4,})/, { code: 1 }); var match = reg.exec(text); return match === null || match === void 0 || (_match$groups2 = match.groups) === null || _match$groups2 === void 0 ? void 0 : _match$groups2.code; } ;// ./projects/switch520-auto-secret/utils/dom-helper.ts function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /** * DOM 操作工具函数 * 提供常用的 DOM 查询、创建、插入等操作的封装 */ /** * 安全查询单个 DOM 元素 * @param selector CSS 选择器 * @returns 匹配的元素或 null */ function querySelector(selector) { return document.querySelector(selector); } /** * 查询所有匹配的 DOM 元素 * @param selector CSS 选择器 * @returns 元素数组 */ function querySelectorAll(selector) { return Array.from(document.querySelectorAll(selector)); } /** * 创建 DOM 元素并设置属性 * @param tag 标签名 * @param attributes 属性键值对 * @returns 创建的元素 */ function createElement(tag, attributes) { var element = document.createElement(tag); if (attributes) { Object.entries(attributes).forEach(function (_ref) { var _ref2 = _slicedToArray(_ref, 2), key = _ref2[0], value = _ref2[1]; element.setAttribute(key, value); }); } return element; } /** * 在参考节点后插入新节点 * @param newNode 要插入的节点 * @param referenceNode 参考节点 */ function insertAfter(newNode, referenceNode) { var _referenceNode$parent; (_referenceNode$parent = referenceNode.parentNode) === null || _referenceNode$parent === void 0 || _referenceNode$parent.insertBefore(newNode, referenceNode.nextSibling); } /** * 查找直接子节点中的文本节点 * @param container 容器元素 * @param reg 匹配正则 * @returns 匹配的文本节点或 null */ function findDirectTextNode(container, reg) { return Array.from(container.childNodes).find(function (node) { return node.nodeType === Node.TEXT_NODE && reg.test(node.textContent || ''); }) || null; } /** * 递归查找包含指定关键字的最深层容器 * @param keyword 关键字(字符串或正则) * @param container 起始容器,默认 document.body * @param exclude 排除的关键字列表 * @param tester 自定义测试函数 * @returns 匹配的容器元素或 null */ function recursiveFindContainer(keyword) { var _container$innerText; var container = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body; var exclude = arguments.length > 2 ? arguments[2] : undefined; var tester = arguments.length > 3 ? arguments[3] : undefined; var isExcluded = function isExcluded(text) { return (exclude === null || exclude === void 0 ? void 0 : exclude.some(function (ex) { return ex instanceof RegExp ? ex.test(text) : text.includes(ex); })) || false; }; var isMatch = keyword instanceof RegExp ? keyword.test(container.innerText) : (_container$innerText = container.innerText) === null || _container$innerText === void 0 ? void 0 : _container$innerText.includes(keyword); if (isMatch) { // 递归查找子元素 var _iterator = _createForOfIteratorHelper(container.children), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var child = _step.value; var result = recursiveFindContainer(keyword, child, exclude, tester); if (result) return result; } // 检查排除条件 } catch (err) { _iterator.e(err); } finally { _iterator.f(); } if (exclude && exclude.length > 0 && isExcluded(container.innerText)) { return null; } // 自定义测试 if (tester && !tester(container)) { return null; } return container; } return null; } /** * 安全移除元素 * @param element 要移除的元素 */ function safeRemove(element) { var _element$parentNode; element === null || element === void 0 || (_element$parentNode = element.parentNode) === null || _element$parentNode === void 0 || _element$parentNode.removeChild(element); } // EXTERNAL MODULE: ./projects/switch520-auto-secret/core/domain-matcher.ts var domain_matcher = __webpack_require__(55); ;// ./projects/switch520-auto-secret/services/auto-secret.service.ts function auto_secret_service_typeof(o) { "@babel/helpers - typeof"; return auto_secret_service_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, auto_secret_service_typeof(o); } function auto_secret_service_regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ auto_secret_service_regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == auto_secret_service_typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(auto_secret_service_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } function auto_secret_service_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = auto_secret_service_unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; } function auto_secret_service_asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function auto_secret_service_asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { auto_secret_service_asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { auto_secret_service_asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || auto_secret_service_unsupportedIterableToArray(r) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function auto_secret_service_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return auto_secret_service_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? auto_secret_service_arrayLikeToArray(r, a) : void 0; } } function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } function _arrayWithoutHoles(r) { if (Array.isArray(r)) return auto_secret_service_arrayLikeToArray(r); } function auto_secret_service_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } /** * 自动输入密码服务 * 在访问密码保护的页面时,自动提取密码并提交表单 * * 防死循环保护(仅在 iframe 内启用): * - 10s 滑动窗口记录各域名访问次数,>= 3 次触发 * - 触发后将域名加入 GM_storage 持久化黑名单 * - 黑名单命中时不自动提交,通过 postMessage + window.open 打开新标签页 * - 顶层上下文(独立标签页)不受影响,始终正常提交 */ // ============== GM Storage 键名定义 ============== /** GM 存储键:各域名访问时间戳映射 */ var VISIT_TS_KEY = 'g520_visit_ts'; /** GM 存储键:持久化黑名单域名列表(auto-secret 自身跳过用) */ var BLACKLIST_KEY = 'g520_blacklist'; /** GM 存储键:已知死循环的 post_id 列表(download-bypass 预检查用) */ var BAD_POST_IDS_KEY = 'g520_bad_post_ids'; /** GM 存储键:当前待确认的 post_id(download-bypass 写入,auto-secret 读取) */ var PENDING_SRC_KEY = 'g520_pending_src'; /** postMessage 来源标识 */ var MSG_SOURCE = 'S520_LOOP_GUARD'; /** 10s 滑动窗口 */ var LOOP_WINDOW_MS = 10000; /** 窗口内触发阈值 */ var LOOP_THRESHOLD = 3; /** * 初始化自动密码服务 */ function initAutoSecret() { initGamer520AutoSecret(); initAcgxAutSecret(); } /** * gamer520/gamers520 站点自动密码 * 从标题 "密码保护:XXX" 中提取密码并自动提交 * 防死循环保护仅在 iframe 内启用 */ function initGamer520AutoSecret() { useMatchDomain({ includes: _toConsumableArray(domain_matcher/* GAMER520_INCLUDES */.cb) }, /*#__PURE__*/auto_secret_service_asyncToGenerator(/*#__PURE__*/auto_secret_service_regeneratorRuntime().mark(function _callee() { var el_input, el_submit, secret, titleSelectors, _i, _titleSelectors, selector, elements, _iterator, _step, el, extracted, domain, url, visitCount, pendingSrcId, _url; return auto_secret_service_regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: el_input = findPasswordInput(); el_submit = findSubmitButton(); if (!(!el_input || !el_submit)) { _context.next = 4; break; } return _context.abrupt("return"); case 4: secret = null; // 优化:优先检查常见的标题元素,避免遍历所有节点 titleSelectors = ['h1', 'h2', 'h3', '.entry-title', '.post-title', 'title']; _i = 0, _titleSelectors = titleSelectors; case 7: if (!(_i < _titleSelectors.length)) { _context.next = 34; break; } selector = _titleSelectors[_i]; elements = document.querySelectorAll(selector); _iterator = auto_secret_service_createForOfIteratorHelper(elements); _context.prev = 11; _iterator.s(); case 13: if ((_step = _iterator.n()).done) { _context.next = 21; break; } el = _step.value; extracted = extractPasswordFromTitle(el.innerText); if (!extracted) { _context.next = 19; break; } secret = extracted; return _context.abrupt("break", 21); case 19: _context.next = 13; break; case 21: _context.next = 26; break; case 23: _context.prev = 23; _context.t0 = _context["catch"](11); _iterator.e(_context.t0); case 26: _context.prev = 26; _iterator.f(); return _context.finish(26); case 29: if (!secret) { _context.next = 31; break; } return _context.abrupt("break", 34); case 31: _i++; _context.next = 7; break; case 34: // 如果标题中未找到,再遍历所有元素(降级方案) if (!secret) { document.querySelectorAll('*').forEach(function (node) { if (!secret) { secret = extractPasswordFromTitle(node.innerText); } }); } if (!secret) { secret = new URL(location.href).searchParams.get('pwd'); } if (secret) { _context.next = 38; break; } return _context.abrupt("return"); case 38: if (!(window.parent !== window.self)) { _context.next = 68; break; } domain = location.hostname; // 检查当前域名是否已被持久化黑名单 _context.next = 42; return isDomainBlacklisted(domain); case 42: if (!_context.sent) { _context.next = 48; break; } console.log("[auto-secret] ".concat(domain, " \u5DF2\u5728\u9ED1\u540D\u5355\uFF0C\u6539\u7528\u65B0\u6807\u7B7E\u9875\u6253\u5F00")); url = new URL(location.href); url.searchParams.set('pwd', secret); notifyTopOpenTab(url.toString()); return _context.abrupt("return"); case 48: _context.next = 50; return recordAndCountVisits(); case 50: visitCount = _context.sent; if (!(visitCount >= LOOP_THRESHOLD)) { _context.next = 68; break; } console.log("[auto-secret] ".concat(domain, " 10s\u5185\u8BBF\u95EE").concat(visitCount, "\u6B21\uFF0C\u89E6\u53D1\u6B7B\u5FAA\u73AF\u4FDD\u62A4")); _context.next = 55; return blacklistDomain(domain); case 55: _context.next = 57; return GM.getValue(PENDING_SRC_KEY, null); case 57: pendingSrcId = _context.sent; if (!pendingSrcId) { _context.next = 64; break; } _context.next = 61; return markBadPostId(pendingSrcId); case 61: _context.next = 63; return GM.setValue(PENDING_SRC_KEY, null); case 63: console.log("[auto-secret] post_id=".concat(pendingSrcId, " \u5DF2\u52A0\u5165\u7CBE\u7EC6\u5316\u9ED1\u540D\u5355")); case 64: _url = new URL(location.href); _url.searchParams.set('pwd', secret); notifyTopOpenTab(_url.toString()); return _context.abrupt("return"); case 68: // 正常自动提交 el_input.value = secret; el_submit.click(); case 70: case "end": return _context.stop(); } }, _callee, null, [[11, 23, 26, 29]]); }))); } /** * acgxj.com 站点自动密码 * 从 span "访问密码:XXXXXX" 中提取密码并自动提交 */ function initAcgxAutSecret() { useMatchDomain({ includes: ['acgxj.com'] }, function () { document.querySelectorAll('span').forEach(function (el) { var pwd = extractPasswordFromSpan(el.innerText); if (!pwd) return; var input_pwd = querySelector('input[type=password][name=e_secret_key]'); if (!input_pwd) return; input_pwd.value = pwd; var input_confirm = querySelector('input[type=submit][value=确定]'); input_confirm === null || input_confirm === void 0 || input_confirm.click(); }); }); } /** * 查找密码输入框(兼容多种选择器) */ function findPasswordInput() { return querySelector('input#password') || querySelector('input[type="password"]') || querySelector('input[name="post_password"]'); } /** * 查找提交按钮(兼容多种选择器) */ function findSubmitButton() { return querySelector('input[type="submit"]') || querySelector('input[name="Submit"]') || querySelector('input[value="提交"]'); } // ============== 防死循环保护 ============== /** * 记录当前域名访问,返回 10s 窗口内的访问次数 */ function recordAndCountVisits() { return _recordAndCountVisits.apply(this, arguments); } /** * 检查域名是否在持久化黑名单中 */ function _recordAndCountVisits() { _recordAndCountVisits = auto_secret_service_asyncToGenerator(/*#__PURE__*/auto_secret_service_regeneratorRuntime().mark(function _callee2() { var now, raw, map, domain, timestamps; return auto_secret_service_regeneratorRuntime().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: now = Date.now(); _context2.next = 3; return GM.getValue(VISIT_TS_KEY, '{}'); case 3: raw = _context2.sent; map = JSON.parse(raw); domain = location.hostname; timestamps = (map[domain] || []).filter(function (ts) { return now - ts < LOOP_WINDOW_MS; }); timestamps.push(now); map[domain] = timestamps; _context2.next = 11; return GM.setValue(VISIT_TS_KEY, JSON.stringify(map)); case 11: return _context2.abrupt("return", timestamps.length); case 12: case "end": return _context2.stop(); } }, _callee2); })); return _recordAndCountVisits.apply(this, arguments); } function isDomainBlacklisted(_x) { return _isDomainBlacklisted.apply(this, arguments); } /** * 将域名加入持久化黑名单 */ function _isDomainBlacklisted() { _isDomainBlacklisted = auto_secret_service_asyncToGenerator(/*#__PURE__*/auto_secret_service_regeneratorRuntime().mark(function _callee3(domain) { var raw, list; return auto_secret_service_regeneratorRuntime().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return GM.getValue(BLACKLIST_KEY, '[]'); case 2: raw = _context3.sent; list = JSON.parse(raw); return _context3.abrupt("return", list.includes(domain)); case 5: case "end": return _context3.stop(); } }, _callee3); })); return _isDomainBlacklisted.apply(this, arguments); } function blacklistDomain(_x2) { return _blacklistDomain.apply(this, arguments); } /** * 将 post_id 加入精细化黑名单(download-bypass 预检查用) */ function _blacklistDomain() { _blacklistDomain = auto_secret_service_asyncToGenerator(/*#__PURE__*/auto_secret_service_regeneratorRuntime().mark(function _callee4(domain) { var raw, list; return auto_secret_service_regeneratorRuntime().wrap(function _callee4$(_context4) { while (1) switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return GM.getValue(BLACKLIST_KEY, '[]'); case 2: raw = _context4.sent; list = JSON.parse(raw); if (list.includes(domain)) { _context4.next = 9; break; } list.push(domain); _context4.next = 8; return GM.setValue(BLACKLIST_KEY, JSON.stringify(list)); case 8: console.log("[auto-secret] ".concat(domain, " \u5DF2\u52A0\u5165\u57DF\u540D\u9ED1\u540D\u5355")); case 9: case "end": return _context4.stop(); } }, _callee4); })); return _blacklistDomain.apply(this, arguments); } function markBadPostId(_x3) { return _markBadPostId.apply(this, arguments); } /** * 通过 postMessage + 直接调用打开新标签页(双保险) */ function _markBadPostId() { _markBadPostId = auto_secret_service_asyncToGenerator(/*#__PURE__*/auto_secret_service_regeneratorRuntime().mark(function _callee5(postId) { var raw, list; return auto_secret_service_regeneratorRuntime().wrap(function _callee5$(_context5) { while (1) switch (_context5.prev = _context5.next) { case 0: _context5.next = 2; return GM.getValue(BAD_POST_IDS_KEY, '[]'); case 2: raw = _context5.sent; list = JSON.parse(raw); if (list.includes(postId)) { _context5.next = 8; break; } list.push(postId); _context5.next = 8; return GM.setValue(BAD_POST_IDS_KEY, JSON.stringify(list)); case 8: case "end": return _context5.stop(); } }, _callee5); })); return _markBadPostId.apply(this, arguments); } function notifyTopOpenTab(url) { if (window.parent !== window.self) { window.parent.postMessage({ source: MSG_SOURCE, type: 'OPEN_TAB', url: url }, '*'); } window.open(url, '_blank'); } ;// ./projects/switch520-auto-secret/utils/url-helper.ts /** * URL 处理工具函数 * 提供网盘链接和密码参数的处理逻辑 */ /** * 为 URL 添加 pwd 参数 * 自动判断 URL 是否已有查询参数,选择 ? 或 & 连接符 * @param url 原始 URL * @param pwd 密码值 * @returns 添加了 pwd 参数的 URL */ function appendPwdToUrl(url, pwd) { if (!pwd) return url; if (url.includes('pwd=')) return url; var separator = url.includes('?') ? '&' : '?'; return "".concat(url).concat(separator, "pwd=").concat(pwd); } /** * 判断是否为百度网盘链接 * @param url 待检测的 URL * @returns 是否为百度网盘链接 */ function isBaiduPanUrl(url) { return typeof url === 'string' && url.includes('pan.baidu.com'); } /** * 判断是否为阿里云盘链接 * @param url 待检测的 URL * @returns 是否为阿里云盘链接 */ function isAliyunPanUrl(url) { return typeof url === 'string' && url.includes('aliyundrive.com'); } /** * 判断是否为夸克网盘链接 * @param url 待检测的 URL * @returns 是否为夸克网盘链接 */ function isQuarkPanUrl(url) { return typeof url === 'string' && url.includes('quark.cn'); } /** * 判断是否为迅雷云盘链接 * @param url 待检测的 URL * @returns 是否为迅雷云盘链接 */ function isXunleiPanUrl(url) { return typeof url === 'string' && url.includes('pan.xunlei.com'); } /** * 判断是否为 GOFILE 海外盘链接 * @param url 待检测的 URL * @returns 是否为 GOFILE 链接 */ function isGofileUrl(url) { return typeof url === 'string' && url.includes('gofile.io'); } /** * 根据 URL 获取网盘提供商名称 * @param url 网盘链接 * @returns 提供商名称或空字符串 */ function getProviderName(url) { if (!url || typeof url !== 'string') return ''; if (isBaiduPanUrl(url)) return '百度网盘'; if (isAliyunPanUrl(url)) return '阿里云盘'; if (isQuarkPanUrl(url)) return '夸克网盘'; if (isXunleiPanUrl(url)) return '迅雷云盘'; if (isGofileUrl(url)) return 'GOFILE'; return ''; } /** * 从文本中提取百度网盘链接 * @param text 包含链接的文本 * @returns 提取的链接或 null */ function extractBaiduLinkFromText(text) { var reg = /https:\/\/pan\.baidu\.com[\x2D-9=\?A-Z_a-z]+/; var match = text.match(reg); return (match === null || match === void 0 ? void 0 : match[0]) || null; } ;// ./projects/switch520-auto-secret/services/baidu-link.service.ts function baidu_link_service_toConsumableArray(r) { return baidu_link_service_arrayWithoutHoles(r) || baidu_link_service_iterableToArray(r) || baidu_link_service_unsupportedIterableToArray(r) || baidu_link_service_nonIterableSpread(); } function baidu_link_service_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function baidu_link_service_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return baidu_link_service_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? baidu_link_service_arrayLikeToArray(r, a) : void 0; } } function baidu_link_service_iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } function baidu_link_service_arrayWithoutHoles(r) { if (Array.isArray(r)) return baidu_link_service_arrayLikeToArray(r); } function baidu_link_service_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } /** * 百度网盘链接处理服务 * 将百度网盘链接和提取码融合为一个直链按钮,点击后直接跳转并填充密码 */ // 正则表达式:匹配百度网盘链接和提取码文本 var codeReg = /(提取码|如遇到有带x的提取码请手打输入)[::]\s*(?=\S)[\w\W]+/; var linkReg = /(百度(网盘)?|链接)[::]?\s*(?=[^\s::])[\w\W]+$/; /** * 初始化百度网盘链接服务 */ function initBaiduLinkService() { initGamer520BaiduLink(); initDlSiteBaiduLink(); initOtherSitesBaiduLink(); } /** * gamer520/gamers520 站点处理 */ function initGamer520BaiduLink() { useMatchDomain({ includes: baidu_link_service_toConsumableArray(domain_matcher/* GAMER520_INCLUDES */.cb) }, function () { if (!(0,domain_matcher/* isHtmlPostPage */.zN)()) return; // 新版 .bdp-container 卡片式布局由 qrcode-converter.service 处理, // 此处仅处理旧版纯文本链接格式,避免误删提取码 DOM if (document.querySelector('.bdp-container')) return; var containerEl = recursiveFindContainer(linkReg, document.body, ['友情链接:', '限时特惠']); if (!containerEl) return; var pwdEl = recursiveFindContainer(codeReg); var links = getBaiduLinks(containerEl); var pwd = pwdEl ? extractBaiduPwd(pwdEl.innerText) : null; links.forEach(function (link) { return createDirectLink(link, pwd, containerEl); }); removeLinkElements(containerEl); pwdEl && safeRemove(pwdEl); }); } /** * dl.xxxxx520.cc 站点处理 */ function initDlSiteBaiduLink() { useMatchDomain({ includes: ['dl.xxxxx520.cc'] }, function () { var linkEl = recursiveFindContainer(linkReg, document.body, [/下方|下载链接|下载不完整/]); if (!linkEl) return; var pwdEl = recursiveFindContainer(codeReg, document.body, ['直链+']); var links = getBaiduLinks(linkEl); var code = pwdEl ? extractBaiduPwd(pwdEl.innerText) : ''; links.forEach(function (link) { createDirectLink(link, code, linkEl); removeLinkElements(linkEl); pwdEl && safeRemove(pwdEl); }); }); } /** * 其他站点(xxxxx520.org, acgxj 等)处理 */ function initOtherSitesBaiduLink() { useMatchDomain({ includes: ['xxxxx520.org', 'acgxj'] }, function () { var linkEl = recursiveFindContainer(linkReg, document.body, [/下方|下载链接|下载不完整/, '直链+'], function (el) { return [Array.from(el.querySelectorAll('a')).find(function (element) { return element.href.includes('pan.baidu.com'); }), Array.from(el.querySelectorAll('*')).find(function (element) { return /https:\/\/pan\.baidu\.com/.test(element.innerText || ''); })].some(Boolean); }); if (!linkEl) return; var pwdEl = recursiveFindContainer(codeReg); var links = getBaiduLinks(linkEl); var code = pwdEl ? extractBaiduPwd(pwdEl.innerText) : ''; links.forEach(function (link) { createDirectLink(link, code, linkEl); removeLinkElements(linkEl); pwdEl && safeRemove(pwdEl); }); }); } /** * 从容器中提取所有百度网盘链接 */ function getBaiduLinks(container) { var baiduLinks = []; for (var _i = 0, _Array$from = Array.from([].concat(baidu_link_service_toConsumableArray(container.querySelectorAll('*')), [container])); _i < _Array$from.length; _i++) { var el = _Array$from[_i]; if (!(el instanceof HTMLElement)) continue; if (el instanceof HTMLAnchorElement) { if (el.href.includes('pan.baidu.com') && !baiduLinks.includes(el.href)) { baiduLinks.push(el.href); continue; } } if (el.innerText.includes('pan.baidu.com')) { var _el$innerText$match; var match = (_el$innerText$match = el.innerText.match(/https:\/\/pan\.baidu\.com[\x2D-9=\?A-Z_a-z]+/)) === null || _el$innerText$match === void 0 ? void 0 : _el$innerText$match[0]; if (match && !baiduLinks.includes(match)) { baiduLinks.push(match); } } } return baiduLinks; } /** * 创建直链按钮 */ function createDirectLink(link, pwd, containerEl) { var _containerEl$parentEl; var baiduLinkEl = document.createElement('span'); var _link = appendPwdToUrl(link, pwd || ''); baiduLinkEl.innerHTML = "<a href=\"".concat(_link, "\" target=\"_blank\" style=\"text-decoration: underline\">\u767E\u5EA6\u7F51\u76D8:").concat(_link, "</a><br>"); baiduLinkEl.setAttribute('target', '_blank'); (_containerEl$parentEl = containerEl.parentElement) === null || _containerEl$parentEl === void 0 || _containerEl$parentEl.insertBefore(baiduLinkEl, containerEl); } /** * 移除容器中的链接元素 */ function removeLinkElements(parent) { var waitForRemove = []; var matcher = function matcher(node) { var shouldRemove = node.nodeType === Node.TEXT_NODE ? [linkReg, /https:\/\/pan\.baidu\.com/].some(function (reg) { return reg.test(node.textContent || ''); }) : [linkReg, /https:\/\/pan\.baidu\.com/].some(function (reg) { return reg.test(node.innerText); }); if (shouldRemove) { waitForRemove.push(node.nodeType === Node.TEXT_NODE ? node.parentElement : node); } }; parent.childNodes.forEach(matcher); matcher(parent); waitForRemove.forEach(function (el) { return safeRemove(el); }); } ;// ./projects/switch520-auto-secret/services/download-bypass.service.ts function download_bypass_service_typeof(o) { "@babel/helpers - typeof"; return download_bypass_service_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, download_bypass_service_typeof(o); } function download_bypass_service_regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ download_bypass_service_regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == download_bypass_service_typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(download_bypass_service_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } function download_bypass_service_asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function download_bypass_service_asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { download_bypass_service_asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { download_bypass_service_asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } /** * 下载跳过服务 * 跳过游戏下载站的"立即下载"二次点击过程,直接跳转到下载地址页 * * iframe 内预检查:post_id 在精细化黑名单时直接新标签页打开,避免 302 死循环 */ /** * 初始化下载跳过服务 */ function initDownloadBypassService() { initGamer520DownloadBypass(); } /** * gamer520 站点下载按钮直达 * 拦截下载按钮点击事件,直接跳转到下载页 * iframe 内若 post_id 在黑名单则新标签页打开,跳过 302 链 */ function initGamer520DownloadBypass() { useMatchDomain({ includes: ['gamer520.com'] }, /*#__PURE__*/download_bypass_service_asyncToGenerator(/*#__PURE__*/download_bypass_service_regeneratorRuntime().mark(function _callee2() { var downloadBtn, srcId; return download_bypass_service_regeneratorRuntime().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: if ((0,domain_matcher/* isHtmlPostPage */.zN)()) { _context2.next = 2; break; } return _context2.abrupt("return"); case 2: downloadBtn = document.querySelector('a.go-down'); if (downloadBtn) { _context2.next = 5; break; } return _context2.abrupt("return"); case 5: srcId = downloadBtn.dataset.id; downloadBtn === null || downloadBtn === void 0 || downloadBtn.addEventListener('click', /*#__PURE__*/function () { var _ref2 = download_bypass_service_asyncToGenerator(/*#__PURE__*/download_bypass_service_regeneratorRuntime().mark(function _callee(e) { var url; return download_bypass_service_regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: // useCapture=true 确保先于原页面监听器执行 // stopImmediatePropagation 彻底阻断同元素上其他监听器,避免原页面弹窗 e.preventDefault(); e.stopImmediatePropagation(); url = "https://".concat(location.host, "/go?post_id=").concat(srcId); // like.gamer520 子域新窗口打开 if (!location.host.includes('like.gamer520')) { _context.next = 6; break; } window.open(url); return _context.abrupt("return"); case 6: if (!(window.parent !== window.self)) { _context.next = 13; break; } _context.next = 9; return isPostIdBlacklisted(srcId); case 9: if (!_context.sent) { _context.next = 13; break; } console.log("[download-bypass] post_id=".concat(srcId, " \u5728\u9ED1\u540D\u5355\uFF0C\u65B0\u6807\u7B7E\u9875\u6253\u5F00")); download_bypass_service_notifyTopOpenTab(url); return _context.abrupt("return"); case 13: _context.next = 15; return GM.setValue(PENDING_SRC_KEY, srcId); case 15: location.href = url; case 16: case "end": return _context.stop(); } }, _callee); })); return function (_x) { return _ref2.apply(this, arguments); }; }(), true); // useCapture: true — 在捕获阶段拦截,先于原页面冒泡阶段监听器 case 7: case "end": return _context2.stop(); } }, _callee2); }))); } /** * 检查 post_id 是否在精细化黑名单中 */ function isPostIdBlacklisted(_x2) { return _isPostIdBlacklisted.apply(this, arguments); } /** * 通过 postMessage + 直接调用打开新标签页(双保险) */ function _isPostIdBlacklisted() { _isPostIdBlacklisted = download_bypass_service_asyncToGenerator(/*#__PURE__*/download_bypass_service_regeneratorRuntime().mark(function _callee3(postId) { var raw, list; return download_bypass_service_regeneratorRuntime().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return GM.getValue(BAD_POST_IDS_KEY, '[]'); case 2: raw = _context3.sent; list = JSON.parse(raw); return _context3.abrupt("return", list.includes(postId)); case 5: case "end": return _context3.stop(); } }, _callee3); })); return _isPostIdBlacklisted.apply(this, arguments); } function download_bypass_service_notifyTopOpenTab(url) { if (window.parent !== window.self) { window.parent.postMessage({ source: MSG_SOURCE, type: 'OPEN_TAB', url: url }, '*'); } window.open(url, '_blank'); } ;// ./projects/switch520-auto-secret/services/baidupan-auto-submit.service.ts /** * 百度网盘自动提交服务 * 在百度网盘分享页面自动点击"提取文件"按钮 */ /** * 初始化百度网盘自动提交服务 */ function initBaiduPanAutoSubmitService() { useMatchDomain({ hosts: ['pan.baidu.com'] }, function () { if (!location.href.startsWith('https://pan.baidu.com')) return; if (!location.href.includes('pwd=')) return; var submitBtn = document.getElementById('submitBtn'); if ((submitBtn === null || submitBtn === void 0 ? void 0 : submitBtn.innerText) === '提取文件') { submitBtn.click(); } }); } // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js var injectStylesIntoStyleTag = __webpack_require__(72); var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag); // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/styleDomAPI.js var styleDomAPI = __webpack_require__(825); var styleDomAPI_default = /*#__PURE__*/__webpack_require__.n(styleDomAPI); // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/insertBySelector.js var insertBySelector = __webpack_require__(659); var insertBySelector_default = /*#__PURE__*/__webpack_require__.n(insertBySelector); // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js var setAttributesWithoutAttributes = __webpack_require__(56); var setAttributesWithoutAttributes_default = /*#__PURE__*/__webpack_require__.n(setAttributesWithoutAttributes); // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/insertStyleElement.js var insertStyleElement = __webpack_require__(540); var insertStyleElement_default = /*#__PURE__*/__webpack_require__.n(insertStyleElement); // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/styleTagTransform.js var styleTagTransform = __webpack_require__(113); var styleTagTransform_default = /*#__PURE__*/__webpack_require__.n(styleTagTransform); // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./projects/switch520-auto-secret/Components/OpenInModal/antd.override.less var antd_override = __webpack_require__(259); ;// ./projects/switch520-auto-secret/Components/OpenInModal/antd.override.less var options = {}; options.styleTagTransform = (styleTagTransform_default()); options.setAttributes = (setAttributesWithoutAttributes_default()); options.insert = insertBySelector_default().bind(null, "head"); options.domAPI = (styleDomAPI_default()); options.insertStyleElement = (insertStyleElement_default()); var update = injectStylesIntoStyleTag_default()(antd_override/* default */.A, options); /* harmony default export */ const OpenInModal_antd_override = (antd_override/* default */.A && antd_override/* default */.A.locals ? antd_override/* default */.A.locals : undefined); // EXTERNAL MODULE: external "React" var external_React_ = __webpack_require__(594); var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_); ;// external "mobx" const external_mobx_namespaceObject = mobx; // EXTERNAL MODULE: external "ReactDOM" var external_ReactDOM_ = __webpack_require__(206); ;// ./node_modules/reaxes-react/esm/index.js var n={649:r=>{r.exports=external_React_}},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r);var i={};a.d(i,{W:()=>ze,i:()=>Ce});const u=(e=>{var r={};return a.d(r,e),r})({$mobx:()=>external_mobx_namespaceObject.$mobx,Reaction:()=>external_mobx_namespaceObject.Reaction,_allowStateChanges:()=>external_mobx_namespaceObject._allowStateChanges,_allowStateReadsEnd:()=>external_mobx_namespaceObject._allowStateReadsEnd,_allowStateReadsStart:()=>external_mobx_namespaceObject._allowStateReadsStart,configure:()=>external_mobx_namespaceObject.configure,createAtom:()=>external_mobx_namespaceObject.createAtom,getDependencyTree:()=>external_mobx_namespaceObject.getDependencyTree,isObservableArray:()=>external_mobx_namespaceObject.isObservableArray,isObservableMap:()=>external_mobx_namespaceObject.isObservableMap,isObservableObject:()=>external_mobx_namespaceObject.isObservableObject,makeObservable:()=>external_mobx_namespaceObject.makeObservable,untracked:()=>external_mobx_namespaceObject.untracked});var c=a(649);if(!c.useState)throw new Error("mobx-react-lite requires React with Hooks support");if(!u.makeObservable)throw new Error("mobx-react-lite@3 requires mobx at least version 6 to be available");const f=(e=>{var r={};return a.d(r,e),r})({unstable_batchedUpdates:()=>external_ReactDOM_.unstable_batchedUpdates});function l(e){e()}function s(e){return(0,u.getDependencyTree)(e)}var p="undefined"==typeof FinalizationRegistry?void 0:FinalizationRegistry;function y(e){return{reaction:e,mounted:!1,changedBeforeMount:!1,cleanAt:Date.now()+d}}var d=1e4;function b(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=function(e,r){if(!e)return;if("string"==typeof e)return m(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return m(e,r)}(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return i=e.done,e},e:function(e){u=!0,a=e},f:function(){try{i||null==t.return||t.return()}finally{if(u)throw a}}}}function m(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var v=p?function(e){var r=new Map,t=1,n=new e((function(e){var t=r.get(e);t&&(t.reaction.dispose(),r.delete(e))}));return{addReactionToTrack:function(e,o,a){var i=t++;return n.register(a,i,e),e.current=y(o),e.current.finalizationRegistryCleanupToken=i,r.set(i,e.current),e.current},recordReactionAsCommitted:function(e){n.unregister(e),e.current&&e.current.finalizationRegistryCleanupToken&&r.delete(e.current.finalizationRegistryCleanupToken)},forceCleanupTimerToRunNowForTests:function(){},resetCleanupScheduleForTests:function(){}}}(p):function(){var e,r=new Set;function t(){void 0===e&&(e=setTimeout(n,1e4))}function n(){e=void 0;var n=Date.now();r.forEach((function(e){var t=e.current;t&&n>=t.cleanAt&&(t.reaction.dispose(),e.current=null,r.delete(e))})),r.size>0&&t()}return{addReactionToTrack:function(e,n,o){var a;return e.current=y(n),a=e,r.add(a),t(),e.current},recordReactionAsCommitted:function(e){r.delete(e)},forceCleanupTimerToRunNowForTests:function(){e&&(clearTimeout(e),n())},resetCleanupScheduleForTests:function(){if(r.size>0){var t,n=b(r);try{for(n.s();!(t=n.n()).done;){var o=t.value,a=o.current;a&&(a.reaction.dispose(),o.current=null)}}catch(e){n.e(e)}finally{n.f()}r.clear()}e&&(clearTimeout(e),e=void 0)}}}(),h=v.addReactionToTrack,w=v.recordReactionAsCommitted,g=(v.resetCleanupScheduleForTests,v.forceCleanupTimerToRunNowForTests,!1);function S(){return g}var O=a(649);function j(e){return j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},j(e)}function R(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,o,a,i,u=[],c=!0,f=!1;try{if(a=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;c=!1}else for(;!(c=(n=a.call(t)).done)&&(u.push(n.value),u.length!==r);c=!0);}catch(e){f=!0,o=e}finally{try{if(!c&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(f)throw o}}return u}}(e,r)||function(e,r){if(!e)return;if("string"==typeof e)return T(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return T(e,r)}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function x(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,(o=n.key,a=void 0,a=function(e,r){if("object"!==j(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,r||"default");if("object"!==j(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(o,"string"),"symbol"===j(a)?a:String(a)),n)}var o,a}function P(e,r,t){return r&&x(e.prototype,r),t&&x(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function k(e){return"observer".concat(e)}var A=P((function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e)}));function E(){return new A}function esm_(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"observed";if(S())return e();var t=R(O.useState(E),1)[0],n=R(O.useState(),2)[1],o=function(){return n([])},a=O.useRef(null);if(!a.current)var i=new u.Reaction(k(r),(function(){c.mounted?o():c.changedBeforeMount=!0})),c=h(a,i,t);var f,l,p=a.current.reaction;if(O.useDebugValue(p,s),O.useEffect((function(){return w(a),a.current?(a.current.mounted=!0,a.current.changedBeforeMount&&(a.current.changedBeforeMount=!1,o())):(a.current={reaction:new u.Reaction(k(r),(function(){o()})),mounted:!0,changedBeforeMount:!1,cleanAt:1/0},o()),function(){a.current.reaction.dispose(),a.current=null}}),[]),p.track((function(){try{f=e()}catch(e){l=e}})),l)throw l;return f}var C="function"==typeof Symbol&&Symbol.for,$=C?Symbol.for("react.forward_ref"):"function"==typeof c.forwardRef&&(0,c.forwardRef)((function(e){return null})).$$typeof,M=C?Symbol.for("react.memo"):"function"==typeof c.memo&&(0,c.memo)((function(e){return null})).$$typeof;function U(e,r){var t;if(M&&e.$$typeof===M)throw new Error("[mobx-react-lite] You are trying to use `observer` on a function component wrapped in either another `observer` or `React.memo`. The observer already applies 'React.memo' for you.");if(S())return e;var n=null!==(t=null==r?void 0:r.forwardRef)&&void 0!==t&&t,o=e,a=e.displayName||e.name;if($&&e.$$typeof===$&&(n=!0,"function"!=typeof(o=e.render)))throw new Error("[mobx-react-lite] `render` property of ForwardRef was not a function");var i,u,f=function(e,r){return esm_((function(){return o(e,r)}),a)};return""!==a&&(f.displayName=a),e.contextTypes&&(f.contextTypes=e.contextTypes),n&&(f=(0,c.forwardRef)(f)),i=e,u=f=(0,c.memo)(f),Object.keys(i).forEach((function(e){N[e]||Object.defineProperty(u,e,Object.getOwnPropertyDescriptor(i,e))})),f}var N={$$typeof:!0,render:!0,compare:!0,type:!0,displayName:!0};var I=a(649);function D(e){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D(e)}function B(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,o,a,i,u=[],c=!0,f=!1;try{if(a=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;c=!1}else for(;!(c=(n=a.call(t)).done)&&(u.push(n.value),u.length!==r);c=!0);}catch(e){f=!0,o=e}finally{try{if(!c&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(f)throw o}}return u}}(e,r)||function(e,r){if(!e)return;if("string"==typeof e)return F(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return F(e,r)}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function z(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,(o=n.key,a=void 0,a=function(e,r){if("object"!==D(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,r||"default");if("object"!==D(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(o,"string"),"symbol"===D(a)?a:String(a)),n)}var o,a}function q(e,r,t){return r&&z(e.prototype,r),t&&z(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function W(e){return"observer".concat(e)}var H=q((function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e)}));function X(){return new H}function Y(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"observed",t=arguments.length>2?arguments[2]:void 0;if(S())return e();var n=B(I.useState(X),1)[0],o=B(I.useState(),2)[1],a=function(){return t.forceUpdate()},i=I.useRef(null);if(!i.current)var c=new u.Reaction(W(r),(function(){f.mounted?(a(),o([])):f.changedBeforeMount=!0})),f=h(i,c,n);var l,p,y=i.current.reaction;if(I.useDebugValue(y,s),I.useEffect((function(){return w(i),i.current?(i.current.mounted=!0,i.current.changedBeforeMount&&(i.current.changedBeforeMount=!1,a())):(i.current={reaction:new u.Reaction(W(r),(function(){a()})),mounted:!0,changedBeforeMount:!1,cleanAt:1/0},a()),function(){i.current.reaction.dispose(),i.current=null}}),[]),y.track((function(){try{l=e()}catch(e){p=e}})),p)throw p;return l}var L="function"==typeof Symbol&&Symbol.for,V=L?Symbol.for("react.forward_ref"):"function"==typeof c.forwardRef&&(0,c.forwardRef)((function(e){return null})).$$typeof,G=L?Symbol.for("react.memo"):"function"==typeof c.memo&&(0,c.memo)((function(e){return null})).$$typeof;function J(e,r){var t;if(G&&e.$$typeof===G)throw new Error("[mobx-react-lite] You are trying to use `observer` on a function component wrapped in either another `observer` or `React.memo`. The observer already applies 'React.memo' for you.");if(S())return e;var n=null!==(t=null==r?void 0:r.forwardRef)&&void 0!==t&&t,o=e,a=e.displayName||e.name;if(V&&e.$$typeof===V&&(n=!0,"function"!=typeof(o=e.render)))throw new Error("[mobx-react-lite] `render` property of ForwardRef was not a function");var i,u,f=function(e,r){return Y((function(){return o(e,r)}),a,e.instance)};return""!==a&&(f.displayName=a),e.contextTypes&&(f.contextTypes=e.contextTypes),n&&(f=(0,c.forwardRef)(f)),i=e,u=f,Object.keys(i).forEach((function(e){Q[e]||Object.defineProperty(u,e,Object.getOwnPropertyDescriptor(i,e))})),f}var K,Q={$$typeof:!0,render:!0,compare:!0,type:!0,displayName:!0};function Z(e,r,t){return(r=function(e){var r=function(e,r){if("object"!==ee(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,r||"default");if("object"!==ee(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"===ee(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function ee(e){return ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ee(e)}(K=f.unstable_batchedUpdates)||(K=l),(0,u.configure)({reactionScheduler:K});var re=0;var te={};function ne(e){return te[e]||(te[e]=function(e){if("function"==typeof Symbol)return Symbol(e);var r="__$mobx-react ".concat(e," (").concat(re,")");return re++,r}(e)),te[e]}function oe(e,r){if(ae(e,r))return!0;if("object"!==ee(e)||null===e||"object"!==ee(r)||null===r)return!1;var t=Object.keys(e),n=Object.keys(r);if(t.length!==n.length)return!1;for(var o=0;o<t.length;o++)if(!Object.hasOwnProperty.call(r,t[o])||!ae(e[t[o]],r[t[o]]))return!1;return!0}function ae(e,r){return e===r?0!==e||1/e==1/r:e!=e&&r!=r}function ie(e,r,t){Object.hasOwnProperty.call(e,r)?e[r]=t:Object.defineProperty(e,r,{enumerable:!1,configurable:!0,writable:!0,value:t})}var ue=ne("patchMixins"),ce=ne("patchedDefinition");function fe(e,r){for(var t=this,n=arguments.length,o=new Array(n>2?n-2:0),a=2;a<n;a++)o[a-2]=arguments[a];r.locks++;try{var i;return null!=e&&(i=e.apply(this,o)),i}finally{r.locks--,0===r.locks&&r.methods.forEach((function(e){e.apply(t,o)}))}}function le(e,r){return function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];fe.call.apply(fe,[this,e,r].concat(n))}}function se(e,r,t){var n=function(e,r){var t=e[ue]=e[ue]||{},n=t[r]=t[r]||{};return n.locks=n.locks||0,n.methods=n.methods||[],n}(e,r);n.methods.indexOf(t)<0&&n.methods.push(t);var o=Object.getOwnPropertyDescriptor(e,r);if(!o||!o[ce]){var a=e[r],i=pe(e,r,o?o.enumerable:void 0,n,a);Object.defineProperty(e,r,i)}}function pe(e,r,t,n,o){var a,i=le(o,n);return Z(a={},ce,!0),Z(a,"get",(function(){return i})),Z(a,"set",(function(o){if(this===e)i=le(o,n);else{var a=pe(this,r,t,n,o);Object.defineProperty(this,r,a)}})),Z(a,"configurable",!0),Z(a,"enumerable",t),a}var ye=u.$mobx||"$mobx",de=ne("isMobXReactObserver"),be=ne("isUnmounted"),me=ne("skipRender"),ve=ne("isForcingUpdate");function he(e){var r=e.prototype;if(e[de]){var t=we(r);console.warn("The provided component class (".concat(t,")\n has already been declared as an observer component."))}else e[de]=!0;if(r.componentWillReact)throw new Error("The componentWillReact life-cycle event is no longer supported");if(e.__proto__!==c.PureComponent)if(r.shouldComponentUpdate){if(r.shouldComponentUpdate!==Se)throw new Error("It is not allowed to use shouldComponentUpdate in observer based components.")}else r.shouldComponentUpdate=Se;Oe(r,"props"),Oe(r,"state"),e.contextType&&Oe(r,"context");var n=r.render;if("function"!=typeof n){var o=we(r);throw new Error("[mobx-react] class component (".concat(o,") is missing `render` method.")+"\n`observer` requires `render` being a function defined on prototype.\n`render = () => {}` or `render = function() {}` is not supported.")}return r.render=function(){return ge.call(this,n)},se(r,"componentWillUnmount",(function(){var e;if(!0!==S()&&(null===(e=this.render[ye])||void 0===e||e.dispose(),this[be]=!0,!this.render[ye])){var r=we(this);console.warn("The reactive render of an observer class component (".concat(r,")\n was overriden after MobX attached. This may result in a memory leak if the\n overriden reactive render was not properly disposed."))}})),e}function we(e){return e.displayName||e.name||e.constructor&&(e.constructor.displayName||e.constructor.name)||"<component>"}function ge(e){var r=this;if(!0===S())return e.call(this);ie(this,me,!1),ie(this,ve,!1);var t=we(this),n=e.bind(this),o=!1,a=new u.Reaction("".concat(t,".render()"),(function(){if(!o&&(o=!0,!0!==r[be])){var e=!0;try{ie(r,ve,!0),r[me]||c.Component.prototype.forceUpdate.call(r),e=!1}finally{ie(r,ve,!1),e&&a.dispose()}}}));function i(){o=!1;var e=void 0,r=void 0;if(a.track((function(){try{r=(0,u._allowStateChanges)(!1,n)}catch(r){e=r}})),e)throw e;return r}return a.reactComponent=this,i[ye]=a,this.render=i,i.call(this)}function Se(e,r){return S()&&console.warn("[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side."),this.state!==r||!oe(this.props,e)}function Oe(e,r){var t=ne("reactProp_".concat(r,"_valueHolder")),n=ne("reactProp_".concat(r,"_atomHolder"));function o(){return this[n]||ie(this,n,(0,u.createAtom)("reactive "+r)),this[n]}Object.defineProperty(e,r,{configurable:!0,enumerable:!0,get:function(){var e=!1;return u._allowStateReadsStart&&u._allowStateReadsEnd&&(e=(0,u._allowStateReadsStart)(!0)),o.call(this).reportObserved(),u._allowStateReadsStart&&u._allowStateReadsEnd&&(0,u._allowStateReadsEnd)(e),this[t]},set:function(e){this[ve]||oe(this[t],e)?ie(this,t,e):(ie(this,t,e),ie(this,me,!0),o.call(this).reportChanged(),ie(this,me,!1))}})}var je=a(649);je.createContext({});ne("disposeOnUnmountProto"),ne("disposeOnUnmountInst");function Re(e){return Re="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Re(e)}function Te(e){function r(r,t,n,o,a,i){for(var c=arguments.length,f=new Array(c>6?c-6:0),l=6;l<c;l++)f[l-6]=arguments[l];return(0,u.untracked)((function(){if(o=o||"<<anonymous>>",i=i||n,null==t[n]){if(r){var u=null===t[n]?"null":"undefined";return new Error("The "+a+" `"+i+"` is marked as required in `"+o+"`, but its value is `"+u+"`.")}return null}return e.apply(void 0,[t,n,o,a,i].concat(f))}))}var t=r.bind(null,!1);return t.isRequired=r.bind(null,!0),t}function xe(e){var r=Re(e);return Array.isArray(e)?"array":e instanceof RegExp?"object":function(e,r){return"symbol"===e||"Symbol"===r["@@toStringTag"]||"function"==typeof Symbol&&r instanceof Symbol}(r,e)?"symbol":r}function Pe(e,r){return Te((function(t,n,o,a,i){return(0,u.untracked)((function(){if(e&&xe(t[n])===r.toLowerCase())return null;var a;switch(r){case"Array":a=u.isObservableArray;break;case"Object":a=u.isObservableObject;break;case"Map":a=u.isObservableMap;break;default:throw new Error("Unexpected mobxType: ".concat(r))}var c=t[n];if(!a(c)){var f=function(e){var r=xe(e);if("object"===r){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return r}(c),l=e?" or javascript `"+r.toLowerCase()+"`":"";return new Error("Invalid prop `"+i+"` of type `"+f+"` supplied to `"+o+"`, expected `mobx.Observable"+r+"`"+l+".")}return null}))}))}function ke(e,r){return Te((function(t,n,o,a,i){for(var c=arguments.length,f=new Array(c>5?c-5:0),l=5;l<c;l++)f[l-5]=arguments[l];return(0,u.untracked)((function(){if("function"!=typeof r)return new Error("Property `"+i+"` of component `"+o+"` has invalid PropType notation.");var u=Pe(e,"Array")(t,n,o,a,i);if(u instanceof Error)return u;for(var c=t[n],l=0;l<c.length;l++)if((u=r.apply(void 0,[c,l,o,a,i+"["+l+"]"].concat(f)))instanceof Error)return u;return null}))}))}Pe(!1,"Array"),ke.bind(null,!1),Pe(!1,"Map"),Pe(!1,"Object"),Pe(!0,"Array"),ke.bind(null,!0),Pe(!0,"Object");var Ae=a(649);function Ee(e){var r;if(null===(r=e.prototype)||void 0===r||!r.render)return U(e);if(Object.getOwnPropertySymbols(e).find((function(e){return"isMobXReactObserver"===e.description})))return e;var t=e.prototype.render;function n(e,r){var n=e.instance;return t.call(n)}var o=e.displayName||e.name||"Component";n.displayName=o+"Hooks";var a,i=J(n);return e.prototype.render=function(){return Ae.createElement(i,{instance:this})},!0===(a=e).isMobxInjector&&console.warn("Mobx observer: You are trying to use `observer` on a component that already has `inject`. Please apply `observer` before applying `inject`"),he(a)}var _e=Symbol(""),Ce=function(e){if(e.hasOwnProperty(_e))return e;var r,t=((r=[Ee]).length,1===r.length?r[0]:r.reduce((function(e,r){return function(){return e(r.apply(void 0,arguments))}})))(e);return t[_e]=!0,t};function $e(e){return $e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$e(e)}function Me(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Fe(n.key),n)}}function Ue(e,r){return Ue=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,r){return e.__proto__=r,e},Ue(e,r)}function Ne(e){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var t,n=De(e);if(r){var o=De(this).constructor;t=Reflect.construct(n,arguments,o)}else t=n.apply(this,arguments);return function(e,r){if(r&&("object"===$e(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return Ie(e)}(this,t)}}function Ie(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function De(e){return De=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},De(e)}function Be(e,r,t){return(r=Fe(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function Fe(e){var r=function(e,r){if("object"!==$e(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,r||"default");if("object"!==$e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"===$e(r)?r:String(r)}var ze=function(){!function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&Ue(e,r)}(o,c.Component);var e,r,t,n=Ne(o);function o(){var e;!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,o);for(var r=arguments.length,t=new Array(r),a=0;a<r;a++)t[a]=arguments[a];return Be(Ie(e=n.call.apply(n,[this].concat(t))),"mountedStack",[]),Be(Ie(e),"unmountStack",[]),Be(Ie(e),"updatedStack",[]),Be(Ie(e),"renderedStack",[]),e}return e=o,r&&Me(e.prototype,r),t&&Me(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(),qe=i.W,We=i.i; //# sourceMappingURL=index.js.map ;// ./node_modules/reaxes-utils/esm/index.js var t={d:(r,e)=>{for(var n in e)t.o(e,n)&&!t.o(r,n)&&Object.defineProperty(r,n,{enumerable:!0,get:e[n]})},o:(t,r)=>Object.prototype.hasOwnProperty.call(t,r)},r={};function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function esm_n(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function esm_o(t,r,n){return(r=function(t){var r=function(t,r){if("object"!==e(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,r||"default");if("object"!==e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"===e(r)?r:String(r)}(r))in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}t.d(r,{M4:()=>esm_L,vA:()=>esm_F,fK:()=>esm_Y,Yu:()=>esm_R,hl:()=>esm_z,cc:()=>esm_K,De:()=>esm_G,Zp:()=>esm_l,hT:()=>esm_b,mA:()=>esm_Q,G4:()=>esm_U,xP:()=>esm_P,bN:()=>esm_u,IW:()=>esm_i,a6:()=>esm_a});var esm_i=function(t){var r=Object.keys(t),e=r.map((function(r){return t[r]}));return Promise.all(e).then((function(e){for(var i=function(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?esm_n(Object(e),!0).forEach((function(r){esm_o(t,r,e[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):esm_n(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}))}return t}({},t),a=0,c=r;a<c.length;a++){var u=c[a];i[u]=e[u]}return i}))},esm_a=function(t){var r,e,n=new Promise((function(n,o){r=n,e=o,"function"==typeof t&&t(n,o)}));return Object.assign(n,{resolve:r,reject:e})};function esm_c(t){return esm_c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},esm_c(t)}function esm_u(t,r,e,n){var o=e?e.call(n,t,r):void 0;if(void 0!==o)return!!o;if(t===r)return!0;if("object"!==esm_c(t)||!t||"object"!==esm_c(r)||!r)return!1;var i=Object.keys(t),a=Object.keys(r);if(i.length!==a.length)return!1;for(var u=Object.prototype.hasOwnProperty.bind(r),l=0;l<i.length;l++){var f=i[l];if(!u(f))return!1;var s=t[f],y=r[f];if(!1===(o=e?e.call(n,s,y,f):void 0)||void 0===o&&s!==y)return!1}return!0}var esm_l=function(t){var r;switch(!0){case"function"==typeof queueMicrotask:r=queueMicrotask;break;case!("function"!=typeof Promise||!Promise.resolve):r=function(t){return Promise.resolve().then(t)};break;default:r=setTimeout}r(t)};function esm_f(t){return function(t){if(Array.isArray(t))return esm_s(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,r){if(!t)return;if("string"==typeof t)return esm_s(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return esm_s(t,r)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function esm_s(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var esm_y=function(t){return t.replace(/([A-Z])/g,"-$1").toLowerCase()},esm_p=function(t){for(var r=arguments.length,e=new Array(r>1?r-1:0),n=1;n<r;n++)e[n-1]=arguments[n];return e.reduce((function(t,r,e){return t[0]+="string"==typeof r?r:(t.push(r),"%o"),t}),["%c",t])},esm_b=new Proxy((function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(){var r,e=Object.keys(t).reduce((function(r,e){return"".concat(r).concat(String(esm_y(e)),":").concat(t[e],";")}),"");e.includes("font-weight")||(e+="font-weight:normal;");for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];(r=console).groupCollapsed.apply(r,esm_f(esm_p.apply(void 0,[e].concat(o)))),console.trace("%c","font-weight:normal;"),console.groupEnd()}}),{get:function(t,r,e){if(["prototype","hasOwnProperty","toString","prototype","length","name","arguments","constructor","isPrototypeOf","apply","call","bind"].includes(r))return t[r];var n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"trace";return new Proxy((function(){for(var e,n,o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];return"trace"===t?((n=console).groupCollapsed.apply(n,esm_f(esm_p.apply(void 0,["color:".concat(r,";font-weight:normal;")].concat(i)))),console.trace("%c","font-weight:normal;"),void console.groupEnd()):(e=console)[t].apply(e,esm_f(esm_p.apply(void 0,["color:".concat(r)].concat(i))))}),{get:function(e,n,o){return function(){for(var e,o,i=arguments.length,a=new Array(i),c=0;c<i;c++)a[c]=arguments[c];if("trace"===t)return(o=console).groupCollapsed.apply(o,esm_f(esm_p.apply(void 0,["color:".concat(n,";font-weight:normal;")].concat(a)))),console.trace("%c","font-weight:normal;"),void console.groupEnd();if("apply"===n){var u,l,s=a[1];return"trace"===t?((l=console).groupCollapsed.apply(l,esm_f(esm_p.apply(void 0,["color:".concat(r)].concat(esm_f(s))))),console.trace("%c","font-weight:normal;"),void console.groupEnd()):(u=console)[t].apply(u,esm_f(esm_p.apply(void 0,["color:".concat(r)].concat(esm_f(s)))))}return(e=console)[t].apply(e,esm_f(esm_p.apply(void 0,["color:".concat(n.toString())].concat(a))))}}})};return["trace","warn","log","info","error","debug","assert","clear","count","countReset","dir","dirxml","table"].includes(r)?n(r):n("trace")}});function esm_v(t){return function(t){if(Array.isArray(t))return esm_h(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||esm_m(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function esm_m(t,r){if(t){if("string"==typeof t)return esm_h(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?esm_h(t,r):void 0}}function esm_h(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var esm_d,esm_g,esm_w,esm_S,esm_j,esm_O,esm_A,esm_P=function(t){for(var r=arguments.length,e=new Array(r>1?r-1:0),n=1;n<r;n++)e[n-1]=arguments[n];return[t].concat(esm_v(e.map((function(r){if("function"==typeof r)return r(t)}))))},esm_T=esm_P({a:1,b:2},(function(t){return[t.a,"sdad"]})),esm_k=(esm_g=2,function(t){if(Array.isArray(t))return t}(esm_d=esm_T)||function(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(e=e.call(t)).next,0===r){if(Object(e)!==e)return;u=!1}else for(;!(u=(n=i.call(e)).done)&&(c.push(n.value),c.length!==r);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(esm_d,esm_g)||esm_m(esm_d,esm_g)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());esm_k[0],esm_k[1];function esm_E(t){return esm_E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},esm_E(t)}function esm_x(t,r){for(var e=0;e<r.length;e++){var n=r[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,esm_I(n.key),n)}}function esm_I(t){var r=function(t,r){if("object"!==esm_E(t)||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,r||"default");if("object"!==esm_E(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"===esm_E(r)?r:String(r)}function esm_M(t,r,e){!function(t,r){if(r.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t,r),r.set(t,e)}function esm_C(t,r){return function(t,r){if(r.get)return r.get.call(t);return r.value}(t,esm_D(t,r,"get"))}function esm_W(t,r,e){return function(t,r,e){if(r.set)r.set.call(t,e);else{if(!r.writable)throw new TypeError("attempted to set read only private field");r.value=e}}(t,esm_D(t,r,"set"),e),e}function esm_D(t,r,e){if(!r.has(t))throw new TypeError("attempted to "+e+" private field on non-instance");return r.get(t)}var esm_L=(esm_w=new WeakMap,esm_S=new WeakMap,esm_j=new WeakMap,esm_O=new WeakMap,esm_A=new WeakMap,function(){function t(){var r=this;!function(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,t),esm_M(this,esm_w,{writable:!0,value:[]}),esm_M(this,esm_S,{writable:!0,value:0}),esm_M(this,esm_j,{writable:!0,value:void 0}),esm_M(this,esm_O,{writable:!0,value:void 0}),esm_M(this,esm_A,{writable:!0,value:!1}),function(t,r,e){(r=esm_I(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e}(this,"start",(function(t){return t<=0?console.error("timer.start值是负数! :>",t):!0!==esm_C(r,esm_A)?(esm_W(r,esm_S,t),esm_C(r,esm_j).call(r),r):void 0}));esm_W(this,esm_j,(function t(){esm_W(r,esm_A,!0),esm_C(r,esm_S)>=1e3?esm_W(r,esm_O,setTimeout((function(){esm_W(r,esm_S,esm_C(r,esm_S)-1e3),t(),esm_C(r,esm_w).forEach((function(t){try{t(esm_C(r,esm_S))}catch(r){console.error(r,"Timer 订阅运行时错误: 当前执行函数名>".concat(t.name))}}))}),1e3)):(esm_W(r,esm_O,setTimeout((function(){esm_W(r,esm_S,0),esm_C(r,esm_w).forEach((function(t){try{t(esm_C(r,esm_S))}catch(r){console.error(r,"Timer 订阅运行时错误: 当前执行函数名>".concat(t.name))}}))}),esm_C(r,esm_S))),esm_W(r,esm_A,!1)),esm_C(r,esm_w).forEach((function(t){try{t(esm_C(r,esm_S))}catch(r){console.error(r,"Timer 订阅运行时错误: 当前执行函数名>".concat(t.name))}}))}))}var r,e,n;return r=t,(e=[{key:"subscribe",value:function(t){return!esm_C(this,esm_w).includes(t)&&esm_C(this,esm_w).push(t),this}},{key:"unsubscribe",value:function(t){return esm_C(this,esm_w).splice(esm_C(this,esm_w).indexOf(t),1),this}},{key:"destroy",value:function(){}},{key:"stop",value:function(){return clearTimeout(esm_C(this,esm_O)),esm_W(this,esm_S,0),esm_W(this,esm_A,!1),this}}])&&esm_x(r.prototype,e),n&&esm_x(r,n),Object.defineProperty(r,"prototype",{writable:!1}),t}());function esm_N(t){return esm_N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},esm_N(t)}function esm_$(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(e=e.call(t)).next,0===r){if(Object(e)!==e)return;u=!1}else for(;!(u=(n=i.call(e)).done)&&(c.push(n.value),c.length!==r);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,r)||function(t,r){if(!t)return;if("string"==typeof t)return esm_q(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return esm_q(t,r)}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function esm_q(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var esm_Q=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:location.href;try{if(t.includes("?")){var r=esm_$(t.split("?"),2);t=r[1]}if(t.includes("/")){var e=esm_$(t.split("/"),1);t=e[0]}if(!t.includes("="))return{};if(t.includes("&"))return t.split("&").reduce((function(t,r){var e=esm_$(r.split("="),2),n=e[0],o=e[1];return t[n]=o,t}),{});var n={},o=esm_$(t.split("="),2),i=o[0],a=o[1];return n[i]=a,n}catch(r){throw console.error("decodeQueryString -> 转换失败 , 原始字符串为 : ".concat(t)),console.error(r),""}},esm_U=function(t){var r="";for(var e in t){var n=t[e];if("object"===esm_N(n)&&null!==n)throw"暂不支持嵌套对象";if("symbol"===esm_N(e))throw"不支持key为Symbol";r="".concat(r).concat(r&&"&").concat(e,"=").concat(n)}return r},esm_Z=function(t){return"string"==typeof t?'"'.concat(t,'"'):t},esm_F=function(t,r){for(var e=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=0;n<r.length;n++){var o=r[n];if(o!==t)return e&&esm_b.coral("断言组第 ",n," 个表达式不符合预期为 ",esm_Z(t)," 的结果, expressionList[",n,"]: ",esm_Z(o)),!1}return!0},esm_G=function(t){return esm_F(!0,t,arguments.length>1&&void 0!==arguments[1]&&arguments[1])},esm_K=function(t){return esm_F(!1,t,arguments.length>1&&void 0!==arguments[1]&&arguments[1])},esm_Y=function(t,r){for(var e=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=0;n<r.length;n++){var o=r[n];if(o===t)return e&&esm_b["#81cc00"]("断言组第 ",n," 个表达式符合预期为 ",esm_Z(t)," 的结果, expressionList[",n,"]: ",esm_Z(o)),!0}return e&&esm_b.coral("断言组每个值都不符合预期为 ",esm_Z(t)," 的结果, expressionList: ",esm_Z(r)),!1},esm_z=function(t){return esm_Y(!0,t,arguments.length>1&&void 0!==arguments[1]&&arguments[1])},esm_R=function(t){return esm_Y(!1,t,arguments.length>1&&void 0!==arguments[1]&&arguments[1])},esm_B=r.M4,esm_H=r.vA,esm_J=r.fK,esm_V=r.Yu,esm_X=r.hl,reaxes_utils_esm_=r.cc,tt=r.De,rt=r.Zp,et=r.hT,nt=r.mA,ot=r.G4,it=r.xP,at=r.bN,ct=r.IW,ut=r.a6; //# sourceMappingURL=index.js.map ;// ./node_modules/reaxes/esm/index.js var reaxes_esm_n={d:(e,t)=>{for(var r in t)reaxes_esm_n.o(t,r)&&!reaxes_esm_n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},reaxes_esm_o={};reaxes_esm_n.d(reaxes_esm_o,{pt:()=>reaxes_esm_d,Hp:()=>reaxes_esm_i,MM:()=>reaxes_esm_l,uh:()=>reaxes_esm_f,WW:()=>reaxes_esm_c});const reaxes_esm_a=(e=>{var t={};return reaxes_esm_n.d(t,e),t})({action:()=>external_mobx_namespaceObject.action,observable:()=>external_mobx_namespaceObject.observable,reaction:()=>external_mobx_namespaceObject.reaction});const reaxes_esm_u=(e=>{var t={};return reaxes_esm_n.d(t,e),t})({default:()=>(external_default())});var reaxes_esm_i=function(e){var t=(0,reaxes_esm_a.observable)(e),r=(0,reaxes_esm_a.action)((function(e,t){for(var r=0,n=Object.keys(t);r<n.length;r++){var o=n[r];e.hasOwnProperty(o)&&(e[o]=t[o])}return e})),n=(0,reaxes_esm_a.action)((function(e,t){return reaxes_esm_u.default.merge(e,t)}));return{store:t,mutate:function(e){return(0,reaxes_esm_a.action)((function(){return e(t)}))(),t},setState:function(e){return r(t,e)},mergeState:function(e){return n(t,e)}}},reaxes_esm_c=function(e){return e()};const reaxes_esm_s=(e=>{var t={};return reaxes_esm_n.d(t,e),t})({shallowEqual:()=>at,xPromise:()=>ut});function reaxes_esm_f(e,t){var r=reaxes_esm_s.xPromise(),n=function(){return r.then((function(e){return e()}))};return function(e){var t,r,n;t="undefined"!=typeof window?null!==(r=null!==(n=window.queueMicrotask)&&void 0!==n?n:window.Promise&&window.Promise.resolve().then)&&void 0!==r?r:function(e){return window.setTimeout(e,0)}:"undefined"!=typeof process&&process.nextTick?process.nextTick:function(e){return setTimeout(e,0)};t(e)}((function(){var o=t(),u=(0,reaxes_esm_a.reaction)(t,(function(t,r){!reaxes_esm_s.shallowEqual(t,o)&&(e(!1,n),o=t)}));e(!0,n),r.resolve(u)})),n}function reaxes_esm_l(e,t){var r=t();return Object.assign((function(t){var n=t();return function(){if(!reaxes_esm_s.shallowEqual(r,n))return e.apply(void 0,arguments)}}),{resetDeps:function(){r=t()}})}function reaxes_esm_d(e,t){if(!reaxes_esm_u.default.isObject(e))throw"the store argument must be a Mobx observed object";t&&reaxes_esm_u.default.isArray(t)&&t.length?t.forEach((function(t){return e[t]})):Object.getOwnPropertyNames(e).forEach((function(t){return e[t]}))}var reaxes_esm_v=reaxes_esm_o.pt,reaxes_esm_p=reaxes_esm_o.Hp,reaxes_esm_b=reaxes_esm_o.MM,reaxes_esm_m=reaxes_esm_o.uh,reaxes_esm_w=reaxes_esm_o.WW; //# sourceMappingURL=index.js.map ;// external "antd" const external_antd_namespaceObject = antd; ;// ./projects/switch520-auto-secret/Components/OpenInModal/reaxel.tsx /* provided dependency */ var switch520_auto_secret_React = __webpack_require__(594); function reaxel_typeof(o) { "@babel/helpers - typeof"; return reaxel_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, reaxel_typeof(o); } function reaxel_toConsumableArray(r) { return reaxel_arrayWithoutHoles(r) || reaxel_iterableToArray(r) || reaxel_unsupportedIterableToArray(r) || reaxel_nonIterableSpread(); } function reaxel_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function reaxel_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return reaxel_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? reaxel_arrayLikeToArray(r, a) : void 0; } } function reaxel_iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } function reaxel_arrayWithoutHoles(r) { if (Array.isArray(r)) return reaxel_arrayLikeToArray(r); } function reaxel_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function reaxel_regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ reaxel_regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == reaxel_typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(reaxel_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } function reaxel_asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function reaxel_asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { reaxel_asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { reaxel_asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var reaxel_OpenInModal = reaxes_esm_w(function () { var _createReaxable = reaxes_esm_p({ modalOpened: false, iframeURL: null }), store = _createReaxable.store, setState = _createReaxable.setState; useMatchDomain({ includes: ['gamer520'] }, function () { var mountContainerListener = /*#__PURE__*/function () { var _ref = reaxel_asyncToGenerator(/*#__PURE__*/reaxel_regeneratorRuntime().mark(function _callee2(container) { var cardElements; return reaxel_regeneratorRuntime().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: cardElements = Array.from(container.children); container === null || container === void 0 || container.addEventListener('click', /*#__PURE__*/function () { var _ref2 = reaxel_asyncToGenerator(/*#__PURE__*/reaxel_regeneratorRuntime().mark(function _callee(e) { var cardEl, _cardEl$querySelector, href; return reaxel_regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return GM.getValue('options::modal-mode', true); case 2: if (_context.sent) { _context.next = 4; break; } return _context.abrupt("return"); case 4: e.preventDefault(); e.stopPropagation(); cardEl = e.composedPath().find(function (p) { return cardElements.includes(p); }); if (cardEl) { _cardEl$querySelector = cardEl.querySelector('a'), href = _cardEl$querySelector.href; setState({ iframeURL: href, modalOpened: true }); } case 8: case "end": return _context.stop(); } }, _callee); })); return function (_x2) { return _ref2.apply(this, arguments); }; }()); case 2: case "end": return _context2.stop(); } }, _callee2); })); return function mountContainerListener(_x) { return _ref.apply(this, arguments); }; }(); if (location.pathname === '/') { var containerEl = document.querySelector('div.row.cat-posts-wrapper'); mountContainerListener(containerEl); } if (!(0,domain_matcher/* isHtmlPostPage */.zN)()) { var _containerEl = document.querySelector('.posts-wrapper'); mountContainerListener(_containerEl); } }); useMatchDomain({ includes: ['xxxxx520'] }, function () { if (!(0,domain_matcher/* isHtmlPostPage */.zN)()) { var containerEl = document.querySelector('.row.posts-wrapper.scroll'); containerEl === null || containerEl === void 0 || containerEl.addEventListener('click', /*#__PURE__*/function () { var _ref3 = reaxel_asyncToGenerator(/*#__PURE__*/reaxel_regeneratorRuntime().mark(function _callee3(e) { var cardEl, _cardEl$querySelector2, href; return reaxel_regeneratorRuntime().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return GM.getValue('options::modal-mode', true); case 2: if (_context3.sent) { _context3.next = 4; break; } return _context3.abrupt("return"); case 4: e.preventDefault(); e.stopPropagation(); // console.log('bbbbbbbbbbbbb' , e.composedPath()); cardEl = e.composedPath().find(function (p) { return reaxel_toConsumableArray(containerEl.children).includes(p); }); if (cardEl) { _cardEl$querySelector2 = cardEl.querySelector('a'), href = _cardEl$querySelector2.href; setState({ iframeURL: href, modalOpened: true }); } case 8: case "end": return _context3.stop(); } }, _callee3); })); return function (_x3) { return _ref3.apply(this, arguments); }; }()); } }); useMatchDomain({ includes: ['switch618'] }, function () { if (!(0,domain_matcher/* isHtmlPostPage */.zN)()) { var mainEl = document.querySelector('.main'); mainEl === null || mainEl === void 0 || mainEl.addEventListener('click', /*#__PURE__*/function () { var _ref4 = reaxel_asyncToGenerator(/*#__PURE__*/reaxel_regeneratorRuntime().mark(function _callee4(e) { var cardEl, id; return reaxel_regeneratorRuntime().wrap(function _callee4$(_context4) { while (1) switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return GM.getValue('options::modal-mode', true); case 2: if (_context4.sent) { _context4.next = 4; break; } return _context4.abrupt("return"); case 4: cardEl = e.composedPath().find(function (p) { var _p$dataset; return !!((_p$dataset = p.dataset) !== null && _p$dataset !== void 0 && _p$dataset.id) && p.className === 'post grid'; }); if (cardEl) { e.preventDefault(); e.stopPropagation(); id = cardEl.dataset.id; setState({ iframeURL: "https://www.switch618.com/".concat(id, ".html"), modalOpened: true }); } case 6: case "end": return _context4.stop(); } }, _callee4); })); return function (_x4) { return _ref4.apply(this, arguments); }; }()); } else { document.querySelectorAll('a').forEach(function (el) { if (el.innerText === ' 立即下载') { el.addEventListener('click', function (e) { e.preventDefault(); location.href = el.href; }); } }); } }); useMatchDomain({ includes: ['fzgamer'] }, function () { console.log('[fzgamer-modal] 初始化 fzgamer 弹窗监听器'); // 监听 .widget-ajaxpager 和 .ajaxpager 容器(兼容不同页面结构) var containerEls = document.querySelectorAll('.widget-ajaxpager, .ajaxpager'); console.log('[fzgamer-modal] 找到 .widget-ajaxpager/.ajaxpager 容器数量:', containerEls.length); containerEls.forEach(function (containerEl, index) { console.log("[fzgamer-modal] \u4E3A\u5BB9\u5668[".concat(index, "] \u6DFB\u52A0\u70B9\u51FB\u76D1\u542C\u5668:"), containerEl.className); containerEl.addEventListener('click', /*#__PURE__*/function () { var _ref5 = reaxel_asyncToGenerator(/*#__PURE__*/reaxel_regeneratorRuntime().mark(function _callee5(e) { var modalModeEnabled, path, cardEl, linkEl; return reaxel_regeneratorRuntime().wrap(function _callee5$(_context5) { while (1) switch (_context5.prev = _context5.next) { case 0: console.log('[fzgamer-modal] ⚡ 容器被点击!容器类名:', containerEl.className); console.log('[fzgamer-modal] 容器元素:', containerEl); console.log('[fzgamer-modal] 事件目标:', e.target); _context5.next = 5; return GM.getValue('options::modal-mode', true); case 5: modalModeEnabled = _context5.sent; console.log('[fzgamer-modal] modal-mode 状态:', modalModeEnabled); if (modalModeEnabled) { _context5.next = 10; break; } console.log('[fzgamer-modal] modal-mode 已关闭,跳过处理'); return _context5.abrupt("return"); case 10: path = e.composedPath(); console.log('[fzgamer-modal] 点击路径:', path); cardEl = path.find(function (p) { var _p$classList, _p$classList2, _p$classList3; var isPostsItem = p.tagName === 'POSTS' && ((_p$classList = p.classList) === null || _p$classList === void 0 ? void 0 : _p$classList.contains('posts-item')); var isPostsMini = ((_p$classList2 = p.classList) === null || _p$classList2 === void 0 ? void 0 : _p$classList2.contains('posts-mini')) && ((_p$classList3 = p.classList) === null || _p$classList3 === void 0 ? void 0 : _p$classList3.contains('ajax-item')); console.log('[fzgamer-modal] 🔍 检查元素:', p.tagName, p.className, '=> isPostsItem:', isPostsItem, 'isPostsMini:', isPostsMini); return isPostsItem || isPostsMini; }); console.log('[fzgamer-modal] 查找结果 cardEl:', cardEl); if (cardEl) { console.log('[fzgamer-modal] 找到卡片元素:', cardEl.tagName, cardEl.className); e.preventDefault(); e.stopPropagation(); linkEl = cardEl.querySelector('.item-thumbnail a, .item-heading a, a'); console.log('[fzgamer-modal] 查找链接元素:', linkEl); if (linkEl && linkEl.href) { console.log('[fzgamer-modal] 找到链接:', linkEl.href); setState({ iframeURL: linkEl.href, modalOpened: true }); } else { console.log('[fzgamer-modal] 未找到有效链接'); } } else { console.log('[fzgamer-modal] 未找到匹配的卡片元素'); } case 15: case "end": return _context5.stop(); } }, _callee5); })); return function (_x5) { return _ref5.apply(this, arguments); }; }()); }); // 监听 .zib-widget.hot-posts 容器 var hotPostsContainers = document.querySelectorAll('.zib-widget.hot-posts'); console.log('[fzgamer-modal] 找到 .zib-widget.hot-posts 容器数量:', hotPostsContainers.length); hotPostsContainers.forEach(function (containerEl, index) { console.log("[fzgamer-modal] \u4E3A .zib-widget.hot-posts[".concat(index, "] \u6DFB\u52A0\u70B9\u51FB\u76D1\u542C\u5668")); containerEl.addEventListener('click', /*#__PURE__*/function () { var _ref6 = reaxel_asyncToGenerator(/*#__PURE__*/reaxel_regeneratorRuntime().mark(function _callee6(e) { var modalModeEnabled, path, cardEl, linkEl; return reaxel_regeneratorRuntime().wrap(function _callee6$(_context6) { while (1) switch (_context6.prev = _context6.next) { case 0: console.log('[fzgamer-modal] .zib-widget.hot-posts 容器被点击'); _context6.next = 3; return GM.getValue('options::modal-mode', true); case 3: modalModeEnabled = _context6.sent; console.log('[fzgamer-modal] modal-mode 状态:', modalModeEnabled); if (modalModeEnabled) { _context6.next = 8; break; } console.log('[fzgamer-modal] modal-mode 已关闭,跳过处理'); return _context6.abrupt("return"); case 8: path = e.composedPath(); console.log('[fzgamer-modal] 点击路径:', path); cardEl = path.find(function (p) { var _p$classList4, _p$classList5; var isDirectChild = p.parentElement === containerEl; var isHotPostCard = ((_p$classList4 = p.classList) === null || _p$classList4 === void 0 ? void 0 : _p$classList4.contains('flex')) || ((_p$classList5 = p.classList) === null || _p$classList5 === void 0 ? void 0 : _p$classList5.contains('relative')) && isDirectChild; console.log('[fzgamer-modal] 检查 hot-posts 元素:', p.tagName, p.className, 'isDirectChild:', isDirectChild, 'isHotPostCard:', isHotPostCard); return isHotPostCard; }); if (cardEl) { console.log('[fzgamer-modal] 找到 hot-posts 卡片元素:', cardEl.tagName, cardEl.className); e.preventDefault(); e.stopPropagation(); linkEl = cardEl.querySelector('a'); console.log('[fzgamer-modal] 查找链接元素:', linkEl); if (linkEl && linkEl.href) { console.log('[fzgamer-modal] 找到链接:', linkEl.href); setState({ iframeURL: linkEl.href, modalOpened: true }); } else { console.log('[fzgamer-modal] 未找到有效链接'); } } else { console.log('[fzgamer-modal] 未找到匹配的 hot-posts 卡片元素'); } case 12: case "end": return _context6.stop(); } }, _callee6); })); return function (_x6) { return _ref6.apply(this, arguments); }; }()); }); }); useMatchDomain({ includes: ['steamzg'] }, function () { if (/\d{5,8}\/?$/.test(location.href)) { return; } var getRemainNotiCounts = function getRemainNotiCounts() { return GM_getValue('user_read_steazg_not_support_modal', 3); }; var notice = function notice(href) { var remainNotifyCounts = getRemainNotiCounts(); if (remainNotifyCounts) { var _Modal$confirm = external_antd_namespaceObject.Modal.confirm({ title: '敬告 (来自switch520-auto-secret脚本)', content: /*#__PURE__*/switch520_auto_secret_React.createElement(switch520_auto_secret_React.Fragment, null, /*#__PURE__*/switch520_auto_secret_React.createElement("p", null, "\u7531\u4E8E\u7AD9\u957F\u4FEE\u6539\u4E86\u7F51\u7AD9\u914D\u7F6E,switch520-auto-secret\u811A\u672C\u5C06\u65E0\u6CD5\u518D\u4E3A\u672C\u7AD9\u63D0\u4F9B\u5F39\u7A97\u6D4F\u89C8\u529F\u80FD,\u5C06\u4E3A\u60A8\u5F00\u542F\u65B0\u7A97\u53E3\u6D4F\u89C8"), /*#__PURE__*/switch520_auto_secret_React.createElement("p", { style: { textDecoration: "underline" } }, /*#__PURE__*/switch520_auto_secret_React.createElement("a", { href: "https://greasyfork.org/zh-CN/scripts/475199-switch520-auto-secret/discussions/324611", target: "_blank" }, "\u5931\u6548\u539F\u56E0")), /*#__PURE__*/switch520_auto_secret_React.createElement("p", null, "(\u6B64\u63D0\u793A\u8FD8\u4F1A\u663E\u793A", remainNotifyCounts - 1, "\u6B21)")), onOk: function onOk() { destroy(); setTimeout(function () { return window.open(href); }, 100); GM_setValue('user_read_steazg_not_support_modal', remainNotifyCounts - 1); }, okText: '新窗口打开', cancelText: '取消', okButtonProps: { style: { color: 'white' } } }), destroy = _Modal$confirm.destroy; } else { window.open(href); } }; var mainEl = document.querySelector('.poi-row.inn-archive__container'); mainEl === null || mainEl === void 0 || mainEl.addEventListener('click', /*#__PURE__*/function () { var _ref7 = reaxel_asyncToGenerator(/*#__PURE__*/reaxel_regeneratorRuntime().mark(function _callee7(e) { var cardEl, href; return reaxel_regeneratorRuntime().wrap(function _callee7$(_context7) { while (1) switch (_context7.prev = _context7.next) { case 0: _context7.next = 2; return GM.getValue('options::modal-mode', true); case 2: if (_context7.sent) { _context7.next = 4; break; } return _context7.abrupt("return"); case 4: cardEl = e.composedPath().find(function (el) { return el.tagName === 'ARTICLE'; }); if (!cardEl) { _context7.next = 12; break; } e.preventDefault(); e.stopPropagation(); href = cardEl.querySelector("a[href^='https://steamzg.com/']").href; //临时代码,当站长修复X-Frame-Options之前 notice(href); return _context7.abrupt("return"); case 12: case "end": return _context7.stop(); } }, _callee7); })); return function (_x7) { return _ref7.apply(this, arguments); }; }()); }); if (!document.body) { console.table(location); } var rtn = {}; return Object.assign(function () { return rtn; }, { store: store, setState: setState }); }); ;// ./projects/switch520-auto-secret/Components/OpenInModal/index.tsx /* provided dependency */ var OpenInModal_React = __webpack_require__(594); function OpenInModal_typeof(o) { "@babel/helpers - typeof"; return OpenInModal_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, OpenInModal_typeof(o); } function OpenInModal_regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ OpenInModal_regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == OpenInModal_typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(OpenInModal_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } function OpenInModal_asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function OpenInModal_asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { OpenInModal_asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { OpenInModal_asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var OpenInModal = We(function () { var _reaxel_OpenInModal$s = reaxel_OpenInModal.store, modalOpened = _reaxel_OpenInModal$s.modalOpened, iframeURL = _reaxel_OpenInModal$s.iframeURL; return /*#__PURE__*/OpenInModal_React.createElement(external_antd_namespaceObject.Modal, { open: modalOpened, onClose: function onClose() { reaxel_OpenInModal.setState({ modalOpened: false, iframeURL: null }); }, onCancel: function onCancel() { reaxel_OpenInModal.setState({ modalOpened: false, iframeURL: null }); }, bodyStyle: { height: '80vh' }, centered: true, footer: null, width: "85%", style: { padding: 0 }, destroyOnClose: true, wrapStyle: { display: 'flex', justifyContent: 'center', alignItems: 'center' }, maskStyle: { backgroundColor: 'rgba(0, 0, 0, 0.75)' }, title: /*#__PURE__*/OpenInModal_React.createElement("div", { style: { display: 'flex', alignItems: 'center', userSelect: 'none' } }, /*#__PURE__*/OpenInModal_React.createElement("a", { style: { color: 'blueviolet', marginRight: 8 }, onClick: function onClick() { return window.open(iframeURL); } }, iframeURL), /*#__PURE__*/OpenInModal_React.createElement("svg", { onClick: /*#__PURE__*/OpenInModal_asyncToGenerator(/*#__PURE__*/OpenInModal_regeneratorRuntime().mark(function _callee() { return OpenInModal_regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return navigator.clipboard.writeText(iframeURL); case 2: external_antd_namespaceObject.message.success('复制成功'); case 3: case "end": return _context.stop(); } }, _callee); })), style: { cursor: 'pointer' }, className: "icon", viewBox: "0 0 1024 1024", version: "1.1", xmlns: "http://www.w3.org/2000/svg", "p-id": "9105", width: "32", height: "32" }, /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M589.3 260.9v30H371.4v-30H268.9v513h117.2v-304l109.7-99.1h202.1V260.9z", fill: "#E1F0FF", "p-id": "9106" }), /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M516.1 371.1l-122.9 99.8v346.8h370.4V371.1z", fill: "#E1F0FF", "p-id": "9107" }), /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M752.7 370.8h21.8v435.8h-21.8z", fill: "#446EB1", "p-id": "9108" }), /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M495.8 370.8h277.3v21.8H495.8z", fill: "#446EB1", "p-id": "9109" }), /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M495.8 370.8h21.8v124.3h-21.8z", fill: "#446EB1", "p-id": "9110" }), /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M397.7 488.7l-15.4-15.4 113.5-102.5 15.4 15.4z", fill: "#446EB1", "p-id": "9111" }), /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M382.3 473.3h135.3v21.8H382.3z", fill: "#446EB1", "p-id": "9112" }), /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M382.3 479.7h21.8v348.6h-21.8zM404.1 806.6h370.4v21.8H404.1z", fill: "#446EB1", "p-id": "9113" }), /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M447.7 545.1h261.5v21.8H447.7zM447.7 610.5h261.5v21.8H447.7zM447.7 675.8h261.5v21.8H447.7z", fill: "#6D9EE8", "p-id": "9114" }), /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M251.6 763h130.7v21.8H251.6z", fill: "#446EB1", "p-id": "9115" }), /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M251.6 240.1h21.8v544.7h-21.8zM687.3 240.1h21.8v130.7h-21.8zM273.4 240.1h108.9v21.8H273.4z", fill: "#446EB1", "p-id": "9116" }), /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M578.4 240.1h130.7v21.8H578.4zM360.5 196.5h21.8v108.9h-21.8zM382.3 283.7h196.1v21.8H382.3zM534.8 196.5h65.4v21.8h-65.4z", fill: "#446EB1", "p-id": "9117" }), /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M360.5 196.5h65.4v21.8h-65.4zM404.1 174.7h152.5v21.8H404.1zM578.4 196.5h21.8v108.9h-21.8z", fill: "#446EB1", "p-id": "9118" }))), closeIcon: /*#__PURE__*/OpenInModal_React.createElement("span", { style: { transform: 'scale(1.5)' } }, /*#__PURE__*/OpenInModal_React.createElement("svg", { className: "icon", viewBox: "0 0 1024 1024", version: "1.1", xmlns: "http://www.w3.org/2000/svg", "p-id": "16863", width: "32", height: "32" }, /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M38.04 518.35a475.12 487.33 0 1 0 950.24 0 475.12 487.33 0 1 0-950.24 0Z", fill: "#07AA74", "p-id": "16864" }), /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M513.16 18.75C258.74 18.75 52.5 224.99 52.5 479.41c0 254.42 206.25 460.66 460.66 460.66s460.66-206.25 460.66-460.66c0.01-254.42-206.24-460.66-460.66-460.66z m0 769.72c-170.69 0-309.06-138.37-309.06-309.06s138.37-309.06 309.06-309.06 309.06 138.37 309.06 309.06c0.01 170.69-138.37 309.06-309.06 309.06z", fill: "#56D8B0", "p-id": "16865" }), /*#__PURE__*/OpenInModal_React.createElement("path", { d: "M656.21 556.84c18.12 18.12 18.12 47.5 0 65.62-9.06 9.07-20.93 13.59-32.8 13.59-11.88 0-23.75-4.53-32.81-13.59l-77.43-77.43-77.44 77.43c-9.06 9.07-20.93 13.59-32.8 13.59-11.88 0-23.75-4.53-32.81-13.59-18.11-18.11-18.11-47.49 0-65.62l77.44-77.43-77.44-77.44c-18.11-18.11-18.11-47.49 0-65.62 18.12-18.11 47.5-18.11 65.62 0l77.44 77.44 77.43-77.44c18.12-18.11 47.5-18.11 65.62 0 18.12 18.12 18.12 47.5 0 65.62l-77.43 77.44 77.41 77.43z", fill: "#FFFFFF", "p-id": "16866" }))) }, /*#__PURE__*/OpenInModal_React.createElement("iframe", { src: iframeURL, width: "100%", height: "100%" })); }); // EXTERNAL MODULE: ./node_modules/react-dom/client.js var client = __webpack_require__(338); ;// ./projects/switch520-auto-secret/services/modal-mode.service.tsx /* provided dependency */ var modal_mode_service_React = __webpack_require__(594); function modal_mode_service_typeof(o) { "@babel/helpers - typeof"; return modal_mode_service_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, modal_mode_service_typeof(o); } function modal_mode_service_regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ modal_mode_service_regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == modal_mode_service_typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(modal_mode_service_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } function modal_mode_service_asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function modal_mode_service_asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { modal_mode_service_asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { modal_mode_service_asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } /** * 模态框浏览服务 * 提供窗口模式打开下载页面的功能,通过 Tampermonkey 菜单切换开关 */ /** * 初始化模态框浏览服务 */ function initModalModeService() { if (location.href.includes('wp-content/plugins/erphpdown/download.php')) { return; } registerMenuCommand(); initModalMode(); } /** * 注册 Tampermonkey 菜单命令 * 用于切换模态框模式的开启/关闭状态 */ function registerMenuCommand() { return _registerMenuCommand.apply(this, arguments); } /** * 初始化模态框模式 * 如果开启,则渲染 OpenInModal 组件 */ function _registerMenuCommand() { _registerMenuCommand = modal_mode_service_asyncToGenerator(/*#__PURE__*/modal_mode_service_regeneratorRuntime().mark(function _callee2() { var modalMode; return modal_mode_service_regeneratorRuntime().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return GM.getValue('options::modal-mode', true); case 2: modalMode = _context2.sent; GM.registerMenuCommand("\u7A97\u53E3\u6A21\u5F0F\u6253\u5F00\u4E0B\u8F7D\u9875\u9762:".concat(modalMode ? '✅已开启' : '❌已关闭'), /*#__PURE__*/modal_mode_service_asyncToGenerator(/*#__PURE__*/modal_mode_service_regeneratorRuntime().mark(function _callee() { return modal_mode_service_regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.t0 = GM; _context.next = 3; return GM.getValue('options::modal-mode'); case 3: _context.t1 = !_context.sent; _context.next = 6; return _context.t0.setValue.call(_context.t0, 'options::modal-mode', _context.t1); case 6: _context.next = 8; return registerMenuCommand(); case 8: location.reload(); case 9: case "end": return _context.stop(); } }, _callee); }))); case 4: case "end": return _context2.stop(); } }, _callee2); })); return _registerMenuCommand.apply(this, arguments); } function initModalMode() { return _initModalMode.apply(this, arguments); } function _initModalMode() { _initModalMode = modal_mode_service_asyncToGenerator(/*#__PURE__*/modal_mode_service_regeneratorRuntime().mark(function _callee3() { var isEnabled, div, reactRoot; return modal_mode_service_regeneratorRuntime().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return GM.getValue('options::modal-mode', true); case 2: isEnabled = _context3.sent; if (isEnabled) { _context3.next = 5; break; } return _context3.abrupt("return"); case 5: div = document.createElement('div'); document.body.appendChild(div); reactRoot = (0,client/* createRoot */.H)(div); reactRoot.render(/*#__PURE__*/modal_mode_service_React.createElement(OpenInModal, null)); console.log('[modal-mode] OpenInModal component mounted'); case 10: case "end": return _context3.stop(); } }, _callee3); })); return _initModalMode.apply(this, arguments); } ;// ./projects/switch520-auto-secret/services/context-menu.service.ts /** * 右键菜单服务 * 解除特定站点的右键菜单限制 */ /** * 初始化右键菜单服务 */ function initContextMenuService() { initSwitch618ContextMenu(); } /** * switch618.com 站点允许右键菜单 * 移除 document.oncontextmenu 的限制 */ function initSwitch618ContextMenu() { useMatchDomain({ includes: ['switch618'] }, function () { document.oncontextmenu = null; }); } ;// external "jsQR" const external_jsQR_namespaceObject = jsQR; var external_jsQR_default = /*#__PURE__*/__webpack_require__.n(external_jsQR_namespaceObject); ;// ./projects/switch520-auto-secret/QrcodeToLink/index.ts /** * 二维码解析工具 * 从 canvas 或 image 元素中解码 QR 码内容为文本链接 */ /** * 从 canvas 元素中解码 QR 码 * @param canvas QR码 canvas 元素 * @returns 解码后的文本或 null */ function decodeQrFromCanvas(canvas) { var ctx = canvas.getContext("2d"); if (!ctx) return null; var width = canvas.width, height = canvas.height; var imageData = ctx.getImageData(0, 0, width, height); var result = external_jsQR_default()(imageData.data, width, height); return result ? result.data : null; } /** * 从 image 元素中解码 QR 码 * @param img QR码图片元素 * @returns 解码后的文本或 null */ function decodeQRFromImageElement(img) { var _result$data; var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); if (!ctx) return null; canvas.width = img.naturalWidth; canvas.height = img.naturalHeight; ctx.drawImage(img, 0, 0); var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height); var result = external_jsQR_default()(imageData.data, imageData.width, imageData.height); return (_result$data = result === null || result === void 0 ? void 0 : result.data) !== null && _result$data !== void 0 ? _result$data : null; } ;// ./projects/switch520-auto-secret/services/qrcode-converter.service.ts function qrcode_converter_service_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = qrcode_converter_service_unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; } function qrcode_converter_service_slicedToArray(r, e) { return qrcode_converter_service_arrayWithHoles(r) || qrcode_converter_service_iterableToArrayLimit(r, e) || qrcode_converter_service_unsupportedIterableToArray(r, e) || qrcode_converter_service_nonIterableRest(); } function qrcode_converter_service_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function qrcode_converter_service_iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function qrcode_converter_service_arrayWithHoles(r) { if (Array.isArray(r)) return r; } function qrcode_converter_service_toConsumableArray(r) { return qrcode_converter_service_arrayWithoutHoles(r) || qrcode_converter_service_iterableToArray(r) || qrcode_converter_service_unsupportedIterableToArray(r) || qrcode_converter_service_nonIterableSpread(); } function qrcode_converter_service_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function qrcode_converter_service_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return qrcode_converter_service_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? qrcode_converter_service_arrayLikeToArray(r, a) : void 0; } } function qrcode_converter_service_iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } function qrcode_converter_service_arrayWithoutHoles(r) { if (Array.isArray(r)) return qrcode_converter_service_arrayLikeToArray(r); } function qrcode_converter_service_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } /** * 二维码转链接服务 * 将页面中二维码 canvas/image 解析为直链,免去扫码步骤 * * 兼容新旧两种 gamer520 下载页 DOM 结构: * 新版 .bdp-container 卡片式布局(百度/夸克/迅雷) * 旧版 wpkqcg_qrcode 格式 * * fzgamer.com:资源下载按钮弹出 #fzg-qr-mask 扫码弹窗, * 直链以 base64 存于 window.__fzg_d / fzgOpenQr 参数中 */ var FZG_DIRECT_LINK_ID = 's520-fzg-direct-link'; /** * 从 URL 中提取 pwd 参数值 * 回退方案,用于 DOM 中无提取码元素(如迅雷云盘的隐藏提取码)时附加 pwd 到 URL */ function extractPwdFromUrl(url) { try { var pwd = new URL(url).searchParams.get('pwd'); return pwd || null; } catch (_unused) { var _url$match; return ((_url$match = url.match(/[?&]pwd=([^&#]+)/)) === null || _url$match === void 0 ? void 0 : _url$match[1]) || null; } } /** * 初始化二维码转链接服务 */ function initQrcodeConverterService() { initAcgQrcodeConverter(); initGamer520QrcodeConverter(); initFzgamerQrcodeConverter(); } /** * acgxj/acfb/xj.steamzg 站点处理 * 兼容新旧两种 DOM 结构: * 新版 button.su-download-btn[data-qr-url](base64 直链) * 旧版 canvas.su-qr-canvas(QR 解码) */ function initAcgQrcodeConverter() { useMatchDomain({ includes: ['acgxj.com', 'acfb.top', 'xj.steamzg.com'] }, function () { // 旧版 canvas.su-qr-canvas 逻辑(向后兼容) var qrCodeCanvasEls = Array.from(document.querySelectorAll('canvas.su-qr-canvas')); var withdrawCode = findUnifiedWithdrawCode(); qrCodeCanvasEls.forEach(function (canvas) { var url = decodeQrFromCanvas(canvas); if (!url) return; // 附加统一提取码 if (withdrawCode) { url = url.includes('?') ? "".concat(url, "&pwd=").concat(withdrawCode) : "".concat(url, "?pwd=").concat(withdrawCode); } var link = qrcode_converter_service_createDirectLink(url); insertAfter(link, canvas); }); // 新版 su-download 结构(button[data-qr-url] + base64) convertSuDownloadToLinks(); }); } /** * 处理 acgxj/acfb/xj.steamzg 新版 DOM 结构 * 站长改为 hover .su-download-item 才展示子元素, * 直链 URL 以 base64 编码存储在 button.su-download-btn 的 data-qr-url 属性中 */ function convertSuDownloadToLinks() { var btns = document.querySelectorAll('button.su-download-btn[data-qr-url]'); if (!btns.length) return; var unifiedCode = findUnifiedWithdrawCode(); console.log('[qrcode-converter] 检测到 su-download-btn %d 个', btns.length); btns.forEach(function (btn) { try { var _btn$getAttribute; var rawBase64 = btn.getAttribute('data-qr-url'); if (!rawBase64) { console.warn('[qrcode-converter] su-download-btn 缺少 data-qr-url,跳过'); return; } var decodedUrl; try { decodedUrl = atob(rawBase64); } catch (decodeErr) { console.warn('[qrcode-converter] atob 解码失败:', rawBase64.substring(0, 30) + '...', decodeErr); return; } if (!decodedUrl || !decodedUrl.startsWith('http://') && !decodedUrl.startsWith('https://')) { console.warn('[qrcode-converter] 解码结果非有效 URL:', decodedUrl); return; } // 提取独立提取码 var code = ((_btn$getAttribute = btn.getAttribute('data-code')) === null || _btn$getAttribute === void 0 ? void 0 : _btn$getAttribute.trim()) || ''; // 回退到统一提取码 if (!code && unifiedCode) { code = unifiedCode; } // 拼接 pwd 参数(URL 中已含 pwd= 则跳过) if (code && !decodedUrl.includes('pwd=')) { decodedUrl = decodedUrl.includes('?') ? "".concat(decodedUrl, "&pwd=").concat(code) : "".concat(decodedUrl, "?pwd=").concat(code); } var provider = getProviderName(decodedUrl) || '网盘'; console.log('[qrcode-converter] 处理下载项: %s, code=%s', provider, code || '(无)'); var suDownloadItem = btn.closest('.su-download-item'); if (!suDownloadItem) { console.warn('[qrcode-converter] 找不到父级 .su-download-item,跳过'); return; } var link = qrcode_converter_service_createDirectLink(decodedUrl); insertAfter(link, suDownloadItem); } catch (err) { console.warn('[qrcode-converter] su-download 处理失败:', err); } }); } /** * gamer520/gamers520 站点处理 * 兼容新旧两种格式: * 新版 .bdp-container 卡片式布局(百度/夸克/迅雷) * 旧版 img.wpkqcg_qrcode 格式 */ function initGamer520QrcodeConverter() { useMatchDomain({ includes: qrcode_converter_service_toConsumableArray(domain_matcher/* GAMER520_INCLUDES */.cb) }, function () { // 新版 .bdp-container 卡片式布局 convertBdpCardsToLinks(); // 旧版 wpkqcg_qrcode 格式(兼容留存文章页) convertWpkqcgQrcodesToLinks(); }); } /** * 处理新版 .bdp-container 卡片式下载布局 * 百度/夸克:从 api.qrserver.com 的 data 参数提取直链 URL * 迅雷:直接使用 .bdp-btn 的 href * 直链插入到原提取码框 ( .bdp-pwd-box ) 下方,保留原 DOM 不动 */ function convertBdpCardsToLinks() { var cards = document.querySelectorAll('.bdp-container .bdp-grid .bdp-card'); if (!cards.length) return; cards.forEach(function (card) { var url = null; var code = null; // 提取提取码 var pwdBox = card.querySelector('.bdp-pwd-box'); if (pwdBox) { var strong = pwdBox.querySelector('strong'); if (strong !== null && strong !== void 0 && strong.textContent) { code = strong.textContent.trim(); } } // 方式1:从 api.qrserver.com 二维码图片 src 的 data 参数提取 URL var qrImg = card.querySelector('.bdp-qrcode-box img'); if (qrImg) { url = extractUrlFromQrserverSrc(qrImg.src); } // 方式2:从直链按钮提取 URL(迅雷等) if (!url) { var directBtn = card.querySelector('.bdp-btn[href]'); if (directBtn) { url = directBtn.href; } } if (!url) return; // 提取码回退:若 DOM 中未找到,尝试从 URL 参数中提取(迅雷场景) if (!code) { code = extractPwdFromUrl(url); } // 附加提取码(仅当 URL 中不含 pwd= 时——百度链接通常已内含) if (code && !url.includes('pwd=')) { url = url.includes('?') ? "".concat(url, "&pwd=").concat(code) : "".concat(url, "?pwd=").concat(code); } var link = qrcode_converter_service_createDirectLink(url, { marginTop: '12px', display: 'block', color: 'palegreen', width: '100%', textAlign: 'center', wordBreak: 'break-all' }); // 插入到提取码框下方,保留原提取码 DOM 供扫码者查阅 var insertTarget = card.querySelector('.bdp-pwd-box') || card.querySelector('.bdp-qrcode-box') || card.querySelector('.bdp-btn'); if (insertTarget) { insertAfter(link, insertTarget); } }); } /** * 从 api.qrserver.com 图片 URL 中提取目标链接 * 示例 src = "https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=https%3A%2F%2Fpan.baidu.com%2Fs%2F..." * 解析 data 参数即可获得真实下载 URL,无需实际解码 QR 码 */ function extractUrlFromQrserverSrc(src) { if (!src || !src.includes('qrserver')) return null; try { var urlObj = new URL(src); var data = urlObj.searchParams.get('data'); if (data && (data.startsWith('http://') || data.startsWith('https://'))) { return data; } } catch (_unused2) { // URL 构造失败时的降级正则提取 var match = src.match(/[?&]data=([^&]+)/); if (match) { var decoded = decodeURIComponent(match[1]); if (decoded.startsWith('http://') || decoded.startsWith('https://')) { return decoded; } } } return null; } /** * 旧版 wpkqcg_qrcode 处理(兼容留存文章页) * 从二维码图片邻近的隐藏 input 中提取 URL */ function convertWpkqcgQrcodesToLinks() { var qrcodeImages = Array.from(document.querySelectorAll('img.wpkqcg_qrcode')); qrcodeImages.forEach(function (el) { // 优先从隐藏 input 提取 URL(文章页内嵌完整链接,更可靠) var url = extractUrlFromHiddenInput(el) || decodeQRFromImageElement(el); if (!url) return; // 尝试提取提取码并附加(仅当 URL 不含 pwd 时) var code = null; if (!url.includes('pwd=')) { var codeEl = findExtractionCode(el); if (codeEl !== null && codeEl !== void 0 && codeEl.textContent) { var match = codeEl.textContent.match(/提取码[::]\s*([a-zA-Z0-9]{4})/); code = (match === null || match === void 0 ? void 0 : match[1]) || null; } if (code) { url = url.includes('?') ? "".concat(url, "&pwd=").concat(code) : "".concat(url, "?pwd=").concat(code); } } else { code = extractPwdFromUrl(url); } var link = qrcode_converter_service_createDirectLink(url, { marginTop: '20px', display: 'block', color: 'palegreen' }); insertAfter(link, el); }); } /** * fzgamer.com:资源下载区点击后弹出 #fzg-qr-mask 扫码弹窗 * 优先 hook window.fzgOpenQr 拿到 base64 直链;失败时再解码弹窗内 QR * * 注意: * - 不可在匹配失败时回退 __fzg_d[0],否则非百度项也会被错指到百度 * - qrcodejs 会把 URL 写到 #fzg-qr-canvas[title],切换网盘时旧 title 会短暂残留 */ function initFzgamerQrcodeConverter() { useMatchDomain({ includes: ['fzgamer.com'] }, function () { hookFzgOpenQr(); observeFzgQrMask(); }); } /** 弹窗标题 / panType → __fzg_d.type 别名(兼容中英文 UI) */ var FZG_PAN_TYPE_ALIASES = { baidu: ['baidu', '百度'], quark: ['quark', '夸克'], xunlei: ['xunlei', 'thunder', '迅雷'], alipan: ['alipan', 'aliyun', '阿里'], lanzou: ['lanzou', '蓝奏'], weiyun: ['weiyun', '微云'], '123pan': ['123pan', '123'], onedrive: ['onedrive'], buy: ['buy', 'steam', 'genuine', '正版', '购买', 'purchase'] }; /** hook 最近一次解析出的直链,供 observer 兜底时优先使用,避免读到残留 title */ var lastFzgOpenedUrl = null; /** * Hook 站点的 fzgOpenQr:参数即为 base64 编码的真实下载链接 */ function hookFzgOpenQr() { var tryHook = function tryHook() { var win = window; if (typeof win.fzgOpenQr !== 'function') return false; if (win.fzgOpenQr.__s520Hooked) return true; var original = win.fzgOpenQr; var hooked = function hooked(encodedUrl, title, hint, scanTip, panType) { var _document$getElementB; // 清除上一份二维码残留的 title,避免兜底解析读到旧链接 (_document$getElementB = document.getElementById('fzg-qr-canvas')) === null || _document$getElementB === void 0 || _document$getElementB.removeAttribute('title'); lastFzgOpenedUrl = decodeFzgBase64Url(encodedUrl); original.call(this, encodedUrl, title, hint, scanTip, panType); if (lastFzgOpenedUrl) { var url = lastFzgOpenedUrl; // 站点异步生成二维码,稍后再注入,避免被 innerHTML 清空 setTimeout(function () { return enhanceFzgQrModal(url); }, 80); } }; hooked.__s520Hooked = true; win.fzgOpenQr = hooked; if (false) {} return true; }; if (tryHook()) return; var timer = window.setInterval(function () { if (tryHook()) window.clearInterval(timer); }, 200); window.setTimeout(function () { return window.clearInterval(timer); }, 15000); } /** * 监听 #fzg-qr-mask.show,作为 hook 未就绪或遗漏时的兜底 */ function observeFzgQrMask() { var handleMaskShown = function handleMaskShown() { var mask = document.getElementById('fzg-qr-mask'); if (!(mask !== null && mask !== void 0 && mask.classList.contains('show'))) return; // 已有直链且与最近一次打开一致则跳过;否则允许覆盖错误链接 var existingLink = document.getElementById(FZG_DIRECT_LINK_ID); if (existingLink && lastFzgOpenedUrl && existingLink.href === lastFzgOpenedUrl) { return; } window.setTimeout(function () { var url = lastFzgOpenedUrl || resolveFzgQrUrlFromDom(); if (url) enhanceFzgQrModal(url); }, 150); }; var existing = document.getElementById('fzg-qr-mask'); if (existing) { if (existing.classList.contains('show')) handleMaskShown(); new MutationObserver(handleMaskShown).observe(existing, { attributes: true, attributeFilter: ['class'] }); return; } var bodyObserver = new MutationObserver(function (_mutations, obs) { var mask = document.getElementById('fzg-qr-mask'); if (!mask) return; obs.disconnect(); if (mask.classList.contains('show')) handleMaskShown(); new MutationObserver(handleMaskShown).observe(mask, { attributes: true, attributeFilter: ['class'] }); }); bodyObserver.observe(document.body, { childList: true, subtree: true }); } /** * 向弹窗插入免扫码直链(二维码缩小由 style.less 负责) */ function enhanceFzgQrModal(url) { var _document$getElementB2; var body = document.querySelector('.fzg-qr-body'); var wrap = document.querySelector('.fzg-qr-wrap'); if (!body || !wrap) return; (_document$getElementB2 = document.getElementById(FZG_DIRECT_LINK_ID)) === null || _document$getElementB2 === void 0 || _document$getElementB2.remove(); var link = qrcode_converter_service_createDirectLink(url, { // 主样式在 #s520-fzg-direct-link,这里仅兜底 display: 'block' }); link.id = FZG_DIRECT_LINK_ID; insertAfter(link, wrap); if (false) {} } /** * 从弹窗 DOM 解析直链(hook 失败时的兜底) * 优先级:解码 canvas/img → 按标题/type 匹配 __fzg_d(绝不回退到 [0]) */ function resolveFzgQrUrlFromDom() { var _canvasBox$getAttribu; var canvasBox = document.getElementById('fzg-qr-canvas'); if (!canvasBox) return null; // 1) 优先解码当前二维码(比 title 属性可靠,title 会残留上一次的 URL) var canvas = canvasBox.querySelector('canvas'); if (canvas && canvas.width > 0 && canvas.height > 0) { try { var fromCanvas = decodeQrFromCanvas(canvas); if (fromCanvas && /^https?:\/\//.test(fromCanvas)) return fromCanvas; } catch (_unused3) { // canvas 可能尚未绘制完成 } } var img = canvasBox.querySelector('img'); if (img) { var fromQrserver = extractUrlFromQrserverSrc(img.src); if (fromQrserver) return fromQrserver; if (img.complete && img.naturalWidth > 0) { try { var fromImg = decodeQRFromImageElement(img); if (fromImg && /^https?:\/\//.test(fromImg)) return fromImg; } catch (_unused4) { // ignore } } } // 2) title 仅在与当前标题网盘类型一致时采用,避免残留旧链接 var titleUrl = (_canvasBox$getAttribu = canvasBox.getAttribute('title')) === null || _canvasBox$getAttribu === void 0 ? void 0 : _canvasBox$getAttribu.trim(); if (titleUrl && /^https?:\/\//.test(titleUrl) && isFzgTitleConsistentWithUrl(titleUrl)) { return titleUrl; } // 3) 对照 window.__fzg_d(按 type / 中英文名匹配,失败则返回 null) return resolveFzgUrlFromGlobalData(); } /** * title 属性里的 URL 是否与当前弹窗标题的网盘类型一致 */ function isFzgTitleConsistentWithUrl(url) { var _document$getElementB3; var titleText = ((_document$getElementB3 = document.getElementById('fzg-qr-title-text')) === null || _document$getElementB3 === void 0 || (_document$getElementB3 = _document$getElementB3.textContent) === null || _document$getElementB3 === void 0 ? void 0 : _document$getElementB3.trim()) || ''; var type = inferFzgPanTypeFromText(titleText); if (!type) return false; return fzgUrlMatchesType(url, type); } /** * 从 window.__fzg_d 按当前弹窗标题 / panType 匹配直链 * 匹配失败返回 null,禁止回退到 list[0] */ function resolveFzgUrlFromGlobalData() { var _document$getElementB4; var win = window; var list = win.__fzg_d; if (!Array.isArray(list) || !list.length) return null; var titleText = ((_document$getElementB4 = document.getElementById('fzg-qr-title-text')) === null || _document$getElementB4 === void 0 || (_document$getElementB4 = _document$getElementB4.textContent) === null || _document$getElementB4 === void 0 ? void 0 : _document$getElementB4.trim()) || ''; var inferredType = inferFzgPanTypeFromText(titleText); var matched = list.find(function (item) { if (inferredType && item.type === inferredType) return true; if (item.name && titleText.includes(item.name)) return true; if (item.type) { var aliases = FZG_PAN_TYPE_ALIASES[item.type] || []; var lowerTitle = titleText.toLowerCase(); return aliases.some(function (alias) { return lowerTitle.includes(alias.toLowerCase()); }); } return false; }); return matched !== null && matched !== void 0 && matched.d ? decodeFzgBase64Url(matched.d) : null; } /** * 从弹窗标题推断网盘 type(兼容中英文翻译) */ function inferFzgPanTypeFromText(text) { if (!text) return null; var lower = text.toLowerCase(); for (var _i = 0, _Object$entries = Object.entries(FZG_PAN_TYPE_ALIASES); _i < _Object$entries.length; _i++) { var _Object$entries$_i = qrcode_converter_service_slicedToArray(_Object$entries[_i], 2), type = _Object$entries$_i[0], aliases = _Object$entries$_i[1]; if (aliases.some(function (alias) { return lower.includes(alias.toLowerCase()); })) { return type; } } return null; } /** * URL 是否属于指定网盘 type */ function fzgUrlMatchesType(url, type) { var host = function () { try { return new URL(url).hostname.toLowerCase(); } catch (_unused5) { return url.toLowerCase(); } }(); switch (type) { case 'baidu': return host.includes('baidu.com'); case 'quark': return host.includes('quark.cn'); case 'xunlei': return host.includes('xunlei.com'); case 'alipan': return host.includes('alipan.com') || host.includes('aliyundrive.com'); case 'buy': return host.includes('steampowered.com') || host.includes('epicgames.com') || host.includes('gog.com'); default: return true; } } /** * 解码 fzgamer 的 base64 下载链接 */ function decodeFzgBase64Url(encoded) { if (!encoded) return null; try { var decoded = atob(encoded).trim(); if (decoded.startsWith('http://') || decoded.startsWith('https://')) { return decoded; } } catch (err) { console.warn('[qrcode-converter] fzgamer base64 解码失败:', err); } return null; } /** * 从二维码图片邻近的隐藏 input 中提取 URL * 文章页结构:wpkqcg_qrcode_wrapper 内含 input[id$="_content"] 直接存储完整链接 */ function extractUrlFromHiddenInput(img) { var wrapper = img.closest('.wpkqcg_qrcode_wrapper'); if (!wrapper) return null; var contentInput = wrapper.querySelector('input[id$="_content"]'); if (!(contentInput !== null && contentInput !== void 0 && contentInput.value)) return null; // 确保值是有效 URL var value = contentInput.value.trim(); if (value.startsWith('http://') || value.startsWith('https://')) { return value; } return null; } /** * 查找统一提取码 */ function findUnifiedWithdrawCode() { var _iterator = qrcode_converter_service_createForOfIteratorHelper(document.querySelectorAll('*')), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var _el$childNodes; var el = _step.value; var textNode = (_el$childNodes = el.childNodes) === null || _el$childNodes === void 0 ? void 0 : _el$childNodes[0]; if (textNode instanceof Text && /统一提取码:/.test(textNode.textContent)) { return extractUnifiedCode(textNode.textContent); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return undefined; } /** * 查找提取码元素(向上遍历兄弟节点) * 包含超时保护(100ms)防止死循环 */ function findExtractionCode(qrElement) { var current = qrElement.parentElement; var startTime = Date.now(); var TIMEOUT_MS = 100; var MAX_ITERATIONS = 50; // 额外保护:最大迭代次数 var iterations = 0; while (current) { var _nextSibling$innerTex; // 超时保护 if (Date.now() - startTime > TIMEOUT_MS) { console.warn('[qrcode-converter] 查找提取码超时,终止搜索'); break; } // 迭代次数保护 if (++iterations > MAX_ITERATIONS) { console.warn('[qrcode-converter] 查找提取码迭代次数超限,终止搜索'); break; } var nextSibling = current.nextElementSibling; if (nextSibling !== null && nextSibling !== void 0 && (_nextSibling$innerTex = nextSibling.innerText) !== null && _nextSibling$innerTex !== void 0 && _nextSibling$innerTex.includes('提取码')) { return nextSibling; } current = current.parentElement; } return null; } /** * 创建直链 <a> 元素 * @param url 最终 URL * @param extraStyle 额外样式 */ function qrcode_converter_service_createDirectLink(url) { var extraStyle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var link = document.createElement('a'); link.href = url; link.textContent = "".concat(getProviderName(url), "\uFF1A\u5DF2\u4E3A\u60A8\u8F6C\u6362\u4E3A\u514D\u626B\u7801\u76F4\u94FE: ").concat(url); link.setAttribute('target', '_blank'); link.title = url; if (Object.keys(extraStyle).length > 0) { Object.assign(link.style, extraStyle); } return link; } ;// ./projects/switch520-auto-secret/services/gamer520-popup-blocker.service.ts function gamer520_popup_blocker_service_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = gamer520_popup_blocker_service_unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; } function gamer520_popup_blocker_service_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return gamer520_popup_blocker_service_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? gamer520_popup_blocker_service_arrayLikeToArray(r, a) : void 0; } } function gamer520_popup_blocker_service_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function gamer520_popup_blocker_service_typeof(o) { "@babel/helpers - typeof"; return gamer520_popup_blocker_service_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, gamer520_popup_blocker_service_typeof(o); } /** * gamer520.com 下载页面弹窗禁用服务 * 使用多种策略完全阻止 SweetAlert2 弹窗出现 */ /** * 策略 1: 确保 CSS 已注入(防御性检查) */ var injectCSSBlocker = function injectCSSBlocker() { // 检查是否已经注入 if (document.querySelector('style[data-gamer520-blocker]')) { console.log('[gamer520-popup-blocker] ✅ CSS 已存在,跳过注入'); return; } // 如果还没有,再次注入 var target = document.head || document.documentElement; var style = document.createElement('style'); style.setAttribute('data-gamer520-blocker', 'true'); style.textContent = "\n\t\tbody > div.swal2-container,\n\t\tdiv.swal2-container,\n\t\t.swal2-popup,\n\t\t.swal2-modal {\n\t\t\tdisplay: none !important;\n\t\t\tvisibility: hidden !important;\n\t\t\topacity: 0 !important;\n\t\t\tpointer-events: none !important;\n\t\t\twidth: 0 !important;\n\t\t\theight: 0 !important;\n\t\t\toverflow: hidden !important;\n\t\t\tposition: fixed !important;\n\t\t\tleft: -9999px !important;\n\t\t\ttop: -9999px !important;\n\t\t\tz-index: -9999 !important;\n\t\t}\n\t\thtml.swal2-shown,\n\t\thtml.swal2-no-transition {\n\t\t\toverflow: auto !important;\n\t\t\tpadding-right: 0 !important;\n\t\t}\n\t\tbody.swal2-shown,\n\t\tbody.swal2-height-auto,\n\t\tbody.swal2-no-transition {\n\t\t\toverflow: auto !important;\n\t\t\theight: auto !important;\n\t\t\tpadding-right: 0 !important;\n\t\t}\n\t"; if (target.firstChild) { target.insertBefore(style, target.firstChild); } else { target.appendChild(style); } console.log('[gamer520-popup-blocker] ✅ CSS 拦截器已注入(函数调用)'); }; /** * 策略 2: 拦截 SweetAlert2 全局函数 */ var interceptSwalFunctions = function interceptSwalFunctions() { // 等待 Swal 对象出现并覆盖 var tryIntercept = function tryIntercept() { if (window.Swal) { var originalSwal = window.Swal; window.Swal = new Proxy(originalSwal, { apply: function apply(target, thisArg, args) { console.log('[gamer520-popup-blocker] 🚫 拦截 Swal 调用:', args[0]); // 检查是否是我们的目标弹窗 var content = gamer520_popup_blocker_service_typeof(args[0]) === 'object' ? args[0].html : args[0]; if (content && typeof content === 'string' && content.includes('欢迎来到 GAMER520.COM')) { console.log('[gamer520-popup-blocker] ✅ 已阻止目标弹窗'); return Promise.resolve({ isConfirmed: false }); } return target.apply(thisArg, args); } }); console.log('[gamer520-popup-blocker] ✅ Swal 函数已拦截'); return true; } return false; }; if (!tryIntercept()) { // 定时尝试,直到 Swal 加载 var interval = setInterval(function () { if (tryIntercept()) { clearInterval(interval); } }, 50); // 5秒后停止尝试 setTimeout(function () { return clearInterval(interval); }, 5000); } }; /** * 策略 3: MutationObserver 在节点渲染前删除 */ var setupMutationObserver = function setupMutationObserver() { var observer = new MutationObserver(function (mutations) { var _iterator = gamer520_popup_blocker_service_createForOfIteratorHelper(mutations), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var mutation = _step.value; if (mutation.type === 'childList') { mutation.addedNodes.forEach(function (node) { if (node.nodeType === Node.ELEMENT_NODE) { var _element$classList; var element = node; // 立即删除匹配的弹窗(在浏览器渲染前) if ((_element$classList = element.classList) !== null && _element$classList !== void 0 && _element$classList.contains('swal2-container')) { var content = element.querySelector('.swal2-content'); if (content && content.innerHTML.includes('欢迎来到 GAMER520.COM')) { console.log('[gamer520-popup-blocker] 🚫 DOM 拦截:删除弹窗'); element.remove(); } } } }); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } }); // 观察 body 的子节点变化 if (document.body) { observer.observe(document.body, { childList: true, subtree: false }); console.log('[gamer520-popup-blocker] ✅ MutationObserver 已启动'); } // 页面卸载时断开观察 window.addEventListener('beforeunload', function () { return observer.disconnect(); }); }; /** * 初始化 gamer520.com 弹窗禁用服务 */ var initGamer520PopupBlocker = function initGamer520PopupBlocker() { console.log('[gamer520-popup-blocker] 服务初始化'); useMatchDomain({ includes: ['gamers520.com'] }, function () { if (!(0,domain_matcher/* isHtmlPostPage */.zN)()) { return; } console.log('[gamer520-popup-blocker] 启动多层弹窗拦截'); // 策略 1: 立即注入 CSS(最快) injectCSSBlocker(); // 策略 2: 拦截 Swal 函数(阻止调用) // interceptSwalFunctions(); // 策略 3: DOM 变化时删除节点(兜底) // setupMutationObserver(); }); }; // 扩展 Window 接口以支持 Swal ;// ./projects/switch520-auto-secret/utils/steam-search.ts /** * Steam 商店搜索 / 商品页 URL 工具 * * 参数依据 Steam 商店搜索页与社区实践: * - l:商店界面语言(API language code,如 schinese) * - term:搜索关键词 * - ignore_preferences=1:忽略账号内容偏好,避免结果被过滤变少 * - supportedlang:按「游戏支持语言」筛选,多语言用逗号分隔 * - ndl=1:商店搜索页常用参数,配合忽略偏好使用 * * @see https://partner.steamgames.com/doc/store/localization/languages * @see https://github.com/Revadike/InternalSteamWebAPI/wiki/Get-Search-Results */ /** 默认扩大搜索命中的支持语言:简中 / 繁中 / 英 / 日 / 韩 */ var STEAM_SEARCH_SUPPORTED_LANGS = ['schinese', 'tchinese', 'english', 'japanese', 'koreana']; var STEAM_APP_URL_RE = /^https?:\/\/store\.steampowered\.com\/(app|bundle|sub)\b/i; /** * 构建 Steam 商店搜索 URL(全站点统一) */ function buildSteamSearchUrl(term) { var trimmed = term.trim(); var params = new URLSearchParams(); params.set('l', 'schinese'); params.set('term', trimmed); params.set('ignore_preferences', '1'); params.set('supportedlang', STEAM_SEARCH_SUPPORTED_LANGS.join(',')); params.set('ndl', '1'); // 与历史行为一致:空格用 + 而非 %20 return "https://store.steampowered.com/search/?".concat(params.toString().replace(/%20/g, '+')); } /** * 是否为 Steam 商店链接(app / bundle / search 等) */ function isSteamStoreUrl(url) { return typeof url === 'string' && /^https?:\/\/store\.steampowered\.com\//i.test(url); } /** * 是否为可直达的 Steam 商品页(app / bundle / sub) */ function isSteamAppOrBundleUrl(url) { return typeof url === 'string' && STEAM_APP_URL_RE.test(url); } /** * 规范化 Steam 商品页 URL,缺省时补上简中界面语言 */ function normalizeSteamAppUrl(url) { try { var parsed = new URL(url); if (!parsed.searchParams.get('l')) { parsed.searchParams.set('l', 'schinese'); } return parsed.toString(); } catch (_unused) { return url; } } /** * 在当前页面查找可见的 Steam 商品直链(a[href]) * fzgamer 正版购买走「模拟点击按钮」,不在此解析 */ function findPageSteamStoreUrl() { var anchors = document.querySelectorAll('a[href*="store.steampowered.com"]'); for (var _i = 0, _Array$from = Array.from(anchors); _i < _Array$from.length; _i++) { var _a$href; var a = _Array$from[_i]; var href = (_a$href = a.href) === null || _a$href === void 0 ? void 0 : _a$href.trim(); if (href && isSteamAppOrBundleUrl(href)) { return href; } } return null; } // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./projects/switch520-auto-secret/features/search-on-select/style.module.less var style_module = __webpack_require__(243); ;// ./projects/switch520-auto-secret/features/search-on-select/style.module.less var style_module_options = {}; style_module_options.styleTagTransform = (styleTagTransform_default()); style_module_options.setAttributes = (setAttributesWithoutAttributes_default()); style_module_options.insert = insertBySelector_default().bind(null, "head"); style_module_options.domAPI = (styleDomAPI_default()); style_module_options.insertStyleElement = (insertStyleElement_default()); var style_module_update = injectStylesIntoStyleTag_default()(style_module/* default */.A, style_module_options); /* harmony default export */ const search_on_select_style_module = (style_module/* default */.A && style_module/* default */.A.locals ? style_module/* default */.A.locals : undefined); ;// ./projects/switch520-auto-secret/features/search-on-select/index.tsx /* provided dependency */ var search_on_select_React = __webpack_require__(594); function search_on_select_slicedToArray(r, e) { return search_on_select_arrayWithHoles(r) || search_on_select_iterableToArrayLimit(r, e) || search_on_select_unsupportedIterableToArray(r, e) || search_on_select_nonIterableRest(); } function search_on_select_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function search_on_select_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return search_on_select_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? search_on_select_arrayLikeToArray(r, a) : void 0; } } function search_on_select_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function search_on_select_iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function search_on_select_arrayWithHoles(r) { if (Array.isArray(r)) return r; } /** * 划词搜索特性 * 在游戏网站中选中文字后,弹出 Steam 搜索提示 * 使用 reaxes 状态管理 */ var notificationKey = 'search-on-steam'; var getSelection = function getSelection() { return window.getSelection().toString(); }; var _createReaxable = reaxes_esm_p({ open: false, selection: '' }), store = _createReaxable.store, setState = _createReaxable.setState, mutate = _createReaxable.mutate; reaxes_esm_m(function (first) { if (first) return; var selection = store.selection; if (selection) { setState({ open: true }); } else { setState({ open: false }); } }, function () { return [store.selection]; }); var App = We(function () { var _notification$useNoti = external_antd_namespaceObject.notification.useNotification(), _notification$useNoti2 = search_on_select_slicedToArray(_notification$useNoti, 2), api = _notification$useNoti2[0], contextHolder = _notification$useNoti2[1]; var open = store.open, selection = store.selection; if (open) { api.open({ message: /*#__PURE__*/search_on_select_React.createElement("a", { style: { color: 'black', fontSize: '18px', display: "inline-block" }, onClick: function onClick(e) { e.preventDefault(); window.open(buildSteamSearchUrl(selection)); } }, "Steam\u641C\u7D22\uFF1A", /*#__PURE__*/search_on_select_React.createElement("div", { style: { color: '#7f7fff', display: 'flex', maxHeight: '30px', overflow: 'hidden' } }, selection)), placement: 'top', key: notificationKey, duration: null, closable: false, onClose: null, closeIcon: null }); } else { api.destroy(notificationKey); } return contextHolder; }); /** * 初始化划词搜索功能 */ function initSearchOnSelect() { useMatchDomain({ includes: ['gamer520', 'switch618', 'steamzg', 'xxxxx520'] }, function () { document.addEventListener('mouseup', function (evt) { var _className, _className$includes; if ((_className = evt.target.className) !== null && _className !== void 0 && (_className$includes = _className.includes) !== null && _className$includes !== void 0 && _className$includes.call(_className, 'ant-notification')) { return; } var selection = getSelection(); setState({ selection: selection }); }); var container = document.createElement('div'); document.body.append(container); var reactRoot = (0,client/* createRoot */.H)(container); reactRoot.render(/*#__PURE__*/search_on_select_React.createElement(App, null)); }); } ;// ./projects/switch520-auto-secret/Components/SearchInSteamButton/index.tsx function SearchInSteamButton_typeof(o) { "@babel/helpers - typeof"; return SearchInSteamButton_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, SearchInSteamButton_typeof(o); } function SearchInSteamButton_regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ SearchInSteamButton_regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == SearchInSteamButton_typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(SearchInSteamButton_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } function SearchInSteamButton_asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function SearchInSteamButton_asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { SearchInSteamButton_asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { SearchInSteamButton_asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var SearchInSteam = We(function () { return /*#__PURE__*/external_React_default().createElement("div", null, /*#__PURE__*/external_React_default().createElement("button", { style: { backgroundColor: '#20a0ff', color: '#eee', width: '100%', padding: '12px 18px', borderRadius: '4px', border: 'none', cursor: 'pointer', fontSize: '16px', letterSpacing: '2px', margin: '0 0 24px 0' }, onClick: /*#__PURE__*/SearchInSteamButton_asyncToGenerator(/*#__PURE__*/SearchInSteamButton_regeneratorRuntime().mark(function _callee5() { var clickedBuy, directSteamUrl, searchResult; return SearchInSteamButton_regeneratorRuntime().wrap(function _callee5$(_context5) { while (1) switch (_context5.prev = _context5.next) { case 0: // fzgamer:有「正版购买」按钮就直接点,由站点(+二维码转链)处理 clickedBuy = false; _context5.next = 3; return useMatchDomain({ includes: ['fzgamer'] }, /*#__PURE__*/SearchInSteamButton_asyncToGenerator(/*#__PURE__*/SearchInSteamButton_regeneratorRuntime().mark(function _callee() { var _yield$import, clickGenuinePurchaseButton; return SearchInSteamButton_regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 586)); case 2: _yield$import = _context.sent; clickGenuinePurchaseButton = _yield$import.clickGenuinePurchaseButton; clickedBuy = clickGenuinePurchaseButton(); case 5: case "end": return _context.stop(); } }, _callee); }))); case 3: if (!clickedBuy) { _context5.next = 5; break; } return _context5.abrupt("return"); case 5: // 其他站:页面已有 Steam 商品直链则打开 directSteamUrl = findPageSteamStoreUrl(); if (!directSteamUrl) { _context5.next = 9; break; } window.open(normalizeSteamAppUrl(directSteamUrl)); return _context5.abrupt("return"); case 9: // 否则按站点提取游戏名,走商店搜索 searchResult = null; _context5.next = 12; return useMatchDomain({ includes: ['gamer520.com'] }, /*#__PURE__*/SearchInSteamButton_asyncToGenerator(/*#__PURE__*/SearchInSteamButton_regeneratorRuntime().mark(function _callee2() { var _yield$import2, getGameName; return SearchInSteamButton_regeneratorRuntime().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 95)); case 2: _yield$import2 = _context2.sent; getGameName = _yield$import2.getGameName; searchResult = getGameName(); case 5: case "end": return _context2.stop(); } }, _callee2); }))); case 12: _context5.next = 14; return useMatchDomain({ includes: ['switch618'] }, /*#__PURE__*/SearchInSteamButton_asyncToGenerator(/*#__PURE__*/SearchInSteamButton_regeneratorRuntime().mark(function _callee3() { var _yield$import3, getGameName, _getGameName, english, chinese; return SearchInSteamButton_regeneratorRuntime().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 801)); case 2: _yield$import3 = _context3.sent; getGameName = _yield$import3.getGameName; _getGameName = getGameName(), english = _getGameName.english, chinese = _getGameName.chinese; searchResult = english || chinese || null; case 6: case "end": return _context3.stop(); } }, _callee3); }))); case 14: _context5.next = 16; return useMatchDomain({ includes: ['fzgamer'] }, /*#__PURE__*/SearchInSteamButton_asyncToGenerator(/*#__PURE__*/SearchInSteamButton_regeneratorRuntime().mark(function _callee4() { var _yield$import4, getGameName; return SearchInSteamButton_regeneratorRuntime().wrap(function _callee4$(_context4) { while (1) switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 586)); case 2: _yield$import4 = _context4.sent; getGameName = _yield$import4.getGameName; searchResult = getGameName() || null; case 5: case "end": return _context4.stop(); } }, _callee4); }))); case 16: if (searchResult) { _context5.next = 18; break; } return _context5.abrupt("return"); case 18: window.open(buildSteamSearchUrl(searchResult)); case 19: case "end": return _context5.stop(); } }, _callee5); })) }, "\u53BBSteam\u641C\u7D22\u6B64\u6E38\u620F")); }); // EXTERNAL MODULE: ./projects/switch520-auto-secret/DOM-finder/switch520.com/index.ts var switch520_com = __webpack_require__(95); ;// ./projects/switch520-auto-secret/features/search-in-steam/index.tsx /* provided dependency */ var search_in_steam_React = __webpack_require__(594); /** * Steam 搜索按钮特性 * 在游戏详情页插入“去Steam搜索”按钮组件 */ // 静态导入 DOM 查找器(避免代码分割) /** * 初始化 Steam 搜索按钮 */ function initSearchInSteam() { if (location.href.includes('wp-content/plugins/erphpdown/download.php')) { return; } var div = document.createElement('div'); var reactRoot = (0,client/* createRoot */.H)(div); initGamer520SearchButton(); initSwitch618SearchButton(); initSteamzgSearchButton(); initFzgamerSearchButton(); /** * gamer520.com 站点插入搜索按钮 */ function initGamer520SearchButton() { useMatchDomain({ includes: ['gamer520.com'] }, function () { var container = (0,switch520_com.articleContainer)(); if (!document.body.innerText.includes('牛夫人') && location.pathname !== '/' && container) { container.prepend(div); reactRoot.render(/*#__PURE__*/search_in_steam_React.createElement(SearchInSteam, null)); } }); } /** * switch618.com 站点插入搜索按钮 */ function initSwitch618SearchButton() { useMatchDomain({ regExp: /switch618\.com\/[\d+]+.html/g }, function () { var container = document.querySelector(".erphpdown-box"); if (!container) return; container.insertAdjacentElement('afterend', div); reactRoot.render(/*#__PURE__*/search_in_steam_React.createElement(SearchInSteam, null)); }); } /** * steamzg.com 站点插入搜索按钮 */ function initSteamzgSearchButton() { useMatchDomain({ includes: ['steamzg'] }, function () { if (!/\d{5,8}\/?$/.test(location.pathname)) return; if (location.host === 'xj.steamzg.com') return; var siblingEl = document.querySelector('.su-row'); if (!siblingEl) { throw new Error('无法找到挂载<SearchInSteam />的节点'); } var parent = siblingEl.parentElement; parent === null || parent === void 0 || parent.insertBefore(div, siblingEl); reactRoot.render(/*#__PURE__*/search_in_steam_React.createElement(SearchInSteam, null)); }); } /** * fzgamer.com 站点插入搜索按钮 * 在 .article-header 元素后面插入按钮 */ function initFzgamerSearchButton() { useMatchDomain({ includes: ['fzgamer.com'] }, function () { // 在文章页面中,找到 article-header 元素 var targetEl = document.querySelector('body > main > div.content-wrap > div > article > div.article-header.theme-box.clearfix.relative'); if (targetEl && location.pathname !== '/') { // 在目标元素后面插入按钮 targetEl.insertAdjacentElement('afterend', div); reactRoot.render(/*#__PURE__*/search_in_steam_React.createElement(SearchInSteam, null)); } }); } } // EXTERNAL MODULE: ./projects/switch520-auto-secret/DOM-finder/fzgamer.com/index.ts var fzgamer_com = __webpack_require__(586); // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./projects/switch520-auto-secret/style.less var style = __webpack_require__(543); ;// ./projects/switch520-auto-secret/style.less var style_options = {}; style_options.styleTagTransform = (styleTagTransform_default()); style_options.setAttributes = (setAttributesWithoutAttributes_default()); style_options.insert = insertBySelector_default().bind(null, "head"); style_options.domAPI = (styleDomAPI_default()); style_options.insertStyleElement = (insertStyleElement_default()); var style_update = injectStylesIntoStyleTag_default()(style/* default */.A, style_options); /* harmony default export */ const switch520_auto_secret_style = (style/* default */.A && style/* default */.A.locals ? style/* default */.A.locals : undefined); ;// ./projects/switch520-auto-secret/index.tsx /** * Switch520 Auto Secret - 油猴脚本入口文件 * * 功能:优化多个游戏下载站(switch520、switch618、acgxj、steamzg等) * - 二维码转链接 * - 无跳转弹窗浏览 * - 自动填写密码 * - 下载按钮直达下载地址页 * - 去Steam查看游戏 * * 架构:ESM 模块化,分层设计 * - core/:核心纯函数逻辑 * - services/:业务服务层 * - features/:React 特性层 * - utils/:通用工具函数 * - Components/:React 组件 */ // 抑制 webpack 运行时错误 overlay 误捕浏览器内部 ResizeObserver 循环错误 // 该错误本质无害(Chrome 内部限制),但被 webpack HMR 的 window.addEventListener("error") 捕获后 // 会尝试渲染 DOM overlay,进而触发更多 ResizeObserver 通知,造成级联死循环 // capture-phase 在 at-target phase 之前触发,可通过 stopPropagation 阻止传播 window.addEventListener('error', function (event) { var _event$message; if ((_event$message = event.message) !== null && _event$message !== void 0 && _event$message.includes('ResizeObserver loop completed with undelivered notifications')) { console.log('[switch520-auto-secret] 抑制 ResizeObserver 循环错误'); event.stopPropagation(); } }, true); // 导入服务层 // 开发环境:条件加载代理检测器 if (false) {} // 安全检查 if (!document.body) { console.warn('[switch520-auto-secret] document.body 不存在,脚本终止'); } else { // iframe 中设置所有链接在新窗口打开 if (window.parent !== window.self) { document.querySelectorAll('a').forEach(function (a) { return a.target = '_blank'; }); } // 初始化各服务(添加错误边界,确保单个服务失败不影响其他功能) try { initAutoSecret(); } catch (err) { console.error('[switch520-auto-secret] initAutoSecret 失败:', err); } try { initBaiduLinkService(); } catch (err) { console.error('[switch520-auto-secret] initBaiduLinkService 失败:', err); } try { initDownloadBypassService(); } catch (err) { console.error('[switch520-auto-secret] initDownloadBypassService 失败:', err); } try { initBaiduPanAutoSubmitService(); } catch (err) { console.error('[switch520-auto-secret] initBaiduPanAutoSubmitService 失败:', err); } try { initModalModeService(); } catch (err) { console.error('[switch520-auto-secret] initModalModeService 失败:', err); } try { initContextMenuService(); } catch (err) { console.error('[switch520-auto-secret] initContextMenuService 失败:', err); } try { initQrcodeConverterService(); } catch (err) { console.error('[switch520-auto-secret] initQrcodeConverterService 失败:', err); } try { initGamer520PopupBlocker(); } catch (err) { console.error('[switch520-auto-secret] initGamer520PopupBlocker 失败:', err); } try { initSearchOnSelect(); } catch (err) { console.error('[switch520-auto-secret] initSearchOnSelect 失败:', err); } try { initSearchInSteam(); } catch (err) { console.error('[switch520-auto-secret] initSearchInSteam 失败:', err); } try { (0,fzgamer_com.moveElementsToVersionIntro)(); } catch (err) { console.error('[switch520-auto-secret] moveElementsToVersionIntro 失败:', err); } try { (0,fzgamer_com.removeSidebarContentAboveHotRank)(); } catch (err) { console.error('[switch520-auto-secret] removeSidebarContentAboveHotRank 失败:', err); } try { (0,fzgamer_com.removeSnakeCanvas)(); } catch (err) { console.error('[switch520-auto-secret] removeSnakeCanvas 失败:', err); } // 监听来自 iframe 的防死循环 postMessage window.addEventListener('message', function (e) { var _e$data, _e$data2; if (((_e$data = e.data) === null || _e$data === void 0 ? void 0 : _e$data.source) === 'S520_LOOP_GUARD' && ((_e$data2 = e.data) === null || _e$data2 === void 0 ? void 0 : _e$data2.type) === 'OPEN_TAB') { console.log('[switch520-auto-secret] postMessage 触发新标签页打开:', e.data.url); window.open(e.data.url, '_blank'); } }); } /******/ })() ;