WIE-JAV番号搜索工具

番号搜索工具:检索当前网页所有番号:鼠标悬浮打开番号检索页面,并检索相关信息(预览图、预览视频、评分、演员信息、相关评论、磁链、在线视频查询、本地检索是否已下载【Emby,qbittorrent,115】); 支持查询演员详细信息;支持查看已阅番号演员三围排行榜;支持关注番号;支持关注演员,并查看所有关注演员最近番号发布信息

Versão de: 05/03/2024. Veja: a última versão.

// ==UserScript==
// @name            WIE-JAV番号搜索工具
// @namespace       WIE@mumulink
// @version         1.1.3
// @author          mumulink
// @description     番号搜索工具:检索当前网页所有番号:鼠标悬浮打开番号检索页面,并检索相关信息(预览图、预览视频、评分、演员信息、相关评论、磁链、在线视频查询、本地检索是否已下载【Emby,qbittorrent,115】); 支持查询演员详细信息;支持查看已阅番号演员三围排行榜;支持关注番号;支持关注演员,并查看所有关注演员最近番号发布信息
// @include         *
// @icon            https://s1.ax1x.com/2023/08/12/pPuAYin.png
// @resource        success https://s1.ax1x.com/2022/04/01/q5l2LD.png
// @resource        info https://s1.ax1x.com/2022/04/01/q5lyz6.png
// @resource        warn https://s1.ax1x.com/2022/04/01/q5lgsO.png
// @resource        error https://s1.ax1x.com/2022/04/01/q5lcQK.png
// @connect         *
// @run-at          document-body
// @grant           unsafeWindow
// @require      https://cdn.jsdelivr.net/npm/m3u8-parser@4.7.1/dist/m3u8-parser.min.js
// @require      https://cdn.jsdelivr.net/npm/interactjs@1.10.17/dist/interact.min.js
// @grant           GM_removeValueChangeListener
// @grant           GM_addValueChangeListener
// @grant           GM_registerMenuCommand
// @grant           GM_getResourceURL
// @grant           GM_xmlhttpRequest
// @grant           GM_notification
// @grant           GM_setClipboard
// @grant           GM_deleteValue
// @grant           GM_addElement
// @grant           GM_listValues
// @grant           GM_openInTab
// @grant           GM_addStyle
// @grant           GM_getValue
// @grant           GM_setValue
// @grant           GM_info
// @grant           GM_download
// @license         GPL-3.0-only
// ==/UserScript==

/*
 * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
 * This devtool is neither made for production nor for readable output files.
 * It uses "eval()" calls to create a separate source file in the browser devtools.
 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
 * or disable the default devtool with "devtool: false".
 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
 */
/******/ (() => { // webpackBootstrap
/******/ 	var __webpack_modules__ = ({

/***/ "./src/CommonStyle.ts":
/*!****************************!*\
  !*** ./src/CommonStyle.ts ***!
  \****************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst CommonStyle = `\r\n\r\nwie-num {\r\n  position: absolute;\r\n  left: 5px;\r\n  top: 5px;\r\n  height: 30px;\r\n  width: 30px;\r\n  text-align: center;\r\n  line-height: 30px;\r\n  background: var(--bgColor);\r\n  border: 2px solid var(--mainColor);\r\n  border-radius: 3px;\r\n  box-shadow: 3px 3px 0px 0px var(--mainColor);\r\n  transition: all 0.3s ease;\r\n}\r\n\r\nwie-grid{\r\n\r\n}\r\n\r\nwie-num:hover {\r\n  box-shadow: 5px 5px 0px 0px var(--mainColor);\r\n}\r\n\r\n.wie-hidden-style{\r\n    display: none !important;\r\n}\r\niframe#webpack-dev-server-client-overlay {\r\n    display: none;\r\n}\r\nwie-popup{\r\n  font-family: Microsoft YaHei,sans-serif;\r\n  position: fixed;\r\n  display: block;\r\n  text-align: left;\r\n  top: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n  color: var(--color);\r\n  min-width: 100px;\r\n  z-index: 99999;\r\n  font-size: 12px;\r\n  width: 300px;\r\n  transform: translate(0,0);\r\n  transition: 0.1s;\r\n  transition-timing-function: ease-out;\r\n  background: var(--bgLightColor);\r\n  box-shadow: 4px 4px 12px #ccc, -1px -1px 5px #eee;\r\n  /* box-shadow: 0 6px 16px 0 rgb(0 0 0 / 8%), 0 3px 6px -4px rgb(0 0 0 / 12%), 0 9px 28px 8px rgb(0 0 0 / 5%); */\r\n  /* border-radius: 8px; */\r\n  user-select: none;\r\n  box-sizing: content-box;\r\n  line-height: 1.5;\r\n  backdrop-filter: blur(5px);\r\n  background-color: rgba(213, 220, 226, 0.7);\r\n}\r\n\r\nwie-popup.wie-mobile {\r\n    top: 0;\r\n    bottom: 0;\r\n    right: 0;\r\n}\r\n\r\n.no-padding{\r\n    padding: 0 !important;\r\n}\r\n\r\nwie-popup.wie-hidden{\r\n    transform:translate(120%,0);\r\n}\r\ndiv#wie-line+wie-intro {\r\n  padding: 2px 10px 0;\r\n  display: block;\r\n}\r\n\r\n\r\n#wie-injects {\r\n  position: absolute;\r\n  top: 10px;\r\n  right: 10px;\r\n  left: 10px;\r\n  bottom: 10px;\r\n  background: var(--bgLightColor);\r\n  overflow: hidden;\r\n}\r\n\r\n\r\n.wie-option{\r\n  background: var(--bgLightColor);\r\n  position: absolute;\r\n  left: -20px;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  border-radius: 8px 0 0 8px;\r\n  box-shadow: -3px 0px 10px 2px var(--bgLightColor);\r\n  box-shadow: 0 0px 13px 2px #ddd;\r\n  fill: var(--mainColor);\r\n  box-sizing: content-box;\r\n  padding: 12px 0px 5px 0px;\r\n}\r\n\r\n.wie-option>*:not(:last-child){\r\n    margin-bottom: 10px;\r\n}\r\n\r\n.wie-option-item{\r\n    width: 30px;\r\n    cursor: pointer;\r\n    transition: all 0.3s ease;\r\n    padding: 0px 6px;\r\n    box-sizing: border-box;\r\n}\r\n\r\n#wie-fixed.fixed{\r\n    fill: #db363c;\r\n    position: relative;\r\n}   \r\n\r\n.wie-option-item>svg{\r\n    width: 100%;\r\n}\r\n\r\n\r\n.wie-inject-btn {\r\n    padding: 5px;\r\n    cursor: pointer;\r\n    text-align: center;\r\n    width: 30px;\r\n    box-sizing: border-box;\r\n}\r\n\r\n.wie-inject-btn.selected {\r\n    background: var(--bgColor);\r\n    border-bottom: 1px solid var(--mainColor);\r\n    border-top: 1px solid var(--mainColor);\r\n    font-weight: 700;\r\n    color: var(--color);\r\n}\r\n\r\n\r\n\r\n.wie-page {\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    right: 0;\r\n    bottom: 0;\r\n    background: var(--bgLightColor);\r\n    z-index: 1;\r\n    font-size: 12px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    overflow: hidden;\r\n}\r\n\r\npage-content{\r\n    width: 100%;\r\n    height: 100%;    \r\n    display: flex;\r\n    flex-direction: column;\r\n}\r\n\r\n\r\nwie-popup.wie-left{\r\n    right: auto;\r\n    left: 10px;\r\n}\r\n\r\nwie-popup.wie-left.wie-hidden{\r\n    transform:translate(-120%,0);\r\n}\r\n\r\nwie-content{\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: stretch;\r\n    height: 100%;\r\n}\r\n\r\nwie-content>wie-area{\r\n    height: auto;\r\n    overflow: visible;\r\n    margin: 0;\r\n    z-index: 1;\r\n}\r\n\r\n.wie-scroll{\r\n    overflow: auto;\r\n    height: 100%;\r\n    padding: 10px 0px 0;\r\n    position: relative;\r\n}\r\n\r\n\r\n#wie-code .wie-scroll{\r\n    height: 100%;\r\n    overflow: auto;\r\n    padding: 15px 0px;\r\n}\r\n\r\n#wie-drag {\r\n    position: absolute;\r\n    width: 30px;\r\n    border: 1px;\r\n    top: 0;\r\n    bottom: 0;\r\n    left: -30px;\r\n}\r\n\r\n.wie-model #wie-drag{\r\n    display: none;\r\n}\r\n\r\n\r\nwie-dialog {\r\n  display: flex;\r\n  z-index: 9999999;\r\n  position: fixed;\r\n  top: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n  left: 0;\r\n  align-items: center;\r\n  justify-content: center;\r\n  width: inherit;\r\n  min-width: 100%;\r\n  height: inherit;\r\n  min-height: 100%;\r\n  border: 0;\r\n  backdrop-filter: blur(5px);\r\n  background-color: rgba(213, 220, 226, 0.7);\r\n  color: var(--color);\r\n}\r\n\r\n\r\nwie-dialog:not([open]), wie-dialog[open=false] {\r\n  display: none;\r\n}\r\n\r\n.modal-is-open {\r\n  padding-right: var(--scrollbar-width, 0px);\r\n  overflow: hidden;\r\n  pointer-events: none;\r\n  touch-action: none;\r\n}\r\n.modal-is-open wie-dialog {\r\n  pointer-events: auto;\r\n}\r\n\r\n:where(.modal-is-opening, .modal-is-closing) wie-dialog,\r\n:where(.modal-is-opening, .modal-is-closing) wie-dialog > * {\r\n  animation-duration: 0.2s;\r\n  animation-timing-function: ease-in-out;\r\n  animation-fill-mode: both;\r\n}\r\n:where(.modal-is-opening, .modal-is-closing) wie-dialog {\r\n  animation-duration: 0.4s;\r\n  animation-name: modal-overlay;\r\n}\r\n:where(.modal-is-opening, .modal-is-closing) wie-dialog > * {\r\n  animation-delay: 0.2s;\r\n  animation-name: modal;\r\n}\r\n\r\n.modal-is-closing wie-dialog,\r\n.modal-is-closing wie-dialog > * {\r\n  animation-delay: 0s;\r\n  animation-direction: reverse;\r\n}\r\n\r\n@keyframes modal-overlay {\r\n  from {\r\n      -webkit-backdrop-filter: none;\r\n      backdrop-filter: none;\r\n      background-color: transparent;\r\n  }   \r\n}\r\n@keyframes modal {\r\n  from {\r\n      transform: translateY(50%);\r\n      opacity: 0;\r\n  }\r\n}\r\n\r\n\r\n.wie-scroll::-webkit-scrollbar,\r\ntextarea::-webkit-scrollbar,\r\nwie-scroll::-webkit-scrollbar, {\r\n    width: 6px;\r\n    height: 6px;\r\n    border-radius: 6px;\r\n}\r\n.wie-scroll::-webkit-scrollbar-thumb,\r\ntextarea::-webkit-scrollbar-thumb,\r\nwie-scroll::-webkit-scrollbar-thumb {\r\n    background-color: var(--colorLight);\r\n    -webkit-background-clip: content-box;\r\n    background-clip: content-box;\r\n    border-top: 0px solid rgba(255, 255, 255, 0);\r\n    border-bottom: 0px solid rgba(255, 255, 255, 0);\r\n    border-right: 0px solid rgba(255, 255, 255, 0);\r\n    transition: 0.3s ease-in-out;\r\n    border-radius: 6px;\r\n}\r\n.wie-scroll::-webkit-scrollbar-track,\r\ntextarea::-webkit-scrollbar-track,\r\nwie-scroll::-webkit-scrollbar-track {\r\n    background-color: var(--bgLightColor);\r\n}\r\n\r\n\r\nwie-area{\r\n    background: var(--bgColor);\r\n    border: 1px solid var(--borderColor);\r\n    box-shadow: 0px 0px 8px 0px var(--borderColor);\r\n    margin: 0 10px 15px;\r\n    border-radius: 5px;\r\n    overflow: hidden;\r\n    display: block;\r\n    padding: 0 10px 10px;\r\n    position: relative;\r\n}\r\n\r\nwie-area.no-border{\r\n    border: none;\r\n    border-bottom: 1px solid var(--borderColor);\r\n    border-radius: 0;\r\n    padding: 0;\r\n    margin: 0;\r\n    overflow: visible;\r\n    z-index: 1;\r\n}\r\n\r\nwie-area.margin-top{\r\n    margin-top: 10px;\r\n}\r\n\r\n.wie-setting {\r\n    width: 720px;\r\n    margin: auto;\r\n    background: var(--bgLightColor);\r\n    box-shadow: 4px 4px 12px #ccc, -1px -1px 5px #eee;\r\n    box-shadow: 0 6px 16px 0 rgb(0 0 0 / 8%), 0 3px 6px -4px rgb(0 0 0 / 12%), 0 9px 28px 8px rgb(0 0 0 / 5%);\r\n    border-radius: 8px;\r\n    overflow: hidden;\r\n    font-size: 12px;\r\n    height: 80%;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: stretch;\r\n    max-width: 96%;\r\n}\r\n\r\n.wie-setting .wie-scroll {\r\n    height: 100%;\r\n    overflow: auto;\r\n    padding: 10px 0 0;\r\n}\r\n\r\nwie-magnet {\r\n    display: block;\r\n    border: 1px solid var(--mainBorderColor);\r\n    padding: 5px 10px;\r\n    margin: 10px 0 0;\r\n    background: var(--bgColor);\r\n    border-radius: 5px;\r\n}\r\n\r\nwie-magnet-line{\r\n    display: block;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    flex-wrap: wrap;\r\n}\r\n\r\nwie-magnet-line .wie-magnet-magnet {\r\n    margin:0;\r\n}\r\n\r\nwie-magnet-line:nth-child(2){\r\n    margin-top: 5px;\r\n}\r\n\r\nmagnet-item.wie-magnet-from {\r\n  background: var(--mainLightColor);\r\n  color: var(--mainTextColor);\r\n  display: inline-block;\r\n  height: 14px;\r\n  padding: 2px 6px;\r\n  border-radius: 3px;\r\n  line-height: 14px;\r\n  font-size: 10px;\r\n  box-sizing: content-box;\r\n}\r\n\r\n.wie-magnet-title {\r\n    width: 100%;\r\n    font-size: 13px;\r\n    margin: 5px 0 4px;\r\n    color: var(--color);\r\n    word-break: break-all;\r\n}\r\n\r\n.setting-title {\r\n    text-align: center;\r\n    font-size: 14px;\r\n    font-weight: 700;\r\n    padding: 13px;\r\n    color: var(--color);\r\n}\r\n\r\nwie-input{\r\n    width: 45%;\r\n    display: inline-block;\r\n    margin-right: 5%;\r\n    position: relative;\r\n    margin-bottom: 10px;\r\n    border-radius: 4px;\r\n    float: left;\r\n\r\n}\r\n\r\nwie-input .name {\r\n    background: var(--bgLLColor);\r\n    color: var(--color);\r\n    border: 1px solid var(--borderColor);\r\n    text-align: center;\r\n    border-radius: 4px 0 0 4px;\r\n    font-weight: 700;\r\n    font-size: 12px;\r\n    word-break: keep-all;\r\n    padding: 8px 10px;\r\n    vertical-align: top;\r\n    box-sizing: border-box;\r\n    width: 120px;\r\n}\r\n\r\n\r\n\r\nwie-input.focus{\r\n    outline: 2px solid var(--mainColor) !important;\r\n}\r\n\r\nwie-input .input {\r\n    border: 1px solid var(--borderColor);\r\n    width: 100%;\r\n    padding: 8px;\r\n    margin-bottom: 5px;\r\n    resize: none;\r\n    height: auto;\r\n    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n    font-size: 12px;\r\n    background: var(--bgLightColor);\r\n    color: var(--color);\r\n    border-radius: 0 4px 4px 0;\r\n    margin: 0;\r\n    box-sizing: border-box;\r\n    vertical-align: top;\r\n    border:none;\r\n}\r\n\r\nwie-input .input:focus{\r\n    background: var(--mainLightColor) !important;\r\n    outline: none !important;\r\n    box-shadow: none !important;\r\n    color: var(--mainTextColor) !important;\r\n    border-color: var(--mainColor) !important;\r\n}\r\n\r\nwie-input .input:active{\r\n    box-shadow: none !important;\r\n    border-color: var(--mainColor) !important;\r\n}\r\n\r\nwie-input.h-line,\r\nwie-input.hh-line{\r\n    display: flex;\r\n    align-items: stretch;\r\n    justify-content: stretch;\r\n}\r\n\r\nwie-input.h-line{\r\n    width: 100%;\r\n    margin-right: 0;\r\n}\r\n\r\nwie-input.vh-line .name,\r\nwie-input.v-line .name{\r\n    border-radius: 4px 4px 0 0;\r\n    height: 25px;\r\n    line-height: 25px;\r\n    text-align: left;\r\n    width: auto;\r\n    padding: 0 10px;\r\n}\r\n\r\nwie-input.vh-line .input,\r\nwie-input.v-line .input{\r\n    border-radius: 0 0 4px 4px;\r\n\r\n}\r\n\r\nwie-input.v-line{\r\n    width: 100%;\r\n    margin-right: 0;\r\n}\r\n\r\nwie-input .checkbox{\r\n    position: absolute;\r\n    top: 1px;\r\n    right: 3px;\r\n}\r\n\r\nwie-input .host-item {\r\n    position: absolute;\r\n    top: 6px;\r\n    color: #ddd;\r\n    fill: #ddd;\r\n    right: -20px;\r\n    cursor: pointer;\r\n}\r\n\r\nwie-input .host-item.checking {\r\n    animation: colorSwitch 1s infinite;\r\n}\r\n\r\nwie-input .host-item.error {\r\n    fill: #ff0000;\r\n}\r\n\r\nwie-input .host-item.success {\r\n    fill: #1afa29;\r\n}\r\n\r\n\r\n\r\n\r\nwie-input .color{\r\n    position: absolute;\r\n    top: 0;\r\n    right: 0;\r\n    height: 32px;\r\n    width: 32px;\r\n    border-radius: 0;\r\n}\r\n\r\n\r\nwie-input .range{\r\n    -webkit-appearance: none;\r\n    height: 6px;\r\n    width: 100%;\r\n    padding: 12px 0;\r\n    cursor: pointer;\r\n    border: 0;\r\n    background: none;\r\n}\r\n\r\nwie-input .range-out{\r\n    width: 100%;\r\n    position: relative;\r\n}\r\n\r\nwie-input .range::-webkit-slider-thumb {\r\n    -webkit-appearance: none;\r\n    height: 14px;\r\n    width: 14px;\r\n    border-radius: 8px;\r\n    position: relative;\r\n    top: -6px;\r\n    background: var(--mainColor);\r\n    cursor: pointer;\r\n}\r\n\r\nwie-input .range-light {\r\n    position: absolute;\r\n    height: 4px;\r\n    background: var(--mainColor);\r\n    width: 40%;\r\n    top: 13px;\r\n    left: 2px;\r\n    border-radius: 8px;\r\n}\r\n\r\n/* 高亮选中区域 */\r\nwie-input .range::-webkit-slider-runnable-track{\r\n    -webkit-appearance: none;\r\n    height: 4px;\r\n    border-radius: 2px;\r\n    background:var(--mainLLColor);\r\n}\r\n\r\nwie-input .range-add,\r\nwie-input .range-sub{\r\n    color: var(--color);\r\n    width: 30px;\r\n    height: 30px;\r\n    text-align: center;\r\n    line-height: 30px;\r\n    font-size: 25px;\r\n    font-weight: 700;\r\n    box-sizing: content-box;\r\n    padding: 0 10px 0 10px;\r\n    cursor: pointer;\r\n}\r\nwie-input .range-add{\r\n    padding: 0 10px 0 10px;\r\n}\r\nwie-input .range-name{\r\n    height: 30px;\r\n    background: none;\r\n    line-height: 40px;\r\n    font-size: 14px;\r\n    border: none;\r\n}\r\nwie-input .range-value{\r\n    font-size: 14px;\r\n    line-height: 34px;\r\n    width: 106px;\r\n    color: var(--color);\r\n    text-align: center;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n@keyframes colorSwitch {\r\n\t0% {\r\n\t\tfill: #ddd\r\n\t}\r\n\r\n\t49% {\r\n\t\tfill: #e8b61d\r\n\t}\r\n\t100% {\r\n\t\tfill: #ddd\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n\r\n.checkbox {\r\n    margin-top: 10px;\r\n    margin: 6px 5px;\r\n}\r\n\r\n.ios-switch{\r\n    position: relative;\r\n    appearance: none;\r\n    cursor: pointer;\r\n    transition: all 500ms;\r\n    border-radius: 31px;\r\n    width: 42px;\r\n    height: 18px;\r\n    background-color: #e9e9eb;\r\n}\r\n    \r\n.ios-switch::before {\r\n    position: absolute;\r\n    content: \"\";\r\n    transition: all 300ms cubic-bezier(.45, 1, .4, 1);\r\n    border-radius: 31px;\r\n    width: 42px;\r\n    height: 18px;\r\n    background-color: var(--mainLightColor);\r\n}\r\n    \r\n.ios-switch::after{\r\n    position: absolute;\r\n    left: 2px;\r\n    top: 2px;\r\n    border-radius: 27px;\r\n    width: 13px;\r\n    height: 13px;\r\n    background-color: var(--mainTextColor);\r\n    box-shadow: 1px 1px 5px rgba(var(--mainColor), .3);\r\n    content: \"\";\r\n    transition: all 300ms cubic-bezier(.4, .4, .25, 1.35);\r\n}\r\n    \r\n.ios-switch:checked{\r\n    background-color: var(--mainColor);\r\n}\r\n.ios-switch:checked::before {\r\n    transform: scale(0);\r\n}\r\n    \r\n.ios-switch:checked::after{\r\n    transform: translateX(25px);\r\n}\r\n\r\n#wie-log{\r\n    height: 0;\r\n    display: block;\r\n    transition: all 300ms cubic-bezier(.4, .4, .25, 1.35);\r\n    margin-top: 10px;\r\n}\r\n\r\n#wie-log.show{\r\n    height: 500px;\r\n}\r\n\r\n\r\n\r\n.wie-setting .no-border:nth-child(1) {\r\n    margin-bottom: 10px;\r\n}\r\n\r\n#wie-save {\r\n    margin: 10px auto;\r\n    display: block;\r\n    width: 90px;\r\n    text-align: center;\r\n    padding: 6PX;\r\n    font-size: 14px !important;\r\n}\r\n\r\n#close {\r\n    width: 41px;\r\n    position: absolute;\r\n    right: 12px;\r\n    top: 4px;\r\n    cursor: pointer;\r\n    fill: var(--mainColor);\r\n}\r\n#close svg{\r\n    width: 100%;\r\n    height: 100%;\r\n}\r\n\r\n/* 链接相关 */\r\nwie-button>a,\r\na.wie-btn,\r\nwie-button-item{\r\n    margin: 0px 5px 5px 0px;\r\n    border-radius: 4px;\r\n    display: inline-block;\r\n    /* box-shadow: -2px -2px 4px rgb(240 240 240), 2px 2px 4px rgb(70 70 70 / 50%); */\r\n    cursor: pointer;\r\n    user-select: none;\r\n    color: var(--mainTextColor) !important;\r\n    background-color: var(--mainColor);\r\n    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n    padding: 1px 6px;\r\n    font-size: 12px !important;\r\n    text-decoration: none;\r\n    height: 20px;\r\n    line-height: 20px;\r\n    box-sizing: content-box;\r\n\r\n    font-size: 11px !important;\r\n    border-radius: 0;\r\n    font-weight: bold;\r\n    padding: 0 5px;\r\n}\r\n\r\nwie-btn{\r\n    margin: 0px 0 5px 0px;\r\n    border-radius: 4px;\r\n    padding: 5px 8px;\r\n    cursor: pointer;\r\n    user-select: none;\r\n    color: var(--mainColor) !important;\r\n    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n    text-decoration: none;\r\n    height: 20px;\r\n    line-height: 20px;\r\n    box-sizing: content-box;\r\n    font-size: 11px !important;\r\n    font-weight: bold;\r\n}\r\n\r\nwie-btn:hover{\r\n    background-color: var(--mainLightColor);\r\n    color: var(--mainTextColor) !important;\r\n}\r\n\r\nwie-button>a::after{\r\n    display:none;\r\n}\r\n\r\nwie-button-item .icon,\r\nwie-name .icon,\r\na.wie-btn .icon,\r\nwie-button .icon,\r\nwie-btn .icon{\r\n    width: 14px;\r\n    height: 14px;\r\n    vertical-align: middle;\r\n    color: var(--mainTextColor);\r\n    fill: var(--mainTextColor);\r\n    margin-bottom: 2px;\r\n    display: inline-block;\r\n}\r\n\r\n\r\n\r\nwie-text-btn {\r\n    font-size: 18px;\r\n    color: #e1e1e1;\r\n    font-family: inherit;\r\n    font-weight: 800;\r\n    cursor: pointer;\r\n    position: relative;\r\n    border: none;\r\n    background: none;\r\n    text-transform: uppercase;\r\n    transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);\r\n    transition-duration: 400ms;\r\n    transition-property: color;\r\n  }\r\n  \r\n  wie-text-btn:focus,\r\n  wie-text-btn:hover {\r\n    color: #fff;\r\n  }\r\n  \r\n  wie-text-btn:focus:after,\r\n  wie-text-btn:hover:after {\r\n    width: 100%;\r\n    left: 0%;\r\n  }\r\n  \r\n  wie-text-btn:after {\r\n    content: \"\";\r\n    pointer-events: none;\r\n    bottom: -2px;\r\n    left: 50%;\r\n    position: absolute;\r\n    width: 0%;\r\n    height: 2px;\r\n    background-color: #fff;\r\n    transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);\r\n    transition-duration: 400ms;\r\n    transition-property: width, left;\r\n  }\r\n\r\n\r\nwie-name .icon{\r\n  fill: var(--mainColor);\r\n}\r\n\r\n/*\r\nwie-button>a:hover{\r\n    background-color: #000;\r\n}\r\n*/\r\n\r\n\r\nwie-radio-group{\r\n    display: flex;\r\n    justify-content: stretch;\r\n    align-items: stretch;\r\n}\r\nwie-theme-group{\r\n    display: flex;\r\n    justify-content: stretch;\r\n    align-items: stretch;\r\n    position: absolute;\r\n    right: 40px;\r\n    top: 8px;\r\n}\r\nwie-theme-item{\r\n    padding: 2px 6px;\r\n    box-sizing: border-box;\r\n    text-align: center;\r\n    margin-bottom: 10px;\r\n    background: var(--mainColor);\r\n    color: var(--mainTextColor);\r\n    border-radius: 4px;\r\n    margin-right: 8px;\r\n    font-size: 12px;\r\n    cursor: pointer;\r\n}\r\n\r\nwie-intro{\r\n    color: var(--mainLightColor);\r\n    font-size: 12px;\r\n}\r\n\r\nwie-radio {\r\n    width: 100%;\r\n}\r\n\r\ninput[type=\"radio\"] {\r\n    content: \" \";\r\n    display: inline-block;\r\n    vertical-align: middle;\r\n    width: 20px;\r\n    height:  20px;\r\n    border-radius: 30%;\r\n    border: solid 1px #1259B7;\r\n    margin-right: .213333rem;\r\n    box-sizing: border-box;\r\n\tposition: relative;\r\n\ttop: -2px;\r\n}\r\ninput[type=\"radio\"]:checked  {\r\n    background-color: #30F546;\r\n    background-clip: content-box;\r\n    padding: 0px;\r\n    box-sizing: border-box;\r\n}\r\n\r\nwie-top-title{\r\n    text-align: center;\r\n    font-size: 15px;\r\n    width: 100%;\r\n    display: block;\r\n    padding: 5px 0px 10px;\r\n}\r\n\r\n\r\n\r\n/**\r\n * Tooltip ([wie-tooltip])\r\n */\r\n[wie-tooltip] {\r\n  position: relative;\r\n}\r\n[wie-tooltip]:not(a, button, input) {\r\n  text-decoration: none;\r\n  cursor: help;\r\n}\r\n[wie-tooltip][data-placement=top]::before, [wie-tooltip][data-placement=top]::after, [wie-tooltip]::before, [wie-tooltip]::after {\r\n  display: block;\r\n  z-index: 99;\r\n  position: absolute;\r\n  bottom: 100%;\r\n  left: 50%;\r\n  padding: 5px 10px;\r\n  overflow: hidden;\r\n  transform: translate(-50%, -10px);\r\n  border-radius: 5px;\r\n  background: var(--mainColor);\r\n  content: attr(wie-tooltip);\r\n  color: var(--mainTextColor);\r\n  font-style: normal;\r\n  font-size: 12px;\r\n  text-decoration: none;\r\n  text-overflow: ellipsis;\r\n  white-space: nowrap;\r\n  opacity: 0;\r\n  pointer-events: none;\r\n  line-height: 1.3;\r\n}\r\n[wie-tooltip][data-placement=top]::after, [wie-tooltip]::after {\r\n  padding: 0;\r\n  transform: translate(-50%, -5px);\r\n  border-top: 6px solid;\r\n  border-right: 6px solid transparent;\r\n  border-left: 6px solid transparent;\r\n  border-radius: 0;\r\n  background-color: transparent;\r\n  content: \"\";\r\n  color: var(--mainColor);\r\n}\r\n[wie-tooltip][data-placement=bottom]::before, [wie-tooltip][data-placement=bottom]::after {\r\n  top: 100%;\r\n  bottom: auto;\r\n  transform: translate(-50%, 5px);\r\n}\r\n[wie-tooltip][data-placement=bottom]:after {\r\n  transform: translate(-50%, -6px);\r\n  border: 6px solid transparent;\r\n  border-bottom: 6px solid;\r\n}\r\n[wie-tooltip][data-placement=left]::before, [wie-tooltip][data-placement=left]::after {\r\n  top: 50%;\r\n  right: 100%;\r\n  bottom: auto;\r\n  left: auto;\r\n  transform: translate(-5px, -50%);\r\n}\r\n[wie-tooltip][data-placement=left]:after {\r\n  transform: translate(6px, -50%);\r\n  border: 6px solid transparent;\r\n  border-left: 6px solid;\r\n}\r\n[wie-tooltip][data-placement=right]::before, [wie-tooltip][data-placement=right]::after {\r\n  top: 50%;\r\n  right: auto;\r\n  bottom: auto;\r\n  left: 100%;\r\n  transform: translate(5px, -50%);\r\n}\r\n[wie-tooltip][data-placement=right]:after {\r\n  transform: translate(-6px, -50%);\r\n  border: 6px solid transparent;\r\n  border-right: 6px solid;\r\n}\r\n[wie-tooltip]:focus::before, [wie-tooltip]:focus::after, [wie-tooltip]:hover::before, [wie-tooltip]:hover::after {\r\n  opacity: 1;\r\n}\r\n@media (hover: hover) and (pointer: fine) {\r\n  [wie-tooltip][data-placement=bottom]:focus::before, [wie-tooltip][data-placement=bottom]:focus::after, [wie-tooltip][data-placement=bottom]:hover [wie-tooltip]:focus::before, [wie-tooltip][data-placement=bottom]:hover [wie-tooltip]:focus::after, [wie-tooltip]:hover::before, [wie-tooltip]:hover::after {\r\n    animation-duration: 0.2s;\r\n    animation-name: tooltip-slide-top;\r\n  }\r\n  [wie-tooltip][data-placement=bottom]:focus::after, [wie-tooltip][data-placement=bottom]:hover [wie-tooltip]:focus::after, [wie-tooltip]:hover::after {\r\n    animation-name: tooltip-caret-slide-top;\r\n  }\r\n  [wie-tooltip][data-placement=bottom]:focus::before, [wie-tooltip][data-placement=bottom]:focus::after, [wie-tooltip][data-placement=bottom]:hover::before, [wie-tooltip][data-placement=bottom]:hover::after {\r\n    animation-duration: 0.2s;\r\n    animation-name: tooltip-slide-bottom;\r\n  }\r\n  [wie-tooltip][data-placement=bottom]:focus::after, [wie-tooltip][data-placement=bottom]:hover::after {\r\n    animation-name: tooltip-caret-slide-bottom;\r\n  }\r\n  [wie-tooltip][data-placement=left]:focus::before, [wie-tooltip][data-placement=left]:focus::after, [wie-tooltip][data-placement=left]:hover::before, [wie-tooltip][data-placement=left]:hover::after {\r\n    animation-duration: 0.2s;\r\n    animation-name: tooltip-slide-left;\r\n  }\r\n  [wie-tooltip][data-placement=left]:focus::after, [wie-tooltip][data-placement=left]:hover::after {\r\n    animation-name: tooltip-caret-slide-left;\r\n  }\r\n  [wie-tooltip][data-placement=right]:focus::before, [wie-tooltip][data-placement=right]:focus::after, [wie-tooltip][data-placement=right]:hover::before, [wie-tooltip][data-placement=right]:hover::after {\r\n    animation-duration: 0.2s;\r\n    animation-name: tooltip-slide-right;\r\n  }\r\n  [wie-tooltip][data-placement=right]:focus::after, [wie-tooltip][data-placement=right]:hover::after {\r\n    animation-name: tooltip-caret-slide-right;\r\n  }\r\n}\r\n@keyframes tooltip-slide-top {\r\n  from {\r\n    transform: translate(-50%, 15px);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(-50%, -5px);\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes tooltip-caret-slide-top {\r\n  from {\r\n    opacity: 0;\r\n  }\r\n  50% {\r\n    transform: translate(-50%, -5px);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(-50%, 0rem);\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes tooltip-slide-bottom {\r\n  from {\r\n    transform: translate(-50%, -15px);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(-50%, 5px);\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes tooltip-caret-slide-bottom {\r\n  from {\r\n    opacity: 0;\r\n  }\r\n  50% {\r\n    transform: translate(-50%, -10px);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(-50%, -6px);\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes tooltip-slide-left {\r\n  from {\r\n    transform: translate(15px, -50%);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(-5px, -50%);\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes tooltip-caret-slide-left {\r\n  from {\r\n    opacity: 0;\r\n  }\r\n  50% {\r\n    transform: translate(1px, -50%);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(6px, -50%);\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes tooltip-slide-right {\r\n  from {\r\n    transform: translate(-15px, -50%);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(5px, -50%);\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes tooltip-caret-slide-right {\r\n  from {\r\n    opacity: 0;\r\n  }\r\n  50% {\r\n    transform: translate(-1px, -50%);\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    transform: translate(-6px, -50%);\r\n    opacity: 1;\r\n  }\r\n}\r\n\r\nwie-progress {\r\n  position: absolute;\r\n  right: 0;\r\n  left: 0;\r\n  bottom: 0px;\r\n  transition: all 0.3s ease;\r\n  background-color: var(--mainLLColor);\r\n  z-index:1;\r\n}\r\nwie-progress .wave {\r\n  height: 1px;\r\n  width: 0%;\r\n  background-color: var(--mainColor);\r\n  transition: all 0.3s ease;\r\n}\r\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CommonStyle);\n\n\n//# sourceURL=webpack://empty-project/./src/CommonStyle.ts?");
    
    /***/ }),
    
    /***/ "./src/Inject.ts":
    /*!***********************!*\
      !*** ./src/Inject.ts ***!
      \***********************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Inject: () => (/* binding */ Inject)\n/* harmony export */ });\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _WIESetting__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./WIESetting */ \"./src/WIESetting.ts\");\n\n\n\n\n`.WIE-Popup {\r\n    position: fixed;\r\n    z-index: 999999;\r\n    top: 50%;\r\n    left: 50%;\r\n    transform: translate(-50%, -50%);\r\n    background: #fff;\r\n    border-radius: 4px;\r\n    box-shadow: 0 0 10px #00000033;\r\n    padding: 10px 20px;\r\n}`;\n/**\n * 注入基类\n */\nclass Inject {\n    /**\n     * 获取Inject名称\n     * @returns\n     */\n    get Name() {\n        return this.constructor.Name;\n    }\n    get CName() {\n        return this.constructor.CName;\n    }\n    constructor(engine, setting, style) {\n        /** 子注入器 */\n        this.injects = [];\n        /** 如果设置循环值, 则会循环调用onStart, 可通过返回false来取消循环 */\n        this.timer = 0;\n        this.engine = engine;\n        if (this.Name === \"Inject\") {\n            throw new Error(\"注入器必须有标识,必须定义Name的静态属性\");\n        }\n        this.setting = this.engine.getSetting(this.Name, setting);\n        //兼容设置\n        this.setting = this.onSetting(this.setting);\n        // this.log(\"初始化 获取设置\", this.Name, this.CName, this.setting);\n        if (style)\n            this.addStyle(style);\n    }\n    /**\n     * 兼容设置\n     * @param setting\n     * @returns\n     */\n    onSetting(setting) {\n        return setting;\n    }\n    getMatch() {\n        return this.Match;\n    }\n    start() {\n        var _a;\n        this.log(`[${this.CName}]启动!`, \"配置\", (_a = this.setting) !== null && _a !== void 0 ? _a : {});\n        //事件监听\n        // DOMTool.onLoaded(() => this.onLoad());\n        // //\n        _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].onDomLoaded(() => this.onDomLoaded());\n        this.onStart();\n        if (this.timer)\n            this.startInterval();\n        //处理子注入器\n        this.engine.startInjects(this.injects);\n        //\n        this.onLoad();\n        if (document.readyState === \"complete\") {\n            this.onDomLoaded();\n        }\n    }\n    addSetting(name, setting) {\n        //注入设置界面\n        _WIESetting__WEBPACK_IMPORTED_MODULE_3__[\"default\"].addSetting(setting, name);\n    }\n    /** 循环调用 */\n    startInterval() {\n        setTimeout(() => {\n            if (this.onStart() === false)\n                return;\n            this.startInterval();\n        }, this.timer);\n    }\n    onDomLoaded() { }\n    /**\n     * dom加载完成时处理\n     */\n    onLoad() { }\n    /**\n     * 扩展样式\n     * @param style\n     */\n    addStyle(name, style) {\n        if (style) {\n            name = `.${name}{${Object.keys(style)\n                .map((key) => `${key}:${style[key]}`)\n                .join(\";\")}}`;\n        }\n        this.engine.addStyle(name);\n    }\n    /**\n     * 保存值\n     * @param key\n     * @param value\n     */\n    setValue(key, value) {\n        _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_setValue(key, value);\n    }\n    /**\n     * 获取缓存\n     * @param key\n     * @param defaultValue\n     * @returns\n     */\n    getValue(key, defaultValue) {\n        return _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_getValue(key, defaultValue);\n    }\n    deleteValue(key) {\n        _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_deleteValue(key);\n    }\n    /**\n     * 添加菜单\n     * @param name\n     * @param callback\n     * @param accessKey\n     */\n    addMenu(name, callback, accessKey) {\n        _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_registerMenuCommand(name, callback, accessKey);\n    }\n    /**\n     * 创建div\n     * @param innerHTML\n     * @param options\n     * @returns\n     */\n    createDiv(innerHTML, options = {}) {\n        return _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].createDiv(innerHTML, options);\n    }\n    /**\n     * 创建元素\n     * @param tag\n     * @param attrs\n     * @param child\n     * @returns\n     */\n    create(tag, attrs = {}, child) {\n        const node = document.createElement(tag);\n        for (const [name, value] of Object.entries(attrs))\n            node.setAttribute(name, value);\n        if (child)\n            node.append(child);\n        return node;\n    }\n    /**\n     * 复制\n     * @param text\n     * @param tip\n     */\n    copy(text, tip = \"复制成功\") {\n        _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].copy(text, tip);\n    }\n    /**\n     * 更新设置\n     * @param setting\n     */\n    updateSetting(setting) {\n        let toSetting = this.setting;\n        if (setting)\n            toSetting = _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].merge(this.setting, setting);\n        this.log(\"更新设置\", this.setting, setting, this.Name, toSetting);\n        this.engine.updateSetting(toSetting, this.Name);\n    }\n    /**\n     * 日志输出\n     * @param args\n     */\n    log(...args) {\n        this.engine.log(this.Name, ...args);\n    }\n    _log(key, ...args) {\n        this.engine.log(`${this.Name}-${key}`, ...args);\n    }\n}\n/** 需重写 */\nInject.CName = \"注入器\";\n/** 需重写 */\nInject.Name = \"Inject\";\n\n\n//# sourceURL=webpack://empty-project/./src/Inject.ts?");
    
    /***/ }),
    
    /***/ "./src/InjectSetting.ts":
    /*!******************************!*\
      !*** ./src/InjectSetting.ts ***!
      \******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ InjectSetting)\n/* harmony export */ });\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tools/Logger */ \"./src/Tools/Logger.ts\");\n/* harmony import */ var _Tools_ValueUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Tools/ValueUtils */ \"./src/Tools/ValueUtils.ts\");\n/* harmony import */ var _UI_UIMgr__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UI/UIMgr */ \"./src/UI/UIMgr.ts\");\n/* harmony import */ var _WIESetting__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./WIESetting */ \"./src/WIESetting.ts\");\n\n\n\n\n/**\n * 注入绑定基类\n */ 0;\nclass InjectSetting extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor(inject) {\n        super();\n        /** 缓存修改配置 */\n        this.setting = {};\n        this.inject = inject;\n        this.mgr = new _UI_UIMgr__WEBPACK_IMPORTED_MODULE_2__[\"default\"](inject, this);\n        this.setting = JSON.parse(JSON.stringify(inject.setting));\n    }\n    reRender() {\n        this.mgr.reset();\n        return this.render();\n    }\n    onChange(key, value) {\n        _Tools_ValueUtils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setValue(this.setting, key, value);\n    }\n    /**\n     * 实现事件绑定\n     * @param div\n     */\n    bindEvent(div) { }\n    rebind() {\n        this.log(\"InjectSetting rebind\", this.bindView);\n        // if (this.bindView) this.bind(this.bindView);\n        _WIESetting__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Instance.rerender(this.inject.constructor.name, this);\n    }\n    bind(div) {\n        this.bindView = div;\n        //绑定UI事件\n        this.mgr.bind(div);\n        //绑定事件\n        this.bindEvent(div);\n    }\n    /**\n     * 修改配置\n     */\n    save() {\n        if (Object.keys(this.setting).length === 0)\n            return;\n        //判断如果有修改,则保存\n        this.log(\"InjectSetting save\", this.setting);\n        this.inject.updateSetting(this.setting);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/InjectSetting.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/APIBase/CodeSync.ts":
    /*!**************************************************!*\
      !*** ./src/Injects/CodeFind/APIBase/CodeSync.ts ***!
      \**************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CodeSync)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _lib_Pages_Sync__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../lib/Pages/Sync */ \"./src/lib/Pages/Sync.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nconst FC2_REGEX = /^FC2-/i;\n/**\n * 同步基类\n */\nclass CodeSync extends _lib_Pages_Sync__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        /** 正则Code匹配 */\n        this.MatchCode = /\\S/;\n    }\n    /**\n     * 匹配Code\n     * @returns\n     */\n    match(info) {\n        return this.MatchCode.test(info.code);\n    }\n    getCode(code) {\n        return code === null || code === void 0 ? void 0 : code.replace(\"FC2-\", \"\");\n    }\n    getUrl(info) {\n        info = Object.assign(Object.assign({}, info), { code: this.getCode(info.code) });\n        return super.getUrl(info);\n    }\n    /**\n     * 检测获取可用地址\n     * @param urls\n     * @returns\n     */\n    checkUrl(urls) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const list = yield Promise.allSettled(urls.map((item) => _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(item, {}, \"HEAD\")));\n            for (let index = 0, { length } = list; index < length; index++) {\n                const { status, value } = list[index];\n                if (status !== \"fulfilled\" || !value)\n                    continue;\n                return urls[index];\n            }\n            return;\n        });\n    }\n    codeParse(code) {\n        const _ = FC2_REGEX.test(code) ? \"|_\" : \"\";\n        const codes = code.split(\"-\").map((item, index) => (index ? item.replace(/^0/, \"\") : item));\n        return {\n            prefix: codes[0],\n            regex: new RegExp(`(?<![a-z])${codes.join(`(0|-${_}){0,4}`)}(?!\\\\d)`, \"i\"),\n        };\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/APIBase/CodeSync.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/APIBase/SyncFCNo.ts":
    /*!**************************************************!*\
      !*** ./src/Injects/CodeFind/APIBase/SyncFCNo.ts ***!
      \**************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ SyncFCNo)\n/* harmony export */ });\n/* harmony import */ var _CodeSync__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\n\nclass SyncFCNo extends _CodeSync__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        /** 非FC2-开头正则 */\n        this.MatchCode = /^(?!FC2-)\\S+/i;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/APIBase/SyncFCNo.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/APIBase/SyncMagnet.ts":
    /*!****************************************************!*\
      !*** ./src/Injects/CodeFind/APIBase/SyncMagnet.ts ***!
      \****************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ SyncMagnet)\n/* harmony export */ });\n/* harmony import */ var _CodeSync__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\n\nclass SyncMagnet extends _CodeSync__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    /**\n     *\n     * @param res\n     * @returns\n     */\n    check(res, code) {\n        //从设置中检测当前 视频源是否已经开启\n        const magnets = this.setting.MagnetSource;\n        //如果设置中没有配置源,则不进行校验,直接返回true\n        if (!magnets)\n            return true;\n        //如果没有设置,则不进行\n        if (!magnets[this.SettingKey])\n            return false;\n        return super.check(res, code);\n    }\n    syncMagnet(htmlDoc, info, update) {\n        var _a;\n        const list = Array.from(htmlDoc.querySelectorAll(this.selectors));\n        if (!(list === null || list === void 0 ? void 0 : list.length))\n            return;\n        const magnets = [];\n        for (const item of list) {\n            const name = this.filterName(item);\n            if (name.indexOf(this.getCode(info.code)) < 0)\n                continue;\n            const magnet = {\n                name,\n                zh: this.filterZH(item, name),\n                link: this.filterLink(item),\n                size: this.filterSize(item),\n                time: this.filterTime(item),\n                magnet: this.filterMagnet(item),\n                from: this.from,\n            };\n            if (magnet.zh) {\n                update.zh = magnet.zh;\n            }\n            if (magnet.name && !info.title) {\n                update.title = magnet.name;\n            }\n            magnets.push(magnet);\n        }\n        return [...((_a = info.magnet) !== null && _a !== void 0 ? _a : []), ...magnets].sort((a, b) => b.time.localeCompare(a.time));\n    }\n    filterZH(item, name) {\n        if (/中文|\\-C|-c/g.test(name))\n            return true;\n        return false;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/APIBase/SyncMagnet.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/APIBase/SyncVideo.ts":
    /*!***************************************************!*\
      !*** ./src/Injects/CodeFind/APIBase/SyncVideo.ts ***!
      \***************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ SyncVideo)\n/* harmony export */ });\n/* harmony import */ var _CodeSync__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\n\nclass SyncVideo extends _CodeSync__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    /**\n     *\n     * @param res\n     * @param code\n     * @returns\n     */\n    check(res, code) {\n        var _a;\n        //从设置中检测当前 视频源是否已经开启\n        const videoSource = (_a = this.setting.VideoSource) !== null && _a !== void 0 ? _a : {};\n        //如果没有设置,则不进行\n        if (!videoSource[this.SettingKey])\n            return false;\n        return super.check(res, code);\n    }\n    /**\n     * 匹配基本信息\n     * @param info\n     * @param video\n     * @param update\n     */\n    matchBase(info, video, update) {\n        // this.log(\"matchBase\", info, video, update);\n        //检测info.name\n        if (!info.title) {\n            update.title = video.name;\n        }\n        if (!info.cover && video.cover) {\n            update.cover = video.cover;\n        }\n        if (!info.zh && video.zh) {\n            update.zh = video.zh;\n        }\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/APIBase/SyncVideo.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Actor/SyncActorCodes.ts":
    /*!**********************************************************!*\
      !*** ./src/Injects/CodeFind/API/Actor/SyncActorCodes.ts ***!
      \**********************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../APIBase/CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageActor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../pages/PageActor */ \"./src/Injects/CodeFind/pages/PageActor.ts\");\n/* harmony import */ var _pages_PageActorFollow__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../pages/PageActorFollow */ \"./src/Injects/CodeFind/pages/PageActorFollow.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Sync(_pages_PageActorFollow__WEBPACK_IMPORTED_MODULE_4__[\"default\"]), _CodeFind__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Sync(_pages_PageActor__WEBPACK_IMPORTED_MODULE_3__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncActorCodes = _classThis = class extends _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = ``;\n            this.SettingKey = \"Msin\";\n        }\n        execUrl(url, data) {\n            return __awaiter(this, void 0, void 0, function* () {\n                this.execSync(data);\n            });\n        }\n        syncVideos(res, info) {\n            var _a, _b, _c, _d;\n            return __awaiter(this, void 0, void 0, function* () {\n                // this.log(\"**********************开始同步演员信息\", res, info);\n                const maps = {};\n                const videos = [];\n                let actors = info.actors;\n                if (!actors && info.name)\n                    actors = { [info.name]: info };\n                for (let name in actors) {\n                    const actor = actors[name];\n                    const url = actor.link;\n                    const res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(url);\n                    if (!res)\n                        continue;\n                    const list = Array.from((_a = res.querySelectorAll(\".item\")) !== null && _a !== void 0 ? _a : []);\n                    const v = [];\n                    const vCache = {};\n                    for (let item of list) {\n                        const title = item.querySelector(\".video-title\").textContent;\n                        const code = item.querySelector(\"strong\").textContent;\n                        const duration = (_c = (_b = item.querySelector(\".meta\")) === null || _b === void 0 ? void 0 : _b.textContent) === null || _c === void 0 ? void 0 : _c.trim();\n                        const cover = (_d = item.querySelector(\"img\")) === null || _d === void 0 ? void 0 : _d.src;\n                        //如果长度超过10个字符,就不要了\n                        // if (v.length > 10) break;\n                        if (vCache[code])\n                            continue;\n                        let cache = maps[duration];\n                        if (!cache) {\n                            cache = { time: duration, videos: [], actors: new Set() };\n                            maps[duration] = cache;\n                            videos.push(cache);\n                        }\n                        vCache[code] = true;\n                        cache.actors.add(name);\n                        const ve = { name: title, code, duration, cover, from: \"JavDB\", zh: name };\n                        v.push(ve);\n                        cache.videos.push(ve);\n                    }\n                    // videos[name] = v;\n                    this.log(\"**********************开始同步演员信息\", res, list, v);\n                }\n                videos.sort((a, b) => {\n                    return new Date(a.time).valueOf() > new Date(b.time).valueOf() ? -1 : 1;\n                });\n                return videos;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncActorCodes\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncActorCodes = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncActorCodes = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Actor/SyncActorCodes.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Actor/SyncActorMsin.ts":
    /*!*********************************************************!*\
      !*** ./src/Injects/CodeFind/API/Actor/SyncActorMsin.ts ***!
      \*********************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_Sync__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../lib/Pages/Sync */ \"./src/lib/Pages/Sync.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageActor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../pages/PageActor */ \"./src/Injects/CodeFind/pages/PageActor.ts\");\n/* harmony import */ var _Tools_GFriends__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../Tools/GFriends */ \"./src/Injects/CodeFind/Tools/GFriends.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n\n//https://db.msin.jp/jp.search/actress?str=%E6%B3%A2%E5%A4%9A%E9%87%8E%E7%B5%90%E8%A1%A3\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Sync(_pages_PageActor__WEBPACK_IMPORTED_MODULE_3__[\"default\"], true)];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncActorMsin = _classThis = class extends _lib_Pages_Sync__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = `https://db.msin.jp/jp.search/actress?str={{name}}`;\n            this.SettingKey = \"Msin\";\n        }\n        getUrl(actor) {\n            const _super = Object.create(null, {\n                getUrl: { get: () => super.getUrl }\n            });\n            return __awaiter(this, void 0, void 0, function* () {\n                //如果有m站链接,则代表已经同步过了\n                // if (actor.link_m) return \"\";\n                this.log(\"SyncActorMsin\", actor.link_m, actor.link_m ? this.handleHost(actor.link_m) : _super.getUrl.call(this, actor));\n                return actor.link_m ? this.handleHost(actor.link_m) : _super.getUrl.call(this, actor);\n            });\n        }\n        syncName(res, actor) {\n            var _a, _b;\n            return __awaiter(this, void 0, void 0, function* () {\n                actor.link_m = this.url;\n                return (_b = (_a = res.querySelector(\".mv_name\")) === null || _a === void 0 ? void 0 : _a.textContent.replace(/(\\S+)/, \"\")) !== null && _b !== void 0 ? _b : actor.name;\n            });\n        }\n        syncAvatar(res, info) {\n            return __awaiter(this, void 0, void 0, function* () {\n                return res.querySelector(\".act_img\").dataset.src;\n            });\n        }\n        syncBirthday(res, info) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                return (_a = res.querySelector(\".mv_barth\")) === null || _a === void 0 ? void 0 : _a.textContent;\n            });\n        }\n        syncHeight(res, info) {\n            var _a, _b, _c;\n            return __awaiter(this, void 0, void 0, function* () {\n                const t = (_b = (_a = res.querySelector(\".mv_size\")) === null || _a === void 0 ? void 0 : _a.textContent) !== null && _b !== void 0 ? _b : \"\";\n                // T 162 B 82 ( C ) W 60 H 85\n                return (_c = t.match(/T\\s(\\d+)/)) === null || _c === void 0 ? void 0 : _c[1];\n            });\n        }\n        syncBust(res, info) {\n            var _a, _b, _c;\n            return __awaiter(this, void 0, void 0, function* () {\n                const t = (_b = (_a = res.querySelector(\".mv_size\")) === null || _a === void 0 ? void 0 : _a.textContent) !== null && _b !== void 0 ? _b : \"\";\n                // T 162 B 82 ( C ) W 60 H 85\n                return (_c = t.match(/B\\s(\\d+)/)) === null || _c === void 0 ? void 0 : _c[1];\n            });\n        }\n        syncCup(res, info) {\n            var _a, _b, _c;\n            return __awaiter(this, void 0, void 0, function* () {\n                const t = (_b = (_a = res.querySelector(\".mv_size\")) === null || _a === void 0 ? void 0 : _a.textContent) !== null && _b !== void 0 ? _b : \"\";\n                // T 162 B 82 ( C ) W 60 H 85\n                return (_c = t.match(/\\(\\s(\\S+)\\s\\)/)) === null || _c === void 0 ? void 0 : _c[1];\n            });\n        }\n        syncWaist(res, info) {\n            var _a, _b, _c;\n            return __awaiter(this, void 0, void 0, function* () {\n                const t = (_b = (_a = res.querySelector(\".mv_size\")) === null || _a === void 0 ? void 0 : _a.textContent) !== null && _b !== void 0 ? _b : \"\";\n                // T 162 B 82 ( C ) W 60 H 85\n                return (_c = t.match(/W\\s(\\d+)/)) === null || _c === void 0 ? void 0 : _c[1];\n            });\n        }\n        syncHip(res, info) {\n            var _a, _b, _c;\n            return __awaiter(this, void 0, void 0, function* () {\n                const t = (_b = (_a = res.querySelector(\".mv_size\")) === null || _a === void 0 ? void 0 : _a.textContent) !== null && _b !== void 0 ? _b : \"\";\n                // T 162 B 82 ( C ) W 60 H 85\n                return (_c = t.match(/H\\s(\\d+)/)) === null || _c === void 0 ? void 0 : _c[1];\n            });\n        }\n        syncBlood(res, info) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                return (_a = res.querySelector(\".mv_blood\")) === null || _a === void 0 ? void 0 : _a.textContent;\n            });\n        }\n        syncHobby(res, info) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                return (_a = res.querySelector(\".mv_hobby\")) === null || _a === void 0 ? void 0 : _a.textContent;\n            });\n        }\n        syncTime(res, info) {\n            var _a, _b, _c;\n            return __awaiter(this, void 0, void 0, function* () {\n                return (_c = (_b = (_a = res.querySelector(\".act_ditail\")) === null || _a === void 0 ? void 0 : _a.lastChild) === null || _b === void 0 ? void 0 : _b.textContent) === null || _c === void 0 ? void 0 : _c.replace(\"件\", \"部影片\");\n            });\n        }\n        syncSns(res, info) {\n            var _a, _b;\n            return __awaiter(this, void 0, void 0, function* () {\n                return (_b = (_a = res.querySelector(\".mv_sns\")) === null || _a === void 0 ? void 0 : _a.querySelector(\"a\")) === null || _b === void 0 ? void 0 : _b.getAttribute(\"href\");\n            });\n        }\n        syncTags(res, info) {\n            return __awaiter(this, void 0, void 0, function* () {\n                return Array.from(res.querySelectorAll(\".act_tag>a\")).map((a) => a.textContent);\n            });\n        }\n        syncAlias(res, actor) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                const names = new Set((_a = res.querySelector(\".mv_anotherName\")) === null || _a === void 0 ? void 0 : _a.textContent.split(\"=\"));\n                names.delete(actor.name);\n                return Array.from(names).join(\"、\");\n            });\n        }\n        syncActors(res, info) {\n            var _a, _b;\n            return __awaiter(this, void 0, void 0, function* () {\n                if (!info.actors)\n                    return;\n                if (((_a = info.actors) === null || _a === void 0 ? void 0 : _a.length) > 4) {\n                    //同步演员大图\n                    for (let actor of info.actors) {\n                        actor.cover = yield _Tools_GFriends__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Instance().getActor(actor.name);\n                    }\n                    return [...info.actors];\n                }\n                const actors = (_b = info.actors) !== null && _b !== void 0 ? _b : [];\n                for (let actor of actors) {\n                    const url = this.handleHost(this.Url.replace(\"%d\", actor.name));\n                    const res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].request(url);\n                    if (!res)\n                        continue;\n                    actor.link_m = url;\n                    /** 修改头像 */\n                }\n                return [...info.actors];\n            });\n        }\n        syncCodes(res, info) {\n            var _a, _b, _c, _d;\n            return __awaiter(this, void 0, void 0, function* () {\n                const list = Array.from(res.querySelectorAll(\".movie_info\"));\n                const codes = [];\n                for (let item of list) {\n                    const name = (_a = item.querySelector(\".movie_title\")) === null || _a === void 0 ? void 0 : _a.textContent;\n                    const code = (_b = name.match(/FC2-PPV-\\d+/)) === null || _b === void 0 ? void 0 : _b[0];\n                    if (!code)\n                        continue;\n                    const video = {\n                        cover: (_c = item.querySelector(\".movie_img\")) === null || _c === void 0 ? void 0 : _c.src,\n                        name,\n                        from: \"Msin\",\n                        zh: (_d = item.querySelector(\".movie_create\")) === null || _d === void 0 ? void 0 : _d.textContent,\n                        duration: code,\n                        code: code.replace(/PPV-/, \"\"),\n                    };\n                    if (code)\n                        codes.push(video);\n                }\n                return codes;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncActorMsin\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncActorMsin = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncActorMsin = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Actor/SyncActorMsin.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Actor/SyncMissAV.ts":
    /*!******************************************************!*\
      !*** ./src/Injects/CodeFind/API/Actor/SyncMissAV.ts ***!
      \******************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ SyncMissAV)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_Sync__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../lib/Pages/Sync */ \"./src/lib/Pages/Sync.ts\");\n/* harmony import */ var _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Emby/EmbyTool */ \"./src/Injects/Emby/EmbyTool.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n// @CodeFind.Sync(PageActor)\nclass SyncMissAV extends _lib_Pages_Sync__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Url = `https://missav.com/actresses/{{name}}?sort=views`;\n        this.nextMax = 10;\n    }\n    syncCodes(res, info, update) {\n        var _a, _b, _c, _d, _e, _f;\n        return __awaiter(this, void 0, void 0, function* () {\n            const list = res.querySelectorAll(\".thumbnail.group\");\n            // if (!info.videos) info.videos = [];\n            const videos = new Map();\n            (_a = info.codes) === null || _a === void 0 ? void 0 : _a.forEach((item) => {\n                videos.set(item.code, item);\n            });\n            // this.log(\"syncCodes\", list, videos, info.codes?.length, videos.size);\n            for (const item of list) {\n                const img = item.querySelector(\"img\");\n                const a = item.querySelector(\"a\");\n                // const code = a.textContent.trim().match(/\\S+/g)?.[0];\n                let code = a.href.slice(a.href.lastIndexOf(\"/\") + 1);\n                // const code = item.querySelector(\".text-secondary\").textContent.replace(img.alt, \"\").trim().match(/\\S+/g)?.[0];\n                // this.log(\"--\", code, a.href, img.alt);\n                if (!code)\n                    continue;\n                code = code.replace(/-uncensored|-leak/g, \"\").toUpperCase();\n                let video = {\n                    code,\n                    name: img.alt,\n                    link: a.href,\n                    //TODO 403\n                    // preview: item.querySelector(\"video\").dataset.src,\n                    cover: img.dataset.src.replace(\"thumbnail\", \"normal\"),\n                    zh: (_c = (_b = item.querySelector(\".left-1\")) === null || _b === void 0 ? void 0 : _b.textContent.replace(/\\n/, \"\")) !== null && _c !== void 0 ? _c : \"\",\n                    duration: (_e = (_d = item.querySelector(\".right-1\")) === null || _d === void 0 ? void 0 : _d.textContent.replace(/\\n/, \"\")) !== null && _e !== void 0 ? _e : \"\",\n                    from: \"ThisAV\",\n                    can: true,\n                    emby: yield _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].embySearch(code),\n                };\n                const codeItem = videos.get(code);\n                if (codeItem) {\n                    let zh = codeItem.zh;\n                    if (video.zh) {\n                        zh = [...codeItem.zh.split(\",\"), video.zh].join(\",\");\n                    }\n                    video = Object.assign(Object.assign(Object.assign({}, codeItem), video), { zh });\n                }\n                videos.set(code, video);\n            }\n            const next = (_f = this.querySelector(res, '//span[@aria-current=\"page\"]/following-sibling::a/@href')) === null || _f === void 0 ? void 0 : _f.textContent;\n            if (next) {\n                this.nextUrl = next;\n            }\n            return Array.from(videos.values());\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Actor/SyncMissAV.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Actor/SyncMsin.ts":
    /*!****************************************************!*\
      !*** ./src/Injects/CodeFind/API/Actor/SyncMsin.ts ***!
      \****************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../APIBase/CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\n/* harmony import */ var _Tools_GFriends__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../Tools/GFriends */ \"./src/Injects/CodeFind/Tools/GFriends.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n\n//https://db.msin.jp/jp.search/actress?str=%E6%B3%A2%E5%A4%9A%E9%87%8E%E7%B5%90%E8%A1%A3\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_3__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncMsin = _classThis = class extends _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = `https://db.msin.jp/jp.search/actress?str=%d`;\n            this.SettingKey = \"Msin\";\n        }\n        execUrl(url, data) {\n            return __awaiter(this, void 0, void 0, function* () {\n                this.execSync(data);\n            });\n        }\n        syncActors(res, info) {\n            var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;\n            return __awaiter(this, void 0, void 0, function* () {\n                // this.log(\"开始同步演员信息\", res, info);\n                if (!info.actors)\n                    return;\n                if (((_a = info.actors) === null || _a === void 0 ? void 0 : _a.length) > 4) {\n                    //同步演员大图\n                    for (let actor of info.actors) {\n                        actor.cover = yield _Tools_GFriends__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Instance().getActor(actor.name);\n                    }\n                    return [...info.actors];\n                }\n                const actors = (_b = info.actors) !== null && _b !== void 0 ? _b : [];\n                for (let actor of actors) {\n                    const url = this.handleHost((_c = actor.link_m) !== null && _c !== void 0 ? _c : this.Url.replace(\"%d\", actor.name));\n                    const res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(url);\n                    if (!res)\n                        continue;\n                    actor.link_m = url;\n                    /** 修改头像 */\n                    actor.name = (_e = (_d = res.querySelector(\".mv_name\")) === null || _d === void 0 ? void 0 : _d.textContent.replace(/(\\S+)/, \"\")) !== null && _e !== void 0 ? _e : actor.name;\n                    actor.avatar = res.querySelector(\".act_img\").dataset.src;\n                    actor.birthday = (_f = res.querySelector(\".mv_barth\")) === null || _f === void 0 ? void 0 : _f.textContent;\n                    const t = (_h = (_g = res.querySelector(\".mv_size\")) === null || _g === void 0 ? void 0 : _g.textContent) !== null && _h !== void 0 ? _h : \"\";\n                    // T 162 B 82 ( C ) W 60 H 85\n                    actor.height = (_j = t.match(/T\\s(\\d+)/)) === null || _j === void 0 ? void 0 : _j[1];\n                    actor.bust = (_k = t.match(/B\\s(\\d+)/)) === null || _k === void 0 ? void 0 : _k[1];\n                    actor.cup = (_l = t.match(/\\(\\s(\\S+)\\s\\)/)) === null || _l === void 0 ? void 0 : _l[1];\n                    actor.waist = (_m = t.match(/W\\s(\\d+)/)) === null || _m === void 0 ? void 0 : _m[1];\n                    actor.hip = (_o = t.match(/H\\s(\\d+)/)) === null || _o === void 0 ? void 0 : _o[1];\n                    actor.blood = (_p = res.querySelector(\".mv_blood\")) === null || _p === void 0 ? void 0 : _p.textContent;\n                    actor.hobby = (_q = res.querySelector(\".mv_hobby\")) === null || _q === void 0 ? void 0 : _q.textContent;\n                    actor.time = (_t = (_s = (_r = res.querySelector(\".act_ditail\")) === null || _r === void 0 ? void 0 : _r.lastChild) === null || _s === void 0 ? void 0 : _s.textContent) === null || _t === void 0 ? void 0 : _t.replace(\"件\", \"部影片\");\n                    actor.sns = (_v = (_u = res.querySelector(\".mv_sns\")) === null || _u === void 0 ? void 0 : _u.querySelector(\"a\")) === null || _v === void 0 ? void 0 : _v.getAttribute(\"href\");\n                    actor.tags = Array.from(res.querySelectorAll(\".act_tag>a\")).map((a) => a.textContent);\n                    actor.cover = yield _Tools_GFriends__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Instance().getActor(actor.name);\n                    const names = new Set((_w = res.querySelector(\".mv_anotherName\")) === null || _w === void 0 ? void 0 : _w.textContent.split(\"=\"));\n                    names.delete(actor.name);\n                    actor.alias = Array.from(names).join(\"、\");\n                    //缓存演员信息\n                    this.page.saveActor(actor);\n                }\n                return [...info.actors];\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncMsin\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncMsin = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncMsin = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Actor/SyncMsin.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Actor/XSlist.ts":
    /*!**************************************************!*\
      !*** ./src/Injects/CodeFind/API/Actor/XSlist.ts ***!
      \**************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_Sync__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../lib/Pages/Sync */ \"./src/lib/Pages/Sync.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageActor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../pages/PageActor */ \"./src/Injects/CodeFind/pages/PageActor.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Sync(_pages_PageActor__WEBPACK_IMPORTED_MODULE_3__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var XSlist = _classThis = class extends _lib_Pages_Sync__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            //https://xslist.org/search?lg=zh&query=%E4%B8%89%E5%AE%AE%E3%81%A4%E3%81%B0%E3%81%8D\n            super(...arguments);\n            this.Url = `https://xslist.org/search?lg=zh&query=%d`;\n            // protected async syncCodes(res: HTMLElement, urls: string[]) {\n            //     const videos: IVideo[] = [];\n            //     const list = Array.from(this.querySelectorAll(res, \"#movices tr\")).slice(1);\n            //     list.forEach((item: HTMLElement) => {\n            //         const items = this.querySelectorAll(item, \"td\");\n            //         videos.push({\n            //             code: items[0].textContent,\n            //             name: items[1].textContent,\n            //             duration: items[2].textContent,\n            //             zh: items[0].textContent,\n            //             from: \"XSlist\",\n            //         });\n            //     });\n            //     return videos;\n            // }\n        }\n        getUrl(info) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                const url = this.handleHost(this.Url.replace(\"%d\", info.name));\n                const res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].request(url);\n                this.log(\"res get url\", res, url);\n                if (!res)\n                    return \"\";\n                const href = (_a = res.querySelector(\"a\")) === null || _a === void 0 ? void 0 : _a.getAttribute(\"href\");\n                this.log(\"res\", res, href);\n                return href;\n            });\n        }\n        syncImages(res, info) {\n            return __awaiter(this, void 0, void 0, function* () {\n                const images = [];\n                this.querySelectorAll(res, \"#gallery a\").forEach((item) => {\n                    if (item.dataset.thumb)\n                        images.push(item.dataset.thumb);\n                });\n                this.log(\"images\", images, res, info);\n                if (info.cover)\n                    images.unshift(info.cover);\n                return images;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"XSlist\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        XSlist = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return XSlist = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Actor/XSlist.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Comment/SyncComment.ts":
    /*!*********************************************************!*\
      !*** ./src/Injects/CodeFind/API/Comment/SyncComment.ts ***!
      \*********************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _APIBase_SyncFCNo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../APIBase/SyncFCNo */ \"./src/Injects/CodeFind/APIBase/SyncFCNo.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n// import { IComment } from \"../../ICodeInfo\";\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncComment = _classThis = class extends _APIBase_SyncFCNo__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"\";\n            this.SettingKey = \"JavDB\";\n        }\n        /**\n         *\n         * @param info\n         * @returnsS\n         */\n        getUrl(info) {\n            return __awaiter(this, void 0, void 0, function* () {\n                return `${info.link}/reviews/lastest`;\n            });\n        }\n        syncComment(res, { link }) {\n            var _a, _b;\n            return __awaiter(this, void 0, void 0, function* () {\n                const list = res.querySelectorAll(\".review-item\");\n                const comments = [];\n                for (let item of list) {\n                    const comment = (_a = item.querySelector(\".content\")) === null || _a === void 0 ? void 0 : _a.textContent;\n                    if (!comment)\n                        continue;\n                    comments.push({ from: \"JavDB\", comment, time: (_b = item.querySelector(\".time\")) === null || _b === void 0 ? void 0 : _b.textContent });\n                }\n                return comments;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncComment\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncComment = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncComment = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Comment/SyncComment.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Comment/SyncFCComment.ts":
    /*!***********************************************************!*\
      !*** ./src/Injects/CodeFind/API/Comment/SyncFCComment.ts ***!
      \***********************************************************/
    /***/ (() => {
    
    eval("// import { IComment } from \"../../ICodeInfo\";\n// import SyncFC from \"../../APIBase/SyncFC\";\n// import { ICodeInfo } from \"../../ICodeInfo\";\n// import Setting from \"../../Setting\";\n// @CodeFind.Sync(PageCode)\n// export default class SyncFCComment extends SyncFC {\n//     protected Url: string = \"https://adult.xiaojiadianmovie.be/article/%d/review\";\n//     protected SettingKey = \"FC2\";\n//     protected async syncComment(res: HTMLElement, { link }: ICodeInfo) {\n//         const list = res.querySelectorAll(\"#pjx-container ul\") as any as any[];\n//         const comments: IComment[] = [];\n//         this.log(\"FC2\", list.length, list);\n//         for (let item of list) {\n//             // const comment = item.querySelector(\".content\")?.textContent;\n//             const date = this.querySelector(item, `//span[@class='userDatareview']`);\n//             const comment = this.querySelector(item, `//span[@class='userDatareview']/following-sibling::span`);\n//             if (!comment) continue;\n//             comments.push({ from: \"FC2\", comment: comment.textContent, time: date?.textContent });\n//         }\n//         return comments;\n//     }\n// }\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Comment/SyncFCComment.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Comment/SyncJavLib.ts":
    /*!********************************************************!*\
      !*** ./src/Injects/CodeFind/API/Comment/SyncJavLib.ts ***!
      \********************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _APIBase_SyncFCNo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../APIBase/SyncFCNo */ \"./src/Injects/CodeFind/APIBase/SyncFCNo.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncComment = _classThis = class extends _APIBase_SyncFCNo__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"https://www.javlibrary.com/cn/vl_searchbyid.php?keyword=%d\";\n            this.SettingKey = \"JavLib\";\n        }\n        syncComment(res, { link, comment = [] }) {\n            var _a, _b;\n            return __awaiter(this, void 0, void 0, function* () {\n                const list = res.querySelectorAll(\".comment\");\n                this.log(\"SyncComment\", res, res.querySelectorAll(\".comment\"));\n                const comments = [];\n                for (let item of list) {\n                    let comment = (_a = item.querySelector(\"textarea\")) === null || _a === void 0 ? void 0 : _a.textContent;\n                    // this.log(\"SyncComment\", comment, item.querySelector(\".date\")?.textContent);\n                    if (comment)\n                        comment = comment\n                            .replace(/\\[url[\\s\\S]+\\[\\/url\\]/, \"\")\n                            .replace(/\\[img[\\s\\S]+\\[\\/img\\]/, \"\")\n                            .replace(/\\[[\\s\\S]+?\\]/g, \"\");\n                    if (!comment)\n                        continue;\n                    comments.push({ from: \"JavLib\", comment, time: (_b = item.querySelector(\".date\")) === null || _b === void 0 ? void 0 : _b.textContent });\n                }\n                return [...comment, ...comments];\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncComment\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncComment = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncComment = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Comment/SyncJavLib.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Image/Sync3X.ts":
    /*!**************************************************!*\
      !*** ./src/Injects/CodeFind/API/Image/Sync3X.ts ***!
      \**************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../APIBase/CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\n//https://3xplanet.com/fc2-ppv-3237031/\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var Sync3X = _classThis = class extends _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            //https://3xplanet.com/fc2-ppv-3237031/\n            this.Url = \"https://3xplanet.com/%d\";\n            this.SettingKey = \"XPlanet\";\n        }\n        getCode(code) {\n            if (code.startsWith(\"FC2-\")) {\n                code = `fc2-ppv-${code.replace(\"FC2-\", \"\")}`;\n            }\n            return code;\n        }\n        syncImage(htmlDoc, info) {\n            var _a, _b, _c, _d;\n            return __awaiter(this, void 0, void 0, function* () {\n                // this.find.log(\"SyncUU.syncContent ************\", htmlDoc);\n                this.log(\"Sync3X.syncImage\", info.image);\n                if (info.image)\n                    return info.image;\n                const list = htmlDoc.querySelectorAll(\".tdb_single_content .td-fix-index a img\");\n                this.log(\"Sync3X.syncImage\", list, (_b = (_a = list[1]) === null || _a === void 0 ? void 0 : _a.src) === null || _b === void 0 ? void 0 : _b.replace(\"s200\", \"s0\"));\n                return (_d = (_c = list[1]) === null || _c === void 0 ? void 0 : _c.src) === null || _d === void 0 ? void 0 : _d.replace(\"s200\", \"s0\");\n            });\n        }\n        syncReleaseDate(htmlDoc, info) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                if (info.releaseDate)\n                    return;\n                let item = this.querySelector(htmlDoc, `//div[contains(@class,'tdb-block-inner')]/p[contains(text(),'発売日: ')]`);\n                if (!item)\n                    item = this.querySelector(htmlDoc, `//div[contains(@class,'tdb-block-inner')]/p[contains(text(),'販売日')]`);\n                return (_a = item === null || item === void 0 ? void 0 : item.textContent) === null || _a === void 0 ? void 0 : _a.replace(/発売日: |販売日/, \"\").trim();\n            });\n        }\n        syncDuration(htmlDoc, info) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                if (info.duration)\n                    return;\n                let item = this.querySelector(htmlDoc, `//div[contains(@class,'tdb-block-inner')]/p[contains(text(),'収録時間: ')]`);\n                if (!item)\n                    item = this.querySelector(htmlDoc, `//div[contains(@class,'tdb-block-inner')]/p[contains(text(),'再生時間')]`);\n                return (_a = item === null || item === void 0 ? void 0 : item.textContent) === null || _a === void 0 ? void 0 : _a.replace(/収録時間: |再生時間/, \"\").trim();\n            });\n        }\n        syncStudio(htmlDoc, info) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                if (info.studio)\n                    return;\n                const item = this.querySelector(htmlDoc, `//div[contains(@class,'tdb-block-inner')]/p[contains(text(),'Studio: ')]`);\n                return (_a = item === null || item === void 0 ? void 0 : item.textContent) === null || _a === void 0 ? void 0 : _a.replace(\"Studio: \", \"\").trim();\n            });\n        }\n        syncTags(htmlDoc, info) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                if (info.tags)\n                    return;\n                const item = this.querySelector(htmlDoc, `//div[contains(@class,'tdb-block-inner')]/p[contains(text(),'Tags:')]`);\n                return (_a = item === null || item === void 0 ? void 0 : item.textContent) === null || _a === void 0 ? void 0 : _a.replace(\"Tags: \", \"\").split(\",\").map((x) => x.trim());\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"Sync3X\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        Sync3X = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return Sync3X = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Image/Sync3X.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Image/SyncMemoJav.ts":
    /*!*******************************************************!*\
      !*** ./src/Injects/CodeFind/API/Image/SyncMemoJav.ts ***!
      \*******************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../APIBase/CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncMemoJav = _classThis = class extends _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"https://memojav.com/video/%d\";\n            this.SettingKey = \"MemoJav\";\n        }\n        syncImage(res, { code }) {\n            return __awaiter(this, void 0, void 0, function* () {\n                const img = res.querySelector(\"#preview-img\");\n                if (!img)\n                    return;\n                return img.getAttribute(\"src\");\n                //https://image.memojav.com/image/screenshot/ADN-451.jpg\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncMemoJav\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncMemoJav = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncMemoJav = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Image/SyncMemoJav.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Info/Sync115.ts":
    /*!**************************************************!*\
      !*** ./src/Injects/CodeFind/API/Info/Sync115.ts ***!
      \**************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../.. */ \"./src/Injects/CodeFind/index.ts\");\n/* harmony import */ var _lib_Pages_Sync__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../lib/Pages/Sync */ \"./src/lib/Pages/Sync.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [___WEBPACK_IMPORTED_MODULE_0__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var Sync115 = _classThis = class extends _lib_Pages_Sync__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"https://webapi.115.com/files/search?offset=0&limit=30&format=json&search_value={{code}}\";\n            this.SettingKey = \"Sync115\";\n        }\n        syncIn115(res, info) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                const text = (_a = res.querySelector(\"body\")) === null || _a === void 0 ? void 0 : _a.textContent;\n                if (!text)\n                    return false;\n                try {\n                    const json = JSON.parse(text);\n                    for (let item of json.data) {\n                        if (item.n.includes(info.code)) {\n                            info.url115 = `https://115.com/?cid=${item.cid}&offset=0&mode=wangpan`;\n                            return true;\n                        }\n                    }\n                }\n                catch (e) {\n                    // this.log(\"syncIn115 错误\", e);\n                }\n                return false;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"Sync115\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        Sync115 = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return Sync115 = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Info/Sync115.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Info/SyncAirAv.ts":
    /*!****************************************************!*\
      !*** ./src/Injects/CodeFind/API/Info/SyncAirAv.ts ***!
      \****************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../APIBase/CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncAirAv = _classThis = class extends _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"https://www.airav.wiki/video/{{code}}\";\n            this.SettingKey = \"SyncAirAv\";\n            // protected async syncSubs(res: HTMLElement, { code }: ICodeInfo, update: ICodeInfo) {\n            //     const list = res.querySelectorAll(\".sub-table td>a\") as any as HTMLAnchorElement[];\n            //     const subs: ISub[] = [];\n            //     for (let item of list) {\n            //         //判断是否包含code\n            //         //如果不包含,则跳出循环\n            //         if (!item.textContent.toLowerCase()?.includes(code.toLowerCase())) {\n            //             break;\n            //         }\n            //         //如果包含,则获取链接内容\n            //         const url = this.handleHost(\"/\" + item.getAttribute(\"href\"));\n            //         const res = await Tool.request(url);\n            //         if (!res) continue;\n            //         const href = res.querySelector(\"img[src='/assets/flags/cn.png']\").parentElement.parentElement.querySelector(\".green-link\");\n            //         if (!href) continue;\n            //         subs.push({\n            //             name: item.textContent,\n            //             url: this.handleHost(href.getAttribute(\"href\")),\n            //         });\n            //     }\n            //     if (subs.length > 0) update.zh = true;\n            //     return subs;\n            // }\n        }\n        syncDesc(res, { code }) {\n            var _a, _b;\n            return __awaiter(this, void 0, void 0, function* () {\n                // this.log(\"syncDesc\", res.querySelector(\".synopsis\")?.textContent?.replace(\"劇情\", \"\"));\n                return (_b = (_a = res.querySelector(\".synopsis\")) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.replace(\"劇情\", \"\");\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncAirAv\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncAirAv = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncAirAv = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Info/SyncAirAv.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Info/SyncQB.ts":
    /*!*************************************************!*\
      !*** ./src/Injects/CodeFind/API/Info/SyncQB.ts ***!
      \*************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ICodeInfo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../ICodeInfo */ \"./src/Injects/CodeFind/ICodeInfo.ts\");\n/* harmony import */ var _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../APIBase/CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_3__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncQB = _classThis = class extends _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"http://localhost:8080/api/v2/sync/maindata?rid=60&lqagv5uf\";\n            this.SettingKey = \"SyncQB\";\n        }\n        getOptions(info) {\n            return { responseType: \"json\" };\n        }\n        syncQt(res, { code }) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                const torrents = (_a = res === null || res === void 0 ? void 0 : res.torrents) !== null && _a !== void 0 ? _a : {};\n                // this.log(\"syncQt\", code, torrents);\n                for (const item in torrents) {\n                    const torrent = torrents[item];\n                    // this.log(\"syncQt\", torrent, code.toLocaleLowerCase(), torrent.name.toLocaleLowerCase());\n                    if (torrent.name.toLowerCase().includes(code.toLowerCase())) {\n                        //判断是否下载完成\n                        if (torrent.progress === 1)\n                            return _ICodeInfo__WEBPACK_IMPORTED_MODULE_0__.QTType.DOWNLOADED;\n                        //判断是否下载中\n                        return _ICodeInfo__WEBPACK_IMPORTED_MODULE_0__.QTType.DOWNLOADING;\n                    }\n                }\n                return _ICodeInfo__WEBPACK_IMPORTED_MODULE_0__.QTType.NULL;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncQB\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncQB = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncQB = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Info/SyncQB.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Info/SyncSubtitles.ts":
    /*!********************************************************!*\
      !*** ./src/Injects/CodeFind/API/Info/SyncSubtitles.ts ***!
      \********************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../APIBase/CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncSubtitles = _classThis = class extends _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"https://www.subtitlecat.com/index.php?search={{code}}\";\n            this.SettingKey = \"SubtitleCat\";\n        }\n        syncSubs(res, { code }, update) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                const list = res.querySelectorAll(\".sub-table td>a\");\n                const subs = [];\n                for (let item of list) {\n                    //判断是否包含code\n                    //如果不包含,则跳出循环\n                    if (!((_a = item.textContent.toLowerCase()) === null || _a === void 0 ? void 0 : _a.includes(code.toLowerCase()))) {\n                        break;\n                    }\n                    //如果包含,则获取链接内容\n                    const url = this.handleHost(\"/\" + item.getAttribute(\"href\"));\n                    const res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_3__[\"default\"].request(url);\n                    if (!res)\n                        continue;\n                    const href = res.querySelector(\"img[src='/assets/flags/cn.png']\").parentElement.parentElement.querySelector(\".green-link\");\n                    if (!href)\n                        continue;\n                    subs.push({\n                        name: item.textContent,\n                        url: this.handleHost(href.getAttribute(\"href\")),\n                    });\n                }\n                if (subs.length > 0)\n                    update.zh = true;\n                return subs;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncSubtitles\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncSubtitles = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncSubtitles = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Info/SyncSubtitles.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Magnet/SyncBTSOW.ts":
    /*!******************************************************!*\
      !*** ./src/Injects/CodeFind/API/Magnet/SyncBTSOW.ts ***!
      \******************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Search_Pages_PageSearch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Search/Pages/PageSearch */ \"./src/Injects/Search/Pages/PageSearch.ts\");\n/* harmony import */ var _Search_WieSearch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Search/WieSearch */ \"./src/Injects/Search/WieSearch.ts\");\n/* harmony import */ var _APIBase_SyncMagnet__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../APIBase/SyncMagnet */ \"./src/Injects/CodeFind/APIBase/SyncMagnet.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_4__[\"default\"]), _Search_WieSearch__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Sync(_Search_Pages_PageSearch__WEBPACK_IMPORTED_MODULE_0__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncBTSOW = _classThis = class extends _APIBase_SyncMagnet__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"https://btsow.hair/search/%d\";\n            this.SettingKey = \"BTSow\";\n            this.selectors = \".data-list .row:not(.hidden-xs)\";\n            this.from = \"BTSOW\";\n        }\n        filterSize(item) {\n            return item.querySelector(\".size\").textContent;\n        }\n        filterTime(item) {\n            return item.querySelector(\".date\").textContent;\n        }\n        filterMagnet(item) {\n            return `magnet:?xt=urn:btih:${item.querySelector(\"a\").href.split(\"/\").pop()}`;\n        }\n        filterName(item) {\n            return item.querySelector(\".file\").textContent;\n        }\n        filterLink(item) {\n            return item.querySelector(\"a\").getAttribute(\"href\");\n        }\n    };\n    __setFunctionName(_classThis, \"SyncBTSOW\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncBTSOW = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncBTSOW = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Magnet/SyncBTSOW.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Magnet/SyncSukebei.ts":
    /*!********************************************************!*\
      !*** ./src/Injects/CodeFind/API/Magnet/SyncSukebei.ts ***!
      \********************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Search_Pages_PageSearch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Search/Pages/PageSearch */ \"./src/Injects/Search/Pages/PageSearch.ts\");\n/* harmony import */ var _Search_WieSearch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Search/WieSearch */ \"./src/Injects/Search/WieSearch.ts\");\n/* harmony import */ var _APIBase_SyncMagnet__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../APIBase/SyncMagnet */ \"./src/Injects/CodeFind/APIBase/SyncMagnet.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_4__[\"default\"]), _Search_WieSearch__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Sync(_Search_Pages_PageSearch__WEBPACK_IMPORTED_MODULE_0__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncSukebei = _classThis = class extends _APIBase_SyncMagnet__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"https://sukebei.nyaa.si/?f=0&c=0_0&q=%d\";\n            this.SettingKey = \"Sukebei\";\n            this.selectors = \".table-responsive table tbody tr\";\n            this.from = \"Sukebei\";\n        }\n        filterSize(item) {\n            return item.querySelector(\"td:nth-child(4)\").textContent;\n        }\n        filterTime(item) {\n            return item.querySelector(\"td:nth-child(5)\").textContent.split(\" \")[0];\n        }\n        filterMagnet(item) {\n            return item.querySelector(\"td:nth-child(3) a:last-child\").href;\n        }\n        filterName(item) {\n            return item.querySelector(\"td:nth-child(2) a\").textContent;\n        }\n        filterLink(item) {\n            return item.querySelector(\"td:nth-child(2) a\").href;\n        }\n    };\n    __setFunctionName(_classThis, \"SyncSukebei\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncSukebei = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncSukebei = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Magnet/SyncSukebei.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Magnet/SyncU3C3.ts":
    /*!*****************************************************!*\
      !*** ./src/Injects/CodeFind/API/Magnet/SyncU3C3.ts ***!
      \*****************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Search_Pages_PageSearch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Search/Pages/PageSearch */ \"./src/Injects/Search/Pages/PageSearch.ts\");\n/* harmony import */ var _Search_WieSearch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Search/WieSearch */ \"./src/Injects/Search/WieSearch.ts\");\n/* harmony import */ var _APIBase_SyncMagnet__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../APIBase/SyncMagnet */ \"./src/Injects/CodeFind/APIBase/SyncMagnet.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_4__[\"default\"]), _Search_WieSearch__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Sync(_Search_Pages_PageSearch__WEBPACK_IMPORTED_MODULE_0__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncU3C3 = _classThis = class extends _APIBase_SyncMagnet__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"https://u3c3.shop/?search2=eljalfea&search=%d\";\n            this.SettingKey = \"U3C3\";\n            this.selectors = \".default\";\n            this.from = \"U3C3\";\n        }\n        filterSize(item) {\n            var _a;\n            return (_a = item.querySelectorAll(\".text-center\")) === null || _a === void 0 ? void 0 : _a[1].textContent;\n        }\n        filterTime(item) {\n            var _a;\n            return (_a = item.querySelectorAll(\".text-center\")) === null || _a === void 0 ? void 0 : _a[2].textContent;\n        }\n        filterMagnet(item) {\n            var _a;\n            return (_a = item.querySelector(\".fa-magnet\").parentElement) === null || _a === void 0 ? void 0 : _a.href;\n        }\n        filterName(item) {\n            return item.querySelectorAll(\"td a\")[1].textContent;\n        }\n        filterLink(item) {\n            return `https://u3c3.shop${item.querySelectorAll(\"td a\")[1].getAttribute(\"href\")}`;\n        }\n    };\n    __setFunctionName(_classThis, \"SyncU3C3\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncU3C3 = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncU3C3 = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Magnet/SyncU3C3.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/SyncAVPreview.ts":
    /*!***************************************************!*\
      !*** ./src/Injects/CodeFind/API/SyncAVPreview.ts ***!
      \***************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _APIBase_SyncFCNo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../APIBase/SyncFCNo */ \"./src/Injects/CodeFind/APIBase/SyncFCNo.ts\");\n/* harmony import */ var _Tools_GFriends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Tools/GFriends */ \"./src/Injects/CodeFind/Tools/GFriends.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_3__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncAVPreview = _classThis = class extends _APIBase_SyncFCNo__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = `https://avpreview.com/API/v1.0/index.php`;\n            this.SettingKey = \"AVPreview\";\n            this.options = {\n                responseType: \"json\",\n            };\n        }\n        getCode(code) {\n            // return \"adn00451\";\n            return code\n                .split(\"-\")\n                .map((item) => item.toLowerCase())\n                .join(\"00\");\n        }\n        getHeaders(info) {\n            return { system: \"videos\", action: \"detail\", contentid: this.getCode(info.code), sitecode: \"avpreview\", ip: \"\", token: \"\" };\n        }\n        check(res) {\n            if (res.status_code === 401)\n                return false;\n            return true;\n        }\n        syncTrailer({ videos }, info) {\n            var _a, _b;\n            return __awaiter(this, void 0, void 0, function* () {\n                const playList = (_b = (_a = videos.trailer) === null || _a === void 0 ? void 0 : _a.replace(\"/hlsvideo/\", \"/litevideo/\")) === null || _b === void 0 ? void 0 : _b.replace(\"/playlist.m3u8\", \"\");\n                if (!playList)\n                    return;\n                const contentId = playList.split(\"/\").at(-1);\n                //更新预览\n                return yield this.checkUrl([info.trailer, `${playList}/${contentId}_dmb_w.mp4`, `${playList}/${contentId}_mhb_w.mp4`, `${playList}/${contentId}_dm_w.mp4`, `${playList}/${contentId}_sm_w.mp4`]);\n            });\n        }\n        syncTitle({ videos }, info) {\n            return __awaiter(this, void 0, void 0, function* () {\n                //更新title\n                return videos.title_zh;\n            });\n        }\n        syncRelated({ related }, info) {\n            return related.list;\n        }\n        // protected syncTags({ categories: tags }: any, info: ICodeInfo) {\n        //     const set = new Set(info.tags);\n        //     tags?.forEach((item: any) => set.add(item.title_zh));\n        //     set.delete(null);\n        //     return Array.from(set);\n        // }\n        /**\n         * 同步演员\n         * @param param0\n         * @param info\n         * @returns\n         */\n        syncActors({ casts: actor }, info) {\n            var _a, _b, _c;\n            return __awaiter(this, void 0, void 0, function* () {\n                if (((_a = info.actors) === null || _a === void 0 ? void 0 : _a.length) <= 4)\n                    return info.actors;\n                const caches = {};\n                (_b = info.actors) === null || _b === void 0 ? void 0 : _b.forEach((item) => {\n                    caches[item.name] = item;\n                });\n                const actors = [];\n                for (let index = 0; index < actor.length; index++) {\n                    const item = actor[index];\n                    const { name_jp: name, bloodtype: blood, birthday, bust, cup, height, hip, hobbies_jp: hobby, photo: avatar, waist } = item;\n                    const old = caches[name];\n                    if (old)\n                        delete caches[name];\n                    caches[name] = {\n                        name,\n                        cover: yield _Tools_GFriends__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance().getActor(name),\n                        blood,\n                        birthday,\n                        bust,\n                        cup,\n                        height,\n                        hip,\n                        hobby,\n                        avatar: (_c = old === null || old === void 0 ? void 0 : old.avatar) !== null && _c !== void 0 ? _c : avatar,\n                        waist,\n                        link: old === null || old === void 0 ? void 0 : old.link,\n                        emby: old === null || old === void 0 ? void 0 : old.emby,\n                    };\n                }\n                for (let item of Object.values(caches)) {\n                    //同步演员大图\n                    item.cover = yield _Tools_GFriends__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance().getActor(item.name);\n                    actors.push(item);\n                }\n                return actors;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncAVPreview\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncAVPreview = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncAVPreview = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/SyncAVPreview.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/SyncFC2.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/API/SyncFC2.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\n/* harmony import */ var _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../APIBase/CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n//https://db.msin.jp/branch/search?sort=movie&str=FC2-PPV-3286747\n//https://shiroutowiki.work/actress/%e6%a1%9c%e5%92%8c%e3%81%93%e3%81%a8%e3%81%93/\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_1__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncFC2 = _classThis = class extends _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            /** FC2-开头的正则 */\n            this.MatchCode = /^FC2-/i;\n            /**  */\n            this.Url = \"https://adult.xiaojiadianmovie.be/article/%d/\";\n            this.SettingKey = \"FC2\";\n        }\n        check(res, code) {\n            if (res.querySelector(\".items_notfound_wp\"))\n                return false;\n            return true;\n        }\n        syncTitle(htmlDoc, info) {\n            var _a;\n            if (info.title)\n                return info.title;\n            let title = (_a = htmlDoc.querySelector(\"h3\")) === null || _a === void 0 ? void 0 : _a.textContent;\n            return title;\n        }\n        syncCover(htmlDoc, info) {\n            var _a;\n            if (info.cover)\n                return info.cover;\n            return (_a = htmlDoc.querySelector(\".items_article_MainitemThumb img\")) === null || _a === void 0 ? void 0 : _a.src;\n        }\n        syncPreview(htmlDoc) {\n            const list = htmlDoc.querySelectorAll(\".items_article_SampleImagesArea a\");\n            const preview = [];\n            for (let i = 0; i < list.length; i++) {\n                preview.push(list[i].href);\n            }\n            return preview;\n        }\n        syncReleaseDate(htmlDoc, info) {\n            var _a;\n            if (info.releaseDate)\n                return info.releaseDate;\n            const item = htmlDoc.querySelector(\".items_article_Releasedate\");\n            return (_a = item === null || item === void 0 ? void 0 : item.textContent) === null || _a === void 0 ? void 0 : _a.replace(\"上架时间 : \", \"\");\n        }\n        syncScore(htmlDoc) {\n            var _a;\n            const item = htmlDoc.querySelector(\".items_article_Stars\");\n            return {\n                score: Number((_a = item.querySelector(\"a>p>span\")) === null || _a === void 0 ? void 0 : _a.className.match(/\\d+/)) * 2,\n                num: Number(item.textContent.replace(/\\n/g, \"\")),\n                total: 10,\n            };\n        }\n        syncTrailer(htmlDoc, info) {\n            var _a, _b;\n            return __awaiter(this, void 0, void 0, function* () {\n                const res = (_b = (_a = htmlDoc.head\n                    .querySelector(\"script:last-child\")\n                    .innerHTML) === null || _a === void 0 ? void 0 : _a.match(/(?<=ae', ').*?(?=')/)) === null || _b === void 0 ? void 0 : _b.at(0);\n                // this.find.log(\"SyncFC2.syncTrailer\", res);\n                if (!res)\n                    return;\n                const url = this.handleHost(`https://adult.xiaojiadianmovie.be/api/v2/videos/${info.code.split(\"-\").at(-1)}/sample`);\n                const ret = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(url, {}, \"GET\", {\n                    responseType: \"json\",\n                    headers: { \"X-FC2-Contents-Access-Token\": res },\n                });\n                // this.find.log(\"SyncFC2.syncTrailer ---ret\", `https://adult.xiaojiadianmovie.be/api/v2/videos/${info.code.split(\"-\").at(-1)}/sample`, ret);\n                return ret.path;\n            });\n        }\n        syncTags(htmlDoc) {\n            const list = Array.from(htmlDoc.querySelectorAll(\".tag.tagTag\"));\n            return list.map((item) => item.textContent);\n        }\n        syncDirector(htmlDoc, info) {\n            var _a, _b, _c;\n            if (info.director)\n                return info.director;\n            return (_c = (_b = (_a = htmlDoc.querySelector(\".items_article_StarA\")) === null || _a === void 0 ? void 0 : _a.nextElementSibling) === null || _b === void 0 ? void 0 : _b.querySelector(\"a\")) === null || _c === void 0 ? void 0 : _c.textContent;\n        }\n        syncStudio(htmlDoc, info) {\n            if (info.studio)\n                return info.studio;\n            return \"FC2\";\n        }\n        syncComment(res, { link }) {\n            return __awaiter(this, void 0, void 0, function* () {\n                const list = res.querySelectorAll(\".items_article_reviewComp ul\");\n                const comments = [];\n                this.log(\"FC2\", list.length, list);\n                for (let item of list) {\n                    // const comment = item.querySelector(\".content\")?.textContent;\n                    const date = this.querySelector(item, `//span[@class='userDatareview']`);\n                    const comment = this.querySelector(item, `//span[@class='userDatareview']/following-sibling::span`);\n                    if (!comment)\n                        continue;\n                    comments.push({ from: \"FC2\", comment: comment.textContent, time: date === null || date === void 0 ? void 0 : date.textContent });\n                }\n                return comments;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncFC2\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncFC2 = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncFC2 = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/SyncFC2.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/SyncFC2Msin.ts":
    /*!*************************************************!*\
      !*** ./src/Injects/CodeFind/API/SyncFC2Msin.ts ***!
      \*************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\n/* harmony import */ var _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../APIBase/CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n//https://db.msin.jp/branch/search?sort=movie&str=FC2-PPV-3286747\n//https://shiroutowiki.work/actress/%e6%a1%9c%e5%92%8c%e3%81%93%e3%81%a8%e3%81%93/\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_0__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncFC2Msin = _classThis = class extends _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            /** FC2-开头的正则 */\n            this.MatchCode = /^FC2-/i;\n            /**  */\n            this.Url = \"https://db.msin.jp/branch/search?sort=movie&str=FC2-PPV-%d\";\n            this.SettingKey = \"FC2Msin\";\n        }\n        check(res, code) {\n            if (res.querySelector(\".error_string\"))\n                return false;\n            return true;\n        }\n        syncActors(htmlDoc) {\n            var _a, _b, _c, _d, _e;\n            const list = htmlDoc.querySelectorAll(\".performer_box\");\n            const actors = [];\n            for (let i = 0; i < list.length; i++) {\n                if (!list[i].querySelector(\".performer_cnt\"))\n                    continue;\n                actors.push({\n                    name: (_b = (_a = list[i].querySelector(\".performer_text\")) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.replace(\"(FC2動画)\", \"\"),\n                    avatar: (_c = list[i].querySelector(\".performer_image img\")) === null || _c === void 0 ? void 0 : _c.getAttribute(\"src\"),\n                    time: `共出演(${(_d = list[i].querySelector(\".performer_cnt\")) === null || _d === void 0 ? void 0 : _d.textContent})部影片`,\n                    link_m: (_e = list[i].querySelector(\"a\")) === null || _e === void 0 ? void 0 : _e.getAttribute(\"href\"),\n                });\n            }\n            return actors;\n        }\n        syncTitle(htmlDoc) {\n            var _a;\n            let title = (_a = htmlDoc.querySelector(\".mv_title\")) === null || _a === void 0 ? void 0 : _a.textContent;\n            return title;\n        }\n        syncCover(htmlDoc) {\n            var _a;\n            return (_a = htmlDoc.querySelector(\".movie_img\")) === null || _a === void 0 ? void 0 : _a.src;\n        }\n        // protected syncPreview(htmlDoc: HTMLElement) {\n        //     const list = htmlDoc.querySelectorAll(\".items_article_SampleImagesArea a\") as any as HTMLAnchorElement[];\n        //     const preview: string[] = [];\n        //     for (let i = 0; i < list.length; i++) {\n        //         preview.push(list[i].href);\n        //     }\n        //     return preview;\n        // }\n        syncDuration(htmlDoc) {\n            const item = htmlDoc.querySelector(\".mv_duration\");\n            return item === null || item === void 0 ? void 0 : item.textContent;\n        }\n        syncReleaseDate(htmlDoc) {\n            const item = htmlDoc.querySelector(\".mv_createDate\");\n            return item === null || item === void 0 ? void 0 : item.textContent;\n        }\n        // protected syncScore(htmlDoc: HTMLElement): IScore {\n        //     const item = htmlDoc.querySelector(\".items_article_Stars\") as HTMLElement;\n        //     return {\n        //         score: Number(item.querySelector(\"a>p>span\")?.className.match(/\\d+/)) * 2,\n        //         num: Number(item.textContent.replace(/\\n/g, \"\")),\n        //         total: 10,\n        //     };\n        // }\n        // protected async syncTrailer(htmlDoc: HTMLElement, info: ICodeInfo) {\n        //     const res = (htmlDoc as any).head\n        //         .querySelector(\"script:last-child\")\n        //         .innerHTML?.match(/(?<=ae', ').*?(?=')/)\n        //         ?.at(0);\n        //     // this.find.log(\"SyncFC2.syncTrailer\", res);\n        //     if (!res) return;\n        //     const url = this.handleHost(`https://adult.xiaojiadianmovie.be/api/v2/videos/${info.code.split(\"-\").at(-1)}/sample`);\n        //     const ret: any = await Tool.request(url, {}, \"GET\", {\n        //         responseType: \"json\",\n        //         headers: { \"X-FC2-Contents-Access-Token\": res },\n        //     });\n        //     // this.find.log(\"SyncFC2.syncTrailer ---ret\", `https://adult.xiaojiadianmovie.be/api/v2/videos/${info.code.split(\"-\").at(-1)}/sample`, ret);\n        //     return ret.path;\n        // }\n        // protected syncTags(htmlDoc: HTMLElement) {\n        //     const list = Array.from(htmlDoc.querySelectorAll(\".tag.tagTag\"));\n        //     return list.map((item) => item.textContent);\n        // }\n        syncDirector(htmlDoc) {\n            var _a;\n            return (_a = htmlDoc.querySelector(\".mv_writer\")) === null || _a === void 0 ? void 0 : _a.textContent;\n        }\n        syncStudio(htmlDoc) {\n            var _a;\n            return (_a = htmlDoc.querySelector(\".mv_mfr\")) === null || _a === void 0 ? void 0 : _a.textContent;\n        }\n    };\n    __setFunctionName(_classThis, \"SyncFC2Msin\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncFC2Msin = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncFC2Msin = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/SyncFC2Msin.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/SyncJavDB.ts":
    /*!***********************************************!*\
      !*** ./src/Injects/CodeFind/API/SyncJavDB.ts ***!
      \***********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Decorator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Tools/Decorator */ \"./src/Tools/Decorator.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Emby/EmbyTool */ \"./src/Injects/Emby/EmbyTool.ts\");\n/* harmony import */ var _APIBase_SyncFCNo__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../APIBase/SyncFCNo */ \"./src/Injects/CodeFind/APIBase/SyncFCNo.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\n/* harmony import */ var _Tools_GFriends__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Tools/GFriends */ \"./src/Injects/CodeFind/Tools/GFriends.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_5__[\"default\"], true)];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    let _instanceExtraInitializers = [];\n    let _syncActors_decorators;\n    var SyncJavDB = _classThis = class extends _APIBase_SyncFCNo__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = (__runInitializers(this, _instanceExtraInitializers), \"https://javdb.com/v/%d\");\n            /**  */\n            this.Host = \"https://javdb.com\"; //\"https://www.javdb.com\";\n            this.SettingKey = \"JavDB\";\n        }\n        /**\n         * JabDB网站,获取Code的详情页地址\n         * @param info\n         * @returns\n         */\n        getUrl(info) {\n            return __awaiter(this, void 0, void 0, function* () {\n                // return `https://www.javdb.com/search?q=${code}`;\n                let code = info.code;\n                const search = `${this.Host}/search?q=${code}&sb=0`;\n                //获取页面\n                let res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].request(this.handleHost(search));\n                if (!res)\n                    return;\n                const list = res.querySelectorAll(\".movie-list .item a\");\n                if (!list.length)\n                    return;\n                const { regex } = this.codeParse(code);\n                code = code.toUpperCase();\n                const item = Array.from(list).find((item) => {\n                    const str = item.querySelector(\"strong\").textContent.toUpperCase();\n                    return str.includes(code) && regex.test(str);\n                });\n                if (!item)\n                    return;\n                const url = this.handleHost(`${this.Host}${item.getAttribute(\"href\")}`);\n                info.link = url;\n                this.log(\"JavDB\", search, url, info);\n                return url;\n            });\n        }\n        /**\n         * 解析标题\n         * @param htmlDoc\n         * @returns\n         */\n        syncTitle(htmlDoc) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                let title = (_a = htmlDoc.querySelector(\".current-title\")) === null || _a === void 0 ? void 0 : _a.textContent;\n                return title;\n            });\n        }\n        // /**\n        //  * 翻译标题\n        //  * @param title\n        //  * @returns\n        //  */\n        // protected async syncTitleExt(title: string, info: ICodeInfo) {\n        //     info.oTitle = title;\n        //     return await Tool.translate(title);\n        // }\n        syncCover(htmlDoc) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                const url = (_a = htmlDoc.querySelector(\".video-cover\")) === null || _a === void 0 ? void 0 : _a.getAttribute(\"src\");\n                return url.indexOf(\"http\") === 0 ? url : this.Host + url;\n            });\n        }\n        syncActors(htmlDoc) {\n            return __awaiter(this, void 0, void 0, function* () {\n                const value = this.findInfo(htmlDoc, /演員|Actor/, false);\n                if (!value)\n                    return;\n                const caches = {};\n                value.textContent\n                    .split(\"\\n\")\n                    .filter((item) => item.includes(\"♀\"))\n                    .map((item) => {\n                    caches[item.replace(\"♀\", \"\").trim()] = true;\n                });\n                const list = value.querySelectorAll(\"a\");\n                const actors = [];\n                for (let item of list) {\n                    const name = item.textContent.trim();\n                    if (!caches[name])\n                        continue;\n                    const emby = yield _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].searchActor(name);\n                    const href = item.getAttribute(\"href\");\n                    const id = href.split(\"/\").at(-1);\n                    actors.push({\n                        name,\n                        link: this.handleHost(`${this.Host}${href}`),\n                        avatar: `https://c0.jdbstatic.com/avatars/${id.slice(0, 2).toLowerCase()}/${id}.jpg`,\n                        emby,\n                        cover: yield _Tools_GFriends__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Instance().getActor(name),\n                    });\n                }\n                return actors;\n            });\n        }\n        syncTags(htmlDoc) {\n            return __awaiter(this, void 0, void 0, function* () {\n                const value = this.findInfo(htmlDoc, /類別|Category/);\n                if (!value)\n                    return;\n                return value.split(\",\").map((item) => item.trim());\n            });\n        }\n        syncReleaseDate(htmlDoc) {\n            return __awaiter(this, void 0, void 0, function* () {\n                const value = this.findInfo(htmlDoc, /日期|Release Date/);\n                if (!value)\n                    return;\n                return value.trim();\n            });\n        }\n        syncSeries(htmlDoc) {\n            return __awaiter(this, void 0, void 0, function* () {\n                const value = this.findInfo(htmlDoc, /系列|Series/, false);\n                if (!value)\n                    return;\n                let url = value.querySelector(\"a\").getAttribute(\"href\");\n                if (url.indexOf(\"http\") !== 0)\n                    url = this.handleHost(this.Host + url);\n                return { name: value.textContent.trim(), url };\n            });\n        }\n        syncDirector(htmlDoc) {\n            return __awaiter(this, void 0, void 0, function* () {\n                const value = this.findInfo(htmlDoc, /導演|Director/);\n                if (!value)\n                    return;\n                return value.trim();\n            });\n        }\n        syncStudio(htmlDoc) {\n            return __awaiter(this, void 0, void 0, function* () {\n                const value = this.findInfo(htmlDoc, /片商|Studio/);\n                if (!value)\n                    return;\n                return value.trim();\n            });\n        }\n        /**\n         * 获取预告片\n         * @param htmlDoc\n         * @returns\n         */\n        syncTrailer(htmlDoc) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                const video = ((_a = htmlDoc.querySelector(\"#preview-video source\")) === null || _a === void 0 ? void 0 : _a.getAttribute(\"src\")) || \"\";\n                if (!video)\n                    return;\n                // if (!(await Tool.request(video, {}, \"HEAD\"))) return;\n                return video;\n            });\n        }\n        syncDuration(htmlDoc) {\n            return __awaiter(this, void 0, void 0, function* () {\n                const value = this.findInfo(htmlDoc, /時長:/);\n                if (!value)\n                    return;\n                return value.trim();\n            });\n        }\n        /**\n         * 获取磁链\n         * @param htmlDoc\n         */\n        syncMagnet(htmlDoc, info, update) {\n            var _a, _b, _c, _d, _e;\n            return __awaiter(this, void 0, void 0, function* () {\n                const { link } = info;\n                const list = htmlDoc.querySelectorAll(\"#magnets-content .item\");\n                const magnets = [];\n                for (let item of list) {\n                    const first = item.querySelector(\"a\");\n                    if (!first)\n                        continue;\n                    const size = (_c = (_b = (_a = first.querySelector(\".meta\")) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== null && _c !== void 0 ? _c : \"\";\n                    const magnet = {\n                        from: \"JavDB\",\n                        name: first.querySelector(\".name\").textContent,\n                        size,\n                        bytes: _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].sizeToBytes(size),\n                        link,\n                        magnet: first.href.split(\"&\")[0],\n                        time: (_e = (_d = item.querySelector(\".time\")) === null || _d === void 0 ? void 0 : _d.textContent) !== null && _e !== void 0 ? _e : \"\",\n                        zh: !!first.querySelector(\".tag.is-warning.is-small.is-light\"),\n                    };\n                    if (!info.zh && magnet.zh) {\n                        update.zh = magnet.zh;\n                    }\n                    magnets.push(magnet);\n                }\n                return magnets;\n            });\n        }\n        syncPreview(htmlDoc) {\n            return __awaiter(this, void 0, void 0, function* () {\n                const list = Array.from(htmlDoc.querySelectorAll(\".preview-images .tile-item\"));\n                return list.map((item) => item.href);\n            });\n        }\n        /**\n         * 获取评分数\n         * @param doc\n         * @returns\n         */\n        syncScore(doc) {\n            const info = this.findInfo(doc, /評分|Rating/);\n            if (!info)\n                return;\n            const [score, num] = info.match(/\\d+\\.?\\d*/g);\n            return { score: Number(score) * 2, total: 10, num };\n        }\n        findInfo(doc, reg, text = true) {\n            const list = doc.querySelectorAll(\".movie-panel-info .panel-block\");\n            for (let item of list) {\n                const label = item.querySelector(\"strong\");\n                const value = item.querySelector(\".value\");\n                if (label && value && reg.test(label.textContent)) {\n                    // this.find.log(\"信息----\", reg, label?.textContent, value?.textContent);\n                    return text ? value.textContent : value;\n                }\n            }\n        }\n        /**\n         * 获取emby信息\n         * @param htmlDoc\n         * @param code\n         */\n        syncEmby(htmlDoc, { code }) {\n            return __awaiter(this, void 0, void 0, function* () {\n                // console.time(\"syncEmby 耗时\");\n                const item = yield _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].embySearch(code);\n                // console.timeEnd(\"syncEmby 耗时\");\n                if (!item)\n                    return;\n                // const detail = await EmbyTool.embyItem(item.Id);\n                // this.log(\"--getEmbyVideoInfo--\", item, detail);\n                return _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].embyDetailUrl(item);\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncJavDB\");\n    (() => {\n        _syncActors_decorators = [_Tools_Decorator__WEBPACK_IMPORTED_MODULE_0__.Time];\n        __esDecorate(_classThis, null, _syncActors_decorators, { kind: \"method\", name: \"syncActors\", static: false, private: false, access: { has: obj => \"syncActors\" in obj, get: obj => obj.syncActors } }, null, _instanceExtraInitializers);\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncJavDB = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncJavDB = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/SyncJavDB.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/SyncUU.ts":
    /*!********************************************!*\
      !*** ./src/Injects/CodeFind/API/SyncUU.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../APIBase/CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_3__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncUU = _classThis = class extends _APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            /** 非FC2-开头正则 */\n            this.MatchCode = /^(?!FC2-)\\S+/i;\n            // protected Url: string = \"https://uuribao.org/archives/tag//\";\n            this.SettingKey = \"UURibao\";\n        }\n        getUrl(info) {\n            var _a;\n            return __awaiter(this, void 0, void 0, function* () {\n                const res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(this.handleHost(`https://uuribao.org/archives/tag/${info.code}/`));\n                // this.find.log(\"SyncUU.syncContent -----------\", `https://uuribao.org/archives/tag/${info.code}/`, res);\n                if (!res)\n                    return;\n                return (_a = res.querySelector(\"article a\")) === null || _a === void 0 ? void 0 : _a.href;\n            });\n        }\n        syncIntroduce(htmlDoc) {\n            return __awaiter(this, void 0, void 0, function* () {\n                // this.find.log(\"SyncUU.syncContent ************\", htmlDoc);\n                const introduce = htmlDoc.querySelector(\".article-content\").innerHTML;\n                return introduce;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncUU\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncUU = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncUU = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/SyncUU.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Trailer/SyncTrailer.ts":
    /*!*********************************************************!*\
      !*** ./src/Injects/CodeFind/API/Trailer/SyncTrailer.ts ***!
      \*********************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _APIBase_SyncFCNo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../APIBase/SyncFCNo */ \"./src/Injects/CodeFind/APIBase/SyncFCNo.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\nconst VR_REGEX = /(?<![a-z])VR(?![a-z-])/i;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_3__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncTrailer = _classThis = class extends _APIBase_SyncFCNo__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.SettingKey = \"DmmJP\";\n        }\n        execUrl(url, data) {\n            return __awaiter(this, void 0, void 0, function* () {\n                this.execSync(data);\n            });\n        }\n        syncTrailer(nul, info) {\n            var _a, _b, _c;\n            return __awaiter(this, void 0, void 0, function* () {\n                const { code } = info;\n                //检测\n                if ((_a = info.trailer) === null || _a === void 0 ? void 0 : _a.startsWith(\"https://cc3001.dmm.co.jp\"))\n                    return;\n                const isVR = VR_REGEX.test(info.title);\n                const HOST = this.handleHost(`https://cc3001.dmm.co.jp/${isVR ? \"vrsample\" : \"litevideo/freepv\"}/`);\n                const SUFFIX = isVR ? \"vrlite\" : \"_dmb_w\";\n                let list = [];\n                const parseUrl = (prefix, num = \"\") => {\n                    return `${HOST}${prefix[0]}/${prefix.substring(0, 3)}/${prefix}${num}/${prefix}${num}${SUFFIX}.mp4`;\n                };\n                if (code) {\n                    const [prefix, num = \"\"] = code.toLowerCase().split(/-|_/);\n                    const matchList = [\n                        { prefix: [\"fera\", \"fuga\", \"jrze\", \"mesu\"], add: \"h_086\" },\n                        { prefix: [\"spz\", \"udak\", \"ofku\"], add: \"h_254\" },\n                        { prefix: [\"abp\", \"ppt\", \"abw\"], add: \"118\" },\n                        { prefix: [\"mds\", \"scpx\"], add: \"84\" },\n                        { prefix: [\"shind\"], add: \"h_1560\" },\n                        { prefix: [\"pydvr\"], add: \"h_1321\" },\n                        { prefix: [\"meko\"], add: \"h_1160\" },\n                        { prefix: [\"fgan\"], add: \"h_1440\" },\n                        { prefix: [\"spro\"], add: \"h_1594\" },\n                        { prefix: [\"hzgb\"], add: \"h_1100\" },\n                        { prefix: [\"stcv\"], add: \"h_1616\" },\n                        { prefix: [\"skmj\"], add: \"h_1324\" },\n                        { prefix: [\"haru\"], add: \"h_687\" },\n                        { prefix: [\"fone\"], add: \"h_491\" },\n                        { prefix: [\"fsvr\"], add: \"h_955\" },\n                        { prefix: [\"jukf\"], add: \"h_227\" },\n                        { prefix: [\"rebd\"], add: \"h_346\" },\n                        { prefix: [\"ktra\"], add: \"h_094\" },\n                        { prefix: [\"supa\"], add: \"h_244\" },\n                        { prefix: [\"zex\"], add: \"h_720\" },\n                        { prefix: [\"pym\"], add: \"h_283\" },\n                        { prefix: [\"hz\"], add: \"h_113\" },\n                        { prefix: [\"dtvr\"], add: \"24\" },\n                        { prefix: [\"umd\"], add: \"125\" },\n                        { prefix: [\"gvg\"], add: \"13\" },\n                        { prefix: [\"t28\"], add: \"55\" },\n                        { prefix: [\"lol\"], add: \"12\" },\n                        { prefix: [\"dv\"], add: \"53\" },\n                    ];\n                    const add = (_c = (_b = matchList.find((item) => item.prefix.includes(prefix))) === null || _b === void 0 ? void 0 : _b.add) !== null && _c !== void 0 ? _c : \"1\";\n                    list.push(parseUrl(prefix, num));\n                    list.push(parseUrl(`${add}${prefix}`, num));\n                    if (num) {\n                        list.push(parseUrl(prefix, `00${num}`));\n                        list.push(parseUrl(`${add}${prefix}`, `00${num}`));\n                    }\n                }\n                // if (cid) {\n                //     list.push(parseUrl(cid));\n                //     list.push(parseUrl(cid.replace(\"00\", \"\")));\n                // }\n                list = Array.from(new Set(list));\n                const res = yield Promise.allSettled(list.map((item) => _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(item, {}, \"HEAD\")));\n                for (let index = 0, { length } = res; index < length; index++) {\n                    const { status, value } = res[index];\n                    if (status !== \"fulfilled\" || !value)\n                        continue;\n                    return list[index];\n                }\n                return info.trailer;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncTrailer\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncTrailer = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncTrailer = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Trailer/SyncTrailer.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Video/SyncEmby.ts":
    /*!****************************************************!*\
      !*** ./src/Injects/CodeFind/API/Video/SyncEmby.ts ***!
      \****************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Emby/EmbyTool */ \"./src/Injects/Emby/EmbyTool.ts\");\n/* harmony import */ var _Search_Pages_PageSearch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Search/Pages/PageSearch */ \"./src/Injects/Search/Pages/PageSearch.ts\");\n/* harmony import */ var _Search_WieSearch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../Search/WieSearch */ \"./src/Injects/Search/WieSearch.ts\");\n/* harmony import */ var _APIBase_SyncVideo__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../APIBase/SyncVideo */ \"./src/Injects/CodeFind/APIBase/SyncVideo.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_5__[\"default\"]), _Search_WieSearch__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Sync(_Search_Pages_PageSearch__WEBPACK_IMPORTED_MODULE_1__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncEmby = _classThis = class extends _APIBase_SyncVideo__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.SettingKey = \"Emby\";\n        }\n        getUrl(info) {\n            return __awaiter(this, void 0, void 0, function* () {\n                //格式化\n                return _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].embySearchUrl(info.code);\n            });\n        }\n        getOptions(info) {\n            return _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].embyHeaders();\n        }\n        syncVideos(res, info, update) {\n            return __awaiter(this, void 0, void 0, function* () {\n                const list = res.Items;\n                if (!info.videos)\n                    info.videos = [];\n                for (const item of list) {\n                    //获取详情\n                    const detail = yield _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].embyItem(item.Id);\n                    if (!detail)\n                        continue;\n                    const video = {\n                        name: item.Name,\n                        link: _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].embyDetailUrl(item),\n                        cover: _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].embyCover(detail.Id, detail.ImageTags.Primary),\n                        zh: new Set(detail.Genres).has(\"中文字幕\") ? \"中文字幕\" : \"\",\n                        duration: this.numberToTime(detail.RunTimeTicks / 10000000),\n                        from: \"Emby\",\n                        pot: _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].potPlayerUrl(detail),\n                        can: true,\n                    };\n                    this.matchBase(info, video, update);\n                    //如果\n                    if (!info.emby) {\n                        update.emby = _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].embyDetailUrl(item);\n                    }\n                    return [...info.videos, video];\n                }\n                return info.videos;\n            });\n        }\n        numberToTime(time) {\n            const second = Math.floor(time % 60);\n            const minute = Math.floor((time / 60) % 60);\n            const hour = Math.floor(time / 3600);\n            return `${hour}:${minute}:${second}`;\n        }\n    };\n    __setFunctionName(_classThis, \"SyncEmby\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncEmby = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncEmby = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Video/SyncEmby.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Video/SyncJable.ts":
    /*!*****************************************************!*\
      !*** ./src/Injects/CodeFind/API/Video/SyncJable.ts ***!
      \*****************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _APIBase_SyncVideo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../APIBase/SyncVideo */ \"./src/Injects/CodeFind/APIBase/SyncVideo.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncJable = _classThis = class extends _APIBase_SyncVideo__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"https://jable.tv/search/%d/\";\n            this.SettingKey = \"Jable\";\n        }\n        syncVideos(res, info, update) {\n            var _a, _b, _c;\n            return __awaiter(this, void 0, void 0, function* () {\n                const list = res.querySelectorAll(\".video-img-box\");\n                if (!info.videos)\n                    info.videos = [];\n                for (const item of list) {\n                    const img = item.querySelector(\"img\");\n                    const name = (_a = item.querySelector(\".title\")) === null || _a === void 0 ? void 0 : _a.textContent;\n                    if (!name || name.indexOf(info.code) < 0)\n                        continue;\n                    const video = {\n                        name,\n                        link: item.querySelector(\"a\").href,\n                        cover: img.dataset.src,\n                        preview: img.dataset.preview,\n                        // zh: name.match(/【([\\S\\s]+)】/)?.[1] ?? name.match(/\\[([\\S\\s]+)\\]/)?.[1] ?? \"\",\n                        zh: \"\",\n                        duration: (_c = (_b = item.querySelector(\".absolute-bottom-right\")) === null || _b === void 0 ? void 0 : _b.textContent.replace(/\\n/g, \"\")) !== null && _c !== void 0 ? _c : \"\",\n                        from: \"Jable\",\n                        can: true,\n                    };\n                    //检测info.name\n                    // if (!info.title) {\n                    //     info.title = video.name;\n                    //     info.cover = video.cover;\n                    //     updateKeys.push(\"title\", \"cover\", \"trailer\");\n                    // }\n                    this.matchBase(info, video, update);\n                    return [...info.videos, video];\n                }\n                return info.videos;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncJable\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncJable = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncJable = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Video/SyncJable.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Video/SyncJavFC2.ts":
    /*!******************************************************!*\
      !*** ./src/Injects/CodeFind/API/Video/SyncJavFC2.ts ***!
      \******************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _APIBase_SyncVideo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../APIBase/SyncVideo */ \"./src/Injects/CodeFind/APIBase/SyncVideo.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n//https://fc2ppv.org/\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncJavFC2 = _classThis = class extends _APIBase_SyncVideo__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"https://javfc2.net/?s=%d\";\n            this.SettingKey = \"JavFC2\";\n            /** FC2-开头的正则 */\n            this.MatchCode = /^FC2-/i;\n        }\n        syncVideos(res, info, update) {\n            var _a, _b;\n            return __awaiter(this, void 0, void 0, function* () {\n                const list = res.querySelectorAll(\"article\");\n                if (!info.videos)\n                    info.videos = [];\n                for (const item of list) {\n                    const img = item.querySelector(\"img\");\n                    const name = img.alt;\n                    //检测\n                    if (name.indexOf(info.code.replace(\"FC2-\", \"\")) == -1)\n                        continue;\n                    const video = {\n                        name,\n                        link: item.querySelector(\"a\").href,\n                        cover: img.src,\n                        zh: \"\",\n                        duration: (_b = (_a = item.querySelector(\".date\")) === null || _a === void 0 ? void 0 : _a.textContent) !== null && _b !== void 0 ? _b : \"\",\n                        from: \"JavFC2\",\n                        can: true,\n                    };\n                    this.matchBase(info, video, update);\n                    return [...info.videos, video];\n                }\n                return info.videos;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncJavFC2\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncJavFC2 = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncJavFC2 = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Video/SyncJavFC2.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Video/SyncNetFlav.ts":
    /*!*******************************************************!*\
      !*** ./src/Injects/CodeFind/API/Video/SyncNetFlav.ts ***!
      \*******************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _APIBase_SyncVideo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../APIBase/SyncVideo */ \"./src/Injects/CodeFind/APIBase/SyncVideo.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncSuper = _classThis = class extends _APIBase_SyncVideo__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"https://netflav.com/search?type=title&keyword=%d\";\n            this.SettingKey = \"NetFlav\";\n        }\n        syncVideos(res, info, update) {\n            var _a, _b, _c;\n            return __awaiter(this, void 0, void 0, function* () {\n                const list = res.querySelectorAll(\".grid_cell\");\n                if (!info.videos)\n                    info.videos = [];\n                for (const item of list) {\n                    const img = item.querySelector(\"img\");\n                    const name = (_a = item.querySelector(\".grid_title\")) === null || _a === void 0 ? void 0 : _a.textContent;\n                    //检测\n                    if (name.indexOf(info.code.replace(\"FC2-\", \"\")) == -1)\n                        continue;\n                    const video = {\n                        name,\n                        link: `https://netflav.com${item.querySelector(\"a\").getAttribute(\"href\")}`,\n                        cover: img === null || img === void 0 ? void 0 : img.src,\n                        // zh: name.match(/【([\\S\\s]+)】/)?.[1] ?? name.match(/\\[([\\S\\s]+)\\]/)?.[1] ?? \"\",\n                        zh: \"\",\n                        duration: (_c = (_b = item.querySelector(\".grid_date\")) === null || _b === void 0 ? void 0 : _b.textContent) !== null && _c !== void 0 ? _c : \"\",\n                        from: \"NetFlav\",\n                        can: false,\n                    };\n                    this.matchBase(info, video, update);\n                    return [...info.videos, video];\n                }\n                return info.videos;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncSuper\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncSuper = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncSuper = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Video/SyncNetFlav.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Video/SyncSuper.ts":
    /*!*****************************************************!*\
      !*** ./src/Injects/CodeFind/API/Video/SyncSuper.ts ***!
      \*****************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _APIBase_SyncVideo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../APIBase/SyncVideo */ \"./src/Injects/CodeFind/APIBase/SyncVideo.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncSuper = _classThis = class extends _APIBase_SyncVideo__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"https://supjav.com/zh/?s=%d\";\n            this.SettingKey = \"SuperAV\";\n        }\n        syncVideos(res, info, update) {\n            var _a, _b, _c, _d, _e, _f;\n            return __awaiter(this, void 0, void 0, function* () {\n                const list = res.querySelectorAll(\".post\");\n                if (!info.videos)\n                    info.videos = [];\n                for (const item of list) {\n                    const img = item.querySelector(\"img\");\n                    const name = img.alt;\n                    const video = {\n                        name,\n                        link: item.querySelector(\"a\").href,\n                        cover: img.dataset.original.split(\"!\")[0],\n                        zh: (_d = (_b = (_a = name.match(/【([\\S\\s]+)】/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : (_c = name.match(/\\[([\\S\\s]+)\\]/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : \"\",\n                        duration: (_f = (_e = item.querySelector(\".date\")) === null || _e === void 0 ? void 0 : _e.textContent) !== null && _f !== void 0 ? _f : \"\",\n                        from: \"SuperAV\",\n                        can: true,\n                    };\n                    //检测info.name\n                    this.matchBase(info, video, update);\n                    return [...info.videos, video];\n                }\n                return info.videos;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncSuper\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncSuper = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncSuper = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Video/SyncSuper.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/API/Video/SyncThisAV.ts":
    /*!******************************************************!*\
      !*** ./src/Injects/CodeFind/API/Video/SyncThisAV.ts ***!
      \******************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _APIBase_SyncVideo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../APIBase/SyncVideo */ \"./src/Injects/CodeFind/APIBase/SyncVideo.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_CodeFind__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Sync(_pages_PageCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncThisAV = _classThis = class extends _APIBase_SyncVideo__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"https://thisav.com/cn/search/%d\";\n            this.SettingKey = \"ThisAV\";\n        }\n        syncVideos(res, info, update) {\n            var _a, _b, _c, _d;\n            return __awaiter(this, void 0, void 0, function* () {\n                const list = res.querySelectorAll(\".thumbnail.group\");\n                if (!info.videos)\n                    info.videos = [];\n                for (const item of list) {\n                    const img = item.querySelector(\"img\");\n                    if (!img)\n                        continue;\n                    const video = {\n                        name: img.alt,\n                        link: item.querySelector(\"a\").href,\n                        preview: item.querySelector(\"video\").dataset.src,\n                        cover: img.dataset.src.replace(\"thumbnail\", \"normal\"),\n                        zh: (_b = (_a = item.querySelector(\".left-1\")) === null || _a === void 0 ? void 0 : _a.textContent.replace(/\\n/, \"\")) !== null && _b !== void 0 ? _b : \"\",\n                        duration: (_d = (_c = item.querySelector(\".right-1\")) === null || _c === void 0 ? void 0 : _c.textContent.replace(/\\n/, \"\")) !== null && _d !== void 0 ? _d : \"\",\n                        from: \"ThisAV\",\n                        can: true,\n                    };\n                    this.matchBase(info, video, update);\n                    return [...info.videos, video];\n                }\n                return info.videos;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncThisAV\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncThisAV = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncThisAV = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/API/Video/SyncThisAV.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/BaseUI/PopupImage.ts":
    /*!***************************************************!*\
      !*** ./src/Injects/CodeFind/BaseUI/PopupImage.ts ***!
      \***************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swiper */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/swiper.esm.js\");\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _UI_UIDialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../UI/UIDialog */ \"./src/UI/UIDialog.ts\");\n\n\n\nswiper__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use([swiper__WEBPACK_IMPORTED_MODULE_0__.Navigation, swiper__WEBPACK_IMPORTED_MODULE_0__.Pagination, swiper__WEBPACK_IMPORTED_MODULE_0__.Thumbs]);\n/**\n * 弹框预览\n */\nclass PopupImage {\n    constructor() {\n        this.name = \"\";\n    }\n    /**\n     * 弹框显示图片\n     * @param img\n     */\n    showImage(img) {\n        var _a;\n        const div = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createDiv(`\r\n            <wie-dialog class=\"popup-black\">\r\n                <div id='wie-model-in' class='swiper-container single-image wie-scroll'>\r\n                     <div class='wie-preview-s-img'>${this.renderImg(img)}</div>\r\n                </div>\r\n            </wie-dialog>\r\n        `);\n        //正则获取图片地址中的文件名\n        this.name = ((_a = img.match(/[^\\/]+$/)) === null || _a === void 0 ? void 0 : _a[0]) || \"\";\n        div.querySelector(\"#wie-model-in\").addEventListener(\"click\", (e) => {\n            e.stopPropagation();\n        });\n        const dialog = new _UI_UIDialog__WEBPACK_IMPORTED_MODULE_2__[\"default\"](div.querySelector(\"wie-dialog\"));\n        div.addEventListener(\"click\", () => {\n            dialog.close(() => div.remove());\n        });\n        dialog.open();\n        // `<div class='swiper-slide'><img class='wie-preview-img' index='${index}' src='${url}'/></div>`\n        this.div = div;\n        return this;\n    }\n    videoControl(volume = PopupImage.Volume, volumechange) {\n        const video = this.div.querySelector(`video`);\n        if (!video)\n            return;\n        //设置音量\n        video.volume = volume;\n        //设置播放时间\n        video.currentTime = PopupImage.TimesCache[this.name] || 0;\n        video.addEventListener(\"timeupdate\", (ev) => {\n            PopupImage.TimesCache[this.name] = video.currentTime;\n        });\n        video.addEventListener(\"volumechange\", (ev) => {\n            PopupImage.Volume = video.volume;\n            volumechange === null || volumechange === void 0 ? void 0 : volumechange(video.volume);\n        });\n    }\n    renderImg(img) {\n        if (img.endsWith(\".webm\"))\n            return `<video autoplay controls><source src=\"${img}\" type=\"video/webm\">`;\n        return `<img src=\"${img}\">`;\n    }\n}\nPopupImage.Volume = 0.5;\nPopupImage.TimesCache = {};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PopupImage);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/BaseUI/PopupImage.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/BaseUI/PopupImages.ts":
    /*!****************************************************!*\
      !*** ./src/Injects/CodeFind/BaseUI/PopupImages.ts ***!
      \****************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ PopupImages)\n/* harmony export */ });\n/* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swiper */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/swiper.esm.js\");\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _UI_UIDialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../UI/UIDialog */ \"./src/UI/UIDialog.ts\");\n\n\n\nswiper__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use([swiper__WEBPACK_IMPORTED_MODULE_0__.Navigation, swiper__WEBPACK_IMPORTED_MODULE_0__.Pagination, swiper__WEBPACK_IMPORTED_MODULE_0__.Thumbs]);\n/**\n * 弹框预览\n */\nclass PopupImages {\n    /**\n     * 弹框显示图片\n     * @param imgs\n     */\n    showImage(imgs, index = 0) {\n        const div = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createDiv(`\r\n            <wie-dialog class=\"popup-black\">\r\n                <div id='wie-model-in' class='swiper-container'>\r\n                    <div class='swiper-wrapper' id='wie-preview'>\r\n                        ${imgs.map((img) => `<div class='swiper-slide'><div class='wie-preview-img'><img src='${img}'></div></div>`).join(\"\")}\r\n                    </div>\r\n                    <div class=\"swiper-pagination\"></div>\r\n                    <div class=\"swiper-button-prev\"></div>\r\n                    <div class=\"swiper-button-next\"></div>\r\n                </div>\r\n\r\n                <div id='wie-model-in2' class='swiper-container-min'>\r\n                    <div class='swiper-wrapper'>\r\n                        ${imgs.map((img) => `<div class='swiper-slide'><div class='wie-preview-img-small'><img src='${img}'></div></div>`).join(\"\")}\r\n                    </div>\r\n                </div>\r\n            </wie-dialog>\r\n        `);\n        // `<div class='swiper-slide'><img class='wie-preview-img' index='${index}' src='${url}'/></div>`\n        var swiper = new swiper__WEBPACK_IMPORTED_MODULE_0__[\"default\"](div.querySelector(\".swiper-container-min\"), {\n            spaceBetween: 10,\n            slidesPerView: \"auto\",\n            // watchSlidesProgress: true,\n            initialSlide: index,\n            direction: \"vertical\",\n        });\n        new swiper__WEBPACK_IMPORTED_MODULE_0__[\"default\"](div.querySelector(\".swiper-container\"), {\n            loop: true,\n            initialSlide: index,\n            thumbs: {\n                swiper,\n            },\n        });\n        const dialog = new _UI_UIDialog__WEBPACK_IMPORTED_MODULE_2__[\"default\"](div.querySelector(\"wie-dialog\"));\n        div.addEventListener(\"click\", () => {\n            dialog.close(() => div.remove());\n        });\n        div.querySelector(\"#wie-model-in\").addEventListener(\"click\", (e) => {\n            e.stopPropagation();\n        });\n        div.querySelector(\"#wie-model-in2\").addEventListener(\"click\", (e) => {\n            e.stopPropagation();\n        });\n        dialog.open();\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/BaseUI/PopupImages.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/BaseUI/Tab.ts":
    /*!********************************************!*\
      !*** ./src/Injects/CodeFind/BaseUI/Tab.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Tab)\n/* harmony export */ });\n/* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swiper */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/swiper.esm.js\");\n\nclass Tab {\n    constructor(el, options) {\n        this.active = 0;\n        this.el = el;\n        this.options = options;\n    }\n    bindTabs(tabs) {\n        this.swiper = new swiper__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.el.querySelector(\".swiper-container\"), {\n            slidesPerView: 5,\n            spaceBetween: 10,\n            centeredSlides: true,\n            // loop: true,\n            on: {\n                slideChangeTransitionEnd: (swiper) => {\n                    //\n                    this.active = swiper.activeIndex;\n                    this.renderContent(tabs);\n                },\n            },\n        });\n    }\n    renderContent(data) {\n        const item = data[this.active];\n        if (!item)\n            return;\n        const content = this.el.querySelector(\".wie-tab-content\");\n        const html = this.options.renderContent(item, this.active, content);\n        if (!html)\n            return;\n        content.innerHTML = html;\n    }\n    render(data) {\n        //渲染tab项\n        const html = `\r\n            <div class=\"wie-tab\">\r\n                <div class='wie-tab-btn swiper-container'>\r\n                    <div class='swiper-wrapper' id='wie-preview'>\r\n                        ${data.map((data, index) => `<div class='swiper-slide'>${this.options.renderTab(data, index)}</div>`).join(\"\")}\r\n                    </div>\r\n                </div>\r\n                <div class='wie-tab-content'>\r\n                </div>\r\n            </div>\r\n        `;\n        this.el.innerHTML = html;\n        this.bindTabs(data);\n        this.renderContent(data);\n        this.el.querySelectorAll(\".swiper-slide\").forEach((el, index) => {\n            el.addEventListener(\"click\", () => {\n                this.swiper.slideTo(index);\n            });\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/BaseUI/Tab.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/BaseUI/TabControl.ts":
    /*!***************************************************!*\
      !*** ./src/Injects/CodeFind/BaseUI/TabControl.ts ***!
      \***************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TabControl)\n/* harmony export */ });\nclass TabControl {\n    constructor(element, options) {\n        var _a;\n        /** 按钮项 */\n        this.tabs = [];\n        /** 内容项 */\n        this.tabsContent = [];\n        this.curTab = \"\";\n        this.options = options;\n        //\n        const { tabs } = options;\n        this.tabs = tabs.map((tab, index) => {\n            const ele = element.querySelector(`#${options.tabPrefix}${tab}`);\n            ele.addEventListener(\"click\", () => {\n                this.changeTab(tab, `${options.tabPrefix}${tab}`);\n            });\n            return ele;\n        });\n        if (options.contentPrefix)\n            this.tabsContent = tabs.map((tab, index) => {\n                return element.querySelector(`#${options.contentPrefix}${tab}`);\n            });\n        const active = (_a = options.active) !== null && _a !== void 0 ? _a : 0;\n        this.changeTab(tabs[active], `${options.tabPrefix}${tabs[active]}`, false);\n    }\n    /**\n     * 更新tab显示\n     * @param tab\n     * @returns\n     */\n    changeTab(tab, id, need = true) {\n        var _a, _b, _c;\n        if (this.curTab === tab)\n            return;\n        this.curTab = tab;\n        const { tabs, tabsContent } = this;\n        const index = tabs.findIndex((t) => t.id === id);\n        if (index === -1)\n            return;\n        tabs.forEach((t) => t.classList.remove(\"active\"));\n        tabsContent.forEach((t) => t.classList.add(\"wie-hidden-style\"));\n        tabs[index].classList.add(\"active\");\n        (_a = tabsContent[index]) === null || _a === void 0 ? void 0 : _a.classList.remove(\"wie-hidden-style\");\n        if (need)\n            (_c = (_b = this.options).onTabChange) === null || _c === void 0 ? void 0 : _c.call(_b, tab, index);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/BaseUI/TabControl.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/CFSetting.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/CFSetting.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CFSetting)\n/* harmony export */ });\n/* harmony import */ var _InjectSetting__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../InjectSetting */ \"./src/InjectSetting.ts\");\n/* harmony import */ var _UI_CheckBoxUI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../UI/CheckBoxUI */ \"./src/UI/CheckBoxUI.ts\");\n/* harmony import */ var _UI_InputHostUI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../UI/InputHostUI */ \"./src/UI/InputHostUI.ts\");\n/* harmony import */ var _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../UI/InputUI */ \"./src/UI/InputUI.ts\");\n/* harmony import */ var _UI_ListUI__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../UI/ListUI */ \"./src/UI/ListUI.ts\");\n/* harmony import */ var _UI_TextareaUI__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../UI/TextareaUI */ \"./src/UI/TextareaUI.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _Setting__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Setting */ \"./src/Injects/CodeFind/Setting.ts\");\n\n\n\n\n\n\n\n\n\n_WIE__WEBPACK_IMPORTED_MODULE_6__[\"default\"].UIStyles.add(`\r\n\r\nwie-button-item.wie-reset {\r\n    margin: 10px 0 0;\r\n    display: block;\r\n    width: 100px;\r\n    padding: 5px;\r\n    text-align: center;\r\n    border-radius: 5px;\r\n}\r\n\r\n\r\n`);\nclass CFSetting extends _InjectSetting__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    render() {\n        const { Match, Buttons, Hosts, VideoSource, MagnetSource, VideoAuto, closeCopy = false, Rank, MaxCodeNumber = _CodeFind__WEBPACK_IMPORTED_MODULE_7__[\"default\"].MAX_CODE_NUMBER } = this.setting;\n        this.log(\"CFSetting  render\", this.setting);\n        //       ${new TextareaUI(this, \"Buttons.Censored\", \"快捷跳转配置\", this.getValue(\"Buttons.Censored\", Buttons.Censored)))}\n        return `\r\n            <wie-area>\r\n                <wie-name>基本配置</wie-name>\r\n                ${new _UI_CheckBoxUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this, \"VideoAuto\", \"预览自动播放\", VideoAuto, \"hh-line\").hold()}\r\n                ${new _UI_CheckBoxUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this, \"closeCopy\", \"关闭点击复制\", closeCopy, \"hh-line\").hold()}\r\n                ${new _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this, \"Match\", \"匹配规则\", Rank.length).hold()}\r\n                ${new _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this, \"MaxCodeNumber\", \"最大番号缓存数\", MaxCodeNumber).hold()}\r\n                ${new _UI_TextareaUI__WEBPACK_IMPORTED_MODULE_5__[\"default\"](this, \"Match\", \"检索配置\", Match.join(\",\")).hold()}\r\n                ${new _UI_ListUI__WEBPACK_IMPORTED_MODULE_4__[\"default\"](this.mgr, {\n            title: \"快捷跳转配置\",\n            key: \"Buttons.Censored\",\n            value: Buttons.Censored,\n            forms: [\n                { label: \"名称\", key: \"0\", ui: _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"] },\n                { label: \"链接\", key: \"1\", ui: _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"] },\n            ],\n        }).hold()}\r\n\r\n               \r\n            </wie-area>\r\n\r\n            <wie-area>\r\n                <wie-name>视频源配置</wie-name>\r\n                ${this.renderVideoSource(\"VideoSource\", VideoSource)}\r\n            </wie-area>\r\n\r\n            <wie-area>\r\n                <wie-name>磁力源配置</wie-name>\r\n                ${this.renderVideoSource(\"MagnetSource\", MagnetSource)}\r\n            </wie-area>\r\n            \r\n            <wie-area>\r\n                <wie-name>域名配置</wie-name>\r\n                ${this.renderHosts(Hosts)}\r\n            </wie-area>\r\n\r\n            <wie-area>\r\n                <wie-button-item class='wie-reset'>重置默认设置</wie-button-item>\r\n                注: 重置默认设置将会清空除(匹配规则)外的所有配置\r\n            </wie-area>\r\n        `;\n    }\n    bindEvent(div) {\n        var _a;\n        (_a = div.querySelector(\".wie-reset\")) === null || _a === void 0 ? void 0 : _a.addEventListener(\"click\", () => {\n            // if (confirm(\"确定重置默认设置?\")) {\n            this.setting = Object.assign(Object.assign({}, JSON.parse(JSON.stringify(_Setting__WEBPACK_IMPORTED_MODULE_8__[\"default\"].Setting))), { Match: this.setting.Match, Collect: this.setting.Collect });\n            this.rebind();\n            // }\n        });\n    }\n    renderVideoSource(sourceKey, sources) {\n        let html = \"\";\n        for (let key in sources) {\n            html += new _UI_CheckBoxUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this, `${sourceKey}.${key}`, key, sources[key]).hold();\n        }\n        return html;\n    }\n    renderHosts(hosts) {\n        let lines = [];\n        for (const key in hosts) {\n            lines.push(new _UI_InputHostUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, `Hosts.${key}`, key, hosts[key]).hold());\n        }\n        return lines.join(\"\");\n    }\n    // private getValue(key: string, value: any, split: string = \"\\n\"): string {\n    //     console.log(\"getValue\", key, value);\n    //     switch (key) {\n    //         case \"Buttons.Censored\":\n    //             return (value = value\n    //                 .split(\"\\n\")\n    //                 .map((v: string) => v.split(\",\").filter((v: string) => v !== \"\"))\n    //                 .filter((v: string[]) => v.length === 2));\n    //             break;\n    //         default:\n    //             break;\n    //     }\n    //     return value;\n    // }\n    /**\n     *\n     * @param key\n     * @param value\n     */\n    onChange(key, value) {\n        switch (key) {\n            case \"Match\":\n                value = value.split(\",\").filter((v) => v !== \"\");\n                break;\n            default:\n                break;\n        }\n        super.onChange(key, value);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/CFSetting.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/CodeFind.ts":
    /*!******************************************!*\
      !*** ./src/Injects/CodeFind/CodeFind.ts ***!
      \******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _Setting__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Setting */ \"./src/Injects/CodeFind/Setting.ts\");\n/* harmony import */ var _Style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Style */ \"./src/Injects/CodeFind/Style.ts\");\n/* harmony import */ var _SwiperStyle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SwiperStyle */ \"./src/Injects/CodeFind/SwiperStyle.ts\");\n/* harmony import */ var _CFSetting__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CFSetting */ \"./src/Injects/CodeFind/CFSetting.ts\");\n/* harmony import */ var _WIESetting__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../WIESetting */ \"./src/WIESetting.ts\");\n/* harmony import */ var _lib_MatchBean__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../lib/MatchBean */ \"./src/lib/MatchBean.ts\");\n/* harmony import */ var _lib_Pages_InjectPages__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../lib/Pages/InjectPages */ \"./src/lib/Pages/InjectPages.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\n/* harmony import */ var _Tools_Decorator__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../Tools/Decorator */ \"./src/Tools/Decorator.ts\");\n/* harmony import */ var _WiePopup__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../WiePopup */ \"./src/WiePopup.ts\");\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _Tools_ToolValue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../Tools/ToolValue */ \"./src/Tools/ToolValue.ts\");\n/* harmony import */ var _Tools_GFriends__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Tools/GFriends */ \"./src/Injects/CodeFind/Tools/GFriends.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n_WIE__WEBPACK_IMPORTED_MODULE_0__[\"default\"].UIStyles.add(_Style__WEBPACK_IMPORTED_MODULE_2__[\"default\"] + _SwiperStyle__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_WIE__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Inject()];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    let _instanceExtraInitializers = [];\n    let _findCode_decorators;\n    let _search_decorators;\n    let _searchCancel_decorators;\n    var CodeFind = _classThis = class extends _lib_Pages_InjectPages__WEBPACK_IMPORTED_MODULE_7__.InjectPages {\n        constructor(engine) {\n            super(engine, _Setting__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Setting);\n            this.Match = (__runInitializers(this, _instanceExtraInitializers), [/\\/2048\\//]);\n            /** 搜索信息 */\n            this.searchInfo = {\n                /** 搜索次数 */\n                search: 0,\n                /** 找到次数 */\n                view: 0,\n            };\n            //添加样式\n            new _lib_MatchBean__WEBPACK_IMPORTED_MODULE_6__[\"default\"](this);\n            //获取搜索信息\n            this.searchInfo = this.getValue(\"CodeFind_SearchInfo\", { search: 0, view: 0 });\n            //监听值变化\n            _Tools_GM__WEBPACK_IMPORTED_MODULE_11__[\"default\"].GM_addValueChangeListener(\"CodeFind_SearchInfo\", (name, old, newV) => {\n                this.searchInfo = newV;\n            });\n            //添加样式\n            this.visit = new _Tools_ToolValue__WEBPACK_IMPORTED_MODULE_12__[\"default\"](\"CodeFind_Visit\", {});\n            //添加wie-code动画时长样式\n            this.addStyle(`wie-code{transition-duration:${this.engine.setting.Enter}ms}`);\n        }\n        onSetting(setting) {\n            //兼容设置\n            if (typeof setting.Buttons.Censored === \"string\") {\n                setting.Buttons.Censored = setting.Buttons.Censored\n                    .split(\"\\n\")\n                    .map((v) => v.split(\",\").filter((v) => v !== \"\"))\n                    .filter((v) => v.length === 2);\n            }\n            return setting;\n        }\n        getMatch() {\n            return this.setting.Match.map((match) => new RegExp(match));\n        }\n        onStart() {\n            //注入设置界面\n            _WIESetting__WEBPACK_IMPORTED_MODULE_5__[\"default\"].addSetting(new _CFSetting__WEBPACK_IMPORTED_MODULE_4__[\"default\"](this), \"番号查找\");\n        }\n        checkLast(intent, last) {\n            //如果是同一个code, 不更新\n            if (intent.code === last.code)\n                return false;\n            return true;\n        }\n        // public updateSetting(setting?: { [key: string]: any }) {\n        //     if (setting) Tool.merge(this.setting, setting);\n        //     this.log(\"CodeFind updateSetting\", setting, this.setting);\n        //     this.setValue(Setting.Setting_Key, this.setting);\n        // }\n        onLoad() {\n            this.log(\"CodeFind onLoad\");\n            //提前开始获取\n            _Tools_GFriends__WEBPACK_IMPORTED_MODULE_13__[\"default\"].Instance();\n            //初始化Code实例\n            this.codes = _Setting__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Const.Code.map((code) => new code(this));\n            //监听dom变化\n            this.createObserver();\n            //查找code\n            this.findCode();\n        }\n        // 动态添加的元素, 检查所有父元素的class是否是排除项\n        checkParentClass(startDom) {\n            var _a;\n            //兼容SuperAV 下替换的元素\n            if (((_a = startDom.tagName) === null || _a === void 0 ? void 0 : _a.startsWith(\"WIE-\")) || startDom.tagName === \"IFRAME\") {\n                // this.log(\"checkParentClass: 父元素存在相关class, 已排除: \", startDom.className);\n                return true;\n            }\n            if (startDom.parentElement && \"body\" !== startDom.parentElement.nodeName) {\n                return this.checkParentClass(startDom.parentElement);\n            }\n            return false;\n        }\n        /**\n         * 创建监听\n         */\n        createObserver() {\n            const observer = new MutationObserver((mutations) => {\n                mutations.forEach((mutation) => {\n                    if (mutation.target.nodeType == 1 && mutation.target.querySelector(\"wie-code\"))\n                        return;\n                    if (this.checkParentClass(mutation.target))\n                        return;\n                    clearTimeout(this.timeout);\n                    this.timeout = setTimeout(() => {\n                        this.findCode();\n                    }, 1000);\n                });\n            });\n            this.observer = observer;\n            this.startObserver();\n        }\n        updateSearchInfo(key = \"search\") {\n            this.searchInfo[key]++;\n            this.setValue(\"CodeFind_SearchInfo\", this.searchInfo);\n        }\n        disconnectObserver() {\n            var _a;\n            (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();\n        }\n        /**\n         * 启动监听\n         */\n        startObserver() {\n            var _a;\n            (_a = this.observer) === null || _a === void 0 ? void 0 : _a.observe(document.body, {\n                attributes: true,\n                childList: true,\n                characterData: true,\n                subtree: true,\n            });\n        }\n        /**\n         * 复制Code\n         * @param e\n         * @returns\n         */\n        saveID(code, e) {\n            e.preventDefault();\n            //手机端不支持复制\n            if (_WIE__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Instance.isMobile)\n                return;\n            this.copy(code);\n            return false;\n        }\n        /**\n         * 查找code\n         */\n        findCode() {\n            var _a;\n            //暂停观察\n            (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();\n            //Code查询\n            this.codes.forEach((code) => code.findCode());\n            //启动观察\n            this.startObserver();\n        }\n        get delayTime() {\n            return this.engine.setting.Enter;\n        }\n        search(code, div) {\n            var _a, _b;\n            //检测是否跟当前页面显示的一致\n            if (((_b = (_a = this.stack[this.stack.length - 1]) === null || _a === void 0 ? void 0 : _a.intent) === null || _b === void 0 ? void 0 : _b.code) === code) {\n                //检测弹框是否关闭\n                if (_WiePopup__WEBPACK_IMPORTED_MODULE_10__[\"default\"].Instance.show())\n                    this.resume();\n                return;\n            }\n            if (div) {\n                this.setVisit(code);\n                div.classList.add(\"visited\");\n            }\n            this.log(\"search startPage\", code);\n            this.startPage(_pages_PageCode__WEBPACK_IMPORTED_MODULE_8__[\"default\"], { code });\n        }\n        /**\n         * code是否正在显示\n         */\n        isCodeShowing(code) {\n            var _a, _b;\n            //如果最后一个是Code,\n            if (((_b = (_a = this.stack[this.stack.length - 1]) === null || _a === void 0 ? void 0 : _a.intent) === null || _b === void 0 ? void 0 : _b.code) === code) {\n                //检测弹框是否关闭\n                return _WiePopup__WEBPACK_IMPORTED_MODULE_10__[\"default\"].Instance.isShow();\n            }\n            return false;\n        }\n        searchCancel(div) {\n            this.log(\"searchCancel\", div);\n            clearInterval(this.interval);\n            div.querySelector(\"wie-bg\").style.width = `0%`;\n        }\n        startTimer(div) {\n            this.engine.log(\"startTimer\", div);\n            let count = 0;\n            this.updateCodeTooltip(div, count);\n            this.interval = setInterval(() => {\n                count++;\n                this.updateCodeTooltip(div, count);\n            }, 100);\n        }\n        updateCodeTooltip(div, count = 0) {\n            let last = this.engine.setting.Enter - count * 100;\n            // let str = `正在打开(${this.engine.setting.Enter - count * 100}ms)`;\n            last -= 100;\n            if (last < 0) {\n                // str = `已打开`;\n                last = 0;\n            }\n            // div.setAttribute(\"wie-tooltip\", str);\n            div.querySelector(\"wie-bg\").style.width = `${100 - (last * 100) / this.engine.setting.Enter}%`;\n            // this.log(\"updateCodeTooltip\", 100 - (last * 100) / this.engine.setting.Enter);\n        }\n        setVisit(code) {\n            var _a;\n            const visit = this.visit.value;\n            //如果存在,则不更新\n            if (visit[code])\n                return;\n            visit[code] = new Date().valueOf();\n            //如果数量超过100, 则删除最早的\n            const arr = Object.keys(visit);\n            const max = (_a = this.setting.MaxCodeNumber) !== null && _a !== void 0 ? _a : CodeFind.MAX_CODE_NUMBER;\n            arr.splice(0, arr.length - max).forEach((key) => delete visit[key]);\n            this.visit.value = visit;\n        }\n        isVisit(code) {\n            const visit = this.visit.value;\n            if (!visit[code])\n                return false;\n            return true;\n        }\n        getVisit(code) {\n            const visit = this.visit.value;\n            if (!visit[code])\n                return 0;\n            return visit[code];\n        }\n        /**\n         * 格式化\n         * @param code\n         * @param portion\n         * @param parent\n         */\n        codeMatch(code, portion, parent = null) {\n            // const text = match[0];\n            if (portion.node.parentNode.tagName === \"WIE-CODE\")\n                return;\n            //检测是否为弹框中内容\n            if (this.checkParentClass(portion.node.parentNode))\n                return;\n            const fontSize = window.getComputedStyle(portion.node.parentNode, null).getPropertyValue(\"font-size\").replace(\"px\", \"\");\n            const isCollect = this.setting.Collect.codes[code];\n            const SVGCode = (isCollect ? _SVGConst__WEBPACK_IMPORTED_MODULE_14__[\"default\"].CollectWhite : _SVGConst__WEBPACK_IMPORTED_MODULE_14__[\"default\"].Code).replace(/128/g, fontSize);\n            this.updateSearchInfo();\n            const { closeCopy = false } = this.setting;\n            // this.log(\"codeMatch\", closeCopy);\n            const div = this.createDiv(`<wie-bg></wie-bg><w-code>${SVGCode} ${code}</w-code>`, {\n                tag: \"wie-code\",\n                events: {\n                    mouseenter: (e) => {\n                        //启动计时器\n                        this.startTimer(e.target);\n                        this.search(code, e.target);\n                    },\n                    mouseleave: (e) => this.searchCancel(e.target),\n                    click: !closeCopy ? this.saveID.bind(this, code) : undefined,\n                },\n                className: this.isVisit(code) ? \"visited\" : \"\",\n                // tooltip: `正在打开中...${this.engine.setting.Enter}ms`,\n                parent,\n            });\n            div.querySelector(\"svg\").addEventListener(\"click\", (e) => {\n                e.stopPropagation();\n                this.startPage(_pages_PageCode__WEBPACK_IMPORTED_MODULE_8__[\"default\"], { code });\n            });\n            return div;\n        }\n    };\n    __setFunctionName(_classThis, \"CodeFind\");\n    (() => {\n        _findCode_decorators = [_Tools_Decorator__WEBPACK_IMPORTED_MODULE_9__[\"default\"].DelayTime(100)];\n        _search_decorators = [_Tools_Decorator__WEBPACK_IMPORTED_MODULE_9__[\"default\"].Delay];\n        _searchCancel_decorators = [_Tools_Decorator__WEBPACK_IMPORTED_MODULE_9__[\"default\"].DelayCancel(\"search\")];\n        __esDecorate(_classThis, null, _findCode_decorators, { kind: \"method\", name: \"findCode\", static: false, private: false, access: { has: obj => \"findCode\" in obj, get: obj => obj.findCode } }, null, _instanceExtraInitializers);\n        __esDecorate(_classThis, null, _search_decorators, { kind: \"method\", name: \"search\", static: false, private: false, access: { has: obj => \"search\" in obj, get: obj => obj.search } }, null, _instanceExtraInitializers);\n        __esDecorate(_classThis, null, _searchCancel_decorators, { kind: \"method\", name: \"searchCancel\", static: false, private: false, access: { has: obj => \"searchCancel\" in obj, get: obj => obj.searchCancel } }, null, _instanceExtraInitializers);\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        CodeFind = _classThis = _classDescriptor.value;\n    })();\n    _classThis.Name = \"CodeFind\";\n    _classThis.CName = \"番号查找\";\n    _classThis.MAX_CODE_NUMBER = 1000;\n    (() => {\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return CodeFind = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/CodeFind.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/Code/Code.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/Code/Code.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Setting__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Setting */ \"./src/Injects/CodeFind/Setting.ts\");\n/* harmony import */ var _CodeBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CodeBase */ \"./src/Injects/CodeFind/Code/CodeBase.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_Setting__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Code()];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var Code = _classThis = class extends _CodeBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            // 排除在此的番号, 与下面的 Exclude 不同的是: 这个还会判断后面跟的数字, 能够精确排除。\n            //                     | 排除非 fx-0xx          | 数字部分全是0     |\n            this.oRegExp_Exclude_ID = /fx-?([^0]\\d{2}|\\d{4})|[a-zA-Z]+-?0{2,6}$|pg-13|sha-256|crc-32|ea211|fs[\\s-]?140|trc-20|erc-20|jp-18|rs[\\s-]?(232|422|485)/i;\n            // 排除在此的关键词。 个别与番号同名的也被排除, 例如 Top-10 这种\n            this.oRegExp_Exclude_en = /^(?:about|aes|again|all|ak|akko|aptx|au|ax|avhd|avx|bej|chrome|bd|build|(?:fc|p)?[blp]ga|by|cc|cctv|ckg|class|cny|covid|cpu|code|debian|df|ds|dx|er|ecma|eia|emui|eof|ep|error|fc|file|flyme|fps|for|fork|fuck|fx|gbx|get|gnz|gp|gt|gts|gtx|guest|hao|her|https?|hp|IEEE|ilc|ilce|imx|index|intel|ipad|is|ISBN|iso|issue|issues|it|jav|javdb|jukujo|joy|jsr|Kirin|lancet|linux|lolrng|lpl|lumia|lg|macos|md|mh|miui|mipc|mvp|ms|nature|nc|next|note|number|ok|only|os|osx|ppv|pmw|png|qbz|qsz|raid|rfc|rmb|rng|row|rtx|rush|rx|sale|scp|sdm|shp|sql|sn|snh|Socket|ssd|status|su|tcp|the|to|top|than|thread|ts|uhd|usa|usc|utf|utc|via|vkffsc|vol|win|with|width|wikis|xfx)$/i;\n            // 在没有横杠的情况下, 会排除在此的关键词 例: 识别 tv-001  但是会排除 tv001\n            this.oRegExp_Special_en = /^(?:ace|akb|am|anime|at|be|best|bt|bl|crc|exynos|dp|gb|girl|jd|has|hc|hours|in|mk|mini|mhz|mx|no|open|of|over|part|pd|pdd|pt|sb|sex|tv|tb|ver|zd)$/i;\n            // 在没有横杠的情况下, 会排除在此的数字\n            this.oRegExp_Special_num = /^(?:007|101|110|115|123|128|256|360|365|370|404|512|520|911|996|\\d{1,2}00|19[789]\\d|20[012]\\d|720|1080|1024|2048|[056789]\\d{3}|(\\d)\\1{2,3})$/;\n            // 可能是素人、无码番号, 如果在javbus获取不到信息, 会继续从javdb中查找. 2022-10-23 v0.19.3注: 可能会被弃用\n            this.oRegExp_SuRen = /ANAN|ARA|BEAF|BKKJ|BSKC|BSKJ|CCDV|CUTE|DAVC|DCV|DDH|ECSN|ENE|ERKR|EROFC|FKNP|FLC|FTHT|GANA|GESB|GRQR|GRMO|GRMR|HABJ|HHL|HMDN|HMDNC|HMT|HOMEV|IMGN|IND|INSF|INSTC|JAC|JNT|JPNXXX|KING|KNB|LBJ|LOG|LUXU|MAAN|MCHT|MFC|MIUM|MKGF|MONA|NAEN|NMCH|NTK|NTR|OPCYN|OREC|ORECO|PAK|POK|pow|PPZ|PRGO|REIW|RKD|SCOH|SGK|SHE|SHINKI|SIRO|SIROR|SIMM|SQB|SROM|SSDV|SSK|STCV|STH|SUKE|TEN|TKOL|TKPR|WITH|\\d{6}|(?:k|n)\\d{4}/i;\n            /** 匹配的正则 */\n            this.CodeReg = /(?<!\\w|\\/|www\\.|=|col-|\\d-|>|Jukujo-)(?!heyzo|SHINKI|JPNXXX|carib)[a-zA-Z]{2,6}-\\d{2,5}(?:-c|_c|-4k)?(?!\\d|[A-Za-z]{2,}|-\\d|\\.com|\\.\\d)|(?<!\\w|\\/|\\\\|\\.|【|-|#|@|=|www\\.)(?!heyzo|SHINKI|JPNXXX|carib|and)[a-zA-Z]{2,6}\\s?\\d{3,4}(?:-c|_c)?(?!\\w|-|\\.|\\/|×|%|%|@|\\s?天| 发表| 發表|歳| 歲|分|系列| Min| day| time|cm| ppi|\\.com)|(?<!\\w)(?:PARATHD|3DSVR|STARSBD)[-\\s]?\\d{3,4}(?!\\w)|(?<!\\w)(?:HIMEMIX|CASMANI)[-\\s]?\\d{3}(?!\\w)|(?<!\\w)(?:k|n)[01]\\d{3}(?!\\w|-)|(?<!\\w|\\d-|\\/)[01]\\d{5}[-_](?:1)?\\d{2,3}(?!\\w|-\\d)|(?<!\\w)(?:carib|1pondo)[-_]\\d{6}[-_]\\d{2,3}(?!\\w)|(?<!\\w|\\d-)\\d{6}[-_]\\d{2,3}(?:-1pon|-carib|-paco)(?!\\w)|(?<!\\w|\\d-)\\d{6}_(?:1)?\\d{3}_0[12](?!\\w|-\\d)|HEYZO[_-\\s]?(?:hd_)?\\d{4}/gi;\n            // /**\n            //  * 格式化Code\n            //  * @param text\n            //  * @returns\n            //  */\n            // protected formatCode(text: string) {\n            //     text = text.replace(/-c|_c|-4k/i, \"\").replace(/\\s+/g, \"\");\n            //     if (text.match(/^[a-z|A-Z]{2,8}\\d{2,5}$/i)) {\n            //         var oindex = text.search(/\\d/);\n            //         if (oindex > 0) {\n            //             text = text.slice(0, oindex) + \"-\" + text.slice(oindex);\n            //         }\n            //     }\n            //     // 判断3位数字写成2位的\n            //     // if (text.match(/-\\d{2}$/) && localInfo[avID] && localInfo[avID].noInfo) {\n            //     //     let avID2 = text.replace(\"-\", \"-0\");\n            //     //     if (localInfo[avID2]) {\n            //     //         avID = avID2;\n            //     //     }\n            //     // }\n            //     return text.toUpperCase();\n            // }\n        }\n        /**\n         * 特殊番号过滤检测\n         * @param text\n         * @returns\n         */\n        IDcheck(text) {\n            const oOnlyText = text.replace(/[^a-zA-Z]/gi, \"\"); // 番号中的英文\n            var oOnlyNum = text.replace(/[^0-9]/gi, \"\"); // 番号中的数字\n            // if(debug) console.table([{name:\"完整番号\",value:text},{name:\"英文\",value:oOnlyText},{name:\"数字\",value:oOnlyNum},{name:\"是否有横杠\",value:oNoHyphen},{name:\"是否排除\",value:oExclude},{name:\"占位\",value:\"占位\"}]);\n            // 排除 特别的番号\n            if (text.match(this.oRegExp_Exclude_ID)) {\n                this.find._log(`特别的番号,略过:  ${text} `);\n                return true;\n            }\n            // 包含关键词的情况下\n            if (oOnlyText.match(this.oRegExp_Exclude_en)) {\n                this.find._log(`存在排除词 ${oOnlyText} ,略过 ${text} `);\n                return true;\n            }\n            if (text.match(/^[a-z|A-Z]{2,8}\\s?\\d{2,5}$/i)) {\n                // 没有横杠的情况下, 含有需要排除的数字\n                if (oOnlyNum.match(this.oRegExp_Special_num)) {\n                    this.find._log(`无横杠,且存在需要排除的数字 ${oOnlyNum},略过 ${text} `);\n                    return true;\n                }\n                // 没有横杠的情况下, 并且含有关键词\n                if (oOnlyText.match(this.oRegExp_Special_en)) {\n                    this.find._log(`无横杠,且有关键词 ${oOnlyText},略过 ${text} `);\n                    return true;\n                }\n            }\n            return false;\n        }\n    };\n    __setFunctionName(_classThis, \"Code\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        Code = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return Code = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/Code/Code.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/Code/CodeBase.ts":
    /*!***********************************************!*\
      !*** ./src/Injects/CodeFind/Code/CodeBase.ts ***!
      \***********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CodeBase)\n/* harmony export */ });\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Tools/Logger */ \"./src/Tools/Logger.ts\");\n/* harmony import */ var _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../lib/findAndReplaceDOMText */ \"./src/lib/findAndReplaceDOMText.js\");\n/* harmony import */ var _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__);\n\n\nclass CodeBase extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor(find) {\n        super();\n        /** 匹配的正则 */\n        this.CodeReg = /(?<!\\w|\\/|www\\.|=|col-|\\d-|>|Jukujo-)(?!heyzo|SHINKI|JPNXXX|carib)[a-zA-Z]{2,6}-\\d{2,5}(?:-c|_c|-4k)?(?!\\d|[A-Za-z]{2,}|-\\d|\\.com|\\.\\d)|(?<!\\w|\\/|\\\\|\\.|【|-|#|@|=|www\\.)(?!heyzo|SHINKI|JPNXXX|carib|and)[a-zA-Z]{2,6}\\s?\\d{3,4}(?:-c|_c)?(?!\\w|-|\\.|\\/|×|%|%|@|\\s?天| 发表| 發表|歳| 歲|分|系列| Min| day| time|cm| ppi|\\.com)|(?<!\\w)(?:PARATHD|3DSVR|STARSBD)[-\\s]?\\d{3,4}(?!\\w)|(?<!\\w)(?:HIMEMIX|CASMANI)[-\\s]?\\d{3}(?!\\w)|(?<!\\w)(?:k|n)[01]\\d{3}(?!\\w|-)|(?<!\\w|\\d-|\\/)[01]\\d{5}[-_](?:1)?\\d{2,3}(?!\\w|-\\d)|(?<!\\w)(?:carib|1pondo)[-_]\\d{6}[-_]\\d{2,3}(?!\\w)|(?<!\\w|\\d-)\\d{6}[-_]\\d{2,3}(?:-1pon|-carib|-paco)(?!\\w)|(?<!\\w|\\d-)\\d{6}_(?:1)?\\d{3}_0[12](?!\\w|-\\d)|HEYZO[_-\\s]?(?:hd_)?\\d{4}/gi;\n        this.find = find;\n    }\n    /**\n     * 匹配\n     * @param portion\n     * @param text 匹配信息\n     */\n    match(portion, text) {\n        // 当番号介于两个HTML元素之中, 只作用最后一个\n        // this.log(`搜索到`, portion, text);\n        if (!portion.isEnd)\n            return;\n        // this.log(`搜索到番号: ${text}; 原字符串:${text}`);\n        // 检查番号, 如果存在特殊英文或者数字,则退出\n        if (this.IDcheck(text))\n            return;\n        //搜索次数加一\n        this.find.searchInfo.search++;\n        const code = this.formatCode(text);\n        // this.find.log(`搜索到番号: ${code}; 原字符串:${text}`);\n        return code;\n    }\n    /**\n     * 格式化Code\n     * @param text\n     * @returns\n     */\n    formatCode(text) {\n        text = text.replace(/-c|_c|-4k/i, \"\").replace(/\\s+/g, \"\");\n        if (text.match(/^[a-z|A-Z]{2,8}\\d{2,5}$/i)) {\n            var oindex = text.search(/\\d/);\n            if (oindex > 0) {\n                text = text.slice(0, oindex) + \"-\" + text.slice(oindex);\n            }\n        }\n        return text.toUpperCase();\n    }\n    /**\n     * 查找code\n     */\n    findCode() {\n        _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__(document.body, {\n            find: this.CodeReg,\n            preset: \"prose\",\n            forceContext: _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__.NON_INLINE_PROSE,\n            replace: (portion, match) => {\n                const text = match[0];\n                //匹配Code\n                const code = this.match(portion, text);\n                if (!code)\n                    return \"\";\n                //匹配到Code\n                return this.find.codeMatch(code, portion) || text;\n            },\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/Code/CodeBase.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/Code/UnCode.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/Code/UnCode.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Setting__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Setting */ \"./src/Injects/CodeFind/Setting.ts\");\n/* harmony import */ var _CodeBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CodeBase */ \"./src/Injects/CodeFind/Code/CodeBase.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_Setting__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Code()];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var UnCode = _classThis = class extends _CodeBase__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            // 一些素人、无码番号: 从javdb获取信息\n            //    ;--------- mgstage 字母 + 数字 + 字母 -----------------------|--------- FC2 ----------------|     HEYDOUGA                |      T28       | TMA 5位,6位,3位(没匹配)   |         1000girl   数字 + 字母             |MUGEN Entertainmen: MKD-S  MKBD-S |    素人 | 北池袋盗撮倶楽部            | japornXXX: JPNXXX       | xxx-av                   |    crazyasia               | PEWORLD                   |   10Musume  6位数字_01          |熟女俱乐部\n            this.CodeReg = /(?<!\\w|-|\\/)\\d{3}[a-zA-Z]{2,5}[-\\s]?\\d{3,4}(?!\\w|-|.torrent)|(?<!\\w|\\/)FC2[^\\d]{0,5}\\d{6,7}|HEYDOUGA[_-\\s]?\\d{4}-\\d{3,5}|(?<!\\w)T28-\\d{3}|(?<!\\w)T-2\\d{4,5}(?!\\w|-)|(?<!\\w|-|\\/)[01]\\d{5}-[a-zA-Z]{2,7}(?!\\w|-)|(?<!\\w)MK(?:B)?D-S\\d{2,3}(?!\\w|-)|(?:SHINKI|KITAIKE)[-\\s]?\\d{3}(?!\\w|-)|JPNXXX[-\\s]?\\d{5}(?!\\w|-)|xxx-av[-\\s]\\d{4,5}(?!\\w|-)|(?<!\\w)crazyasia\\d{5}(?!\\w|-)|(?<!\\w)PEWORLD\\d{5}(?!\\w|-)|(?<!\\w)[01]\\d{5}[-_]?_01(?=-10mu)?|Jukujo-Club-\\d{3}/gi;\n        }\n        // 检查番号是否需要排除 无码\n        IDcheck(text) {\n            if (text.match(/\\d{3}[a-zA-Z]{2,5}[-\\s]?\\d{3,4}/i)) {\n                if (text.replace(/[^a-zA-Z]/gi, \"\").match(/^cm$/i)) {\n                    return true;\n                }\n            }\n            return false;\n        }\n        formatCode(text) {\n            text = text.replace(/\\s+|carib[-_]|1pondo[-_]|-1pon|-paco|-carib|hd_/gi, \"\");\n            // 不再分 \"FC2PPV-\" 和 \"FC2-\" 统一为 \"FC2-\"\n            if (text.match(/fc2/i)) {\n                var oindex = text.search(/(?<!fc)\\d/i);\n                // if(text.match(/ppv/i)){\n                //     text = \"FC2PPV-\" + text.slice(oindex)\n                // }else{\n                text = \"FC2-\" + text.slice(oindex);\n                // }\n                return text.toUpperCase();\n            }\n            // heyzo\n            if (text.match(/heyzo/i)) {\n                var oindex = text.search(/\\d/i);\n                return \"HEYZO-\" + text.slice(oindex);\n            }\n            //  东京热 n1234  返回小写\n            if (text.match(/(?:k|n)\\d{4}/i)) {\n                return text.toLowerCase();\n            }\n            // 返回大写  MKD-S\\d{2,3}(?!\\w|-)|(?:SHINKI|KITAIKE)[-\\s]?\\d{3}(?!\\w|-)|JPNXXX[-\\s]?\\d{5}(?!\\w|-)|xxx-av[-\\s]\\d{4,5}(?!\\w|-)|(?<!\\w)crazyasia\\d{5}(?!\\w|-)|(?<!\\w)PEWORLD\\d{5}(?!\\w|-)|(?<!\\w)MKBD-S\\d{2,3}|(?<!\\w)\\d{6}[-_]?_01(?=-10mu)/gi;\n            if (text.match(/t28|t-|MKD-S|SHINKI|KITAIKE|JPNXXX|xxx-av|crazyasia|PEWORLD|MKBD-S/i)) {\n                return text.toUpperCase();\n            }\n            // heydouga\n            if (text.match(/HEYDOUGA/i)) {\n                return \"heydouga-\" + text.slice(text.search(/\\d/i));\n            }\n            // 123abc-456 数字字母-数字\n            if (text.match(/\\d{3}[a-zA-Z]{2,5}[-\\s]?\\d{3,4}/)) {\n                text = text.slice(3);\n                text = super.formatCode(text);\n            }\n            return text;\n        }\n    };\n    __setFunctionName(_classThis, \"UnCode\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        UnCode = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return UnCode = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/Code/UnCode.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/Code/UnCode2.ts":
    /*!**********************************************!*\
      !*** ./src/Injects/CodeFind/Code/UnCode2.ts ***!
      \**********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Setting__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Setting */ \"./src/Injects/CodeFind/Setting.ts\");\n/* harmony import */ var _UnCode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UnCode */ \"./src/Injects/CodeFind/Code/UnCode.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_Setting__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Code()];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var UnCode2 = _classThis = class extends _UnCode__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            // 一些素人、无码番号: 从javdb获取信息\n            //    ;--------- mgstage 字母 + 数字 + 字母 -----------------------|--------- FC2 ----------------|     HEYDOUGA                |      T28       | TMA 5位,6位,3位(没匹配)   |         1000girl   数字 + 字母             |MUGEN Entertainmen: MKD-S  MKBD-S |    素人 | 北池袋盗撮倶楽部            | japornXXX: JPNXXX       | xxx-av                   |    crazyasia               | PEWORLD                   |   10Musume  6位数字_01          |熟女俱乐部\n            this.CodeReg = /(?<=(FC2[^\\d]{0,5})(?:[\\s,、-]?\\d{6,7})+[\\s,、]?)\\d{6,7}/gim;\n            // // 检查番号是否需要排除 无码\n            // protected IDcheck(text: string): boolean {\n            //     if (text.match(/\\d{3}[a-zA-Z]{2,5}[-\\s]?\\d{3,4}/i)) {\n            //         if (text.replace(/[^a-zA-Z]/gi, \"\").match(/^cm$/i)) {\n            //             return true;\n            //         }\n            //     }\n            //     return false;\n            // }\n            // protected formatCode(text: string): string {\n            //     text = text.replace(/\\s+|carib[-_]|1pondo[-_]|-1pon|-paco|-carib|hd_/gi, \"\");\n            //     // 不再分 \"FC2PPV-\" 和 \"FC2-\" 统一为 \"FC2-\"\n            //     if (text.match(/fc2/i)) {\n            //         var oindex = text.search(/(?<!fc)\\d/i);\n            //         // if(text.match(/ppv/i)){\n            //         //     text = \"FC2PPV-\" + text.slice(oindex)\n            //         // }else{\n            //         text = \"FC2-\" + text.slice(oindex);\n            //         // }\n            //         return text.toUpperCase();\n            //     }\n            //     // heyzo\n            //     if (text.match(/heyzo/i)) {\n            //         var oindex = text.search(/\\d/i);\n            //         return \"HEYZO-\" + text.slice(oindex);\n            //     }\n            //     //  东京热 n1234  返回小写\n            //     if (text.match(/(?:k|n)\\d{4}/i)) {\n            //         return text.toLowerCase();\n            //     }\n            //     // 返回大写  MKD-S\\d{2,3}(?!\\w|-)|(?:SHINKI|KITAIKE)[-\\s]?\\d{3}(?!\\w|-)|JPNXXX[-\\s]?\\d{5}(?!\\w|-)|xxx-av[-\\s]\\d{4,5}(?!\\w|-)|(?<!\\w)crazyasia\\d{5}(?!\\w|-)|(?<!\\w)PEWORLD\\d{5}(?!\\w|-)|(?<!\\w)MKBD-S\\d{2,3}|(?<!\\w)\\d{6}[-_]?_01(?=-10mu)/gi;\n            //     if (text.match(/t28|t-|MKD-S|SHINKI|KITAIKE|JPNXXX|xxx-av|crazyasia|PEWORLD|MKBD-S/i)) {\n            //         return text.toUpperCase();\n            //     }\n            //     // heydouga\n            //     if (text.match(/HEYDOUGA/i)) {\n            //         return \"heydouga-\" + text.slice(text.search(/\\d/i));\n            //     }\n            //     // 123abc-456 数字字母-数字\n            //     if (text.match(/\\d{3}[a-zA-Z]{2,5}[-\\s]?\\d{3,4}/)) {\n            //         text = text.slice(3);\n            //         text = super.formatCode(text);\n            //     }\n            //     return text;\n            // }\n        }\n    };\n    __setFunctionName(_classThis, \"UnCode2\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        UnCode2 = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return UnCode2 = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/Code/UnCode2.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/ICodeInfo.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/ICodeInfo.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   QTType: () => (/* binding */ QTType)\n/* harmony export */ });\n// import Tool from \"../../../Tools/Tool\";\n// import AVPreview from \"../API/Preview/AVPreview\";\n// import Sync from \"../API/Sync\";\n// import CodeFind from \"../CodeFind\";\n// import Setting from \"../Setting\";\nvar QTType;\n(function (QTType) {\n    /** 不存在 */\n    QTType[\"NULL\"] = \"null\";\n    /** 下载中 */\n    QTType[\"DOWNLOADING\"] = \"downloading\";\n    /** 已下载 */\n    QTType[\"DOWNLOADED\"] = \"downloaded\";\n})(QTType || (QTType = {}));\n// const FC2_REGEX = /^FC2-/i;\n// /**\n//  * 获取Code的信息\n//  */\n// export default class CodeGet {\n//     protected Host: string = \"https://www.javbus.com\";\n//     /** 数据查询Url */\n//     protected DataFrom: string = \"https://www.javbus.com/%s\";\n//     protected find: CodeFind;\n//     constructor(find: CodeFind) {\n//         this.find = find;\n//     }\n//     /**\n//      * 获取信息\n//      * @param code\n//      */\n//     public async getInfo(code: string) {\n//         const url = await this.getUrl(code);\n//         //如果页面地址为空,返回false\n//         if (!url) return false;\n//         //获取数据\n//         const htmlDoc = await Tool.request(url);\n//         //防盗链\n//         this.noReferrer();\n//         //\n//         if (htmlDoc === false) return false;\n//         const data = await this.parserData(htmlDoc, code, url);\n//         return data;\n//     }\n//     protected codeParse(code: string) {\n//         const _ = FC2_REGEX.test(code) ? \"|_\" : \"\";\n//         const codes = code.split(\"-\").map((item, index) => (index ? item.replace(/^0/, \"\") : item));\n//         return {\n//             prefix: codes[0],\n//             regex: new RegExp(`(?<![a-z])${codes.join(`(0|-${_}){0,4}`)}(?!\\\\d)`, \"i\"),\n//         };\n//     }\n//     noReferrer() {\n//         // 相关代码地址 https://greasyfork.org/zh-CN/scripts/376884\n//         // 名称: 显示防盗链图片 for Inoreader\n//         // 作者: maboloshi\n//         var meta = document.createElement(\"meta\");\n//         meta.name = \"referrer\";\n//         meta.content = \"no-referrer\";\n//         document.getElementsByTagName(\"head\")[0].appendChild(meta);\n//     }\n//     /**\n//      * 获取Url\n//      * @param code\n//      * @returns\n//      */\n//     protected async getUrl(code: string) {\n//         return this.DataFrom.replace(\"%s\", code);\n//     }\n//     /**\n//      * 获取标题\n//      * @param htmlDoc\n//      * @param code\n//      * @returns\n//      */\n//     protected async getTitle(htmlDoc: HTMLElement, { code }: ICodeInfo) {\n//         return htmlDoc.title.replace(code, \"\").replace(\" - JavBus\", \"\");\n//     }\n//     /**\n//      * 获取封面\n//      * @param htmlDoc\n//      */\n//     protected async getCover(htmlDoc: HTMLElement) {\n//         const url = htmlDoc.querySelector(\".bigImage img\")?.getAttribute(\"src\");\n//         return url.indexOf(\"http\") === 0 ? url : this.DataFrom.replace(\"/%s\", \"\") + url;\n//     }\n//     /**\n//      * 获取演员列表\n//      * @param htmlDoc\n//      * @returns\n//      */\n//     protected async getActors(htmlDoc: HTMLElement) {\n//         const list = htmlDoc.querySelectorAll(\".star-name\");\n//         const actors: IActor[] = [];\n//         list.forEach((item) => {\n//             const a = item.querySelector(\"a\");\n//             const link = a.getAttribute(\"href\");\n//             // https://www.javbus.com/star/sb9\n//             // https://www.javbus.com/pics/actress/sb9_a.jpg\n//             actors.push({\n//                 name: a.innerHTML,\n//                 link,\n//                 avatar: `${link.replace(\"star\", \"pics/actress\")}_a.jpg`,\n//             });\n//         });\n//         return actors;\n//     }\n//     /**\n//      * 获取标签列表\n//      * @param htmlDoc\n//      * @returns\n//      */\n//     protected async getTags(htmlDoc: HTMLElement) {\n//         const list = htmlDoc.querySelectorAll(\"input[name='gr_sel']\");\n//         const tags: string[] = [];\n//         list.forEach((item) => {\n//             const next = item.nextElementSibling as HTMLLinkElement;\n//             tags.push(next.innerHTML);\n//         });\n//         return tags;\n//     }\n//     /**\n//      * 获取系列\n//      * @param htmlDoc\n//      * @returns\n//      */\n//     protected async getSeries(htmlDoc: HTMLElement) {\n//         const other = htmlDoc.querySelectorAll<HTMLDivElement>(\".header\");\n//         for (let i = 0; i < other.length; i++) {\n//             if (other[i].innerHTML == \"系列:\") {\n//                 const parent = other[i].parentNode as HTMLDivElement;\n//                 const next = parent.nextElementSibling as HTMLLinkElement;\n//                 return { name: parent.innerText, url: next.href };\n//             }\n//         }\n//     }\n//     /**\n//      * 获取发行时间\n//      * @param htmlDoc\n//      * @returns\n//      */\n//     protected async getReleaseDate(htmlDoc: HTMLElement) {\n//         return this.getFromHeader(htmlDoc, \"發行日期:\");\n//     }\n//     protected async getDirector(htmlDoc: HTMLElement) {\n//         return this.getFromHeader(htmlDoc, \"導演:\");\n//     }\n//     private async getFromHeader(htmlDoc: HTMLElement, name: string) {\n//         const other = htmlDoc.querySelectorAll<HTMLDivElement>(\".header\");\n//         for (let i = 0; i < other.length; i++) {\n//             if (other[i].innerHTML == name) {\n//                 const parent = other[i].parentNode as HTMLDivElement;\n//                 return parent.innerText.replace(name, \"\");\n//             }\n//         }\n//     }\n//     /**\n//      * 获取发行商\n//      * @param htmlDoc\n//      */\n//     protected async getStudio(htmlDoc: HTMLElement) {\n//         return this.getFromHeader(htmlDoc, \"發行商:\");\n//     }\n//     /**\n//      * 获取emby信息\n//      * @param htmlDoc\n//      * @param code\n//      */\n//     protected async getEmby(htmlDoc: HTMLElement, { code }: ICodeInfo) {\n//         const { Emby } = this.find.setting;\n//         const data = (await Tool.request(`${Emby.host}emby/Search/Hints?searchTerm=${code}`, {}, \"GET\", {\n//             responseType: \"json\",\n//             headers: { \"X-Emby-Token\": Emby.apiKey, \"Content-Type\": \"application/x-www-form-urlencoded\" },\n//         })) as any;\n//         this.find.log(\"-getEmby--\", data);\n//         if (data === false) return;\n//         if (!data.SearchHints[0]) return;\n//         return `${Emby.host}web/index.html#!/item?serverId=756fcd461c944e7eb99ca9815be49951&id=${data.SearchHints[0].Id}`;\n//     }\n//     /**\n//      * 从emby中获取演员信息\n//      * @param name\n//      * @returns\n//      */\n//     protected async getEmbyActor(name: string) {\n//         const { Emby } = this.find.setting;\n//         const data = (await Tool.request(`${Emby.host}Persons?searchTerm=${name}`, {}, \"GET\", {\n//             responseType: \"json\",\n//             headers: { \"X-Emby-Token\": Emby.apiKey, \"Content-Type\": \"application/x-www-form-urlencoded\" },\n//         })) as any;\n//         this.find.log(\"-getEmbyActor--\", data, typeof data);\n//         if (data.TotalRecordCount) {\n//             return data.Items[0];\n//         }\n//     }\n//     /**\n//      * 解析数据\n//      * @param htmlDoc\n//      * @param code\n//      * @returns\n//      */\n//     private async parserData(htmlDoc: HTMLElement, code: string, link: string) {\n//         const res: ICodeInfo = { code, getTime: new Date().getTime(), link };\n//         this.find.log(\"正在获取信息\", res, link);\n//         for (let key of Setting.Const.InfoKeys) {\n//             console.time(key);\n//             const func = (this as any)[`get${key[0].toUpperCase()}${key.slice(1)}`];\n//             // this.find.log(`正在获取${key}`, this, `get${key[0].toUpperCase()}${key.slice(1)}`, func);\n//             if (func) (res as any)[key] = await func.call(this, htmlDoc, res);\n//             console.timeEnd(key);\n//             // if (res[key]) this.find.log(`获取${key}成功`, res[key]);\n//         }\n//         return res;\n//     }\n//     /**\n//      * 异步同步数据\n//      * @param info\n//      * @returns\n//      */\n//     public syncInfo(info: ICodeInfo) {\n//         for (const sync of Setting.Const.Syncs) {\n//             const syncAct: Sync = new (sync as any)();\n//             //更新\n//             syncAct.syncData(info, this.find.syncData);\n//         }\n//         return info;\n//     }\n// }\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/ICodeInfo.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/SVGConst.ts":
    /*!******************************************!*\
      !*** ./src/Injects/CodeFind/SVGConst.ts ***!
      \******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nclass SVGConst {\n}\nSVGConst.Search = `<svg t=\"1697541418893\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"5891\" width=\"128\" height=\"128\"><path d=\"M907.4 906.4c-29 29-76 29-105 0L657.7 761.7c-57.6 38.4-126.8 60.9-201.3 60.9-200.5 0-363.1-162.6-363.1-363.2S255.9 96.2 456.5 96.2s363.2 162.6 363.2 363.2c0 72.4-21.2 139.9-57.7 196.5l145.5 145.5c28.9 29 28.9 76-0.1 105zM456.4 231C330.3 231 228 333.3 228 459.4c0 126.1 102.3 228.4 228.4 228.4s228.4-102.3 228.4-228.4C684.9 333.3 582.6 231 456.4 231z m118.1 379.4c-1.4 2.1-3.5 3.6-6.2 4.2-5.5 1.3-11.1-2.2-12.3-7.7-1.2-5.2 1.7-10.3 6.7-12 59-46.5 80.8-126.4 53.6-196.1-0.7-1.4-1-2.9-1-4.5 0-5.7 4.6-10.3 10.3-10.3 4.2 0 7.8 2.5 9.4 6.1h0.1c30.7 78.3 6.1 168.4-60.6 220.3z\" fill=\"\" p-id=\"5892\"></path></svg>`;\nSVGConst.Download = `<svg t=\"1697543079453\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"8324\" width=\"128\" height=\"128\"><path d=\"M892.5 879.2h-761c-18.4 0-33.3-14.9-33.3-33.3V679.5c0-18.4 14.9-33.3 33.3-33.3h30c18.4 0 33.3 14.9 33.3 33.3 0 4.5-0.9 8.9-2.6 12.8l-13 64.8c0 18.4 14.9 33.3 33.3 33.3h599c18.4 0 33.3-14.9 33.3-33.3l-13-64.8c-1.7-3.9-2.6-8.3-2.6-12.8 0-18.4 14.9-33.3 33.3-33.3h30c18.4 0 33.3 14.9 33.3 33.3v166.4c0 18.4-14.9 33.3-33.3 33.3z m-66.6-500.3v0.6c2.6 1.1 4.4 3.7 4.4 6.7s-1.8 5.6-4.4 6.7v0.4L520.7 706.1h-0.4c-1.1 2.6-3.7 4.4-6.7 4.4s-5.6-1.8-6.7-4.4h-0.4L201.4 393.2v-0.4c-2.6-1.1-4.4-3.7-4.4-6.7s1.8-5.6 4.4-6.7v-0.6h-13.9 207v-51c0-18.4 14.9-33.3 33.3-33.3h168.6c18.4 0 33.3 14.9 33.3 33.3v51H840h-14.1z m-224-115.4H422.1c-15.3 0-27.7-12.4-27.7-27.7s12.4-27.7 27.7-27.7h179.7c15.3 0 27.7 12.4 27.7 27.7s-12.3 27.7-27.6 27.7z m11-84.3H411.1c-9.2 0-16.6-7.5-16.6-16.6 0-9.2 7.5-16.6 16.6-16.6H613c9.2 0 16.6 7.5 16.6 16.6 0 9.2-7.5 16.6-16.7 16.6z\" fill=\"\" p-id=\"8325\"></path></svg>`;\nSVGConst.Info = `<svg t=\"1697543415285\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"9335\" width=\"128\" height=\"128\"><path d=\"M512 64C264.576 64 64 264.576 64 512c0 247.424 200.576 448 448 448s448-200.576 448-448C960 264.576 759.424 64 512 64zM512 848c-185.536 0-336-150.464-336-336S326.464 176 512 176 848 326.464 848 512 697.536 848 512 848zM512 400c-30.912 0-56 25.088-56 56l0 224C456 710.912 481.088 736 512 736s56-25.088 56-56l0-224C568 425.088 542.912 400 512 400zM512 232c-30.912 0-56 25.088-56 56S481.088 344 512 344 568 318.912 568 288 542.912 232 512 232z\" p-id=\"9336\"></path></svg>`;\nSVGConst.Code = `<svg t=\"1697544621579\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"24108\" width=\"128\" height=\"128\"><path d=\"M1012.801094 959.306318L791.422713 737.927937c-1.699834-1.699834-1.999805-4.499561-0.499952-6.499366 37.996289-50.395079 60.594083-113.188946 60.594083-181.182306 0-166.383752-134.886827-301.270579-301.270579-301.270579-166.383752 0.09999-301.270579 134.886827-301.270579 301.370569 0 166.383752 134.886827 301.270579 301.270579 301.270579 67.99336 0 130.787228-22.597793 181.182306-60.594082 1.999805-1.499854 4.699541-1.299873 6.499366 0.499951L959.306318 1012.901084c14.798555 14.798555 38.696221 14.798555 53.494776 0 14.798555-14.798555 14.798555-38.696221 0-53.594766zM638.037692 758.225954C610.240406 769.924812 580.743287 775.924226 550.246265 775.924226s-59.994141-5.999414-87.791427-17.698272c-26.897373-11.398887-50.99502-27.597305-71.692998-48.395273-20.697979-20.697979-36.996387-44.895616-48.395274-71.692999-11.698858-27.797285-17.698272-57.294405-17.698272-87.791427s5.999414-59.994141 17.698272-87.791426c11.398887-26.897373 27.597305-50.99502 48.395274-71.692999 20.697979-20.697979 44.895616-36.996387 71.692998-48.395274 27.797285-11.698858 57.294405-17.698272 87.791427-17.698272s59.994141 5.999414 87.791427 17.698272c26.897373 11.398887 50.99502 27.597305 71.692998 48.395274 20.697979 20.697979 36.996387 44.895616 48.395274 71.692999 11.698858 27.797285 17.698272 57.294405 17.698272 87.791426s-5.999414 59.994141-17.698272 87.791427c-11.398887 26.897373-27.597305 50.99502-48.395274 71.692999-20.697979 20.697979-44.795625 36.996387-71.692998 48.395273z\" p-id=\"24109\"></path><path d=\"M296.970999 157.984572H162.984084c-2.699736 0-4.999512 2.199785-4.999512 4.999512v133.986915c0 2.699736 2.199785 4.999512 4.999512 4.999512h133.986915c2.699736 0 4.999512-2.199785 4.999512-4.999512V162.984084c0-2.799727-2.199785-4.999512-4.999512-4.999512zM869.315106 684.933112c-1.399863 3.299678 0.999902 6.899326 4.599551 6.899326l70.093155-0.09999v-0.19998h34.996582c2.699736 0 4.999512-2.199785 4.999512-4.999512V528.948345c0-2.699736-2.199785-4.999512-4.999512-4.999512H948.907333c-2.699736 0-4.999512 2.199785-4.999511 4.999512l0.19998 117.888487c0 2.699736-2.199785 4.999512-4.899522 4.999512l-54.194707 0.09999c-2.199785 0-4.0996 1.399863-4.699541 3.499659-0.999902 2.999707-1.999805 6.099404-2.999707 9.099111-2.499756 6.799336-5.199492 13.598672-7.999219 20.398008zM162.984084 825.919344h133.986915c2.699736 0 4.999512-2.199785 4.999512-4.999512v-27.297334c0-1.299873-0.499951-2.499756-1.399864-3.399668-29.79709-30.996973-53.294795-66.593497-69.493213-105.289718-0.799922-1.799824-2.599746-2.999707-4.599551-2.999707H162.984084c-2.699736 0-4.999512 2.199785-4.999512 4.999512v133.986915c0 2.799727 2.199785 4.999512 4.999512 4.999512zM550.246265 204.08007c2.899717 0 5.799434 0 8.59916 0.099991s5.099502-2.199785 5.099502-4.999512V44.995606c0-2.699736 2.199785-4.999512 4.999512-4.999512h369.963871c2.699736 0 4.999512 2.199785 4.999512 4.999512v369.963871c0 2.699736-2.199785 4.999512-4.999512 4.999511h-60.494093c-3.499658 0-5.899424 3.499658-4.59955 6.699346 3.699639 9.699053 6.999316 19.598086 9.799043 29.59711 0.599941 2.099795 2.499756 3.599648 4.799531 3.599648H978.904404c2.699736 0 4.999512-2.199785 4.999512-4.999511V4.999512c0-2.699736-2.199785-4.999512-4.999512-4.999512H528.948345c-2.699736 0-4.999512 2.199785-4.999512 4.999512v194.780978c0 2.799727 2.399766 5.099502 5.199492 4.899522 6.999316-0.399961 13.998633-0.599941 21.09794-0.599942z\" p-id=\"24110\"></path><path d=\"M684.933112 231.177424c38.596231 16.298408 74.092764 39.696123 105.089737 69.493214 0.899912 0.899912 2.099795 1.399863 3.399668 1.399863H820.919832c2.699736 0 4.999512-2.199785 4.999512-4.999512V162.984084c0-2.699736-2.199785-4.999512-4.999512-4.999512H686.932917c-2.699736 0-4.999512 2.199785-4.999512 4.999512v63.593789c0 1.999805 1.199883 3.799629 2.999707 4.599551zM563.944927 943.907822v-42.495851c0-2.799727-2.299775-4.999512-5.099502-4.999511-2.899717 0.09999-5.799434 0.09999-8.69915 0.09999-7.099307 0-14.098623-0.19998-21.09794-0.599941-2.799727-0.19998-5.199492 2.099795-5.199492 4.899521V978.904404c0 2.699736 2.199785 4.999512 4.999512 4.999512h30.297041c2.799727 0 4.999512-2.199785 4.999512-4.999512l-0.299971-25.39752V943.907822zM714.630212 882.113856v-18.798164c0-3.699639-3.899619-6.099404-7.199297-4.399571-9.699053 4.899522-19.598086 9.399082-29.59711 13.398692-1.899814 0.799922-3.099697 2.599746-3.099697 4.599551v101.99004c0 2.699736 2.199785 4.999512 4.999512 4.999512H709.930671c2.699736 0 4.999512-2.199785 4.999512-4.999512l-0.299971-72.392931v-24.397617zM221.978322 419.958988H44.995606c-2.699736 0-4.999512-2.199785-4.999512-4.999511V44.995606c0-2.699736 2.199785-4.999512 4.999512-4.999512h369.963871c2.699736 0 4.999512 2.199785 4.999511 4.999512v177.082707c0 3.499658 3.499658 5.899424 6.699346 4.59955 9.699053-3.699639 19.598086-6.999316 29.59711-9.799043 2.099795-0.599941 3.599648-2.499756 3.599648-4.799531V4.999512c0-2.699736-2.199785-4.999512-4.999511-4.999512H4.999512C2.199785 0 0 2.199785 0 4.999512v449.956059c0 2.699736 2.199785 4.999512 4.999512 4.999512h207.079777c2.199785 0 4.19959-1.499854 4.799531-3.599649 2.799727-9.999024 6.099404-19.898057 9.799043-29.59711 1.199883-3.299678-1.199883-6.799336-4.699541-6.799336zM815.62035 944.807734V978.904404c0 2.699736 2.199785 4.999512 4.999511 4.999512H850.916903c2.799727 0 4.999512-2.199785 4.999511-4.999512v-3.899619c0-1.299873-0.499951-2.499756-1.499853-3.499659l-30.297041-30.297041c-3.199688-2.999707-8.49917-0.799922-8.49917 3.599649zM419.958988 878.614198V938.90831c0 2.699736-2.199785 4.999512-4.999511 4.999512H44.995606c-2.699736 0-4.999512-2.199785-4.999512-4.999512V568.944439c0-2.699736 2.199785-4.999512 4.999512-4.999512h154.184943c2.799727 0 4.999512-2.299775 4.999512-5.099502-0.09999-2.899717-0.09999-5.699443-0.099991-8.59916 0-7.099307 0.19998-14.098623 0.599942-21.09794 0.19998-2.799727-2.099795-5.199492-4.899522-5.199492H4.999512c-2.699736 0-4.999512 2.199785-4.999512 4.999512v449.956059c0 2.699736 2.199785 4.999512 4.999512 4.999512h449.956059c2.699736 0 4.999512-2.199785 4.999512-4.999512v-90.491163c0-2.199785-1.499854-4.19959-3.599649-4.799531-9.999024-2.799727-19.898057-6.099404-29.59711-9.799043-3.299678-1.099893-6.799336 1.299873-6.799336 4.799531z\" p-id=\"24111\"></path></svg>`;\nSVGConst.Copy = `<svg t=\"1697544850464\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"34581\" width=\"128\" height=\"128\"><path d=\"M753.312 698.848 753.312 383.6736c0-62.048-50.3104-112.3264-112.288-112.3264L395.3024 271.3472 324.288 271.3472l-53.7344 0-29.536 0c-62.048 0-112.288 50.272-112.288 112.3264l0 400.0512c0 61.9776 50.24 112.2752 112.288 112.2752l400.0128 0c62.048 0 112.288-50.2976 112.288-112.2752l0-31.0656 0.8768 0 0-54.0352C753.888 698.624 753.6768 698.7776 753.312 698.848zM660.6016 681.728l0 42.5984c0 0.864-0.2368 1.792-0.2368 2.6688-1.4272 42.3552-36.064 76.3008-78.7328 76.3008L300.3392 803.296c-43.5968 0-78.9056-35.3664-78.9056-78.9696L221.4336 442.9888c0-42.2336 33.2608-76.4928 75.0144-78.5984 1.2928-0.064 2.5984-0.3712 3.8912-0.3712l41.4272 0L581.632 364.0192c43.6608 0 78.9696 35.4048 78.9696 78.9696L660.6016 681.728zM895.1232 555.5008 895.1232 240.3264c0-62.048-50.3104-112.3264-112.288-112.3264L537.1136 128 466.0992 128l-53.7344 0-29.536 0c-62.048 0-112.288 50.272-112.288 112.3264l0 4.4736 115.0784 0c13.4912-13.8112 32.0256-22.72 52.6464-23.7568 1.2864-0.064 2.592-0.3712 3.8848-0.3712l41.4272 0 239.8656 0c43.6608 0 78.9696 35.4048 78.9696 78.9696l0 238.7328 0 42.5984c0 0.864-0.2368 1.792-0.2368 2.6688-0.8768 25.9136-14.208 48.6336-34.176 62.4l0 106.6048 14.8352 0c62.048 0 112.288-50.2976 112.288-112.2752l0-31.0656L896 609.3056l0-54.0352C895.6992 555.2768 895.488 555.424 895.1232 555.5008z\"  p-id=\"34582\"></path></svg>`;\nSVGConst.Trans = `<svg t=\"1697545879531\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"35670\" width=\"128\" height=\"128\"><path d=\"M640 416h256c35.36 0 64 28.48 64 64v416c0 35.36-28.48 64-64 64H480c-35.36 0-64-28.48-64-64V640h128c53.312 0 96-42.976 96-96V416zM64 128c0-35.36 28.48-64 64-64h416c35.36 0 64 28.48 64 64v416c0 35.36-28.48 64-64 64H128c-35.36 0-64-28.48-64-64V128z m128 276.256h46.72v-24.768h67.392V497.76h49.504V379.488h68.768v20.64h50.88V243.36H355.616v-34.368c0-10.08 1.376-18.784 4.16-26.112a10.56 10.56 0 0 0 1.344-4.16c0-0.896-3.2-1.792-9.6-2.72h-46.816v67.36H192v160.896z m46.72-122.368h67.392v60.48h-67.36V281.92z m185.664 60.48h-68.768V281.92h68.768v60.48z m203.84 488l19.264-53.632h100.384l19.264 53.632h54.976L732.736 576h-64.64L576 830.4h52.256z m33.024-96.256l37.12-108.608h1.376l34.368 108.608h-72.864zM896 320h-64a128 128 0 0 0-128-128v-64a192 192 0 0 1 192 192zM128 704h64a128 128 0 0 0 128 128v64a192 192 0 0 1-192-192z\" p-id=\"35671\"></path></svg>`;\nSVGConst.Collect = `<svg t=\"1707204801559\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"25628\" width=\"128\" height=\"128\"><path d=\"M969.788235 265.035294c-12.047059-36.141176-36.141176-66.258824-60.235294-90.352941-54.211765-54.211765-120.470588-78.305882-186.729412-78.305882-78.305882 0-156.611765 36.141176-210.823529 102.4-54.211765-66.258824-126.494118-102.4-210.823529-102.4-72.282353 0-138.541176 30.117647-186.729412 78.305882C60.235294 228.894118 30.117647 307.2 30.117647 385.505882c0 84.329412 36.141176 168.658824 102.4 222.870589l6.023529 6.023529c12.047059 12.047059 54.211765 48.188235 108.42353 96.376471 90.352941 78.305882 198.776471 180.705882 240.941176 222.870588 12.047059 12.047059 36.141176 12.047059 48.188236 0 30.117647-30.117647 102.4-90.352941 168.658823-156.611765 72.282353-66.258824 144.564706-132.517647 186.729412-168.658823 66.258824-54.211765 102.4-138.541176 102.4-222.870589 0-48.188235-6.023529-84.329412-24.094118-120.470588zM566.211765 240.941176c36.141176-48.188235 96.376471-78.305882 156.611764-78.305882 54.211765 0 102.4 18.070588 138.541177 60.235294 18.070588 18.070588 36.141176 42.164706 48.188235 72.282353 24.094118 60.235294 24.094118 126.494118-6.023529 180.705883-12.047059 30.117647-30.117647 54.211765-54.211765 72.282352-36.141176 30.117647-96.376471 90.352941-186.729412 168.658824-48.188235 42.164706-96.376471 90.352941-144.564706 132.517647-66.258824-60.235294-126.494118-114.447059-192.752941-174.682353l-42.164706-42.164706c-30.117647-24.094118-60.235294-54.211765-90.352941-78.305882l-6.023529-6.02353c-48.188235-42.164706-78.305882-102.4-78.305883-168.658823 0-30.117647 6.023529-60.235294 18.070589-84.329412 12.047059-24.094118 24.094118-48.188235 48.188235-72.282353 36.141176-36.141176 84.329412-60.235294 138.541176-60.235294 60.235294 0 114.447059 30.117647 156.611765 78.305882 12.047059 18.070588 30.117647 24.094118 54.211765 24.094118s30.117647-6.023529 42.164706-24.094118z\" p-id=\"25629\" data-spm-anchor-id=\"a313x.search_index.0.i10.614d3a81eAu1gD\" class=\"selected\"></path><path d=\"M680.658824 271.058824c102.4 0 114.447059 54.211765 120.470588 72.282352 18.070588 42.164706 18.070588 90.352941-6.02353 132.517648-12.047059 18.070588-24.094118 36.141176-42.164706 54.211764-24.094118 24.094118-72.282353 66.258824-138.541176 126.494118-36.141176 30.117647-72.282353 66.258824-108.423529 96.37647-48.188235-42.164706-90.352941-84.329412-138.541177-126.494117l-30.117647-30.117647c-24.094118-18.070588-42.164706-42.164706-66.258823-60.235294l-6.02353-6.02353c-36.141176-30.117647-54.211765-72.282353-54.211765-120.470588 0-24.094118 6.023529-42.164706 12.047059-66.258824 6.023529-18.070588 24.094118-72.282353 132.517647-72.282352 42.164706 0 84.329412 54.211765 114.447059 90.352941 12.047059 12.047059 24.094118 18.070588 36.141177 18.070588s30.117647-6.023529 36.141176-18.070588c36.141176-36.141176 90.352941-90.352941 138.541177-90.352941z\" p-id=\"25630\" data-spm-anchor-id=\"a313x.search_index.0.i11.614d3a81eAu1gD\" class=\"selected\"></path></svg>`;\nSVGConst.CollectWhite = `<svg t=\"1707204765538\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"25429\" width=\"128\" height=\"128\"><path d=\"M969.788235 265.035294c-12.047059-36.141176-36.141176-66.258824-60.235294-90.352941-54.211765-54.211765-120.470588-78.305882-186.729412-78.305882-78.305882 0-156.611765 36.141176-210.823529 102.4-54.211765-66.258824-126.494118-102.4-210.823529-102.4-72.282353 0-138.541176 30.117647-186.729412 78.305882C60.235294 228.894118 30.117647 307.2 30.117647 385.505882c0 84.329412 36.141176 168.658824 102.4 222.870589l6.023529 6.023529c12.047059 12.047059 54.211765 48.188235 108.42353 96.376471 90.352941 78.305882 198.776471 180.705882 240.941176 222.870588 12.047059 12.047059 36.141176 12.047059 48.188236 0 30.117647-30.117647 102.4-90.352941 168.658823-156.611765 72.282353-66.258824 144.564706-132.517647 186.729412-168.658823 66.258824-54.211765 102.4-138.541176 102.4-222.870589 0-48.188235-6.023529-84.329412-24.094118-120.470588zM566.211765 240.941176c36.141176-48.188235 96.376471-78.305882 156.611764-78.305882 54.211765 0 102.4 18.070588 138.541177 60.235294 18.070588 18.070588 36.141176 42.164706 48.188235 72.282353 24.094118 60.235294 24.094118 126.494118-6.023529 180.705883-12.047059 30.117647-30.117647 54.211765-54.211765 72.282352-36.141176 30.117647-96.376471 90.352941-186.729412 168.658824-48.188235 42.164706-96.376471 90.352941-144.564706 132.517647-66.258824-60.235294-126.494118-114.447059-192.752941-174.682353l-42.164706-42.164706c-30.117647-24.094118-60.235294-54.211765-90.352941-78.305882l-6.023529-6.02353c-48.188235-42.164706-78.305882-102.4-78.305883-168.658823 0-30.117647 6.023529-60.235294 18.070589-84.329412 12.047059-24.094118 24.094118-48.188235 48.188235-72.282353 36.141176-36.141176 84.329412-60.235294 138.541176-60.235294 60.235294 0 114.447059 30.117647 156.611765 78.305882 12.047059 18.070588 30.117647 24.094118 54.211765 24.094118s30.117647-6.023529 42.164706-24.094118z\" fill=\"#ffffff\" p-id=\"25430\"></path><path d=\"M680.658824 271.058824c102.4 0 114.447059 54.211765 120.470588 72.282352 18.070588 42.164706 18.070588 90.352941-6.02353 132.517648-12.047059 18.070588-24.094118 36.141176-42.164706 54.211764-24.094118 24.094118-72.282353 66.258824-138.541176 126.494118-36.141176 30.117647-72.282353 66.258824-108.423529 96.37647-48.188235-42.164706-90.352941-84.329412-138.541177-126.494117l-30.117647-30.117647c-24.094118-18.070588-42.164706-42.164706-66.258823-60.235294l-6.02353-6.02353c-36.141176-30.117647-54.211765-72.282353-54.211765-120.470588 0-24.094118 6.023529-42.164706 12.047059-66.258824 6.023529-18.070588 24.094118-72.282353 132.517647-72.282352 42.164706 0 84.329412 54.211765 114.447059 90.352941 12.047059 12.047059 24.094118 18.070588 36.141177 18.070588s30.117647-6.023529 36.141176-18.070588c36.141176-36.141176 90.352941-90.352941 138.541177-90.352941z\" fill=\"#ffffff\" p-id=\"25431\"></path></svg>`;\nSVGConst.Delete = `<svg t=\"1707292493996\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"4233\" width=\"128\" height=\"128\"><path d=\"M665.6 563.2v153.6c0 30.72-20.48 51.2-51.2 51.2s-51.2-20.48-51.2-51.2v-153.6c0-30.72 20.48-51.2 51.2-51.2s51.2 20.48 51.2 51.2z m-204.8 0v153.6c0 30.72-20.48 51.2-51.2 51.2s-51.2-20.48-51.2-51.2v-153.6c0-30.72 20.48-51.2 51.2-51.2s51.2 20.48 51.2 51.2zM307.2 409.6c-30.72 0-51.2 20.48-51.2 51.2v358.4c0 30.72 20.48 51.2 51.2 51.2h409.6c30.72 0 51.2-20.48 51.2-51.2V460.8c0-30.72-20.48-51.2-51.2-51.2H307.2zM256 307.2h512c56.32 0 102.4 46.08 102.4 102.4v460.8c0 56.32-46.08 102.4-102.4 102.4H256c-56.32 0-102.4-46.08-102.4-102.4V409.6c0-56.32 46.08-102.4 102.4-102.4z m204.8-179.2V102.4c0-30.72 20.48-51.2 51.2-51.2s51.2 20.48 51.2 51.2v25.6h256c30.72 0 51.2 20.48 51.2 51.2s-20.48 51.2-51.2 51.2H204.8c-30.72 0-51.2-20.48-51.2-51.2s20.48-51.2 51.2-51.2h256z\" fill=\"#000000\" p-id=\"4234\"></path></svg>`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SVGConst);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/SVGConst.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/Setting.ts":
    /*!*****************************************!*\
      !*** ./src/Injects/CodeFind/Setting.ts ***!
      \*****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nclass Setting {\n    /**\n     * 注解添加Code查找类\n     * @returns\n     */\n    static Code() {\n        return (Cls, context) => {\n            this.Const.Code.push(Cls);\n            return Cls;\n        };\n    }\n}\n/**\n * 基本设置信息\n */\nSetting.Setting = {\n    Match: [\"/2048/\"],\n    VideoVolume: 1,\n    /**\n     * 配置按钮\n     */\n    Buttons: {\n        /** 有码列表 */\n        Censored: [\n            [\"JavDB\", \"https://javdb.com/search?q=%s&f=all#query#jump#%s\"],\n            [\"JavLib\", \"http://www.javlibrary.com/cn/vl_searchbyid.php?keyword=%s#query#jump#%s\"],\n            [\"JavBus\", \"https://www.javbus.com/search/%s#query#jump#%s\"],\n            [\"JavMenu\", \"https://javmenu.com/search?wd=%s\"],\n            [\"Missav\", \"https://missav.com/search/%s\"],\n            [\"SuperAV\", \"https://supjav.com/zh/?s=%s\"],\n            [\"字幕搜索\", \"https://www.subtitlecat.com/index.php?search=%s\"],\n            [\"Emby\", \"http://localhost:8096/web/index.html?#!/list/list.html?type=search&key=%s\"],\n        ],\n        /** 无码列表 */\n        Uncensored: [\n            [\"JavMenu 搜索\", \"https://javmenu.com/search?wd=%s\"],\n            [\"btsow 下载\", \"https://btsow.com/search/%s\"],\n        ],\n    },\n    VideoSource: {\n        SuperAV: true,\n        JavFC2: true,\n        ThisAV: true,\n        NetFlav: true,\n        Jable: true,\n        Emby: true,\n        Cable: true,\n    },\n    MagnetSource: {\n        BTSow: true,\n        Sukebei: true,\n        U3C3: true,\n    },\n    /** 搜索设置 */\n    Hosts: {\n        JavDB: \"https://javdb.com\",\n        JavLib: \"https://www.javlibrary.com\",\n        XPlanet: \"https://www.3xplanet.com\",\n        AVPreview: \"https://avpreview.com\",\n        SuperAV: \"https://supjav.com\",\n        BTSow: \"https://btsow.boats\",\n        FC2: \"https://adult.xiaojiadianmovie.be\",\n        JavFC2: \"https://javfc2.net\",\n        MemoJav: \"https://memojav.com\",\n        Sukebei: \"https://sukebei.nyaa.si\",\n        ThisAV: \"https://thisav.com\",\n        DmmJP: \"https://cc3001.dmm.co.jp\",\n        UURibao: \"https://uuribao.org\",\n        Msin: \"https://db.msin.jp\",\n        Jable: \"https://jable.tv\",\n        NetFlav: \"https://netflav.com\",\n        SubtitleCat: \"https://www.subtitlecat.com\",\n    },\n    VideoAuto: true,\n    Rank: {\n        bust: [],\n        hip: [],\n        actors: {},\n        length: 20,\n    },\n    Collect: {\n        codes: {},\n        visit: {},\n        actors: {},\n    },\n    MaxCodeNumber: 1000,\n    closeCopy: false,\n};\nSetting.Setting_Key = \"CodeFind_Settings\";\n/**\n * 常量\n */\nSetting.Const = {\n    /** 异步类声明 */\n    Syncs: [],\n    /** 版本 */\n    Version: \"1.0.0\",\n    /** 日志 */\n    VersionLog: [\n        [\n            \"1.0.0\",\n            1620000000000,\n            [\n                \"支持JavDB主数据查询(非FC资源)\",\n                \"支持FC番号资源查询\",\n                \"支持配置项配置(显示配置,Emby配置,按钮配置,域名配置)\",\n                \"支持演员信息查询(JavDB, Msin, UURibao, XPlanet)\",\n                \"支持预览图资源查询(3XPlanet-FC,Memojav)\",\n                \"支持磁链查询(Sukebei、BTSow,JavDB)\",\n                \"支持在线视频查询(SuperJav、ThisAV、JavFC2)\",\n                \"支持评论查询(JavDB)\",\n                \"支持预览视频查询(JavDB、AVPreview、DMM)\",\n                \"支持标签查询(JavDB)\",\n                \"支持简介(UURibao)\",\n                \"支持匹配Emby本地服务,支持Emby跳转、Emby搜索、演员跳转\",\n                \"支持搜索信息查询\",\n                \"支持菜单快捷域名检索配置\",\n            ],\n        ],\n        [\n            \"1.0.1\",\n            1620000000000,\n            [\"修复演员信息查询bug(Msin)\", \"支持升级日志的显示\", \"修复弹框显示问题\", \"支持Netflv视频查询\", \"支持Jable视频查询\", \"支持视频源查询配置\", \"修复磁链中code也会检测的bug\", \"支持磁链查询配置\", \"修复预览视频一直播放的问题\"],\n        ],\n    ],\n    /** Code查找类 */\n    Code: [],\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Setting);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/Setting.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/Style.ts":
    /*!***************************************!*\
      !*** ./src/Injects/CodeFind/Style.ts ***!
      \***************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst Style = `\r\n\r\nwie-test{\r\n    position: fixed;\r\n    z-index: 999999;\r\n    top: 10px;\r\n    left: 10px;\r\n}\r\n\r\nwie-code,\r\nwie-zh {\r\n    background: var(--mainColor);\r\n    color: var(--mainTextColor);\r\n    border: 1.5px solid var(--mainTextColor);\r\n    outline: 1.5px solid var(--mainColor);\r\n    border:none;\r\n    outline:none;\r\n    padding: 4px 4px 2px;\r\n    border-radius: 0 6px 0 6px;\r\n    font-weight: 700;\r\n    line-height: 1;\r\n    cursor: pointer;\r\n    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n    position: relative;\r\n    box-sizing: border-box;\r\n    display: inline-block;\r\n    text-shadow: 0px 2px 3px #4f4f4f;\r\n    overflow: hidden;\r\n    vertical-align: bottom;\r\n}\r\n\r\n\r\nwie-code .icon{\r\n    width: auto;\r\n    height: auto;\r\n    vertical-align: middle;\r\n    color: var(--mainTextColor);\r\n    fill: var(--mainTextColor);\r\n    margin-bottom: 2px;\r\n    display: inline-block;\r\n}\r\n.wie-btn-translate{\r\n    font-size: 12px;\r\n}\r\n\r\nwie-code.visited{\r\n    background: #07b038;\r\n}\r\n\r\nwie-bg {\r\n    position: absolute;\r\n    left: 0;\r\n    top: 0;\r\n    bottom: 0;\r\n    background:#0aef4c;\r\n    z-index: 0;\r\n    width: 0;\r\n    transition: all 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n}\r\n\r\nwie-code>w-code {\r\n    z-index: 1;\r\n    position: relative;\r\n    color: var(--mainTextColor) !important;\r\n    font-weight: 700;\r\n    background:none !important;\r\n    padding: 0 1px !important;\r\n}\r\n/**\r\nwie-code:hover {\r\n    background: #009e86;\r\n}\r\n\r\nwie-code.visited{\r\n    background: #108ee9;\r\n}\r\n**/\r\n\r\n#wie-code{\r\n    height: 100%;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: stretch;\r\n    height: 100%;\r\n}\r\n\r\n#wie-introduce {\r\n    font-size: 14px;\r\n    padding: 10px;\r\n}\r\n\r\n#wie-introduce img {\r\n    width: 100%;\r\n    margin: 10px 0;\r\n}\r\n\r\nwie-null {\r\n    text-align: center;\r\n    margin: 20px;\r\n    color: var(--colorLight);\r\n    display: block;\r\n}\r\n\r\n#wie-introduce p {\r\n    margin-bottom: 10px;\r\n    word-wrap: break-word;\r\n    line-height: 1.5;\r\n}\r\n\r\n.wie-tabs {\r\n    display: flex;\r\n    justify-content: stretch;\r\n    margin-top: 5px;\r\n    border-top: 1px solid var(--mainColor);\r\n    border-bottom: 1px solid var(--mainColor);\r\n    color: var(--mainColor);\r\n}\r\n\r\nwie-tab {\r\n    display: block;\r\n    width: 100%;\r\n    text-align: center;\r\n    padding: 5px 0;\r\n    line-height: 20px;\r\n    height: 20px;\r\n    box-sizing: content-box;\r\n    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n    cursor: pointer;\r\n}\r\n\r\n\r\n\r\nwie-tab:hover {\r\n    background: var(--mainLightColor);\r\n    color: #fff;\r\n}\r\n\r\nwie-tab.active {\r\n    background: var(--mainColor);\r\n    color: var(--mainTextColor);\r\n}\r\n\r\n\r\n\r\n#wie-content{\r\n    border-radius: 8px;\r\n    overflow: hidden;\r\n    position: relative;\r\n    background: var(--bgLightColor);\r\n}\r\n\r\n\r\n#wie-preview .swiper-slide {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n}\r\n\r\n\r\nwie-dialog>.swiper-container{\r\n    max-height: 80%;\r\n    max-width: 90%;\r\n    text-align: center;\r\n    overflow: hidden;\r\n    margin-right: 350px;\r\n    padding: 2px;\r\n}\r\n\r\nwie-dialog>.swiper-container.single-image{\r\n    max-width: 90%;\r\n    max-height: 90%;\r\n    height: auto;\r\n    width: auto;\r\n    overflow: auto;\r\n    padding: 2px;\r\n    right: auto;\r\n    margin-right: 0;\r\n}\r\n\r\nwie-dialog>.swiper-container.single-image .wie-preview-s-img{\r\n    height: auto;\r\n    padding: 0;\r\n    outline: 2px solid var(--mainColor);\r\n    vertical-align: top;\r\n    max-height: 100%;\r\n    box-sizing: border-box;\r\n    border: 2px solid var(--bgColor);\r\n    border-radius: 5px;\r\n}\r\n\r\nwie-dialog>.swiper-container.single-image .wie-preview-s-img>img,\r\nwie-dialog>.swiper-container.single-image .wie-preview-s-img>video{\r\n    width: 100%;\r\n    vertical-align: top;\r\n}\r\n\r\n\r\n#wie-dialog-in .swiper-slide {\r\n    overflow: auto;\r\n    position: relative;\r\n    padding: 20px;\r\n    box-sizing: border-box;\r\n}\r\n\r\n#wie-preview-out{\r\n    // margin: 10px 0px 0;\r\n    padding: 0 10px 2px;\r\n}\r\n\r\n#wie-preview .wie-preview-img{\r\n    max-width: 100%;\r\n    max-height: 100%;\r\n    border: 2px solid var(--mainBorderColor);\r\n    border-radius: 10px;\r\n    box-sizing: border-box;\r\n    max-height: 100%;\r\n    height: min-content;\r\n    background: #FFF;\r\n    box-sizing: border-box;\r\n    width: auto;\r\n}\r\n\r\n.wie-preview-img img {\r\n    width: 100%;\r\n    vertical-align: top;\r\n}\r\n\r\n.wie-preview-img{\r\n    width: 100%;\r\n    border-radius: 8px;\r\n    height: 75px;\r\n    transition: all 1s cubic-bezier(0.22, 0.61, 0.36, 1);\r\n    overflow: hidden;\r\n}\r\n.wie-preview-img:hover{\r\n    transform: scale(1.02);\r\n}\r\n\r\n\r\n.swiper-container-min {\r\n    width: 300px;\r\n    text-align: center;\r\n    overflow: hidden;\r\n    position: absolute;\r\n    right: 10px;\r\n    top: 10px;\r\n    bottom: 10px;\r\n    box-sizing: content-box;\r\n    background: #333;\r\n    padding: 10px;\r\n    overflow: hidden;\r\n}\r\n\r\n.swiper-container-min .swiper-slide{\r\n    width: 100%;\r\n    height: auto;\r\n    display: inline-block;\r\n}\r\n\r\n\r\n.wie-preview-img-small {\r\n    width: 100%;\r\n}\r\n.wie-preview-img-small img {\r\n    width: 100%;\r\n    border: 2px solid var(--mainBorderColor);\r\n    box-sizing: border-box;\r\n    vertical-align: top;\r\n}\r\n\r\n.swiper-slide-thumb-active .wie-preview-img-small img{\r\n    border: 2px solid var(--mainTextColor);\r\n}\r\n\r\n\r\nwie-preview .wie-preview-img{\r\n    height: auto;\r\n    border: 2px solid var(--mainBorderColor);\r\n    margin-bottom: 10px;\r\n    box-sizing: border-box;\r\n}\r\n\r\n#wie-image{\r\n    border: 2px solid var(--mainColor);\r\n    border-radius: 8px;\r\n}\r\n\r\n\r\n\r\n#wie-buttons{\r\n    display: block;\r\n}\r\n\r\n#wie-back.disabled{\r\n    fill: var(--mainLightColor);\r\n}\r\n\r\nwie-comment {\r\n    border-bottom: 1px solid var(--colorLight);\r\n    display: block;\r\n    padding: 0 0 5px;\r\n    word-break: break-all;\r\n}\r\n\r\n.wie-comment-title {\r\n    padding: 10px 0 5px;\r\n}\r\n\r\n.wie-comment-name {\r\n    color: var(--colorLight);\r\n    display: inline-block;\r\n}\r\n\r\n.wie-comment-date {\r\n    font-size: 10px;\r\n    color: var(--colorLight);\r\n    display: inline-block;\r\n    float: right;\r\n}\r\n\r\n.wie-info{\r\n    padding: 5px 10px;\r\n    box-shadow: 0px 0px 8px 0px var(--borderColor);\r\n    border-top: 1px solid var(--mainColor);\r\n    background: var(--bgColor);\r\n    right: 0px;\r\n    height: 60px;\r\n    line-height: 30px;\r\n    position: relative;\r\n    box-sizing: content-box;\r\n}\r\n\r\n\r\n#wie-version {\r\n    width: 25px;\r\n    height: 25px;\r\n    position: absolute;\r\n    right: 7px;\r\n    top: 7px;\r\n    cursor: pointer;\r\n    fill: var(--mainColor);\r\n}\r\n\r\n#wie-version {\r\n    right: 40px;\r\n}\r\n\r\n\r\n.wie-info-title{\r\n    font-size: 18px;\r\n    font-weight: 700;\r\n    color: var(--mainColor);\r\n}\r\n\r\n.wie-info-version{\r\n    font-size: 14px;\r\n    margin:  0 5px;\r\n}\r\n\r\n.wie-info-count span{\r\n    font-size: 14px;\r\n    font-weight: 700;\r\n    color: var(--mainColor);\r\n    margin: 0 3px;\r\n}\r\n\r\n\r\nwie-emby {\r\n    width: 90px;\r\n    position: absolute;\r\n    right: -9px;\r\n    bottom: -9px;\r\n    cursor: pointer;\r\n    display: none;\r\n}\r\n\r\n\r\nwie-emby>img{\r\n    width: 100%;\r\n    vertical-align: top;\r\n    height: 100%;\r\n}\r\n\r\n\r\n\r\n\r\n.wie-codes,\r\n.wie-videos,\r\n.wie-grid {\r\n    padding: 10px;\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));\r\n    justify-content: center;\r\n    grid-auto-flow: row dense;\r\n    grid-gap: 10px;\r\n}\r\n\r\n.wie-codes {\r\n    padding: 0px;\r\n}\r\n\r\n.wie-video-item {\r\n    position: relative;\r\n    overflow: visible;\r\n    vertical-align: top;\r\n    display: block;\r\n    border: 2px solid var(--mainBorderColor);\r\n    border-radius: 6px;\r\n    text-decoration: none;\r\n    font-size: 14px;\r\n    color: var(--color);\r\n    padding: 0 0 3px;\r\n    background: var(--bgColor);\r\n    overflow: hidden;\r\n    transition: all 1s cubic-bezier(0.22, 0.61, 0.36, 1);\r\n    cursor: pointer;\r\n    width: 100%;\r\n    box-sizing: border-box;\r\n}\r\n\r\n.wie-video-item:hover{\r\n    transform: scale(1.02);\r\n}\r\n\r\n.wie-video-item .video-item-cover{\r\n    border-bottom: 2px solid var(--mainBorderColor);\r\n    position: relative;\r\n    min-height: 100px;\r\n}\r\n\r\n.wie-video-item .title{\r\n    padding: 6px 10px 3px;\r\n    font-size: 13px;\r\n    color: var(--color);\r\n}\r\n\r\n.wie-video-item img{\r\n    vertical-align: top;\r\n}\r\n\r\n\r\n\r\n\r\n#wie-series a,\r\n.wie-a{\r\n    color: var(--mainColor);\r\n    text-decoration: underline;\r\n}\r\n\r\n.video-preview {\r\n    width: 100%;\r\n    height: 100%;\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n}\r\n\r\n.video-preview>video{\r\n    width: 100%;\r\n    height: 100%;\r\n}\r\n/*\r\n.wie-video-item:after {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'  viewBox='0 0 512 512'%3E%3Cpath d='M448 255c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z' fill=''  fill-opacity='0.8' stroke='none'/%3E%3Cpath fill='white' d='M216.32  334.44l114.45-69.14a10.89 10.89 0 000-18.6l-114.45-69.14a10.78 10.78 0 00-16.32 9.31v138.26a10.78 10.78 0 0016.32 9.31z'/%3E%3C/svg%3E\");\r\n    background-repeat: no-repeat;\r\n    background-position: 50%;\r\n    background-size: 48px 48px;\r\n    content: \"\";\r\n    display: block;\r\n    position: absolute;\r\n    top: 0;\r\n    bottom: 0;\r\n    left: 0;\r\n    right: 0;\r\n}\r\n*/\r\n\r\n\r\n#wie-info-image wie-area{\r\n    padding: 10px 10px 0;\r\n}\r\n\r\n.wie-video-item img {\r\n    width: 100%;\r\n}\r\n\r\n.wie-video-item .pot,\r\n.wie-video-item .from,\r\n.wie-video-item .zh,\r\n.wie-video-item .duration\r\n{\r\n    position: absolute;\r\n    background: var(--bgColor);\r\n    border: 1px solid var(--mainBorderColor);\r\n    font-size: 12px;\r\n    font-weight: 700;\r\n    padding: 0 6px;\r\n    line-height: 2;\r\n    max-width: 40%;\r\n    overflow: hidden;\r\n    color:var(--color);\r\n}\r\n\r\n.wie-video-item .pot{\r\n    top: 2px;\r\n    right: 2px;\r\n    border-radius: 0 6px 0 0;\r\n}\r\n\r\n.wie-video-item .from {\r\n    top: 2px;\r\n    left: 2px;\r\n    border-radius: 6px 0 0 0;\r\n}\r\n.wie-video-item .zh {\r\n    bottom: 2px;\r\n    left: 2px;\r\n}\r\n\r\n.wie-video-item  .duration {\r\n    bottom: 2px;\r\n    right: 2px;\r\n}\r\n\r\nwie-tag img {\r\n    height: 20px;\r\n    width: 20px;\r\n    border-radius: 50%;\r\n    display: inline-block;\r\n}\r\n\r\nwie-image-tag{\r\n    width: 60px;\r\n    height: 70px;\r\n    padding-top: 50px;\r\n    border-radius: 5px;\r\n    display: inline-block;\r\n    background-size: cover;\r\n    background-position: center;\r\n    margin: 5px 10px 1px 0;\r\n    border: 2px solid #3b5999;\r\n    overflow: hidden;\r\n    box-sizing: border-box;\r\n}\r\nwie-image-tag .name{\r\n    color: #fff;\r\n    background: #3b5999;\r\n    text-align: center;\r\n    font-size: 10px;\r\n}\r\n\r\nwie-actor {\r\n    width: 100%;\r\n    display: block;\r\n    text-align: center;\r\n    padding: 10px 0px 2px;\r\n    transform:translate(0,2px);\r\n    transition:0.3s;\r\n    transition-timing-function: ease-out;\r\n    border-bottom: 2px solid var(--mainColor);\r\n}\r\n\r\nwie-avatar{\r\n    width: 54px;\r\n    height: 54px;\r\n    border-radius: 50%;\r\n    overflow: hidden;\r\n    margin: 0 auto;\r\n    border: 2px solid var(--mainColor);\r\n    box-sizing: border-box;\r\n    display: block;\r\n    background:var(--bgColor);\r\n}\r\n\r\nwie-avatar img {\r\n    width: 100%;\r\n    height: 100%;\r\n    transition: all 1s ease;\r\n    vertical-align: top;\r\n}\r\n\r\nwie-avatar img:hover {\r\n    transform: scale(1.2);\r\n}   \r\n\r\nwie-actor .name{\r\n    font-size: 12px;\r\n    height: 14px;\r\n    line-height: 14px;\r\n    overflow: hidden;\r\n    color:var(--mainColor);\r\n}\r\n\r\n.wie-tab-content {\r\n    position: relative;\r\n    border: 1px solid var(--mainBorderColor);\r\n    border-radius: 8px;\r\n}\r\n\r\n.emby-image {\r\n    background-size: auto 100%;\r\n    background-repeat: no-repeat;\r\n    background-position: right center;\r\n    padding: 5px 10px 0;\r\n}\r\n\r\n\r\n.wie-actor-line {\r\n    display: inline-block;\r\n    width: 100%;\r\n    margin-top: 2px;\r\n\r\n}\r\n\r\n.wie-actor-line .rank{\r\n    margin-left: 2px;\r\n    cursor: pointer;\r\n}\r\n\r\n.wie-actor-line .rank svg{\r\n    width: 12px;\r\n    height: 12px;\r\n}\r\n\r\n.wie-actor-line-link {\r\n    display: inline-block;\r\n    margin: 5px 0;\r\n    color: #FFF;\r\n    font-size: 12px;\r\n}\r\n\r\n.wie-actor-line-link.false {\r\n    display: none;\r\n}\r\n\r\n\r\n\r\nspan.cup {\r\n    margin: 0 2px;\r\n    font-size: 12px;\r\n}\r\n\r\nspan.cup.active {\r\n    color: var(--mainColor);\r\n    font-size: 14px;\r\n    font-weight: 700;\r\n}\r\n.wie-keys{\r\n    position: relative;\r\n}\r\n\r\n#wie-line{\r\n    padding: 0 10px 3px 7px;\r\n}\r\n\r\n\r\n#wie-line>*{\r\n    display: inline-block;\r\n    vertical-align: bottom;\r\n}\r\n#wie-line wie-code{\r\n    font-size: 12px;\r\n    padding: 4px 5px;\r\n    border-radius: 0 4px 0 4px;\r\n    margin: 0 3px 0;\r\n}\r\nwie-zh{\r\n    font-size: 12px;\r\n    background: #e0393f;\r\n    padding: 4px 5px;\r\n    border-radius: 0 4px 0 4px;\r\n    margin: 0 3px 0;\r\n}\r\n\r\n\r\nwie-score span:nth-child(1) {\r\n    font-weight: 700;\r\n    color: var(--mainColor);\r\n    font-size: 16px;\r\n    margin: 0;\r\n}\r\nwie-score span {\r\n    margin: 0 5px;\r\n    display: inline-block;\r\n    height: 20px;\r\n    line-height: 20px;\r\n    vertical-align: bottom;\r\n}\r\n\r\n\r\n.swiper-slide.swiper-slide-active wie-actor{\r\n    transform: translate(0,0);\r\n    color: var(--mainColor);\r\n}\r\n\r\n.swiper-backface-hidden {\r\n    overflow: hidden;\r\n}\r\n\r\nwie-name {\r\n    padding: 10px 0;\r\n    display: block;\r\n    font-size: 13px;\r\n    color: var(--color);\r\n    font-weight: 600;\r\n}\r\n\r\n\r\n\r\nwie-h2{\r\n    font-size: 15px;\r\n    font-weight: 700;\r\n    margin: 5px 10px 8px;\r\n    display: inline-block;\r\n    color: var(--color);\r\n    display: -webkit-box;\r\n    overflow: hidden;\r\n    text-overflow: ellipsis;\r\n    -webkit-line-clamp: 3;\r\n    -webkit-box-orient: vertical;\r\n}\r\n\r\nwie-title{\r\n    text-align: center;\r\n    font-size: 15px;\r\n    width: 100%;\r\n    display: block;\r\n    padding: 10px;\r\n}\r\n.wie-name{\r\n    font-size: 12px;\r\n    font-weight: 700;\r\n    color:var(--colorLight);\r\n}\r\n\r\n.wie-name+div{\r\n    display: inline;\r\n}\r\n\r\nwie-tag{\r\n    color: var(--mainTextColor);\r\n    background: var(--mainColor);\r\n    padding: 0px 4px 1px;\r\n    border-radius: 3px;\r\n    font-size: 12px;\r\n    margin-right: 5px;\r\n    margin-top: 5px;\r\n    display: inline-block;\r\n}\r\n\r\nwie-content.wie-hidden{\r\n    display: none;\r\n}\r\n\r\n.wie-video{\r\n    position: relative;\r\n}\r\n\r\n.wie-video video{\r\n    width: 100%;\r\n    height: 100%;\r\n    vertical-align: top;\r\n}\r\n\r\nwie-trailer-btn{\r\n    width: 40px;\r\n    height: 40px;\r\n    border-radius: 40px;\r\n    background:#00e7ff00;\r\n    opacity: 0.8;\r\n    position: absolute;\r\n    top: 0;\r\n    bottom: 0;\r\n    left: 0;\r\n    right: 0;\r\n    margin: auto;\r\n    z-index:1;\r\n    transition:0.4s;\r\n    animation: wie-trailer-btn-anim 0.15s;\r\n\r\n}\r\n\r\nwie-trailer-btn:hover{\r\n    opacity: 1;\r\n    background:#00e7ff;\r\n}\r\nwie-trailer-btn:after {\r\n    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'  viewBox='0 0 512 512'%3E%3Cpath d='M448 255c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z' fill=''  fill-opacity='0.8' stroke='none'/%3E%3Cpath fill='white' d='M216.32  334.44l114.45-69.14a10.89 10.89 0 000-18.6l-114.45-69.14a10.78 10.78 0 00-16.32 9.31v138.26a10.78 10.78 0 0016.32 9.31z'/%3E%3C/svg%3E\");\r\n    background-repeat: no-repeat;\r\n    background-position: 50%;\r\n    background-size: 48px 48px;\r\n    content: \"\";\r\n    display: block;\r\n    position: absolute;\r\n    top: 0;\r\n    bottom: 0;\r\n    left: 0;\r\n    right: 0;\r\n    /* border: 2px solid;\r\n    border-image:linear-gradient(45deg,gold,deeppink)1; */\r\n}\r\n\r\n\r\n@keyframes wie-trailer-btn-anim {\r\n    0% {\r\n        opacity: 0;\r\n        transform:scale(0);\r\n    }\r\n    100% {\r\n        opacity: 1;\r\n        transform:scale(1);\r\n    }\r\n}\r\n\r\n#wie-cover{\r\n    cursor: pointer;\r\n    // box-shadow: -2px -2px 4px rgb(230 230 230), 2px 2px 2px rgb(70 70 70 / 50%);\r\n    border: 1px solid #fff;\r\n    border-radius: 4px;\r\n    transform-origin: center 80%;\r\n    transition:0.2s;\r\n    transition-timing-function: ease-out;\r\n    position: absolute;\r\n    top: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n    background-size: cover;\r\n    background-position: center;\r\n\r\n}\r\n\r\n\r\n\r\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Style);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/Style.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/SwiperStyle.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/SwiperStyle.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst SwiperStyle = `\r\n@font-face {\r\n    font-family: 'swiper-icons';\r\n    src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');\r\n    font-weight: 400;\r\n    font-style: normal;\r\n  }\r\n  /* FONT_END */\r\n  :root {\r\n    --swiper-theme-color: #007aff;\r\n    /*\r\n    --swiper-preloader-color: var(--swiper-theme-color);\r\n    --swiper-wrapper-transition-timing-function: initial;\r\n    */\r\n  }\r\n  .swiper,\r\n  swiper-container {\r\n    margin-left: auto;\r\n    margin-right: auto;\r\n    position: relative;\r\n    overflow: hidden;\r\n    list-style: none;\r\n    padding: 0;\r\n    /* Fix of Webkit flickering */\r\n    z-index: 1;\r\n    display: block;\r\n  }\r\n  .swiper-vertical > .swiper-wrapper {\r\n    flex-direction: column;\r\n  }\r\n  .swiper-wrapper {\r\n    position: relative;\r\n    width: 100%;\r\n    height: 100%;\r\n    z-index: 1;\r\n    display: flex;\r\n    transition-property: transform;\r\n    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);\r\n    box-sizing: content-box;\r\n  }\r\n  .swiper-android .swiper-slide,\r\n  .swiper-wrapper {\r\n    transform: translate3d(0px, 0, 0);\r\n  }\r\n  .swiper-horizontal {\r\n    touch-action: pan-y;\r\n  }\r\n  .swiper-vertical {\r\n    touch-action: pan-x;\r\n  }\r\n  .swiper-slide,\r\n  swiper-slide {\r\n    flex-shrink: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n    position: relative;\r\n    transition-property: transform;\r\n    display: block;\r\n  }\r\n  .swiper-slide-invisible-blank {\r\n    visibility: hidden;\r\n  }\r\n  /* Auto Height */\r\n  .swiper-autoheight,\r\n  .swiper-autoheight .swiper-slide {\r\n    height: auto;\r\n  }\r\n  .swiper-autoheight .swiper-wrapper {\r\n    align-items: flex-start;\r\n    transition-property: transform, height;\r\n  }\r\n  .swiper-backface-hidden .swiper-slide {\r\n    transform: translateZ(0);\r\n    -webkit-backface-visibility: hidden;\r\n            backface-visibility: hidden;\r\n  }\r\n  /* 3D Effects */\r\n  .swiper-3d.swiper-css-mode .swiper-wrapper {\r\n    perspective: 1200px;\r\n  }\r\n  .swiper-3d .swiper-wrapper {\r\n    transform-style: preserve-3d;\r\n  }\r\n  .swiper-3d {\r\n    perspective: 1200px;\r\n  }\r\n  .swiper-3d .swiper-slide,\r\n  .swiper-3d .swiper-slide-shadow,\r\n  .swiper-3d .swiper-slide-shadow-left,\r\n  .swiper-3d .swiper-slide-shadow-right,\r\n  .swiper-3d .swiper-slide-shadow-top,\r\n  .swiper-3d .swiper-slide-shadow-bottom,\r\n  .swiper-3d .swiper-cube-shadow {\r\n    transform-style: preserve-3d;\r\n  }\r\n  .swiper-3d .swiper-slide-shadow,\r\n  .swiper-3d .swiper-slide-shadow-left,\r\n  .swiper-3d .swiper-slide-shadow-right,\r\n  .swiper-3d .swiper-slide-shadow-top,\r\n  .swiper-3d .swiper-slide-shadow-bottom {\r\n    position: absolute;\r\n    left: 0;\r\n    top: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n    pointer-events: none;\r\n    z-index: 10;\r\n  }\r\n  .swiper-3d .swiper-slide-shadow {\r\n    background: rgba(0, 0, 0, 0.15);\r\n  }\r\n  .swiper-3d .swiper-slide-shadow-left {\r\n    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\r\n  }\r\n  .swiper-3d .swiper-slide-shadow-right {\r\n    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\r\n  }\r\n  .swiper-3d .swiper-slide-shadow-top {\r\n    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\r\n  }\r\n  .swiper-3d .swiper-slide-shadow-bottom {\r\n    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\r\n  }\r\n  /* CSS Mode */\r\n  .swiper-css-mode > .swiper-wrapper {\r\n    overflow: auto;\r\n    scrollbar-width: none;\r\n    /* For Firefox */\r\n    -ms-overflow-style: none;\r\n    /* For Internet Explorer and Edge */\r\n  }\r\n  .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {\r\n    display: none;\r\n  }\r\n  .swiper-css-mode > .swiper-wrapper > .swiper-slide {\r\n    scroll-snap-align: start start;\r\n  }\r\n  .swiper-horizontal.swiper-css-mode > .swiper-wrapper {\r\n    scroll-snap-type: x mandatory;\r\n  }\r\n  .swiper-vertical.swiper-css-mode > .swiper-wrapper {\r\n    scroll-snap-type: y mandatory;\r\n  }\r\n  .swiper-centered > .swiper-wrapper::before {\r\n    content: '';\r\n    flex-shrink: 0;\r\n    order: 9999;\r\n  }\r\n  .swiper-centered > .swiper-wrapper > .swiper-slide {\r\n    scroll-snap-align: center center;\r\n    scroll-snap-stop: always;\r\n  }\r\n  .swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {\r\n    margin-inline-start: var(--swiper-centered-offset-before);\r\n  }\r\n  .swiper-centered.swiper-horizontal > .swiper-wrapper::before {\r\n    height: 100%;\r\n    min-height: 1px;\r\n    width: var(--swiper-centered-offset-after);\r\n  }\r\n  .swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {\r\n    margin-block-start: var(--swiper-centered-offset-before);\r\n  }\r\n  .swiper-centered.swiper-vertical > .swiper-wrapper::before {\r\n    width: 100%;\r\n    min-width: 1px;\r\n    height: var(--swiper-centered-offset-after);\r\n  }\r\n  .swiper-lazy-preloader {\r\n    width: 42px;\r\n    height: 42px;\r\n    position: absolute;\r\n    left: 50%;\r\n    top: 50%;\r\n    margin-left: -21px;\r\n    margin-top: -21px;\r\n    z-index: 10;\r\n    transform-origin: 50%;\r\n    box-sizing: border-box;\r\n    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));\r\n    border-radius: 50%;\r\n    border-top-color: transparent;\r\n  }\r\n  .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,\r\n  swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader,\r\n  .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {\r\n    animation: swiper-preloader-spin 1s infinite linear;\r\n  }\r\n  .swiper-lazy-preloader-white {\r\n    --swiper-preloader-color: #fff;\r\n  }\r\n  .swiper-lazy-preloader-black {\r\n    --swiper-preloader-color: #000;\r\n  }\r\n  @keyframes swiper-preloader-spin {\r\n    0% {\r\n      transform: rotate(0deg);\r\n    }\r\n    100% {\r\n      transform: rotate(360deg);\r\n    }\r\n  }\r\n\r\n  .swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}\r\n\r\n\r\n  `;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SwiperStyle);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/SwiperStyle.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/Tools/Actor.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/Tools/Actor.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Actor)\n/* harmony export */ });\nclass Actor {\n    /**\n     * 计算年龄\n     * @param birthday\n     * @returns\n     */\n    static calcAge(birthday) {\n        const date = new Date(birthday);\n        const now = new Date();\n        let age = now.getFullYear() - date.getFullYear();\n        const month = now.getMonth() - date.getMonth();\n        if (month < 0) {\n            age = age - 1;\n        }\n        return `(${age}岁${Math.abs(month)}个月)`;\n    }\n    /**\n     * 计算cup\n     * @param cup\n     * @returns\n     */\n    static renderCup(cup) {\n        const cups = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\"];\n        return cups\n            .map((c) => {\n            return `<span class='cup ${c === cup ? \"active\" : \"\"}'>${c}</span>`;\n        })\n            .join(\"\");\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/Tools/Actor.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/Tools/GFriends.ts":
    /*!************************************************!*\
      !*** ./src/Injects/CodeFind/Tools/GFriends.ts ***!
      \************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\nclass GFriends {\n    constructor() {\n        /** 头像树 */\n        this.url = \"https://raw.githubusercontent.com/gfriends/gfriends/master/Filetree.json\";\n        this.imageTemp = `https://raw.githubusercontent.com/gfriends/gfriends/master/Content/{Studio}/{Name}`;\n        this._init = false;\n        this.init();\n    }\n    init() {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this._init)\n                return;\n            this.actors = {};\n            const data = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].fetch(this.url);\n            for (const studio in data.Content) {\n                for (const name in data.Content[studio]) {\n                    const url = data.Content[studio][name].replace(\"AI-Fix-\", \"\");\n                    this.actors[name.replace(\".jpg\", \"\")] = [studio, url];\n                }\n            }\n            this._init = true;\n        });\n    }\n    /**\n     * 获取演员头像\n     * @param name\n     * @returns\n     */\n    getActor(name) {\n        return __awaiter(this, void 0, void 0, function* () {\n            yield this.init();\n            const actor = this.actors[name];\n            if (actor)\n                return this.imageTemp.replace(\"{Studio}\", actor[0]).replace(\"{Name}\", actor[1]);\n        });\n    }\n}\nGFriends.Instance = () => {\n    if (!GFriends.instance) {\n        GFriends.instance = new GFriends();\n    }\n    return GFriends.instance;\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (GFriends);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/Tools/GFriends.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UCodes.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/UI/UCodes.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UICodes)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n/* harmony import */ var _pages_PageCode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../WIE */ \"./src/WIE.ts\");\n\n\n\nconst LocalSVG = '<svg t=\"1681887860464\"  viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"5308\"><path d=\"M239.056896 261.30432 120.561664 261.30432c-27.394048 0-49.60256 22.208512-49.60256 49.60256L70.959104 738.03776c0 27.396096 22.208512 49.60256 49.60256 49.60256l118.495232 0L239.056896 261.30432z\" fill=\"#2c2c2c\" p-id=\"5309\" data-spm-anchor-id=\"a313x.7781069.0.i11\" class=\"selected\"></path><path d=\"M249.296896 261.30432l0 526.336L751.616 787.64032l0-526.336L249.296896 261.30432zM425.263104 643.508224l0.210944-238.073856 150.962176 119.216128L425.263104 643.508224z\" fill=\"#2c2c2c\" p-id=\"5310\" data-spm-anchor-id=\"a313x.7781069.0.i10\" class=\"selected\"></path><path d=\"M761.856 261.30432l118.493184 0c27.396096 0 49.604608 22.208512 49.604608 49.60256L929.953792 738.03776c0 27.396096-22.208512 49.60256-49.604608 49.60256L761.856 787.64032 761.856 261.30432z\" fill=\"#2c2c2c\" p-id=\"5311\" data-spm-anchor-id=\"a313x.7781069.0.i9\" class=\"selected\"></path></svg>';\n_WIE__WEBPACK_IMPORTED_MODULE_2__[\"default\"].UIStyles.add(`\r\n\r\n.wie-in-emby {\r\n    width: 20% !important;\r\n    position: absolute;\r\n    right: 0;\r\n    top: 5px;\r\n    cursor: pointer;\r\n}\r\n`);\n// @CodeFind.UI(PageActor, \"UICodes\", \"\", Style)\nclass UICodes extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"codes\"];\n        this.cls = \"wie-codes\";\n    }\n    updateCount(count) {\n        const item = this.page.page.querySelector(\"#wie-codes-count\");\n        if (item) {\n            item.innerHTML = count + \"\";\n        }\n    }\n    render(div, videos, info) {\n        this.log(\"render\", videos, info);\n        this.updateCount(videos.length);\n        div.innerHTML = videos\n            .map((v, i) => {\n            var _a;\n            return `<div class='wie-video-item ${v.can && v.preview ? \"video-item-preview\" : \"\"}' index=${i} >\r\n                    <div class=\"video-item-cover\">\r\n                        <img src=\"${v.cover}\" alt=\"\" referrerpolicy=\"no-referrer\"/>\r\n                        <div class=\"video-preview\"></div>\r\n                        <span class='zh'>${v.zh}</span>\r\n                        ${v.pot ? `<div class='pot'>本地播放</div>` : \"\"}\r\n                        <span class='duration'>${(_a = v.duration) !== null && _a !== void 0 ? _a : \"\"}</span>\r\n                    </div>\r\n                    <div class='title'>${v.name}</div>\r\n                    ${v.emby ? `<img class='wie-in-emby' src='https://s1.ax1x.com/2023/03/28/pp6kaKH.png'/>` : \"\"}\r\n                </div>`;\n        })\n            .join(\"\");\n        //需解决403问题\n        div.querySelectorAll(\".video-item-preview\").forEach((v) => {\n            v.addEventListener(\"mouseenter\", (e) => {\n                e.preventDefault();\n                const target = e.target;\n                const i = parseInt(target.getAttribute(\"index\"));\n                target.querySelector(\".video-preview\").innerHTML = `<video src=\"${videos[i].preview}\" referrerpolicy=\"no-referrer\" autoplay loop></video>`;\n            });\n            v.addEventListener(\"mouseleave\", (e) => {\n                e.preventDefault();\n                const target = e.target;\n                target.querySelector(\".video-preview\").innerHTML = \"\";\n            });\n        });\n        div.querySelectorAll(\".pot\").forEach((v) => {\n            v.addEventListener(\"click\", (e) => {\n                e.preventDefault();\n                e.stopPropagation();\n                const target = e.currentTarget;\n                const i = parseInt(target.parentElement.parentElement.getAttribute(\"index\"));\n                window.open(videos[i].pot, \"_blank\");\n            });\n        });\n        div.querySelectorAll(\".wie-video-item\").forEach((v) => {\n            v.addEventListener(\"click\", (e) => {\n                e.preventDefault();\n                const target = e.currentTarget;\n                const i = parseInt(target.getAttribute(\"index\"));\n                const video = videos[i];\n                //跳转到Code页\n                this.goPage(_pages_PageCode__WEBPACK_IMPORTED_MODULE_1__[\"default\"], { code: video.code });\n            });\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UCodes.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIActor.ts":
    /*!********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIActor.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIActor)\n/* harmony export */ });\n/* harmony import */ var _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Emby/EmbyTool */ \"./src/Injects/Emby/EmbyTool.ts\");\n/* harmony import */ var _Tools_Actor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Tools/Actor */ \"./src/Injects/CodeFind/Tools/Actor.ts\");\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n\n\n\n\n\n_WIE__WEBPACK_IMPORTED_MODULE_3__[\"default\"].UIStyles.add(`\r\n.actor-detail-cover {\r\n    border-radius: 5px;\r\n    height: 300px;\r\n    border: 2px solid var(--mainColor);\r\n    margin: 10px auto;\r\n    display: block;\r\n    box-shadow: 0px 0px 8px 0px var(--borderColor);\r\n}\r\n\r\n#wie-actor .emby-image {\r\n    padding: 10px;\r\n}\r\n`);\n// @CodeFind.UI(PageActor, \"actor\", \"\", Style)\nclass UIActor extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"name\", \"cover\"];\n    }\n    render(div, nul, actor) {\n        var _a, _b, _c, _d, _e, _f, _g, _h;\n        this.log(\"actorsHtml\", actor);\n        this.log(\"renderContent\", actor);\n        let embyUrl = _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].actorUrl(actor.emby);\n        // <img class='actor-detail-cover' src=\"${actor.cover}\" />\n        div.innerHTML = `\r\n                <wie-area class='emby-image'>\r\n                    ${actor.alias ? `<div class='wie-actor-line'><span class='wie-name'>别名:</span><span >${actor.alias}</span></div>` : \"\"}\r\n                    <div class='wie-actor-line'><span class='wie-name'>生日:</span><span >\r\n                    ${(_a = actor.birthday) !== null && _a !== void 0 ? _a : \"--\"}${actor.birthday ? _Tools_Actor__WEBPACK_IMPORTED_MODULE_1__[\"default\"].calcAge(actor.birthday) : \"\"}</span></div>\r\n                    <div class='wie-actor-line'><span class='wie-name'>血型:</span><span >${(_b = actor.blood) !== null && _b !== void 0 ? _b : \"--\"}</span></div>\r\n                    <div class='wie-actor-line'><span class='wie-name'>身高:</span><span >${actor.height ? actor.height + \"cm\" : \"--\"}</span></div>\r\n                    <div class='wie-actor-line'><span class='wie-name'>罩杯:</span><span >${_Tools_Actor__WEBPACK_IMPORTED_MODULE_1__[\"default\"].renderCup(actor.cup)}</span></div>\r\n                    <div class='wie-actor-line'><span class='wie-name'>胸围:</span><span >${(_c = actor.bust) !== null && _c !== void 0 ? _c : \"--\"}</span></div>\r\n                    <div class='wie-actor-line'><span class='wie-name'>腰围:</span><span >${(_d = actor.waist) !== null && _d !== void 0 ? _d : \"--\"}</span></div>\r\n                    <div class='wie-actor-line'><span class='wie-name'>臀围:</span><span >${(_e = actor.hip) !== null && _e !== void 0 ? _e : \"--\"}</span></div>\r\n                    <div class='wie-actor-line'><span class='wie-name'>爱好:</span><span >${(_f = actor.hobby) !== null && _f !== void 0 ? _f : \"--\"}</span></div>\r\n                    <div class='wie-actor-line'><span class='wie-name'>生涯:</span><span >${(_g = actor.time) !== null && _g !== void 0 ? _g : \"--\"}</span></div>\r\n                </wie-area>\r\n                <wie-area >\r\n                    <wie-name>链接</wie-name>\r\n                    <wie-button class='wie-actor-line-link'><a target='_blank' href='${actor.link ? actor.link : `https://javdb.com/search?q=${actor.name}`}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Search} JavDB</a></wie-button>\r\n                    <wie-button class='wie-actor-line-link'><a target='_blank' href='https://missav.com/actresses/${actor.name}?sort=views'>${_SVGConst__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Search} Miss</a></wie-button>\r\n                    \r\n                    ${actor.link_m ? `<wie-button class='wie-actor-line-link'><a target='_blank' href='${actor.link_m}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Search} Msin</a></wie-button>` : \"\"}\r\n                    ${actor.sns ? `<wie-button class='wie-actor-line-link'><a target='_blank' href='${(_h = actor.sns) !== null && _h !== void 0 ? _h : \"#\"}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Search} SNS</a></wie-button>` : \"\"}\r\n                    <wie-button class='wie-actor-line-link ${!!embyUrl}'><a target='_blank' href='${embyUrl}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Search} Emby</a></wie-button>\r\n                </wie-area>\r\n         `;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIActor.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIActors.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIActors.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIActors)\n/* harmony export */ });\n/* harmony import */ var _BaseUI_Tab__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../BaseUI/Tab */ \"./src/Injects/CodeFind/BaseUI/Tab.ts\");\n/* harmony import */ var _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Emby/EmbyTool */ \"./src/Injects/Emby/EmbyTool.ts\");\n/* harmony import */ var _Tools_Actor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Tools/Actor */ \"./src/Injects/CodeFind/Tools/Actor.ts\");\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n/* harmony import */ var _pages_PageActor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../pages/PageActor */ \"./src/Injects/CodeFind/pages/PageActor.ts\");\n/* harmony import */ var _pages_PageRank__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../pages/PageRank */ \"./src/Injects/CodeFind/pages/PageRank.ts\");\n/* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! swiper */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/swiper.esm.js\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n/* harmony import */ var _UICollect__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./UICollect */ \"./src/Injects/CodeFind/UI/UICollect.ts\");\n\n\n\n\n\n\n\n\n\n\nconst RankSVG = `<svg t=\"1683540102137\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"2419\" ><path d=\"M288 288 160 288c-17.664 0-32 14.336-32 32l0 544c0 17.696 14.336 32 32 32l128 0c17.664 0 32-14.304 32-32L320 320C320 302.336 305.664 288 288 288z\" fill=\"#5E6570\" p-id=\"2420\"></path><path d=\"M576 480l-128 0c-17.664 0-32 14.336-32 32l0 352c0 17.696 14.336 32 32 32l128 0c17.696 0 32-14.304 32-32L608 512C608 494.336 593.696 480 576 480z\" fill=\"#5E6570\" p-id=\"2421\"></path><path d=\"M864 128l-128 0c-17.696 0-32 14.336-32 32l0 704c0 17.696 14.304 32 32 32l128 0c17.696 0 32-14.304 32-32L896 160C896 142.336 881.696 128 864 128z\" fill=\"#5E6570\" p-id=\"2422\"></path></svg>`;\n_WIE__WEBPACK_IMPORTED_MODULE_7__[\"default\"].UIStyles.add(`\r\n#wie-actors {\r\n    padding-bottom: 10px;\r\n    position: relative;\r\n}\r\n#wie-actors .swiper-pagination {\r\n    bottom: 10px;\r\n    display: flex;\r\n    padding: 0px 6px;\r\n    box-sizing: border-box;\r\n}\r\n#wie-actors .swiper-pagination-bullet {\r\n    width: 100%;\r\n    border-radius: 0;\r\n    margin: 0 4px !important;\r\n    height: 3px;\r\n    background: var(--mainLightColor);\r\n}\r\n\r\nspan.swiper-pagination-bullet.swiper-pagination-bullet-active {\r\n    background: var(--mainColor);\r\n}\r\n\r\nwie-card {\r\n    width: 100%;\r\n    display: block;\r\n    background: var(--bgColor);\r\n    border: 1px solid var(--borderColor);\r\n    box-shadow: 0px 0px 8px 0px var(--borderColor);\r\n    padding: 60% 0 0 0;\r\n    background-repeat: no-repeat;\r\n    background-size: 100% auto;\r\n    border-radius: 5px;\r\n    overflow: hidden;\r\n    position: relative;\r\n}\r\nwie-card-info {\r\n    background: linear-gradient(0deg, var(--bgColor) 0%, var(--bgColor) 50%, transparent 100%);\r\n    padding: 120px 10px 0;\r\n    display: block;\r\n    line-height: 1.5;\r\n}\r\n\r\n#wie-actors .swiper-slide {\r\n    width: 100%;\r\n    padding:0 10px;\r\n    box-sizing: border-box;\r\n}\r\n\r\nwie-card-info wie-avatar {\r\n    width: 60px;\r\n    height: 60px;\r\n    position: absolute;\r\n    border-radius: 5px;\r\n}\r\nwie-card-info .name {\r\n    padding-left: 70px;\r\n    font-size: 15px;\r\n    font-weight: 700;\r\n}\r\n\r\n.wie-actor-line.half{\r\n    width: 32%;\r\n}\r\n.wie-actor-line.left{\r\n    padding-left: 70px;\r\n    line-height: 1.2;\r\n}\r\n\r\n`);\n// @CodeFind.UI(PageCode, \"actors\", void 0, Style)\nclass UIActors extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"actors\"];\n    }\n    render(div, actors, info) {\n        if (actors && !Array.isArray(actors))\n            actors = [actors];\n        this.log(\"actorsHtml\", actors, info);\n        if (!actors || actors.length == 0)\n            this.hidden(div);\n        //隐藏老卡片\n        // this.renderActors(div, actors);\n        //渲染新卡片\n        this.renderActorsCard(div, actors, info.cover);\n    }\n    renderActorsCard(div, actors = [], cover) {\n        div.innerHTML = `<div id='wie-actors' class='swiper-container'>\r\n            <div class='swiper-wrapper'>\r\n                ${actors.map((actor, i) => this.renderActorCard(actor, i, cover)).join(\"\")}\r\n            </div>\r\n            <div class=\"swiper-pagination\"></div>\r\n        </div>`;\n        var swiper = new swiper__WEBPACK_IMPORTED_MODULE_6__[\"default\"](div.querySelector(\"#wie-actors\"), {\n            spaceBetween: 10,\n            slidesPerView: \"auto\",\n            // watchSlidesProgress: true,\n            pagination: {\n                el: \".swiper-pagination\",\n            },\n            centeredSlides: true,\n            slideToClickedSlide: true,\n        });\n        div.querySelectorAll(\".rank\").forEach((span) => {\n            span.addEventListener(\"click\", (e) => {\n                const key = span.getAttribute(\"key\");\n                this.goPage(_pages_PageRank__WEBPACK_IMPORTED_MODULE_5__[\"default\"], { key, loading: false });\n            });\n        });\n        //屏蔽所有a标签的冒泡\n        div.querySelectorAll(\"a\").forEach((a) => {\n            a.addEventListener(\"click\", (e) => {\n                e.stopPropagation();\n            });\n        });\n        //绑定事件\n        div.querySelectorAll(\".go_actor\").forEach((span) => {\n            span.addEventListener(\"click\", (e) => {\n                const index = Number(e.target.getAttribute(\"index\"));\n                this.goPage(_pages_PageActor__WEBPACK_IMPORTED_MODULE_4__[\"default\"], Object.assign({}, actors[index]));\n            });\n        });\n    }\n    collect(actor, collect) {\n        const { actors = {} } = this.setting.Collect;\n        if (collect) {\n            actors[actor.name] = actor;\n        }\n        else {\n            delete actors[actor.name];\n        }\n        //更新收藏\n        this.inject.updateSetting({ Collect: Object.assign(Object.assign({}, this.setting.Collect), { actors }) });\n    }\n    renderActorCard(actor, index, cover) {\n        var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n        let embyUrl = _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].actorUrl(actor.emby);\n        //是否收藏\n        const isCollect = !!((_a = this.setting.Collect.actors) === null || _a === void 0 ? void 0 : _a[actor.name]);\n        this.log(\"renderActorCard--------------------------\", actor, index, isCollect);\n        return `<div class='swiper-slide'>\r\n            <wie-card style='background-image:url(${(_b = actor.cover) !== null && _b !== void 0 ? _b : cover});${!actor.cover && cover ? \"background-size:cover;\" : \"\"}' >\r\n                \r\n                <wie-card-info>\r\n                    <wie-avatar>\r\n                        <img src='${(_c = actor.avatar) !== null && _c !== void 0 ? _c : \"https://s1.ax1x.com/2023/03/25/ppDcgRP.png\"}'/>\r\n                    </wie-avatar>\r\n                    <div class='name'>${actor.name} ${new _UICollect__WEBPACK_IMPORTED_MODULE_9__[\"default\"](this).listen(isCollect, this.collect.bind(this, actor)).hold()} </div>\r\n                    <div class='wie-actor-line left'>\r\n                        ${actor.birthday ? `<span>${actor.birthday}${_Tools_Actor__WEBPACK_IMPORTED_MODULE_2__[\"default\"].calcAge(actor.birthday)}</span>` : \"\"}\r\n                        ${actor.height ? `<span>${actor.height}cm</span>` : \"--\"}\r\n                        <span>${(_d = actor.blood) !== null && _d !== void 0 ? _d : \"\"}</span>\r\n                    </div>\r\n                \r\n                    <div class='wie-actor-line left'><span class='wie-name'>罩杯:</span><span >${_Tools_Actor__WEBPACK_IMPORTED_MODULE_2__[\"default\"].renderCup(actor.cup)}</span></div>\r\n                    <div class='wie-actor-line half'><span class='wie-name'>胸围:</span>\r\n                        <span >${(_e = actor.bust) !== null && _e !== void 0 ? _e : \"--\"}</span>\r\n                        <span class='rank' key='bust' wie-tooltip='查看胸围排行'>${RankSVG}</span>\r\n                    </div>\r\n                    <div class='wie-actor-line half'>\r\n                        <span class='wie-name'>臀围:</span>\r\n                        <span >${(_f = actor.hip) !== null && _f !== void 0 ? _f : \"--\"}</span>\r\n                        <span class='rank' key='hip' wie-tooltip='查看臀围排行'>${RankSVG}</span>\r\n                    </div>\r\n                    <div class='wie-actor-line half'><span class='wie-name'>腰围:</span><span >${(_g = actor.waist) !== null && _g !== void 0 ? _g : \"--\"}</span></div>\r\n                    ${actor.alias ? `<div class='wie-actor-line'><span class='wie-name'>别名:</span><span >${actor.alias}</span></div>` : \"\"}\r\n                    <div class='wie-actor-line'><span class='wie-name'>爱好:</span><span >${(_h = actor.hobby) !== null && _h !== void 0 ? _h : \"--\"}</span></div>\r\n                    <div class='wie-actor-line'><span class='wie-name'>生涯:</span><span >${(_j = actor.time) !== null && _j !== void 0 ? _j : \"--\"}</span></div>\r\n                    <div class='wie-actor-line'><span class='wie-name'>标签:</span><span >${(_l = (_k = actor.tags) === null || _k === void 0 ? void 0 : _k.join(\" \")) !== null && _l !== void 0 ? _l : \"--\"}</span></div>\r\n                    <wie-button-item class='go_actor' index=${index} class='wie-actor-line-link' wie-tooltip='演员详情'>${_SVGConst__WEBPACK_IMPORTED_MODULE_8__[\"default\"].Info} 详情</wie-button-item>\r\n                    <wie-button class='wie-actor-line-link'><a target='_blank' href='${actor.link ? actor.link : `https://javdb.com/search?q=${actor.name}`}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_8__[\"default\"].Search} JavDB</a></wie-button>\r\n                    <wie-button class='wie-actor-line-link'><a target='_blank' href='https://missav.com/actresses/${actor.name}?sort=views'>${_SVGConst__WEBPACK_IMPORTED_MODULE_8__[\"default\"].Search} Miss</a></wie-button>\r\n                    ${actor.link_m ? `<wie-button class='wie-actor-line-link'><a target='_blank' href='${actor.link_m}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_8__[\"default\"].Search} Msin</a></wie-button>` : \"\"}\r\n                    ${actor.sns ? `<wie-button class='wie-actor-line-link'><a target='_blank' href='${(_m = actor.sns) !== null && _m !== void 0 ? _m : \"#\"}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_8__[\"default\"].Search} SNS</a></wie-button>` : \"\"}\r\n                    <wie-button class='wie-actor-line-link ${!!embyUrl}'><a target='_blank' href='${embyUrl}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_8__[\"default\"].Search} Emby</a></wie-button>\r\n                </wie-card-info>\r\n            </wie-card>\r\n        </div>`;\n    }\n    renderActors(div, actors) {\n        new _BaseUI_Tab__WEBPACK_IMPORTED_MODULE_0__[\"default\"](div, {\n            renderTab: (actor, index) => {\n                var _a;\n                return `\r\n                <wie-actor>\r\n                    <wie-avatar>\r\n                        <img src='${(_a = actor.avatar) !== null && _a !== void 0 ? _a : \"https://s1.ax1x.com/2023/03/25/ppDcgRP.png\"}' alt=\"\" referrerpolicy=\"no-referrer\"/>\r\n                    </wie-avatar>\r\n                    <div class='name'>${actor.name}</div>\r\n                </wie-actor>\r\n                `;\n            },\n            renderContent: (actor, index, content) => {\n                var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n                this.log(\"renderContent\", actor, index);\n                if (!actor)\n                    return;\n                let embyUrl = _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].actorUrl(actor.emby);\n                content.innerHTML = `\r\n                <div class='emby-image actor-rank' style='background-image:url(${actor.cover})' >\r\n\r\n                        ${actor.alias ? `<div class='wie-actor-line'><span class='wie-name'>别名:</span><span >${actor.alias}</span></div>` : \"\"}\r\n                        <div class='wie-actor-line'><span class='wie-name'>生日:</span><span >${(_a = actor.birthday) !== null && _a !== void 0 ? _a : \"--\"}${actor.birthday ? _Tools_Actor__WEBPACK_IMPORTED_MODULE_2__[\"default\"].calcAge(actor.birthday) : \"\"}</span></div>\r\n                        <div class='wie-actor-line'><span class='wie-name'>血型:</span><span >${(_b = actor.blood) !== null && _b !== void 0 ? _b : \"--\"}</span></div>\r\n                        <div class='wie-actor-line'><span class='wie-name'>身高:</span><span >${actor.height ? actor.height + \"cm\" : \"--\"}</span></div>\r\n                        <div class='wie-actor-line'><span class='wie-name'>罩杯:</span><span >${_Tools_Actor__WEBPACK_IMPORTED_MODULE_2__[\"default\"].renderCup(actor.cup)}</span></div>\r\n                        <div class='wie-actor-line'><span class='wie-name'>胸围:</span>\r\n                            <span >${(_c = actor.bust) !== null && _c !== void 0 ? _c : \"--\"}</span>\r\n                            <span class='rank' key='bust' wie-tooltip='查看胸围排行'>${RankSVG}</span>\r\n                        </div>\r\n                        <div class='wie-actor-line'><span class='wie-name'>腰围:</span><span >${(_d = actor.waist) !== null && _d !== void 0 ? _d : \"--\"}</span></div>\r\n                        <div class='wie-actor-line'><span class='wie-name'>臀围:</span>\r\n                        <span >${(_e = actor.hip) !== null && _e !== void 0 ? _e : \"--\"}</span>\r\n                        <span class='rank' key='hip' wie-tooltip='查看臀围排行'>${RankSVG}</span></div>\r\n                        <div class='wie-actor-line'><span class='wie-name'>爱好:</span><span >${(_f = actor.hobby) !== null && _f !== void 0 ? _f : \"--\"}</span></div>\r\n                        <div class='wie-actor-line'><span class='wie-name'>生涯:</span><span >${(_g = actor.time) !== null && _g !== void 0 ? _g : \"--\"}</span></div>\r\n                        <div class='wie-actor-line'><span class='wie-name'>标签:</span><span >${(_j = (_h = actor.tags) === null || _h === void 0 ? void 0 : _h.join(\" \")) !== null && _j !== void 0 ? _j : \"--\"}</span></div>\r\n                        <wie-button id='go_actor' class='wie-actor-line-link'><a wie-tooltip='演员详情'>详情</a></wie-button>\r\n                        <wie-button class='wie-actor-line-link'><a target='_blank' href='${actor.link ? actor.link : `https://javdb.com/search?q=${actor.name}`}'>JavDB</a></wie-button>\r\n                        <wie-button class='wie-actor-line-link'><a target='_blank' href='https://missav.com/actresses/${actor.name}?sort=views'>Miss</a></wie-button>\r\n                        \r\n                        ${actor.link_m ? `<wie-button class='wie-actor-line-link'><a target='_blank' href='${actor.link_m}'>Msin</a></wie-button>` : \"\"}\r\n                        ${actor.sns ? `<wie-button class='wie-actor-line-link'><a target='_blank' href='${(_k = actor.sns) !== null && _k !== void 0 ? _k : \"#\"}'>SNS</a></wie-button>` : \"\"}\r\n                        <wie-button class='wie-actor-line-link ${!!embyUrl}'><a target='_blank' href='${embyUrl}'>Emby</a></wie-button>\r\n                     </div>\r\n                `;\n                content.querySelector(\"#go_actor\").addEventListener(\"click\", () => {\n                    this.goPage(_pages_PageActor__WEBPACK_IMPORTED_MODULE_4__[\"default\"], Object.assign({}, actor));\n                });\n                content.querySelectorAll(\".rank\").forEach((span) => {\n                    span.addEventListener(\"click\", () => {\n                        const key = span.getAttribute(\"key\");\n                        this.goPage(_pages_PageRank__WEBPACK_IMPORTED_MODULE_5__[\"default\"], { key, loading: false });\n                    });\n                });\n            },\n        }).render(actors);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIActors.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIButtons.ts":
    /*!**********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIButtons.ts ***!
      \**********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIButtons)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n\n\nclass UIButtons extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"code\"];\n    }\n    render(div, value, info) {\n        const { Censored } = this.setting.Buttons;\n        this.log(\"info\", info, this.setting);\n        this.log(\"Censored\", Censored);\n        div.innerHTML = Censored.map((item) => {\n            let { 0: name, 1: url } = item;\n            return `<a class='wie-btn' href='${url.replace(new RegExp(\"%s\", \"g\"), info.code)}' target='_blank'>\r\n                            ${_SVGConst__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Search}\r\n                            ${name}\r\n                        </a>`;\n        }).join(\"\");\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIButtons.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UICode.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/UI/UICode.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UICode)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n\n\n// @CodeFind.UI(PageCode, \"code\", \"codeValue\")\n// @WieSearch.UI(PageSearch, \"UITitle\")\nclass UICode extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Tag = \"wie-code\";\n        this.listens = [\"code\"];\n    }\n    render(div, value, info) {\n        div.innerHTML = value;\n        this.addClickListener(div, \"self\", (e) => {\n            _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].copy(value, \"已复制到剪贴板\");\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UICode.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UICollect.ts":
    /*!**********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UICollect.ts ***!
      \**********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UICollect)\n/* harmony export */ });\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\nvar _a;\n\n\n\nconst UnCollect = `<svg t=\"1683546456898\"   viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"2366\"><path d=\"M335.008 916.629333c-35.914667 22.314667-82.88 10.773333-104.693333-25.557333a77.333333 77.333333 0 0 1-8.96-57.429333l46.485333-198.24a13.141333 13.141333 0 0 0-4.021333-12.864l-152.16-132.586667c-31.605333-27.52-35.253333-75.648-8.234667-107.733333a75.68 75.68 0 0 1 51.733333-26.752L354.848 339.2c4.352-0.362667 8.245333-3.232 10.026667-7.594667l76.938666-188.170666c16.032-39.2 60.618667-57.92 99.52-41.461334a76.309333 76.309333 0 0 1 40.832 41.461334l76.938667 188.16c1.781333 4.373333 5.674667 7.253333 10.026667 7.605333l199.712 16.277333c41.877333 3.413333 72.885333 40.458667 69.568 82.517334a76.938667 76.938667 0 0 1-26.08 51.978666l-152.16 132.586667c-3.541333 3.082667-5.141333 8.074667-4.021334 12.853333l46.485334 198.24c9.621333 41.013333-15.36 82.336-56.138667 92.224a75.285333 75.285333 0 0 1-57.525333-9.237333l-170.976-106.24a11.296 11.296 0 0 0-12.010667 0l-170.986667 106.24zM551.786667 756.032l170.976 106.24c2.624 1.621333 5.717333 2.122667 8.650666 1.408 6.410667-1.557333 10.56-8.426667 8.928-15.424l-46.485333-198.24a77.141333 77.141333 0 0 1 24.277333-75.733333L870.293333 441.706667c2.485333-2.165333 4.053333-5.312 4.330667-8.746667 0.565333-7.136-4.490667-13.173333-10.976-13.696l-199.712-16.288a75.989333 75.989333 0 0 1-64.064-47.168l-76.938667-188.16a12.309333 12.309333 0 0 0-6.538666-6.741333c-5.898667-2.496-12.725333 0.373333-15.328 6.741333l-76.949334 188.16a75.989333 75.989333 0 0 1-64.064 47.168l-199.701333 16.288a11.68 11.68 0 0 0-7.978667 4.181333 13.226667 13.226667 0 0 0 1.333334 18.261334l152.16 132.586666a77.141333 77.141333 0 0 1 24.277333 75.733334l-46.485333 198.229333a13.333333 13.333333 0 0 0 1.514666 9.877333c3.488 5.792 10.581333 7.530667 16.064 4.128l170.986667-106.229333a75.296 75.296 0 0 1 79.562667 0z\" p-id=\"2367\"></path></svg>`;\nconst Collect = `<svg t=\"1683546492805\"   viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"2511\"><path d=\"M335.008 916.629333c-35.914667 22.314667-82.88 10.773333-104.693333-25.557333a77.333333 77.333333 0 0 1-8.96-57.429333l46.485333-198.24a13.141333 13.141333 0 0 0-4.021333-12.864l-152.16-132.586667c-31.605333-27.52-35.253333-75.648-8.234667-107.733333a75.68 75.68 0 0 1 51.733333-26.752L354.848 339.2c4.352-0.362667 8.245333-3.232 10.026667-7.594667l76.938666-188.170666c16.032-39.2 60.618667-57.92 99.52-41.461334a76.309333 76.309333 0 0 1 40.832 41.461334l76.938667 188.16c1.781333 4.373333 5.674667 7.253333 10.026667 7.605333l199.712 16.277333c41.877333 3.413333 72.885333 40.458667 69.568 82.517334a76.938667 76.938667 0 0 1-26.08 51.978666l-152.16 132.586667c-3.541333 3.082667-5.141333 8.074667-4.021334 12.853333l46.485334 198.24c9.621333 41.013333-15.36 82.336-56.138667 92.224a75.285333 75.285333 0 0 1-57.525333-9.237333l-170.976-106.24a11.296 11.296 0 0 0-12.010667 0l-170.986667 106.24z\" p-id=\"2512\"></path></svg>`;\n(_a = _Tools_GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_addStyle) === null || _a === void 0 ? void 0 : _a.call(_Tools_GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"], `\r\nwie-collect{\r\n    cursor: pointer;\r\n}\r\n\r\nwie-collect svg{\r\n    width: 20px;\r\n    height: 20px;\r\n    vertical-align: bottom;\r\n}\r\n\r\nwie-collect input {\r\n    display: none !important;\r\n}\r\n\r\nwie-collect input:checked + label svg {\r\n    fill: hsl(0deg 100% 50%);\r\n    stroke: hsl(0deg 100% 50%);\r\n    animation: heartButton 1s;\r\n}\r\n\r\n@keyframes heartButton {\r\n0% {\r\n    transform: scale(1);\r\n}\r\n\r\n25% {\r\n    transform: scale(1.3);\r\n}\r\n\r\n50% {\r\n    transform: scale(1);\r\n}\r\n\r\n75% {\r\n    transform: scale(1.3);\r\n}\r\n\r\n100% {\r\n    transform: scale(1);\r\n}\r\n}\r\n`);\n// @CodeFind.UI(PageCode, \"UICollect\")\nclass UICollect extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"code\"];\n        this.Tag = \"wie-collect\";\n    }\n    listen(collect, call) {\n        this.isCollect = collect;\n        this.call = call;\n        return this;\n    }\n    render(div, value, info, root) {\n        //\n        // this.changeCollect(div, info);\n        var _a;\n        const isCollect = (_a = this.isCollect) !== null && _a !== void 0 ? _a : this.page.isCollect(info);\n        const id = \"favorite\" + _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].randomString(5);\n        div.innerHTML = `<input type=\"checkbox\" ${isCollect ? \"checked\" : \"\"} id=\"${id}\" name=\"favorite-checkbox\" value=\"favorite-button\">\r\n        <label for=\"${id}\">\r\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"feather feather-heart\"><path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"></path></svg>\r\n        </label>`;\n        // this.addClickListener(div, \"label\", (e) => {\n        //     //切换收藏\n        //     // this.page.collect(info);\n        //     this.log(\"点击收藏\", info, e.target);\n        //     // this.changeCollect(e.target, info);\n        // });\n        div.querySelector(\"input\").addEventListener(\"change\", (e) => {\n            const checked = e.target.checked;\n            if (this.call) {\n                this.call(checked);\n            }\n            else {\n                this.log(\"点击收藏\", info, checked, e.target, this.page.isCollect(info));\n                this.page.collect(info);\n                this.log(\"点击收藏 结果\", this.page.isCollect(info));\n            }\n        });\n    }\n    changeCollect(div, info) {\n        div.innerHTML = this.page.isCollect(info) ? Collect : UnCollect;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UICollect.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIComment.ts":
    /*!**********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIComment.ts ***!
      \**********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIComment)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\n// @WieSearch.UI(PageSearch, \"comment\")\n// @CodeFind.UI(PageCode, \"comment\")\nclass UIComment extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"comment\"];\n    }\n    render(div, comment) {\n        comment = comment.sort((a, b) => {\n            return new Date(a.time).getTime() > new Date(b.time).getTime() ? -1 : 1;\n        });\n        const html = comment\n            .map((item) => {\n            return `\r\n                <wie-comment>\r\n                    <div class='wie-comment-title'>\r\n                        <div class='wie-comment-name'>${item.from}</div>\r\n                        <div class='wie-comment-date'>${item.time}</div>\r\n                    </div>\r\n                    <div class='wie-comment-content'>${item.comment}</div>\r\n                </wie-comment>\r\n                `;\n        })\n            .join(\"\");\n        div.innerHTML = html;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIComment.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UICover.ts":
    /*!********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UICover.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UICover)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UICover extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"cover\"];\n    }\n    render(img, cover, info) {\n        img.style.backgroundImage = `url(${cover})`;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UICover.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIDesc.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIDesc.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIDesc)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UIDesc extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"desc\"];\n    }\n    render(div, desc, info) {\n        div.innerHTML = desc;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIDesc.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIDirector.ts":
    /*!***********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIDirector.ts ***!
      \***********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIDirector)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UIDirector extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"director\"];\n    }\n    render(div, value, info) {\n        div.innerHTML = value;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIDirector.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIDuration.ts":
    /*!***********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIDuration.ts ***!
      \***********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIDuration)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UIDuration extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"duration\"];\n    }\n    render(div, date, infO, root) {\n        div.innerHTML = date;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIDuration.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIEmby.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIEmby.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIEmby)\n/* harmony export */ });\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n/* harmony import */ var _ICodeInfo__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ICodeInfo */ \"./src/Injects/CodeFind/ICodeInfo.ts\");\n\n\n\nclass UIEmby extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Tag = \"wie-emby\";\n        this.listens = [\"emby\", \"qt\", \"in115\"];\n    }\n    render(div, url, { qt, in115, url115 }) {\n        //https://s1.ax1x.com/2023/03/28/pp6kaKH.png\n        this.log(\"emby\", url, qt, in115);\n        div.innerHTML = `<img  src='https://s1.ax1x.com/2023/03/28/pp6kaKH.png'/>`;\n        div.style.display = \"block\";\n        if (url) {\n            this.addEventListener(div, \"click\", () => {\n                _Tools_GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_openInTab(url, { active: true });\n            });\n        }\n        else if (in115) {\n            div.innerHTML = `<img  src='https://s2.loli.net/2024/02/21/LEteiTnICdzkqsU.png'/>`;\n            this.addEventListener(div, \"click\", () => {\n                _Tools_GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_openInTab(url115, { active: true });\n            });\n        }\n        else if (qt === _ICodeInfo__WEBPACK_IMPORTED_MODULE_2__.QTType.DOWNLOADED) {\n            div.innerHTML = `<img  src='https://s11.ax1x.com/2023/12/18/pi5xc4K.png'/>`;\n        }\n        else if (qt === _ICodeInfo__WEBPACK_IMPORTED_MODULE_2__.QTType.DOWNLOADING) {\n            div.innerHTML = `<img  src='https://s11.ax1x.com/2023/12/18/pi5x5DA.png'/>`;\n        }\n        else {\n            div.style.display = \"none\";\n        }\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIEmby.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIGenres.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIGenres.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIGenres)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UIGenres extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"genres\"];\n    }\n    render(div, genres) {\n        const html = genres\n            .map((genres) => {\n            return `<wie-image-tag style='background-image:url(${genres.imageurl})'>\r\n                <div class='name'>${genres.title_zh}</div>  \r\n                </wie-image-tag>`;\n        })\n            .join(\"\");\n        div.innerHTML = html;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIGenres.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIImage.ts":
    /*!********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIImage.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIImage)\n/* harmony export */ });\n/* harmony import */ var _BaseUI_PopupImage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../BaseUI/PopupImage */ \"./src/Injects/CodeFind/BaseUI/PopupImage.ts\");\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\n\nclass UIImage extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"image\"];\n    }\n    render(div, value, info) {\n        div.innerHTML = `<img id='wie-image' src='${value}' style='width:100%'/>`;\n        this.hidden(div, !value);\n        this.addEventListener(div, \"click\", () => {\n            new _BaseUI_PopupImage__WEBPACK_IMPORTED_MODULE_0__[\"default\"]().showImage(value);\n        });\n    }\n}\n// @CodeFind.UI(PageCode, \"UIImage\")\n// export default class UIImage extends UI {\n//     render(div: HTMLImageElement, value: any, info: ICodeInfo): void {\n//         div.src = value;\n//         this.hidden(div, !value);\n//         this.addEventListener(div, \"click\", () => {\n//             new PopupImage().showImage(value);\n//         });\n//     }\n// }\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIImage.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIImages.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIImages.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIImages)\n/* harmony export */ });\n/* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swiper */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/swiper.esm.js\");\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../WIE */ \"./src/WIE.ts\");\n\n\n\n_WIE__WEBPACK_IMPORTED_MODULE_2__[\"default\"].UIStyles.add(`\r\n.wie-images {\r\n    width: 100%;\r\n    overflow: hidden;\r\n    height: 200px;\r\n}\r\n\r\n.wie-images .swiper-slide{\r\n    overflow: hidden;\r\n    position: relative;\r\n    padding: 15px;\r\n    box-sizing: border-box;\r\n}\r\n\r\n\r\n.wie-images-min{\r\n    height: 60px;\r\n    width: 100%;\r\n    overflow: hidden;\r\n    padding: 2px;\r\n    box-sizing: border-box;\r\n}\r\n\r\n.wie-images-min .swiper-slide {\r\n    width: auto;\r\n    display: inline-block;\r\n}\r\n\r\n.wie-img{\r\n    width: 100%;\r\n    height: 100%;\r\n    background: #FFF;\r\n    overflow: hidden;\r\n    text-align: center;\r\n}\r\n\r\n.wie-img img{\r\n    max-width: 100%;\r\n    vertical-align: top;\r\n    max-height: 100%;\r\n    border: 2px solid #000;\r\n    box-sizing: border-box;\r\n    border-radius: 6px;\r\n}\r\n\r\n.wie-img-small {\r\n    height: 100%;\r\n}\r\n\r\n.wie-img-small img{\r\n    height: 100%;\r\n    border: 2px solid var(--mainColor);\r\n    box-sizing: border-box;\r\n}\r\n\r\n.swiper-slide-thumb-active .wie-img-small img{\r\n    border: 2px solid var(--mainTextColor);\r\n    outline: 2px solid var(--mainColor);\r\n}\r\n`);\nclass UIImages extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Tag = \"wie-area\";\n        this.listens = [\"first\", \"cover\"];\n    }\n    render(div, imgs = [], info, root) {\n        this.log(\"render\", info, imgs);\n        if (!Array.isArray(imgs))\n            imgs = [];\n        if (info.cover) {\n            imgs = [info.cover, ...imgs];\n        }\n        if (this.hidden(div, !imgs.length))\n            return;\n        div.innerHTML = `\r\n                <div  class='wie-images'>\r\n                    <div class='swiper-wrapper' id='wie-preview'>\r\n                        ${imgs.map((img) => `<div class='swiper-slide'><div class='wie-img'><img src='${img}' referrerpolicy=\"no-referrer\"></div></div>`).join(\"\")}\r\n                    </div>\r\n                    <div class=\"swiper-pagination\"></div>\r\n                    <div class=\"swiper-button-prev\"></div>\r\n                    <div class=\"swiper-button-next\"></div>\r\n                </div>\r\n\r\n                <div  class='wie-images-min'>\r\n                    <div class='swiper-wrapper'>\r\n                        ${imgs.map((img) => `<div class='swiper-slide'><div class='wie-img-small'><img src='${img}' referrerpolicy=\"no-referrer\"></div></div>`).join(\"\")}\r\n                    </div>\r\n                </div>\r\n        `;\n        // `<div class='swiper-slide'><img class='wie-preview-img' index='${index}' src='${url}'/></div>`\n        var swiper = new swiper__WEBPACK_IMPORTED_MODULE_0__[\"default\"](div.querySelector(\".wie-images-min\"), {\n            spaceBetween: 10,\n            slidesPerView: \"auto\",\n            // watchSlidesProgress: true,\n        });\n        new swiper__WEBPACK_IMPORTED_MODULE_0__[\"default\"](div.querySelector(\".wie-images\"), {\n            loop: true,\n            thumbs: {\n                swiper,\n            },\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIImages.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIIntroduce.ts":
    /*!************************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIIntroduce.ts ***!
      \************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIIntroduce)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UIIntroduce extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Tag = \"wie-area\";\n        this.listens = [\"introduce\"];\n    }\n    hold() {\n        return `<wie-area class='${this.id}'><wie-null>暂无介绍</wie-null></wie-area>`;\n    }\n    render(div, value) {\n        if (!value)\n            div.innerHTML = `<wie-null>暂无介绍</wie-null>`;\n        else\n            div.innerHTML = value;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIIntroduce.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIMagnet.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIMagnet.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIMagnet)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n\n\n\nclass UIMagnet extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"magnet\", \"loading\"];\n    }\n    updateCount(count) {\n        const item = this.page.page.querySelector(\"#wie-magnet-count\");\n        if (item && count > 0) {\n            item.innerHTML = `(${count})`;\n        }\n    }\n    render(div, magnet = [], info) {\n        this.updateCount(magnet.length);\n        // if (info.loading) return (div.innerHTML = `<div class='wie-loading'></div>`);\n        if (!magnet || magnet.length === 0) {\n            div.innerHTML = `<wie-null>未找到磁链</wie-null>`;\n            return;\n        }\n        div.innerHTML = magnet\n            .map((item) => {\n            return `\r\n            <wie-magnet>\r\n                <wie-magnet-line>\r\n                    <magnet-item class='wie-magnet-title'>${item.name}</magnet-item>\r\n                    <magnet-item class='wie-magnet-size'>${item.size}</magnet-item>\r\n                    <magnet-item class='wie-magnet-date'>${item.time}</magnet-item>\r\n                </wie-magnet-line>\r\n                <wie-magnet-line>\r\n                    <magnet-item class='wie-magnet-from'>${item.from}</magnet-item>\r\n                    <magnet-item class='wie-magnet-zh ${!!item.zh}'></magnet-item>\r\n                    <div>\r\n                        <wie-button-item class='wie-magnet-magnet' magnet='${item.magnet}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Copy} 复制链接</wie-button-item>\r\n                        <a href='${item.magnet}' class='wie-btn' target='_blank' referrerpolicy='same-origin'>${_SVGConst__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Download} 下载</a>\r\n                    </div>\r\n                </wie-magnet-line>\r\n            </wie-magnet>\r\n            `;\n        })\n            .join(\"\");\n        div.querySelectorAll(\".wie-magnet-magnet\").forEach((item) => {\n            item.addEventListener(\"click\", (e) => {\n                const magnet = item.getAttribute(\"magnet\");\n                if (magnet) {\n                    _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].copy(magnet, \"复制成功\");\n                }\n            });\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIMagnet.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIPreview.ts":
    /*!**********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIPreview.ts ***!
      \**********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIPreview)\n/* harmony export */ });\n/* harmony import */ var _BaseUI_PopupImages__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../BaseUI/PopupImages */ \"./src/Injects/CodeFind/BaseUI/PopupImages.ts\");\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nclass UIPreview extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Tag = \"wie-preview\";\n        this.listens = [\"preview\", \"cover\"];\n    }\n    render(div, preview = [], info, root) {\n        // const html = preview\n        //     .map((url, index: number) => {\n        //         return `<div class='swiper-slide'><img class='wie-preview-img' index='${index}' src='${url}'/></div>`;\n        //     })\n        //     .join(\"\");\n        // // return html;\n        // div.innerHTML = html;\n        // var swiper = new Swiper(div.parentElement, {\n        //     slidesPerView: 3.5,\n        //     spaceBetween: 10,\n        //     pagination: {\n        //         el: div.querySelector(\".swiper-pagination\") as HTMLElement,\n        //         clickable: true,\n        //     },\n        // });\n        // this.showImage(preview, div, \".wie-preview-img\");\n        //检测是否还有\n        // const imagesView = root.querySelector<HTMLElement>(\"#wie-images\");\n        // if (!imagesView) return;\n        if (info.cover)\n            preview = [info.cover, ...preview];\n        div.innerHTML = preview\n            .map((url, index) => {\n            return `<img class='wie-preview-img' alt=\"\" index='${index}' src='${url}'/>`;\n        })\n            .join(\"\");\n        this.showImage(preview, div, \".wie-preview-img\");\n    }\n    showImage(preview, div, selector) {\n        return __awaiter(this, void 0, void 0, function* () {\n            div.querySelectorAll(selector).forEach((img) => {\n                this.addEventListener(img, \"click\", (e) => {\n                    const url = img.getAttribute(\"index\");\n                    new _BaseUI_PopupImages__WEBPACK_IMPORTED_MODULE_0__[\"default\"]().showImage(preview, Number(url));\n                });\n            });\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIPreview.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIProgress.ts":
    /*!***********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIProgress.ts ***!
      \***********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIProgress)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UIProgress extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"syncProgress\"];\n    }\n    render(div, value) {\n        const progress = (value.progress * 100) / value.total;\n        const view = div.querySelector(\".wave\");\n        // this.log(\"同步进度 进度 \", progress, value, view);\n        if (view)\n            view.style.width = `${progress}%`;\n        else\n            div.innerHTML = `\r\n            <wie-progress>\r\n                <div class=\"wave\"></div>\r\n            </wie-progress>\r\n        `;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIProgress.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIReleaseDate.ts":
    /*!**************************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIReleaseDate.ts ***!
      \**************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIReleaseDate)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UIReleaseDate extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"releaseDate\"];\n    }\n    render(div, date, infO, root) {\n        div.innerHTML = date;\n        const top = root.querySelector(\"#wie-releaseDate-top\");\n        if (top)\n            top.innerHTML = date;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIReleaseDate.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIScore.ts":
    /*!********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIScore.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIScore)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UIScore extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Tag = \"wie-score\";\n        this.listens = [\"score\"];\n    }\n    render(div, score, info) {\n        div.innerHTML = `\r\n            <span>${score.score}</span><span>共${score.total}分</span><span>共${score.num}人点评</span>\r\n        `;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIScore.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UISeries.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UISeries.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UISeries)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UISeries extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"series\"];\n    }\n    render(div, series) {\n        div.innerHTML = `<a target=\"_blank\" href='${series.url}'>${series.name}</a>`;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UISeries.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIStat.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIStat.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIStat)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UIStat extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Tag = \"span\";\n        this.listens = [\"code\"];\n    }\n    render(div) {\n        // div.querySelector(\"#wie-search\").innerHTML = this.find.searchInfo.search + \"\";\n        // div.querySelector(\"#wie-view\").innerHTML = this.find.searchInfo.view + \"\";\n        const { search, view } = this.page.inject.searchInfo;\n        div.innerHTML = `\r\n            <wie-info class='wie-info-count'>番号检索<span id='wie-search-num'>${search}</span>,浏览<span id='wie-view'>${view}</span>次</wie-info>\r\n        `;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIStat.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIStudio.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIStudio.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIStudio)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UIStudio extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"studio\"];\n    }\n    render(div, studio) {\n        div.innerHTML = studio;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIStudio.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UISubs.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/UI/UISubs.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UISubs)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n\n\nclass UISubs extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"subs\"];\n    }\n    render(div, value = [], info) {\n        div.innerHTML = value\n            .map(({ name, url }) => {\n            return ` <a class='wie-btn' href='${url}' target='_blank'>\r\n                    ${_SVGConst__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Download}\r\n                    ${name}\r\n                </a>`;\n        })\n            .join(\"\");\n        if (value.length === 0) {\n            div.innerHTML = \"暂无字幕\";\n        }\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UISubs.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UITags.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/CodeFind/UI/UITags.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UITags)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UITags extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"tags\"];\n    }\n    render(div, tags, info) {\n        const html = tags\n            .map((tag) => {\n            return `<wie-tag>${tag}</wie-tag>`;\n        })\n            .join(\"\");\n        div.innerHTML = html;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UITags.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UITitle.ts":
    /*!********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UITitle.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UITitle)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n/* harmony import */ var _Tools_Toast__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../Tools/Toast */ \"./src/Tools/Toast.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nclass UITitle extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Tag = \"wie-h2\";\n        this.listens = [\"title\"];\n        this.isTranslate = false;\n    }\n    render(div, value, info) {\n        //判断是否包含日文\n        const isJapanese = this.isJapanese(value);\n        // this.log(\"render\", value, isJapanese);\n        if (!isJapanese) {\n            div.innerHTML = value;\n            return;\n        }\n        //添加翻译按钮\n        div.innerHTML = `${value}<wie-button-item class=\"wie-btn-translate\">${_SVGConst__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Trans} 翻译</wie-button-item>`;\n        div.querySelector(\".wie-btn-translate\").addEventListener(\"click\", (e) => {\n            if (this.isTranslate)\n                return _Tools_Toast__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Instance.show(\"正在翻译中\", _Tools_Toast__WEBPACK_IMPORTED_MODULE_3__.ToastType.Success);\n            this.isTranslate = true;\n            e.target.insertAdjacentText(\"beforeend\", \"中\");\n            this.translate(value, div);\n        });\n    }\n    translate(value, div) {\n        return __awaiter(this, void 0, void 0, function* () {\n            div.innerHTML = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].translate(value);\n        });\n    }\n    isJapanese(temp = \"\") {\n        return !!temp.match(/[\\u3040-\\u309F\\u30A0-\\u30FF]/);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UITitle.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UITop.ts":
    /*!******************************************!*\
      !*** ./src/Injects/CodeFind/UI/UITop.ts ***!
      \******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UITop)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UITop extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"name\"];\n    }\n    render(div, value, info, root) {\n        div.innerHTML = `\r\n            <wie-area class='no-border'>\r\n                <div class=\"wie-detail-title\">${info.name}</div>\r\n            </wie-area>\r\n        `;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UITop.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UITrailer.ts":
    /*!**********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UITrailer.ts ***!
      \**********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UITrailer)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n/* harmony import */ var _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../lib/Pages/Page */ \"./src/lib/Pages/Page.ts\");\n\n\nclass UITrailer extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.playing = false;\n        this.isStop = false;\n        this.listens = [\"trailer\", \"cover\"];\n        this.play = () => {\n            try {\n                this.video.play();\n            }\n            catch (error) { }\n            // this.playBtn.style.display = \"none\";\n            // const img = this.div.parentElement.nextElementSibling as HTMLImageElement;\n            // img.style.display = \"none\";\n        };\n    }\n    render(div, trailer, info) {\n        this.div = div;\n        const playBtn = (this.playBtn = div.previousElementSibling);\n        if (!trailer) {\n            // div.parentElement.style.display = \"none\";\n            if (info.cover)\n                div.innerHTML = `<img style='width:100%' src='${info.cover}'/>`;\n            playBtn.style.display = \"none\";\n            return false;\n        }\n        const img = div.parentElement.nextElementSibling;\n        div.parentElement.style.display = \"block\";\n        playBtn.style.display = \"block\";\n        img.style.display = \"block\";\n        div.innerHTML = `\r\n            <video poster=\"${info.cover}\">\r\n                    <source src=\"${trailer}\" type=\"video/mp4\" post>\r\n        `;\n        this.video = div.querySelector(\"video\");\n        this.video.addEventListener(\"play\", () => {\n            // img.style.display = \"none\";\n            this.video.controls = true;\n            this.playBtn.style.display = \"none\";\n            const img = this.div.parentElement.nextElementSibling;\n            img.style.display = \"none\";\n        });\n        this.cacheVideoInfo(this.video);\n        // this.addEventListener(this.video, \"pause\", () => {\n        //     console.log(\"pause----\", this.video.currentTime);\n        //     // this.video.controls = false;\n        // });\n        // this.addEventListener(this.video, \"dbclick\", () => {\n        //     console.log(\"dbclick----\", this.video.currentTime);\n        // });\n        // this.video.ondblclick = () => {\n        //     console.log(\"ondblclick----\", this.video.currentTime);\n        //     this.play();\n        // };\n        //绑定事件\n        playBtn.addEventListener(\"click\", this.play);\n        img.addEventListener(\"click\", this.play);\n        //TODO:自动播放\n        this.setTimeout(() => {\n            if (this.page.status !== _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_1__.PageStatus.Render)\n                return;\n            if (this.setting.VideoAuto) {\n                this.play();\n            }\n        }, 500);\n        return false;\n    }\n    cacheVideoInfo(video) {\n        const { VideoVolume = 1 } = this.setting;\n        //设置音量\n        video.volume = VideoVolume;\n        //设置播放时间\n        // video.currentTime = PopupImage.TimesCache[this.name] || 0;\n        // video.addEventListener(\"timeupdate\", (ev) => {\n        //     PopupImage.TimesCache[this.name] = video.currentTime;\n        // });\n        video.addEventListener(\"volumechange\", (ev) => {\n            // this.log(\"volumechange\", video.volume, video, ev);\n            let volume = video.volume;\n            //判断静音\n            if (video.muted)\n                volume = 0;\n            this.inject.updateSetting({ VideoVolume: volume });\n        });\n    }\n    destroy() {\n        if (!this.video)\n            return;\n        this.video.pause();\n        this.video.src = \"\";\n        this.video = null;\n        this.playBtn.removeEventListener(\"click\", this.play);\n    }\n    stop() {\n        this.isStop = true;\n        this.log(\"暂停视频\");\n        //清楚自动播放\n        if (!this.video)\n            return;\n        if (this.video.paused)\n            return;\n        this.video.pause();\n        this.playing = true;\n    }\n    resume() {\n        this.isStop = false;\n        if (!this.video)\n            return;\n        if (this.playing) {\n            this.video.play();\n            this.playing = false;\n        }\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UITrailer.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIValue.ts":
    /*!********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIValue.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIValue)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UIValue extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor(page, name, tag) {\n        super(page, name);\n        this.listens = [];\n        if (tag)\n            this.Tag = tag;\n    }\n    render(root, value, intent, page) {\n        root.innerHTML = value;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIValue.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIVideos.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIVideos.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIVideos)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UIVideos extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Tag = \"wie-area\";\n        this.listens = [\"videos\", \"videos\"];\n        this.cls = \"wie-videos\";\n    }\n    updateCount(count) {\n        const item = this.page.page.querySelector(\"#wie-videos-count\");\n        if (item && count > 0) {\n            item.innerHTML = `(${count})`;\n        }\n    }\n    render(div, videos = [], info) {\n        this.log(\"render\", videos, info);\n        this.updateCount(videos.length);\n        if (!videos || videos.length === 0) {\n            div.innerHTML = `<wie-null>未找到磁链</wie-null>`;\n            return;\n        }\n        div.innerHTML = videos\n            .map((v, i) => {\n            return `<a class='wie-video-item ${v.can && v.preview ? \"video-item-preview\" : \"\"}' index=${i} href=\"${v.link}\" target=\"_blank\">\r\n                    <div class=\"video-item-cover\">\r\n                        <img src=\"${v.can ? v.cover : info.cover}\" alt=\"\" referrerpolicy=\"no-referrer\"/>\r\n                        <div class=\"video-preview\"></div>\r\n                        <span class='from'>${v.from}</span>\r\n                        <span class='zh'>${v.zh}</span>\r\n                        ${v.pot ? `<div class='pot'>本地播放</div>` : \"\"}\r\n                        <span class='duration'>${v.duration}</span>\r\n                    </div>\r\n                    <div class='title'>${v.name}</div>\r\n                </a>`;\n        })\n            .join(\"\");\n        //需解决403问题\n        div.querySelectorAll(\".video-item-preview\").forEach((v) => {\n            v.addEventListener(\"mouseenter\", (e) => {\n                e.preventDefault();\n                const target = e.target;\n                const i = parseInt(target.getAttribute(\"index\"));\n                target.querySelector(\".video-preview\").innerHTML = `<video src=\"${videos[i].preview}\" referrerpolicy=\"no-referrer\" autoplay loop></video>`;\n            });\n            v.addEventListener(\"mouseleave\", (e) => {\n                e.preventDefault();\n                const target = e.target;\n                target.querySelector(\".video-preview\").innerHTML = \"\";\n            });\n        });\n        div.querySelectorAll(\".pot\").forEach((v) => {\n            v.addEventListener(\"click\", (e) => {\n                e.preventDefault();\n                e.stopPropagation();\n                const target = e.currentTarget;\n                const i = parseInt(target.parentElement.parentElement.getAttribute(\"index\"));\n                window.open(videos[i].pot, \"_blank\");\n            });\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIVideos.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/UI/UIZh.ts":
    /*!*****************************************!*\
      !*** ./src/Injects/CodeFind/UI/UIZh.ts ***!
      \*****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIZh)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\nclass UIZh extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Tag = \"wie-zh\";\n        this.listens = [\"zh\", \"first\"];\n    }\n    /**\n     * 渲染\n     * @param div\n     * @param value\n     * @param info\n     * @param root\n     */\n    render(div, value, info, root) {\n        div.innerHTML = `中文字幕`;\n        this.hidden(div, !value);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/UI/UIZh.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/index.ts":
    /*!***************************************!*\
      !*** ./src/Injects/CodeFind/index.ts ***!
      \***************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_CodeFind__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/PageActor.ts":
    /*!*************************************************!*\
      !*** ./src/Injects/CodeFind/pages/PageActor.ts ***!
      \*************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/Page */ \"./src/lib/Pages/Page.ts\");\n/* harmony import */ var _UI_UIActor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../UI/UIActor */ \"./src/Injects/CodeFind/UI/UIActor.ts\");\n/* harmony import */ var _UI_UIImages__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UI/UIImages */ \"./src/Injects/CodeFind/UI/UIImages.ts\");\n/* harmony import */ var _UI_UIValue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UI/UIValue */ \"./src/Injects/CodeFind/UI/UIValue.ts\");\n/* harmony import */ var _PageActorFollow_UI_UIActorVideos__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PageActorFollow/UI/UIActorVideos */ \"./src/Injects/CodeFind/pages/PageActorFollow/UI/UIActorVideos.ts\");\n\n\n\n\n\nconst Style = `\r\n`;\nclass PageActor extends _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    /** 支持缓存 */\n    cacheKey(intent) {\n        return intent.name;\n    }\n    render(page) {\n        return `\r\n        <wie-area class='no-border'>\r\n            ${new _UI_UIValue__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this, \"name\", \"wie-title\").hold()}\r\n        </wie-area>\r\n            <div class=\"wie-scroll\">\r\n                ${new _UI_UIImages__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this).hold()}\r\n                ${new _UI_UIActor__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this).hold()}\r\n                <wie-area>\r\n                    <wie-name>标签</wie-name>\r\n                    <div id='wie-tags'></div>\r\n                </wie-area>\r\n                ${new _PageActorFollow_UI_UIActorVideos__WEBPACK_IMPORTED_MODULE_4__[\"default\"](this).hold()}\r\n            </div>\r\n        `;\n    }\n}\nPageActor.Name = \"PageActor\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PageActor);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/PageActor.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/PageActorFollow.ts":
    /*!*******************************************************!*\
      !*** ./src/Injects/CodeFind/pages/PageActorFollow.ts ***!
      \*******************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/Page */ \"./src/lib/Pages/Page.ts\");\n/* harmony import */ var _PageActorFollow_UI_UIActorVideos__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PageActorFollow/UI/UIActorVideos */ \"./src/Injects/CodeFind/pages/PageActorFollow/UI/UIActorVideos.ts\");\n\n\nclass PageActorFollow extends _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    onIntent(intent) {\n        var _a;\n        const actors = (_a = this.setting.Collect.actors) !== null && _a !== void 0 ? _a : {};\n        return Object.assign(Object.assign({}, intent), { actors });\n    }\n    render(page, intent) {\n        return `\r\n        <wie-area class='no-border'>\r\n            <wie-title>关注演员的近期作品</wie-title>\r\n        </wie-area>\r\n        <div class=\"wie-scroll\">\r\n            ${new _PageActorFollow_UI_UIActorVideos__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this).hold()}\r\n        </div>\r\n        `;\n    }\n}\nPageActorFollow.Name = \"PageActorFollow\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PageActorFollow);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/PageActorFollow.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/PageActorFollow/UI/UIActorVideos.ts":
    /*!************************************************************************!*\
      !*** ./src/Injects/CodeFind/pages/PageActorFollow/UI/UIActorVideos.ts ***!
      \************************************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIActorVideos)\n/* harmony export */ });\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n/* harmony import */ var _PageCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\n\n\n\n_WIE__WEBPACK_IMPORTED_MODULE_0__[\"default\"].UIStyles.add(`\r\n.wie-a-videos{\r\n    border-left: 1px dashed var(--mainColor);\r\n    padding: 0 10px;\r\n}\r\nwie-line{\r\n    white-space: nowrap;\r\n    overflow: scroll visible;\r\n}\r\n.wie-line-title{\r\n    margin-bottom: 5px;\r\n    text-align: left;\r\n    margin-top: 20px;\r\n    position: relative;\r\n}\r\n.wie-line-title>*{\r\n\r\n}\r\n.wie-line-title .title{\r\n    font-size: 14px;\r\n    font-weight: bold;\r\n    margin-bottom: 5px;\r\n}\r\n.wie-line-title wie-avatar{\r\n    width: 30px;\r\n    height: 30px;\r\n    border-width: 1px;\r\n    display: inline-block;\r\n    margin:0 10px 0 0;\r\n}\r\n.wie-line-title .count{\r\n   font-size: 12px;\r\n    color:#999;\r\n    margin-left: 5px;\r\n}\r\n.wie-line-title .split{\r\n    width: 10px;\r\n    height: 2px;\r\n    background-color: var(--mainColor);\r\n    margin-bottom: 5px;\r\n    position: absolute;\r\n    left: -15px;\r\n    top: 11px;\r\n}\r\n.wie-line-wrap{\r\n    overflow: auto hidden;\r\n    margin-bottom: 20px;\r\n    display: block;\r\n}\r\n.wie-a-video {\r\n    cursor: pointer;\r\n    margin: 5px;\r\n    display: inline-block;\r\n}\r\n.wie-a-video .img {\r\n    height: 150px;\r\n    width: 105px;\r\n    background-size: auto 100%;\r\n    border-radius: 5px;\r\n    background-position: right;\r\n    box-shadow: 0px 0px 5px #ccccccc2;\r\n    transition: transform 0.3s ease;\r\n    transform: scale(1);\r\n    border: 1px solid var(--mainColor);\r\n}\r\n.wie-a-video .img:hover {\r\n    transform: scale(1.02);\r\n}\r\n\r\n.wie-a-video .time,\r\n.wie-a-video .code {\r\n    display: block;\r\n    text-align: center;\r\n    font-size: 12px;\r\n    font-weight: bold;\r\n}\r\n.wie-actors-line{\r\n    padding: 10px 0 0 10px;\r\n    overflow: visible;\r\n    margin-bottom: 20px;\r\n}\r\n.wie-actors-line>*{\r\n    display: inline-block;\r\n    margin: 0 10px 0 0;\r\n}\r\n\r\n.wie-actor-item.false {\r\n    filter: grayscale(1);\r\n}\r\n\r\n`);\nclass UIActorVideos extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"actors\", \"videos\", \"loading\"];\n        this.renderVideo = (video) => {\n            if (this.filter && video.zh !== this.filter)\n                return \"\";\n            return `\r\n        <div class='wie-a-video' code='${video.code}' >\r\n            <div class='img' style='background-image:url(${video.cover})'></div>\r\n            <span class='code'>${video.code}</span>\r\n        </div>`;\n        };\n    }\n    render(root, actors = {}, intent, page) {\n        const list = Object.keys(actors);\n        this.log(\"actors\", actors, list, intent);\n        // if (list.length === 0 && !intent.videos) {\n        //     root.innerHTML = `<wie-area>暂无关注的演员</wie-area>`;\n        //     return;\n        // }\n        const { videos = [] } = intent;\n        this.log(\"videos\", videos, videos.length, intent);\n        if (videos.length === 0) {\n            root.innerHTML = `<wie-area class='wie-loading'>\r\n                <div class='wie-loader'></div>\r\n                <div data-glitch=\"数据查询中\" class=\"glitch name\">数据查询中</div>\r\n            </wie-area>`;\n            return;\n        }\n        const ret = intent.videos.map((time) => {\n            const al = Array.from(time.actors);\n            this.log(\"al\", al, time);\n            let v = time.videos.map((v) => this.renderVideo(v));\n            if (this.filter)\n                v = v.filter((v) => v !== \"\");\n            if (v.length === 0)\n                return \"\";\n            return `\r\n                <div class='wie-line-title'>\r\n                    <div class='split'></div>\r\n                    <div class='title'>${this.renderTime(time.time, v.length)}</div>\r\n                    ${this.filter || list.length === 0 ? \"\" : al.map((name) => { var _a, _b; return `<wie-avatar><img src='${(_b = (_a = actors[name]) === null || _a === void 0 ? void 0 : _a.avatar) !== null && _b !== void 0 ? _b : \"https://s1.ax1x.com/2023/03/25/ppDcgRP.png\"}'/></wie-avatar>`; }).join(\"\")}\r\n                </div>\r\n                <wie-scroll class='wie-line-wrap'>\r\n                    <wie-line>${v.join(\"\")}</wie-line>\r\n                </wie-scroll>\r\n            `;\n        });\n        const actorLine = `<wie-area class='wie-actors-line'>\r\n        ${list\n            .map((name) => {\n            var _a;\n            return `<div class='wie-actor-item ${!this.filter || this.filter === name}' name='${name}'  wie-tooltip='${name}' data-placement=\"bottom\"><wie-avatar><img src='${(_a = actors[name].avatar) !== null && _a !== void 0 ? _a : \"https://s1.ax1x.com/2023/03/25/ppDcgRP.png\"}'/></wie-avatar></div>`;\n        })\n            .join(\"\")}\r\n    </wie-area>`;\n        root.innerHTML = `${list.length > 0 ? actorLine : \"\"}\r\n        <wie-area><div class='wie-a-videos'>${ret.join(\"\")}</div></wie-area>`;\n        //绑定点击事件\n        root.querySelectorAll(\".wie-a-video\").forEach((v) => {\n            v.addEventListener(\"click\", (e) => {\n                // e.preventDefault();\n                e.stopPropagation();\n                const target = e.currentTarget;\n                const code = target.getAttribute(\"code\");\n                this.log(\"click\", code, target);\n                this.inject.startPage(_PageCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"], { code });\n            });\n        });\n        //绑定点击事件\n        root.querySelectorAll(\".wie-actor-item\").forEach((v) => {\n            v.addEventListener(\"click\", (e) => {\n                // e.preventDefault();\n                e.stopPropagation();\n                const target = e.currentTarget;\n                const name = target.getAttribute(\"name\");\n                this.log(\"click\", name, target);\n                // this.inject.startPage(PageCode, { name });\n                if (this.filter === name)\n                    delete this.filter;\n                else\n                    this.filter = name;\n                //重新渲染\n                this.render(root, actors, intent, page);\n            });\n        });\n    }\n    renderTime(duration, count) {\n        //获取今天凌晨时间\n        const date = new Date(this.format(new Date().valueOf(), \"yyyy-MM-dd\")).valueOf();\n        const da = new Date(duration).valueOf();\n        const time = date - da;\n        this.log(\"time\", time, date, da, duration);\n        if (time == 0) {\n            duration = \"今天\";\n        }\n        else if (time > 0 && time <= 24 * 60 * 60 * 1000) {\n            duration = \"昨天\";\n        }\n        else if (time > 24 * 60 * 60 * 1000 && time <= 24 * 60 * 60 * 1000 * 2) {\n            duration = \"前天\";\n        }\n        // const time =new Date().valueOf() - new Date(duration).valueOf();\n        return `${duration}<span class='count'>[${count}部]</span>`;\n    }\n    format(time, fmt) {\n        const date = new Date(Number(time) < 10000000000 ? Number(time) * 1000 : Number(time)); //对于只有10位数的时间做*1000处理\n        const o = {\n            \"M+\": date.getMonth() + 1,\n            \"d+\": date.getDate(),\n            \"h+\": date.getHours(),\n            \"m+\": date.getMinutes(),\n            \"s+\": date.getSeconds(),\n            \"q+\": Math.floor((date.getMonth() + 3) / 3),\n            S: date.getMilliseconds(), //毫秒\n        };\n        const week = {\n            \"0\": \"日\",\n            \"1\": \"一\",\n            \"2\": \"二\",\n            \"3\": \"三\",\n            \"4\": \"四\",\n            \"5\": \"五\",\n            \"6\": \"六\",\n        };\n        if (/(y+)/.test(fmt)) {\n            fmt = fmt.replace(RegExp.$1, `${date.getFullYear()}`.substr(4 - RegExp.$1.length));\n        }\n        if (/(E+)/.test(fmt)) {\n            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length > 1 ? (RegExp.$1.length > 2 ? \"星期\" : \"周\") : \"\") + week[date.getDay() + \"\"]);\n        }\n        for (const k in o) {\n            if (new RegExp(`(${k})`).test(fmt)) {\n                fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : `00${o[k]}`.substr(`${o[k]}`.length));\n            }\n        }\n        return fmt;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/PageActorFollow/UI/UIActorVideos.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/PageCode.ts":
    /*!************************************************!*\
      !*** ./src/Injects/CodeFind/pages/PageCode.ts ***!
      \************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/Page */ \"./src/lib/Pages/Page.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../BaseUI/TabControl */ \"./src/Injects/CodeFind/BaseUI/TabControl.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n/* harmony import */ var _UI_UIActors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../UI/UIActors */ \"./src/Injects/CodeFind/UI/UIActors.ts\");\n/* harmony import */ var _UI_UIButtons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../UI/UIButtons */ \"./src/Injects/CodeFind/UI/UIButtons.ts\");\n/* harmony import */ var _UI_UICode__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../UI/UICode */ \"./src/Injects/CodeFind/UI/UICode.ts\");\n/* harmony import */ var _UI_UICollect__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../UI/UICollect */ \"./src/Injects/CodeFind/UI/UICollect.ts\");\n/* harmony import */ var _UI_UIComment__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../UI/UIComment */ \"./src/Injects/CodeFind/UI/UIComment.ts\");\n/* harmony import */ var _UI_UICover__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../UI/UICover */ \"./src/Injects/CodeFind/UI/UICover.ts\");\n/* harmony import */ var _UI_UIDesc__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../UI/UIDesc */ \"./src/Injects/CodeFind/UI/UIDesc.ts\");\n/* harmony import */ var _UI_UIDirector__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../UI/UIDirector */ \"./src/Injects/CodeFind/UI/UIDirector.ts\");\n/* harmony import */ var _UI_UIDuration__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../UI/UIDuration */ \"./src/Injects/CodeFind/UI/UIDuration.ts\");\n/* harmony import */ var _UI_UIEmby__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../UI/UIEmby */ \"./src/Injects/CodeFind/UI/UIEmby.ts\");\n/* harmony import */ var _UI_UIImage__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../UI/UIImage */ \"./src/Injects/CodeFind/UI/UIImage.ts\");\n/* harmony import */ var _UI_UIIntroduce__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../UI/UIIntroduce */ \"./src/Injects/CodeFind/UI/UIIntroduce.ts\");\n/* harmony import */ var _UI_UIMagnet__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../UI/UIMagnet */ \"./src/Injects/CodeFind/UI/UIMagnet.ts\");\n/* harmony import */ var _UI_UIPreview__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../UI/UIPreview */ \"./src/Injects/CodeFind/UI/UIPreview.ts\");\n/* harmony import */ var _UI_UIProgress__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../UI/UIProgress */ \"./src/Injects/CodeFind/UI/UIProgress.ts\");\n/* harmony import */ var _UI_UIReleaseDate__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../UI/UIReleaseDate */ \"./src/Injects/CodeFind/UI/UIReleaseDate.ts\");\n/* harmony import */ var _UI_UIScore__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../UI/UIScore */ \"./src/Injects/CodeFind/UI/UIScore.ts\");\n/* harmony import */ var _UI_UISeries__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../UI/UISeries */ \"./src/Injects/CodeFind/UI/UISeries.ts\");\n/* harmony import */ var _UI_UIStat__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../UI/UIStat */ \"./src/Injects/CodeFind/UI/UIStat.ts\");\n/* harmony import */ var _UI_UIStudio__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../UI/UIStudio */ \"./src/Injects/CodeFind/UI/UIStudio.ts\");\n/* harmony import */ var _UI_UISubs__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../UI/UISubs */ \"./src/Injects/CodeFind/UI/UISubs.ts\");\n/* harmony import */ var _UI_UITags__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../UI/UITags */ \"./src/Injects/CodeFind/UI/UITags.ts\");\n/* harmony import */ var _UI_UITitle__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../UI/UITitle */ \"./src/Injects/CodeFind/UI/UITitle.ts\");\n/* harmony import */ var _UI_UITrailer__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../UI/UITrailer */ \"./src/Injects/CodeFind/UI/UITrailer.ts\");\n/* harmony import */ var _UI_UIVideos__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../UI/UIVideos */ \"./src/Injects/CodeFind/UI/UIVideos.ts\");\n/* harmony import */ var _UI_UIZh__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../UI/UIZh */ \"./src/Injects/CodeFind/UI/UIZh.ts\");\n/* harmony import */ var _PageActorFollow__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./PageActorFollow */ \"./src/Injects/CodeFind/pages/PageActorFollow.ts\");\n/* harmony import */ var _PageCollect__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./PageCollect */ \"./src/Injects/CodeFind/pages/PageCollect.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n_WIE__WEBPACK_IMPORTED_MODULE_2__[\"default\"].UIStyles.add(`\r\n\r\n\r\n.wie-info-btn{\r\n    cursor: pointer;\r\n    position: absolute;\r\n    right: 0;\r\n    top: 0;\r\n    padding: 5px 7px;\r\n    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n}\r\n.wie-info-btn:hover{\r\n    background-color: var(--mainLLColor);\r\n}\r\n.wie-info-btn svg{\r\n    width: 24px;\r\n    height: 24px;\r\n    vertical-align: middle;\r\n    fill: var(--mainColor);\r\n}\r\n#wie-go-follow{\r\n    right: 34px;\r\n}\r\n.wie-links{\r\n    padding: 10px 10px 0;\r\n    border-top: 1px solid #333;\r\n    margin: 5px 0;\r\n}\r\n\r\n.wie-links a.wie-btn {\r\n    opacity: 1;\r\n    font-size: 11px !important;\r\n    border-radius: 0;\r\n    font-weight: bold;\r\n    padding: 0 5px;\r\n}\r\n`);\nconst FollowSvg = `<svg t=\"1707202765671\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"7677\" width=\"128\" height=\"128\"><path d=\"M882.346667 569.813333c56.106667 99.2-75.306667 209.92-139.093334 256a55.466667 55.466667 0 0 1-64 0c-64-45.866667-195.2-156.586667-139.093333-256a103.04 103.04 0 0 1 164.693333-21.333333 9.386667 9.386667 0 0 0 13.653334 0 103.04 103.04 0 0 1 164.693333 21.333333z\" p-id=\"7678\"></path><path d=\"M815.36 337.066667a195.413333 195.413333 0 0 0-320-56.96 17.92 17.92 0 0 1-26.026667 0A195.413333 195.413333 0 0 0 149.333333 337.066667C54.613333 547.413333 381.226667 778.88 463.36 832a33.28 33.28 0 0 0 36.693333 0c81.92-53.12 408.533333-284.586667 315.306667-494.933333z m-390.186667 28.586666a32 32 0 0 1-40.106666 21.333334 64 64 0 0 0-81.493334 74.666666 32 32 0 1 1-62.506666 13.44 128 128 0 0 1 162.986666-149.333333 32 32 0 0 1 21.12 39.893333z\" p-id=\"7679\"></path></svg>`;\nclass PageCode extends _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    /** 支持缓存 */\n    cacheKey(intent) {\n        return intent.code;\n    }\n    renderTimeLine(intent) {\n        const time = this.inject.getVisit(intent.code);\n        // const curTime = new Date().getTime();\n        // //如果是刚刚,则直接返回\n        // if (curTime - time < 1000) return \"\";\n        // let str = \"\";\n        // if (curTime - time < 60 * 1000) {\n        //     str = \"刚刚一分钟内\";\n        // } else if (curTime - time < 60 * 60 * 1000) {\n        //     str = `${Math.floor((curTime - time) / 60 / 1000)}分钟前`;\n        // } else if (curTime - time < 24 * 60 * 60 * 1000) {\n        //     str = `${Math.floor((curTime - time) / 60 / 60 / 1000)}小时前`;\n        // } else if (curTime - time < 30 * 24 * 60 * 60 * 1000) {\n        //     str = `${Math.floor((curTime - time) / 24 / 60 / 60 / 1000)}天前[${Tool.format(time, \"yyyy年MM月dd日 hh:mm:ss\")}]`;\n        // } else {\n        //     str = Tool.format(time, \"yyyy年MM月dd日 hh:mm:ss\");\n        // }\n        const str = _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTime(time);\n        if (!str)\n            return \"\";\n        return `<wie-intro>于 ${str} 浏览过</wie-intro>`;\n    }\n    render(div, intent) {\n        this.log(\"render\", this.inject.getVisit(intent.code));\n        return `\r\n        <div id='wie-code'>\r\n            <wie-area class='no-border'>\r\n                    <div class='wie-video'>\r\n                        <div id=\"wie-trailer-content\">\r\n                            <wie-trailer-btn></wie-trailer-btn>\r\n                            ${new _UI_UITrailer__WEBPACK_IMPORTED_MODULE_28__[\"default\"](this).hold()}\r\n                        </div>\r\n                        ${new _UI_UICover__WEBPACK_IMPORTED_MODULE_10__[\"default\"](this).hold()}\r\n                    </div>\r\n                    <div class='wie-keys'>\r\n                        ${new _UI_UITitle__WEBPACK_IMPORTED_MODULE_27__[\"default\"](this).hold()}\r\n                        <div id='wie-line'>\r\n                            ${new _UI_UICollect__WEBPACK_IMPORTED_MODULE_8__[\"default\"](this).hold()}\r\n                            ${new _UI_UICode__WEBPACK_IMPORTED_MODULE_7__[\"default\"](this).hold()}\r\n                            ${new _UI_UIZh__WEBPACK_IMPORTED_MODULE_30__[\"default\"](this).hold()}\r\n                            ${new _UI_UIScore__WEBPACK_IMPORTED_MODULE_21__[\"default\"](this).hold()}\r\n                            ${new _UI_UIReleaseDate__WEBPACK_IMPORTED_MODULE_20__[\"default\"](this).hold()}\r\n                        </div>\r\n                        ${this.renderTimeLine(intent)}\r\n                        ${new _UI_UIEmby__WEBPACK_IMPORTED_MODULE_14__[\"default\"](this).hold()}\r\n                    </div>\r\n                    ${new _UI_UIButtons__WEBPACK_IMPORTED_MODULE_6__[\"default\"](this, void 0, \"wie-links\").hold()}\r\n\r\n                    <div class='wie-tabs'>\r\n                        <wie-tab id=\"wie-tab-base\">信息</wie-tab>\r\n                        <wie-tab id=\"wie-tab-image\">预览</wie-tab>\r\n                        <wie-tab id=\"wie-tab-video\">视频<span id='wie-videos-count'></span></wie-tab>\r\n                        <wie-tab id=\"wie-tab-magnet\">磁链<span id='wie-magnet-count'></span></wie-tab>\r\n                        <wie-tab id=\"wie-tab-introduce\">简介</wie-tab>\r\n                    </div>\r\n                </wie-area>\r\n\r\n                <div class='wie-scroll'>\r\n                    <div id='wie-info-base'>\r\n                        ${new _UI_UIActors__WEBPACK_IMPORTED_MODULE_5__[\"default\"](this).hold()}\r\n                        <wie-area>\r\n                            <wie-name>\r\n                            <svg t=\"1697546614063\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"41668\" width=\"128\" height=\"128\"><path d=\"M995.125144 559.61812l-415.998603-415.998602A52.986489 52.986489 0 0 0 541.413335 127.99957H338.847348c-3.166656-26.559911-9.286635-51.046495-17.999939-71.333094C299.734146 7.333309 271.154242 0 256.00096 0c-13.939953 0-40.439864 6.339979-61.259794 48.806503-10.473298 21.366595-17.946606 48.966502-21.573261 79.193067H53.334974a53.393154 53.393154 0 0 0-53.333154 53.333154v360.078791a52.986489 52.986489 0 0 0 15.619948 37.713206l415.998602 415.998603a53.333154 53.333154 0 0 0 75.426413 0l26.286579-26.293245 26.286578 26.293245a53.426487 53.426487 0 0 0 16.719944 11.333295 21.333262 21.333262 0 0 0 36.079879 11.293295l382.705381-382.705381a53.399821 53.399821 0 0 0 0-75.426413z m-762.070774-491.998347C241.494342 50.373164 250.667645 42.666523 256.00096 42.666523c5.99998 0 16.573278 9.639968 25.646581 30.806564 6.493312 15.159949 11.333295 33.999886 14.146619 54.526483H216.16776c3.206656-23.419921 9.013303-44.359851 16.88661-60.41313z m243.819181 897.330319a10.666631 10.666631 0 0 1-15.079949 0l-415.998603-415.998603A10.573298 10.573298 0 0 1 42.668343 541.411515V181.332724a10.666631 10.666631 0 0 1 10.666631-10.666631h245.332509c0 47.853173-10.373298 92.15969-27.066575 115.632945-5.926647 8.326639-16.566611 14.186619-22.306592 16.113279C204.041135 314.752276 170.667913 356.218803 170.667913 405.331972c0 58.813136 47.853173 106.666308 106.666309 106.666308s106.666308-47.853173 106.666308-106.666308c0-47.086508-30.666564-87.139707-73.079754-101.246327C330.060711 272.705751 341.334007 223.692582 341.334007 170.666093h72.079758a10.573298 10.573298 0 0 1 7.539974 3.126656l415.998603 415.998603a10.666631 10.666631 0 0 1 0 15.079949zM341.334007 405.331972a63.999785 63.999785 0 1 1-63.999785-63.999785 64.073118 64.073118 0 0 1 63.999785 63.999785z m263.539114 559.61812a10.666631 10.666631 0 0 1-15.079949 0L563.499927 938.663513l303.625647-303.61898a53.399821 53.399821 0 0 0 0-75.426413L478.16688 170.666093h63.246455a10.573298 10.573298 0 0 1 7.539974 3.126656l415.998603 415.998603c0.239999 0.239999 0.466665 0.486665 0.666664 0.746664l0.086667 0.106666a10.666631 10.666631 0 0 1 0 13.373289l-0.086667 0.106666c-0.213333 0.259999-0.439999 0.506665-0.666664 0.746664z\" p-id=\"41669\"></path></svg>\r\n                            标签</wie-name>\r\n                            ${new _UI_UITags__WEBPACK_IMPORTED_MODULE_26__[\"default\"](this).hold()}\r\n                        </wie-area>\r\n                        <wie-area>\r\n                            <wie-name>\r\n                            <svg t=\"1697546506289\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"38796\" width=\"128\" height=\"128\"><path d=\"M828.465335 900.361927h-81.522914l-26.171563-68.587544h-120.329025l-24.66745 68.587544h-79.717979l117.320799-300.822562h94.458285z m-136.272621-143.793184l-32.488836-87.238543-30.683902 86.93772z\" fill=\"#231815\" p-id=\"38797\"></path><path d=\"M300.822562 572.766157v360.987074a90.246769 90.246769 0 0 0 90.246768 90.246769h541.480611a90.246769 90.246769 0 0 0 90.246769-90.246769v-360.987074a90.246769 90.246769 0 0 0-90.246769-90.246768H391.06933a90.246769 90.246769 0 0 0-90.246768 90.246768z m601.645123 360.987074H421.151586a30.082256 30.082256 0 0 1-30.082256-30.082256v-300.822561a30.082256 30.082256 0 0 1 30.082256-30.082257h481.316099a30.082256 30.082256 0 0 1 30.082256 30.082257v300.822561a30.082256 30.082256 0 0 1-30.082256 30.082256zM631.426557 318.871915l-180.493537 120.329025a30.082256 30.082256 0 0 1-46.92832-24.968273v-240.658049a30.082256 30.082256 0 0 1 46.92832-24.968273l180.493537 120.329025a30.082256 30.082256 0 0 1 0 49.936545z\" fill=\"#231815\" p-id=\"38798\"></path><path d=\"M120.329025 572.766157a30.082256 30.082256 0 0 1-30.082256-30.082256v-421.151586a30.082256 30.082256 0 0 1 30.082256-30.082256h782.13866a30.082256 30.082256 0 0 1 30.082256 30.082256v270.740305h90.246769v-300.822561a90.246769 90.246769 0 0 0-90.246769-90.246769H90.246769a90.246769 90.246769 0 0 0-90.246769 90.246769v481.316098a90.246769 90.246769 0 0 0 90.246769 90.246769h120.329024v-90.246769z\" p-id=\"38799\"></path></svg>\r\n                            中文字幕</wie-name>\r\n                            ${new _UI_UISubs__WEBPACK_IMPORTED_MODULE_25__[\"default\"](this).hold()}\r\n                        </wie-area>\r\n\r\n                        <wie-area>\r\n                            <wie-name>${_SVGConst__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Info} 关于</wie-name>\r\n                            <div><span class='wie-name'>剧情:</span>${new _UI_UIDesc__WEBPACK_IMPORTED_MODULE_11__[\"default\"](this, void 0, \"wie-desc\").hold()}</div>\r\n                            <div><span class='wie-name'>发行:</span>${new _UI_UIReleaseDate__WEBPACK_IMPORTED_MODULE_20__[\"default\"](this).hold()}</div>\r\n                            <div><span class='wie-name'>导演:</span>${new _UI_UIDirector__WEBPACK_IMPORTED_MODULE_12__[\"default\"](this).hold()}</div>\r\n                            <div><span class='wie-name'>时长:</span>${new _UI_UIDuration__WEBPACK_IMPORTED_MODULE_13__[\"default\"](this).hold()}</div>\r\n                            <div><span class='wie-name'>制作:</span>${new _UI_UIStudio__WEBPACK_IMPORTED_MODULE_24__[\"default\"](this).hold()}</div>\r\n                            <div><span class='wie-name'>系列:</span>${new _UI_UISeries__WEBPACK_IMPORTED_MODULE_22__[\"default\"](this).hold()}</div>\r\n                        </wie-area>\r\n\r\n\r\n                        <wie-area>\r\n                            <wie-name>\r\n                            <svg t=\"1697546730770\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"61213\" width=\"128\" height=\"128\"><path d=\"M696.32 368.64c158.35136 0 286.72 128.36864 286.72 286.72 0 67.91168-23.61344 130.31424-63.0784 179.42528l16.6912 50.03264a40.96 40.96 0 0 1-51.8144 51.8144l-65.96608-21.99552A285.61408 285.61408 0 0 1 696.32 942.08c-158.35136 0-286.72-128.36864-286.72-286.72s128.36864-286.72 286.72-286.72z m0 61.44c-124.416 0-225.28 100.864-225.28 225.28s100.864 225.28 225.28 225.28c30.98624 0 61.00992-6.22592 88.73984-18.14528l7.51616-3.3792 22.3232-10.56768 50.50368 16.83456-14.31552-42.94656 20.992-26.13248A224.0512 224.0512 0 0 0 921.6 655.36c0-124.416-100.864-225.28-225.28-225.28z\"  p-id=\"61214\"></path><path d=\"M430.08 81.92c214.89664 0 389.12 174.22336 389.12 389.12s-174.22336 389.12-389.12 389.12a387.6864 387.6864 0 0 1-162.22208-35.328L157.4912 857.94816a40.96 40.96 0 0 1-51.52768-49.11104l0.90112-3.072 27.32032-81.98144A387.584 387.584 0 0 1 40.96 471.04C40.96 256.14336 215.18336 81.92 430.08 81.92z\"  p-id=\"61215\"></path><path d=\"M430.08 143.36C249.09824 143.36 102.4 290.05824 102.4 471.04a326.0416 326.0416 0 0 0 73.19552 206.4384l5.3248 6.36928 22.54848 26.4192-25.82528 77.47584 94.78144-28.42624 21.07392 9.68704A326.22592 326.22592 0 0 0 430.08 798.72c180.98176 0 327.68-146.69824 327.68-327.68S611.06176 143.36 430.08 143.36z\" fill=\"#FFFFFF\" p-id=\"61216\"></path><path d=\"M245.76 327.68m40.96 0l286.72 0q40.96 0 40.96 40.96l0 0q0 40.96-40.96 40.96l-286.72 0q-40.96 0-40.96-40.96l0 0q0-40.96 40.96-40.96Z\"  p-id=\"61217\"></path><path d=\"M245.76 532.48m40.96 0l163.84 0q40.96 0 40.96 40.96l0 0q0 40.96-40.96 40.96l-163.84 0q-40.96 0-40.96-40.96l0 0q0-40.96 40.96-40.96Z\"  p-id=\"61218\"></path></svg>\r\n                            评论</wie-name>\r\n                            ${new _UI_UIComment__WEBPACK_IMPORTED_MODULE_9__[\"default\"](this).hold()}\r\n                        </wie-area>\r\n                    </div>\r\n\r\n                    <div id='wie-info-magnet'>\r\n                        <wie-area>\r\n                            ${new _UI_UIMagnet__WEBPACK_IMPORTED_MODULE_17__[\"default\"](this).hold()}\r\n                        </wie-area>\r\n                    </div>\r\n                    \r\n\r\n                    <div id='wie-info-image'>\r\n                        <wie-area>\r\n                            ${new _UI_UIPreview__WEBPACK_IMPORTED_MODULE_18__[\"default\"](this).hold()}\r\n                            ${new _UI_UIImage__WEBPACK_IMPORTED_MODULE_15__[\"default\"](this).hold()}\r\n                        </wie-area>\r\n                    </div>\r\n\r\n                    <div id='wie-info-video'>\r\n                        ${new _UI_UIVideos__WEBPACK_IMPORTED_MODULE_29__[\"default\"](this).hold()}\r\n                    </div>\r\n\r\n                    <div id='wie-info-introduce'>\r\n                        ${new _UI_UIIntroduce__WEBPACK_IMPORTED_MODULE_16__[\"default\"](this).hold()}\r\n                    </div>\r\n                </div>\r\n                ${new _UI_UIProgress__WEBPACK_IMPORTED_MODULE_19__[\"default\"](this).hold()}\r\n                <div class='wie-info'>\r\n                    <wie-info class='wie-info-title'>WIE</wie-info>\r\n                    <wie-info class='wie-info-version'>V1.0.0</wie-info>\r\n                    ${new _UI_UIStat__WEBPACK_IMPORTED_MODULE_23__[\"default\"](this).hold()}\r\n                    <div id='wie-go-collect' class=\"wie-info-btn\" wie-tooltip='收藏番号'>${_SVGConst__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Collect}</div>\r\n                    <div id='wie-go-follow' class='wie-info-btn' wie-tooltip='关注演员'>${FollowSvg}</div>\r\n                </div> \r\n            </div>\r\n        `;\n        //\n    }\n    /**\n     * 是否收藏\n     * @param code\n     * @returns\n     */\n    isCollect(code) {\n        const { Collect } = this.inject.setting;\n        return !!Collect.codes[code.code];\n    }\n    /**\n     * 收藏\n     * @param code\n     */\n    collect(code) {\n        const { Collect } = this.inject.setting;\n        if (!Collect.codes[code.code]) {\n            const { cover, title, code: iCode } = code;\n            Collect.codes[code.code] = { code: iCode, cover, name: title, from: \"Collect\", zh: code.releaseDate, duration: _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].format(Date.now(), \"yyyy-MM-dd hh:mm:ss\") };\n        }\n        else {\n            delete Collect.codes[code.code];\n        }\n        this.log(\"collect\", Collect);\n        this.inject.updateSetting({ Collect });\n    }\n    /**\n     * 演员cup排行榜 brush 排行榜\n     * @param actor\n     */\n    saveActor(actor) {\n        this.sortActor(actor, \"bust\");\n        this.sortActor(actor, \"hip\");\n    }\n    sortActor(actor, type) {\n        //如果信息不存在,则不进行排序\n        if (!actor[type])\n            return;\n        const value = Number(actor[type].replace(/[^0-9]/gi, \"\"));\n        if (isNaN(value))\n            return;\n        const { Rank } = this.inject.setting;\n        const { actors } = Rank;\n        const list = Rank[type];\n        //检测是否比最后一个大 或者 长度小于10\n        list.push(actor.name);\n        let need = false;\n        if (!actors[actor.name])\n            need = true;\n        actors[actor.name] = actor;\n        Rank[type] = Array.from(new Set(list))\n            .sort((a, b) => (Number(actors[a][type]) < Number(actors[b][type]) ? 1 : -1))\n            .slice(0, this.inject.setting.Rank.length);\n        //从actors移除不存在的演员\n        if (need && !Rank[type].includes(actor.name))\n            delete actors[actor.name];\n        const set = new Set(Rank.bust.concat(Rank.hip));\n        Object.keys(actors).forEach((key) => {\n            if (!set.has(key))\n                delete actors[key];\n        });\n        //更新设置\n        // this.log(\"saveActor\", Rank,actor);\n        this.inject.updateSetting({ Rank });\n    }\n    onCreate(div) {\n        const scroll = div.querySelector(\".wie-scroll\");\n        scroll.addEventListener(\"wheel\", (e) => {\n            const { scrollHeight, scrollTop, clientHeight } = scroll;\n            if (scrollHeight <= clientHeight)\n                return;\n            if (e.deltaY > 0) {\n                scroll.scrollTop = Math.max(scrollTop + 50, 0);\n            }\n            else {\n                scroll.scrollTop = Math.min(scrollTop - 50, scrollHeight - clientHeight);\n            }\n        });\n        //tab项控制\n        new _BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_3__[\"default\"](div, {\n            tabs: [\"base\", \"image\", \"video\", \"magnet\", \"introduce\"],\n            tabPrefix: \"wie-tab-\",\n            contentPrefix: \"wie-info-\",\n        });\n        this.inject.updateSearchInfo(\"view\");\n        //绑定收藏按钮\n        const collect = div.querySelector(\"#wie-go-collect\");\n        collect.addEventListener(\"click\", () => {\n            this.inject.startPage(_PageCollect__WEBPACK_IMPORTED_MODULE_32__[\"default\"]);\n        });\n        //绑定关注按钮\n        const follow = div.querySelector(\"#wie-go-follow\");\n        follow.addEventListener(\"click\", () => {\n            this.inject.startPage(_PageActorFollow__WEBPACK_IMPORTED_MODULE_31__[\"default\"]);\n        });\n    }\n}\nPageCode.Name = \"PageCode\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PageCode);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/PageCode.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/PageCollect.ts":
    /*!***************************************************!*\
      !*** ./src/Injects/CodeFind/pages/PageCollect.ts ***!
      \***************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/Page */ \"./src/lib/Pages/Page.ts\");\n/* harmony import */ var _PageCode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\n\n\nclass PageCollect extends _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.collect = {};\n    }\n    create(intent) {\n        var _a;\n        intent.loading = false;\n        super.create(intent);\n        this.collect = (_a = this.inject.setting.Collect.codes) !== null && _a !== void 0 ? _a : {};\n    }\n    render(page) {\n        var _a;\n        this.log(\"render\", this.collect);\n        return `\r\n        <wie-area class='no-border'>\r\n            <wie-title>关注番号列表</wie-title>\r\n        </wie-area>\r\n        <div class='wie-scroll'>\r\n            <wie-area class='wie-grid'>\r\n                ${this.renderCodes(Object.values((_a = this.collect) !== null && _a !== void 0 ? _a : {}))}\r\n            </wie-area>\r\n        </div>\r\n        `;\n    }\n    renderCodes(codes) {\n        if (codes.length === 0)\n            return `<wie-null>暂无关注番号</wie-null>`;\n        return codes\n            .map((v, i) => {\n            var _a;\n            return `<div class='wie-video-item' index=${v.code} >\r\n                    <div class=\"video-item-cover\">\r\n                        <img src=\"${v.cover}\" alt=\"\" referrerpolicy=\"no-referrer\"/>\r\n                        <div class=\"video-preview\"></div>\r\n                        ${v.zh ? `<span class='zh'>发布日期:${v.zh}</span>` : \"\"}\r\n                        <span class='duration'>收藏日期:${(_a = v.duration) !== null && _a !== void 0 ? _a : \"\"}</span>\r\n                    </div>\r\n                    <div class='title'><span style='font-size: 15px;'>${v.code}</span>   ${v.name}</div>\r\n                    </div>`;\n        })\n            .join(\"\");\n        // <div class='collect'>取消收藏</div>\n    }\n    /**\n     * 收藏\n     * @param code\n     */\n    unCollect(code) {\n        const { Collect } = this.inject.setting;\n        delete Collect.codes[code];\n        this.inject.updateSetting({ Collect });\n    }\n    onCreate(page, intent) {\n        const collect = this.collect;\n        //绑定点击事件\n        page.querySelectorAll(\".wie-video-item\").forEach((v) => {\n            v.addEventListener(\"click\", (e) => {\n                e.stopPropagation();\n                const target = e.currentTarget;\n                const i = target.getAttribute(\"index\");\n                const video = collect[i];\n                if (!video)\n                    return;\n                //跳转到Code页\n                this.log(`跳转到Code页: `, video, target, i);\n                const { code, cover, name } = video;\n                this.inject.startPage(_PageCode__WEBPACK_IMPORTED_MODULE_1__[\"default\"], { code, cover, title: name });\n            });\n        });\n        //绑定取消收藏事件\n        page.querySelectorAll(\".collect\").forEach((v) => {\n            v.addEventListener(\"click\", (e) => {\n                e.stopPropagation();\n                const target = e.currentTarget;\n                const i = target.parentElement.getAttribute(\"index\");\n                const video = collect[i];\n                this.log(`取消收藏: `, video, target, i);\n                //删除\n                this.unCollect(video.code);\n            });\n        });\n    }\n}\nPageCollect.Name = \"PageCollect\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PageCollect);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/PageCollect.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/CodeFind/pages/PageRank.ts":
    /*!************************************************!*\
      !*** ./src/Injects/CodeFind/pages/PageRank.ts ***!
      \************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/Page */ \"./src/lib/Pages/Page.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Emby/EmbyTool */ \"./src/Injects/Emby/EmbyTool.ts\");\n/* harmony import */ var _BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../BaseUI/TabControl */ \"./src/Injects/CodeFind/BaseUI/TabControl.ts\");\n/* harmony import */ var _SVGConst__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n/* harmony import */ var _Tools_Actor__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Tools/Actor */ \"./src/Injects/CodeFind/Tools/Actor.ts\");\n/* harmony import */ var _PageActor__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PageActor */ \"./src/Injects/CodeFind/pages/PageActor.ts\");\n\n\n\n\n\n\n\n_WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].UIStyles.add(`\r\n.wie-actor-content {\r\n    position: relative;\r\n    border: 1px solid var(--mainBorderColor);\r\n    border-radius: 8px;\r\n    margin: 10px 0 0 0;\r\n    cursor: pointer;\r\n}\r\n\r\n.wie-actor-content:hover{\r\n    border-color: var(--mainColor);\r\n    background-color: var(--mainLLColor);\r\n}\r\n\r\n.wie-actor-content .wie-actor-line:nth-child(2),\r\n.wie-actor-content .wie-actor-line:nth-child(3){\r\n    margin-left: 40px;\r\n}\r\n\r\n.wie-actor-line.important {\r\n    color: #db363c;\r\n    font-weight: 700;\r\n    font-size: 15px;\r\n}\r\n#wie-info-bust wie-card,\r\n#wie-info-hip wie-card  {\r\n    width: 100%;\r\n}\r\n\r\nwie-card.click{\r\n    cursor: pointer;\r\n}\r\n`);\nclass PageRank extends _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    render(page) {\n        const { Rank } = this.inject.setting;\n        const { actors, bust, hip } = Rank;\n        return `\r\n            <wie-area class='no-border'>\r\n                <wie-title>浏览演员排行榜</wie-title>\r\n                <div class='wie-tabs'>\r\n                    <wie-tab id=\"wie-tab-bust\">胸围排行</wie-tab>\r\n                    <wie-tab id=\"wie-tab-hip\">臀围排行</wie-tab>\r\n                </div>\r\n            </wie-area>\r\n            <div class='wie-scroll'>\r\n                <wie-area>\r\n                    <div id='wie-info-bust' class='wie-grid'>\r\n                        ${this.renderActors(bust, actors)}\r\n                    </div>\r\n                    <div id='wie-info-hip' class='wie-grid'>\r\n                        ${this.renderActors(hip, actors, \"hip\")}\r\n                    </div>\r\n                </wie-area>\r\n            </div>\r\n        `;\n    }\n    onCreate(page, intent) {\n        //绑定tab事件\n        const tabs = [\"bust\", \"hip\"];\n        //tab项控制\n        new _BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_3__[\"default\"](page, {\n            tabs,\n            tabPrefix: \"wie-tab-\",\n            contentPrefix: \"wie-info-\",\n            active: tabs.indexOf(intent.key),\n        });\n        //添加点击事件\n        page.querySelectorAll(\"wie-card\").forEach((item) => {\n            item.addEventListener(\"click\", () => {\n                const { Rank } = this.inject.setting;\n                const { actors } = Rank;\n                const name = item.getAttribute(\"key\");\n                if (name && actors[name]) {\n                    this.inject.startPage(_PageActor__WEBPACK_IMPORTED_MODULE_6__[\"default\"], Object.assign({}, actors[name]));\n                }\n            });\n        });\n        //屏蔽所有a标签的冒泡\n        page.querySelectorAll(\"a\").forEach((a) => {\n            a.addEventListener(\"click\", (e) => {\n                e.stopPropagation();\n            });\n        });\n    }\n    renderActors(rank, actors, type = \"bust\") {\n        if (!rank || rank.length == 0)\n            return `<wie-null>暂无浏览演员</wie-null>`;\n        return rank.map((id, index) => this.renderActor(actors[id], index + 1, type)).join(\"\");\n    }\n    renderActor(actor, index, type = \"bust\") {\n        var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n        let embyUrl = _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].actorUrl(actor.emby);\n        return `\r\n            <wie-card class=\"click\" style='background-image:url(${actor.cover})' key='${actor.name}'>\r\n                <wie-num>${(index < 10 ? \"0\" : \"\") + `${index}`}</wie-num>\r\n                <wie-card-info>\r\n                    <wie-avatar>\r\n                        <img src='${(_a = actor.avatar) !== null && _a !== void 0 ? _a : \"https://s1.ax1x.com/2023/03/25/ppDcgRP.png\"}'/>\r\n                    </wie-avatar>\r\n                    <div class='name'>${actor.name}</div>\r\n                    <div class='wie-actor-line left'>\r\n                        ${actor.birthday ? `<span>${actor.birthday}${_Tools_Actor__WEBPACK_IMPORTED_MODULE_5__[\"default\"].calcAge(actor.birthday)}</span>` : \"\"}\r\n                        ${actor.height ? `<span>${actor.height}cm</span>` : \"\"}\r\n                        <span>${(_b = actor.blood) !== null && _b !== void 0 ? _b : \"\"}</span>\r\n                    </div>\r\n                \r\n                    <div class='wie-actor-line left'><span class='wie-name'>罩杯:</span><span >${_Tools_Actor__WEBPACK_IMPORTED_MODULE_5__[\"default\"].renderCup(actor.cup)}</span></div>\r\n                    <div class='wie-actor-line half${\"bust\" === type ? \" important\" : \"\"}'><span class='wie-name'>胸围:</span>\r\n                        <span >${(_c = actor.bust) !== null && _c !== void 0 ? _c : \"--\"}</span>\r\n                    </div>\r\n                    <div class='wie-actor-line half${\"hip\" === type ? \" important\" : \"\"}'>\r\n                        <span class='wie-name'>臀围:</span>\r\n                        <span >${(_d = actor.hip) !== null && _d !== void 0 ? _d : \"--\"}</span>\r\n                    </div>\r\n                    <div class='wie-actor-line half'><span class='wie-name'>腰围:</span><span >${(_e = actor.waist) !== null && _e !== void 0 ? _e : \"--\"}</span></div>\r\n                    ${actor.alias ? `<div class='wie-actor-line'><span class='wie-name'>别名:</span><span >${actor.alias}</span></div>` : \"\"}\r\n                    <div class='wie-actor-line'><span class='wie-name'>爱好:</span><span >${(_f = actor.hobby) !== null && _f !== void 0 ? _f : \"--\"}</span></div>\r\n                    <div class='wie-actor-line'><span class='wie-name'>生涯:</span><span >${(_g = actor.time) !== null && _g !== void 0 ? _g : \"--\"}</span></div>\r\n                    <div class='wie-actor-line'><span class='wie-name'>标签:</span><span >${(_j = (_h = actor.tags) === null || _h === void 0 ? void 0 : _h.join(\" \")) !== null && _j !== void 0 ? _j : \"--\"}</span></div>\r\n                    <wie-button class='wie-actor-line-link'><a target='_blank' href='${actor.link ? actor.link : `https://javdb.com/search?q=${actor.name}`}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Search} JavDB</a></wie-button>\r\n                    <wie-button class='wie-actor-line-link'><a target='_blank' href='https://missav.com/actresses/${actor.name}?sort=views'>${_SVGConst__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Search} Miss</a></wie-button>\r\n                    ${actor.link_m ? `<wie-button class='wie-actor-line-link'><a target='_blank' href='${actor.link_m}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Search} Msin</a></wie-button>` : \"\"}\r\n                    ${actor.sns ? `<wie-button class='wie-actor-line-link'><a target='_blank' href='${(_k = actor.sns) !== null && _k !== void 0 ? _k : \"#\"}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Search} SNS</a></wie-button>` : \"\"}\r\n                    <wie-button class='wie-actor-line-link ${!!embyUrl}'><a target='_blank' href='${embyUrl}'>${_SVGConst__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Search} Emby</a></wie-button>\r\n                </wie-card-info>\r\n            </wie-card>\r\n            `;\n    }\n}\nPageRank.Name = \"PageRank\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PageRank);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/CodeFind/pages/PageRank.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/EmbyTags/EmbyTags.ts":
    /*!******************************************!*\
      !*** ./src/Injects/EmbyTags/EmbyTags.ts ***!
      \******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _MenuInject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../MenuInject */ \"./src/Injects/MenuInject.ts\");\n/* harmony import */ var _TagsFixed__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TagsFixed */ \"./src/Injects/EmbyTags/TagsFixed.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\nconst Style = `\r\n\r\n.wie-tags-area{\r\n    position: fixed;\r\n    bottom: 20px;\r\n    right: 20px;\r\n    z-index: 9999;\r\n    color: var(--mainTextColor);\r\n}\r\nwie-button-tag {\r\n        font-size: 12px;\r\n        background: #f5f5f5;\r\n        border: 1px solid #d6d5d5;\r\n        padding: 5px 10px;\r\n        border-radius: 5px;\r\n        display: block;\r\n        text-align: center;\r\n        cursor: pointer;\r\n        color: var(--color);\r\n    }\r\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_WIE__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Inject()];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var EmbyTags = _classThis = class extends _MenuInject__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Match = [/localhost:8096[\\s\\S]+\\/videos/];\n        }\n        onLoad() {\n            this.addStyle(Style);\n            this.startTags();\n        }\n        startTags() {\n            this.startFixed(_TagsFixed__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n        }\n        needMenu() {\n            return false;\n        }\n    };\n    __setFunctionName(_classThis, \"EmbyTags\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        EmbyTags = _classThis = _classDescriptor.value;\n    })();\n    _classThis.Name = \"EmbyTags\";\n    _classThis.CName = \"Emby标签\";\n    (() => {\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return EmbyTags = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/EmbyTags/EmbyTags.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/EmbyTags/TagsFixed.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/EmbyTags/TagsFixed.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Toast__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/Toast */ \"./src/Tools/Toast.ts\");\n/* harmony import */ var _Tools_UrlTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Tools/UrlTool */ \"./src/Tools/UrlTool.ts\");\n/* harmony import */ var _lib_Pages_PageFixed__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../lib/Pages/PageFixed */ \"./src/lib/Pages/PageFixed.ts\");\n/* harmony import */ var _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Emby/EmbyTool */ \"./src/Injects/Emby/EmbyTool.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nconst Matches = [\n    [\"媚黑\", \"黑人\", \"黑鬼\", \"BLACKED\", \"尼哥\", \"大黑鸡巴\", \"黑屌\", \"BLACK\", \"blacked\", \"Blacked\", \"BBC\"],\n    [\"按摩\", \"足疗\", \"女技师\", \"spa\", \"SPA\", \"足浴\", \"桑拿\", \"半套\", \"油压\", \"推油\", \"Massage\"],\n    [\"嫖娼\", \"嫖妓\", \"会所\", \"选妃\"],\n    [\"女子SPA\", \"男技师\", \"女子spa\", \"女子Spa\", \"女性私密\"],\n    [\"萝莉\", \"中学生\", \"00后\", \"幼女\", \"高中生\", \"小女孩\", \"高中\", \"少女\", \"零零后\", \"18岁\", \"高三\", \"高二\", \"高一\", \"小巧\"],\n    [\"国_乱伦\", \"乱伦\", \"母子\", \"父女\", \"女儿\", \"父亲\", \"妈妈\", \"母亲\", \"兄妹\", \"亲妹\", \"亲哥哥\", \"家庭\", \"嫂子\", \"弟妹\", \"表妹\", \"丈母娘\", \"Brother\", \"Stepsis\"],\n    [\"父女\", \"女儿\", \"女二\", \"兽父\", \"继女\", \"继父\"],\n    [\"母子\", \"妈妈\", \"母亲\", \"养子\", \"兒子\", \"媽媽\"],\n    [\"兄妹\", \"亲哥哥\", \"亲妹\"],\n    [\"姐弟\", \"小弟弟\", \"姐姐\", \"弟弟\"],\n    [\"老头子\", \"大爷\", \"大叔\"],\n    [\"淫妻\", \"换妻\", \"绿帽\", \"单男\", \"老婆被人操\", \"深绿\"],\n    [\"换妻\", \"对夫妻\", \"互换\", \"交换\", \"换老婆\", \"老婆换着\"],\n    [\"3P\", \"3P\", \"3p\"],\n    [\"双飞\"],\n    [\"合集\", \"汇编\", \"Compilation\"],\n    [\"国_自拍\", \"自拍\"],\n    [\"公媳\", \"儿媳\", \"公公\", \"公媳\"],\n    [\"直播\"],\n    [\"探花\", \"小宝\", \"探总\", \"泽泽\"],\n    [\"校园\"],\n    [\"吃瓜\", \"大瓜\", \"新瓜\", \"门事件\", \"泄密\", \"流出\"],\n    [\"偷情\", \"偷偷\", \"偷情\", \"情人\", \"勾引\", \"出轨\", \"偷窥\", \"偷看\", \"偷跑\", \"我老公\", \"勾搭\", \"仙妻\", \"背着\"],\n    [\"开苞\", \"破处\", \"初体验\"],\n    [\"偷窥\", \"偷听\"],\n    [\"摄像头\", \"监控\"],\n    [\"内射\", \"射里面\", \"射满\", \"灌满\", \"注入\", \"射的太深\", \"射进去\", \"Creampies\", \"中出\", \"射我\"],\n    [\"车震\"],\n    [\"群交\", \"群P\", \"群p\", \"狂欢\", \"聚众\", \"聚会\", \"五人\", \"多人\", \"四人\", \"三人\", \"3人\", \"四P\", \"轮番\", \"淫乱\", \"集体\", \"四个人\", \"一起操\", \"5P\", \"天上人间\", \"5v\", \"5p\", \"4p\", \"4P\", \"一起干\"],\n    [\"小马拉大车\"],\n    [\"电话\", \"来电\", \"通话\"],\n    [\"网红\"],\n    [\"野外\"],\n    [\"海角\"],\n    [\"骚逼\", \"母狗\", \"骚女\", \"主人\", \"太骚\", \"肉便器\", \"骚话\", \"好骚\"],\n    [\"清纯\", \"太纯\", \"纯欲\", \"傻白甜\"],\n    [\"对白\", \"对话\", \"骚话\"],\n    [\"极品\", \"颜值\", \"完美\", \"貌美\", \"绝美\", \"女神\", \"高颜\", \"漂亮\", \"尤物\", \"美女\", \"顶级\", \"校花\", \"天使\", \"Beautiful\", \"长的好看\", \"体育生\", \"身材真好\", \"超美\"],\n    [\"潜规则\"],\n    [\"神作\"],\n    [\"空姐\"],\n    [\"美臀\", \"臀\", \"大白屁股\"],\n    [\"迷奸\", \"捡走\", \"捡尸\"],\n    [\"闺蜜\"],\n    [\"人妻\"],\n    [\"巨乳\", \"大奶\", \"大美乳\", \"胸大\"],\n    [\"美乳\"],\n    [\"白虎\"],\n    [\"白嫩\", \"肤白\", \"鲜嫩\", \"粉嫩\", \"白皙\", \"嫩穴\"],\n    [\"嫩逼\", \"嫩穴\"],\n    [\"潮喷\", \"喷\"],\n    [\"反差\"],\n    [\"女友\"],\n    [\"教师\", \"老师\", \"教授\"],\n    [\"长腿\", \"美足\"],\n    [\"丝袜\", \"渔网\", \"网丝\", \"网袜\", \"黑丝\"],\n    [\"护士\"],\n    [\"调教\"],\n    [\"口交\", \"品屌\", \"口爆\", \"吃鸡\", \"吃大鸡\", \"口暴\", \"吃精\"],\n    [\"口爆\", \"吃精\", \"口暴\"],\n    [\"后入\"],\n    [\"新婚\", \"婚纱\", \"新娘\", \"婚房\", \"结婚\"],\n    [\"女上位\", \"女上\", \"自动榨精\", \"坐莲\"],\n    [\"深喉\", \"Throat\"],\n    [\"约炮\"],\n    [\"肛交\", \"屁眼\"],\n    [\"伴娘\"],\n    [\"泡良\"],\n    [\"打桩\"],\n    [\"露脸\"],\n    [\"高冷\"],\n    [\"同事\"],\n    [\"健身\", \"教练\", \"私教\"],\n    [\"洋屌\"],\n    [\"学生\", \"大学生\", \"研究生\", \"大一\", \"大二\", \"大三\", \"大四\"],\n    [\"可爱\"],\n    [\"眼镜\"],\n    [\"高潮\"],\n    [\"套路\", \"磨一磨\", \"强上\", \"磨磨\", \"强插\", \"强推\", \"拿出来\", \"矜持\"],\n    [\"无套\", \"不带套\"],\n    [\"真实\"],\n    [\"刺激\", \"担心\", \"一边\"],\n    [\"女仆\"],\n    [\"异域\"],\n];\nconst NameReplace = [\n    \" Chinese homemade video\",\n    \"([\\\\s\\\\S]*?完整版[\\\\s\\\\S]*?)\",\n    \"《[\\\\s\\\\S]*?联系[\\\\s\\\\S]*?》\",\n    \"【[\\\\s\\\\S]*?联系[\\\\s\\\\S]*?】\",\n    \"【[\\\\s\\\\S]*?渠道[\\\\s\\\\S]*?】\",\n    \"【[\\\\s\\\\S]*?约炮[\\\\s\\\\S]*?】\",\n    \"【完整版[\\\\s\\\\S]*?】\",\n    \"【[\\\\s\\\\S]*?简 介[\\\\s\\\\S]*?】\",\n    \"Chinese homemade video_2\",\n    \"- 好色™ Tv\",\n];\nclass TagsFixed extends _lib_Pages_PageFixed__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.startTimer = 0;\n        this.ing = false;\n    }\n    show() {\n        // return this.intent.videos.length > 0;\n        return true;\n    }\n    pageWidth() {\n        return 200;\n    }\n    tip() {\n        // const length = this.intent.videos.length;\n        // return length > 0 ? length + \"\" : undefined;\n    }\n    render(page, intent) {\n        return `\r\n        <div class='wie-f-videos'>\r\n            <wie-button-item class='increment'>增量分析</wie-button-item>\r\n            <wie-button-item class='all'>全部分析</wie-button-item>\r\n        </div>\r\n       `;\n    }\n    onCreate(page, intent) {\n        page.querySelector(\".increment\").addEventListener(\"click\", (e) => {\n            this.beginOne(false, this.updateProgress.bind(this, \"增量分析\", e.target));\n        });\n        page.querySelector(\".all\").addEventListener(\"click\", (e) => {\n            this.beginOne(true, this.updateProgress.bind(this, \"全部分析\", e.target));\n        });\n    }\n    updateProgress(str, div, total, cur) {\n        if (total === cur) {\n            _Tools_Toast__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Instance.show(\"分析完成\");\n            div.innerHTML = str;\n            return;\n        }\n        if (cur === 1)\n            _Tools_Toast__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Instance.show(\"开始分析\");\n        div.innerHTML = `${str}(${cur}/${total})`;\n    }\n    beginOne(force = false, call) {\n        if (this.startTimer) {\n            clearTimeout(this.startTimer);\n        }\n        this.startTimer = setTimeout(() => {\n            this.startTimer = 0;\n            this.startVideos(force, call);\n        }, 300);\n    }\n    startVideos(force = false, call) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.ing)\n                return;\n            this.ing = true;\n            this.log(\"开始处理视频\", force);\n            //获取所有视频\n            // let videos = await this.getVideos();\n            const parentId = _Tools_UrlTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getValue(\"parentId\");\n            if (!parentId) {\n                _Tools_Toast__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Instance.show(\"请确定是否在视频列表页\");\n                this.ing = false;\n                return;\n            }\n            let videos = yield _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_3__[\"default\"].embyItems(parentId);\n            this.log(\"WIE\", \"videos\", parentId, videos, this.setting);\n            // videos.map((video: any) => {\n            //     console.log(\"WIE\", \"video\", video.Name, video);\n            // });\n            // videos = [videos[0]];\n            //循环处理所有视频\n            const unHand = [];\n            // console.time(\"WIE video 处理\");\n            const updateKey = parentId;\n            const lastTime = (_a = this.setting[updateKey]) !== null && _a !== void 0 ? _a : \"1990-01-01\";\n            const start = new Date(lastTime).getTime();\n            let handCount = 0;\n            for (let i = 0; i < videos.length; i++) {\n                // console.log(\"WIE\", \"lastTime\", new Date(videos[i].DateCreated).getTime(), start);\n                if (!force && new Date(videos[i].DateCreated).getTime() < start)\n                    continue;\n                // console.log(\"WIE\", \"video\", videos[i].Name, videos[i]);\n                // if (i >= 1) break;\n                if (call)\n                    call(videos.length, i + 1);\n                handCount++;\n                yield this.handleVideo(videos[i], i + 1, videos.length, unHand);\n            }\n            // console.timeEnd(\"WIE video 处理\");\n            if (handCount === 0) {\n                _Tools_Toast__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Instance.show(\"没有需要处理的视频\");\n            }\n            this.inject.updateSetting({ [updateKey]: new Date().toISOString() });\n            this.log(\"WIE\", \"未处理视频\", unHand);\n            this.ing = false;\n        });\n    }\n    handleVideo(video, index, total, unHand) {\n        return __awaiter(this, void 0, void 0, function* () {\n            this.log(`[${total}-${index}-${video.Id}]处理视频:${video.Name}`);\n            // return;\n            //从emby中获取视频信息\n            if (video.Type !== \"Movie\")\n                return;\n            let Name = TagsFixed.handleName(video.Name);\n            if (Name === \"\")\n                Name = video.Name;\n            const Tags = this.handleVideoTags(video.Name, video.Tags);\n            const data = { Name: Name, Tags };\n            //判断video是否包含预览图,如果没有,则将章节第一张图作为预览图\n            if (!video.ImageTags.Thumb && video.Chapters.length > 0) {\n                data.ImageTags = { Thumb: video.Chapters[0].ImageTag };\n            }\n            // ImageTags: { Primary: Tags[0] },\n            //获取视频的中文名称\n            this.log(`[${total}-${index}-${video.Id}]处理视频:${video.Name},新名称:${Name},新标签:${Tags}`, data);\n            yield _Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_3__[\"default\"].embyItemUpdate(video.Id, data);\n            if (Tags.length === 0)\n                unHand.push(video.Name);\n            // this.log(`[${total}-${index}-${video.Id}]处理视频:${video.Name},新名称:${Name},新标签:${Tags}`);\n        });\n    }\n    static handleName(name) {\n        return name.replace(new RegExp(NameReplace.join(\"|\"), \"g\"), \"\");\n    }\n    handleVideoTags(name, oldTags = []) {\n        const tags = new Set(oldTags.map((tag) => tag.Name));\n        for (const match of Matches) {\n            if (name.match(new RegExp(match.join(\"|\"), \"g\")))\n                tags.add(match[0]);\n        }\n        return Array.from(tags);\n    }\n}\nTagsFixed.Name = \"TagsFixed\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TagsFixed);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/EmbyTags/TagsFixed.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/EmbyTags/index.ts":
    /*!***************************************!*\
      !*** ./src/Injects/EmbyTags/index.ts ***!
      \***************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _EmbyTags__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmbyTags */ \"./src/Injects/EmbyTags/EmbyTags.ts\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_EmbyTags__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/EmbyTags/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Emby/Emby.ts":
    /*!**********************************!*\
      !*** ./src/Injects/Emby/Emby.ts ***!
      \**********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Inject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Inject */ \"./src/Inject.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _EmbyDetail__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EmbyDetail */ \"./src/Injects/Emby/EmbyDetail.ts\");\n/* harmony import */ var _EmbySelect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmbySelect */ \"./src/Injects/Emby/EmbySelect.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n/**\n * Emby增强\n */\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Inject()];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var Emby = _classThis = class extends _Inject__WEBPACK_IMPORTED_MODULE_0__.Inject {\n        constructor(engine) {\n            super(engine);\n            this.Match = /web\\/index\\.html/;\n            /** 声明拦截器 */\n            this.injects = [_EmbySelect__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _EmbyDetail__WEBPACK_IMPORTED_MODULE_2__[\"default\"]];\n        }\n        onStart() { }\n    };\n    __setFunctionName(_classThis, \"Emby\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        Emby = _classThis = _classDescriptor.value;\n    })();\n    _classThis.Name = \"Emby\";\n    _classThis.CName = \"Emby增强\";\n    (() => {\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return Emby = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Emby/Emby.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Emby/EmbyDetail.ts":
    /*!****************************************!*\
      !*** ./src/Injects/Emby/EmbyDetail.ts ***!
      \****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Inject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Inject */ \"./src/Inject.ts\");\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _EmbyItem__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmbyItem */ \"./src/Injects/Emby/EmbyItem.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nconst Style = `\r\n.wie-emby-image{\r\n    border: 2px solid #ffffff;\r\n    display: inline-block;\r\n    margin: 10px 20px 10px 0;\r\n    vertical-align: top;\r\n    border-radius: 5px;\r\n}\r\n`;\nclass EmbyDetail extends _Inject__WEBPACK_IMPORTED_MODULE_0__.Inject {\n    constructor(engine) {\n        super(engine, {}, Style);\n        this.Match = /\\/item\\?/;\n        this.timer = 1000;\n    }\n    onStart() {\n        const parent = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].select(\"div[is='emby-scroller']:not(.hide) .mainDetailButtons\");\n        if (!_EmbyItem__WEBPACK_IMPORTED_MODULE_3__[\"default\"].EmbyClient())\n            return;\n        //检测是否添加过\n        let potPlayer = document.querySelectorAll(\"div[is='emby-scroller']:not(.hide) #potPlayer\")[0];\n        if (potPlayer)\n            return;\n        this.embyItem = new _EmbyItem__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n        this.inject(parent);\n        // return false;\n    }\n    inject(parent) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            const itemInfo = yield this.embyItem.getItemInfo();\n            if (!itemInfo)\n                return;\n            //添加PotPlayer按钮\n            this.addButton(parent, \"potPlayer\", \"PotPlayer\", () => this.onPotPlayerClick(), \"\");\n            //获取番号\n            const { Path } = itemInfo;\n            //添加复制视频目录\n            let path = (_a = Path.match(/([\\s\\S]+)\\\\/)) === null || _a === void 0 ? void 0 : _a[1];\n            if (path)\n                this.addButton(parent, \"copyVideoPath\", \"复制\", () => _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].copy(path, \"已成功复制信息到粘贴板\"), \"\");\n            //注入预览图\n            this.previewInject();\n        });\n    }\n    /**\n     * 预览图注入\n     * @returns\n     */\n    previewInject() {\n        return __awaiter(this, void 0, void 0, function* () {\n            const itemInfo = yield this.embyItem.getItemInfo();\n            //获取预览图\n            const { BackdropImageTags = [], Id } = itemInfo;\n            const peopleSection = document.querySelectorAll(\"div[is='emby-scroller']:not(.hide) .similarSection\")[0];\n            if (!peopleSection)\n                return;\n            let html = `<div class=\"imageSection\" style=\"margin: 10px 0 0 97px;\">\r\n        `;\n            this.log(\"预览图\", BackdropImageTags, Id);\n            Array.from(new Set(BackdropImageTags)).forEach((img, index) => {\n                //第一个为背景图,不进行展示\n                if (index === 0)\n                    return;\n                this.log(\"预览图\", index, img);\n                let url = `http://${window.location.host}/emby/Items/${Id}/Images/Backdrop/${index}?tag=${img}`;\n                html += `<img class='wie-emby-image'  src=\"${url}\" alt=\"\" />`;\n            });\n            html += `</div>`;\n            peopleSection.insertAdjacentHTML(\"afterbegin\", html);\n        });\n    }\n    /**\n     * 点击播放按钮\n     */\n    onPotPlayerClick() {\n        return __awaiter(this, void 0, void 0, function* () {\n            //获取视频信息\n            let mediaInfo = yield this.embyItem.selectMediaInfo();\n            //let poturl = `potplayer://${encodeURI(mediaInfo.streamUrl)} /sub=${encodeURI(mediaInfo.subUrl)} /current /title=${encodeURI(intent.title)} /seek=${getSeek(intent.position)}`;\n            let url = `potplayer://${encodeURI(mediaInfo.streamUrl)} /sub=${encodeURI(mediaInfo.subUrl)} /title=${mediaInfo.itemInfo.FileName.replace(/\\s/g, \"\")}`;\n            window.open(url, \"_blank\");\n        });\n    }\n    addButton(parent, id, title, callback, icon, tooltip, style, trans) {\n        //添加到第一个位置\n        let html = `<button id=\"${id}\" type=\"button\" style='${style}' class=\"detailButton emby-button ${trans ? \"\" : \"emby-button-backdropfilter raised-backdropfilter\"} detailButton-primary\" title=\"${tooltip !== null && tooltip !== void 0 ? tooltip : title}\">\r\n            <div class=\"detailButton-content\">\r\n                <i class=\"md-icon detailButton-icon button-icon button-icon-left\">${icon}</i>\r\n                <span class=\"button-text\">${title}</span>\r\n            </div>\r\n        </button>`;\n        parent.insertAdjacentHTML(\"afterbegin\", html);\n        document.querySelector(`div[is='emby-scroller']:not(.hide) #${id}`).onclick = callback;\n    }\n}\nEmbyDetail.CName = \"Emby详情页\";\nEmbyDetail.Name = \"EmbyDetail\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EmbyDetail);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Emby/EmbyDetail.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Emby/EmbyItem.ts":
    /*!**************************************!*\
      !*** ./src/Injects/Emby/EmbyItem.ts ***!
      \**************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ EmbyItem)\n/* harmony export */ });\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n/**\n * EmbyClient类\n */\nclass EmbyItem {\n    getItemInfo() {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (!this.itemInfo)\n                this.itemInfo = yield this.ItemInfo();\n            return this.itemInfo;\n        });\n    }\n    static EmbyClient() {\n        try {\n            return ApiClient;\n        }\n        catch (e) {\n            return null;\n        }\n    }\n    /**\n     * 获取当前播放的视频信息\n     * @returns\n     */\n    ItemInfo() {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            //用户ID\n            let userId = ApiClient._serverInfo.UserId;\n            //当前播放的视频ID\n            let itemId = (_a = /[\\?&]id=(\\d*)/.exec(window.location.hash)) === null || _a === void 0 ? void 0 : _a[1];\n            if (!itemId)\n                return null;\n            //当前播放的视频信息\n            let response = yield ApiClient.getItem(userId, itemId);\n            //继续播放当前剧集的下一集\n            if (response.Type == \"Series\") {\n                let seriesNextUpItems = yield ApiClient.getNextUpEpisodes({ SeriesId: itemId, UserId: userId });\n                return yield ApiClient.getItem(userId, seriesNextUpItems.Items[0].Id);\n            }\n            //播放当前季season的第一集\n            if (response.Type == \"Season\") {\n                let seasonItems = yield ApiClient.getItems(userId, { parentId: itemId });\n                return yield ApiClient.getItem(userId, seasonItems.Items[0].Id);\n            }\n            //播放当前集或电影\n            console.log(\"[Emby解析器]\", \"当前视频: \", response);\n            return response;\n        });\n    }\n    /**\n     * 获取Emby媒体信息\n     * @returns { intent:\"视频信息\",subUrl:\"字幕地址\",streamUrl:\"视频地址\" }\n     */\n    selectMediaInfo() {\n        return __awaiter(this, void 0, void 0, function* () {\n            //获取视频信息\n            let itemInfo = yield this.getItemInfo();\n            if (!itemInfo)\n                return null;\n            //获取视频ID\n            let mediaSourceId = itemInfo.MediaSources[0].Id;\n            //如果有选中视频资源,则当前选中视频的ID\n            let selectSource = document.querySelector(\"div[is='emby-scroller']:not(.hide) select.selectSource\");\n            if (selectSource && selectSource.value.length > 0) {\n                mediaSourceId = selectSource.value;\n            }\n            //let selectAudio = document.querySelector(\"div[is='emby-scroller']:not(.hide) select.selectAudio\");\n            //获取选中的视频资源\n            let mediaSource = itemInfo.MediaSources.find((m) => m.Id == mediaSourceId);\n            //\n            let domain = `${ApiClient._serverAddress}/emby/videos/${itemInfo.Id}`;\n            //获取字幕地址\n            let subPath = this.getSubPath(mediaSource);\n            //生成字幕地址\n            let subUrl = subPath.length > 0 ? `${domain}${subPath}?api_key=${ApiClient.accessToken()}` : \"\";\n            //生成视频地址\n            let streamUrl = `${domain}/stream.${mediaSource.Container}?api_key=${ApiClient.accessToken()}&Static=true&MediaSourceId=${mediaSourceId}`;\n            //获取用户上次播放位置\n            let position = parseInt(itemInfo.UserData.PlaybackPositionTicks / 10000 + \"\");\n            //获取视频intent信息\n            let intent = this.getIntent(mediaSource, position);\n            // console.log(\"[Emby解析器]\", streamUrl, subUrl, intent);\n            return {\n                streamUrl: streamUrl,\n                subUrl: subUrl,\n                intent: intent,\n                itemInfo,\n            };\n        });\n    }\n    /**\n     * 获取视频intent信息\n     */\n    getIntent(mediaSource, position) {\n        //视频标题\n        let title = mediaSource.Path.split(\"/\").pop();\n        //额外的视频信息\n        let externalSubs = mediaSource.MediaStreams.filter((m) => m.IsExternal == true);\n        let subs = \"\"; //要求是android.net.uri[] ?\n        let subs_name = \"\";\n        let subs_filename = \"\";\n        let subs_enable = \"\";\n        if (externalSubs) {\n            subs_name = externalSubs.map((s) => s.DisplayTitle);\n            subs_filename = externalSubs.map((s) => s.Path.split(\"/\").pop());\n        }\n        return {\n            title: title,\n            position: position,\n            subs: subs,\n            subs_name: subs_name,\n            subs_filename: subs_filename,\n            subs_enable: subs_enable,\n        };\n    }\n    getSubPath(mediaSource) {\n        let selectSubtitles = document.querySelector(\"div[is='emby-scroller']:not(.hide) select.selectSubtitles\");\n        let subTitlePath = \"\";\n        //返回选中的外挂字幕\n        if (selectSubtitles && Number(selectSubtitles.value) > 0) {\n            if (mediaSource.MediaStreams[selectSubtitles.value].IsExternal) {\n                let subtitleCodec = mediaSource.MediaStreams[selectSubtitles.value].Codec;\n                subTitlePath = `/${mediaSource.Id}/Subtitles/${selectSubtitles.value}/Stream.${subtitleCodec}`;\n            }\n        }\n        else {\n            //默认尝试返回第一个外挂中文字幕\n            let chiSubIndex = mediaSource.MediaStreams.findIndex((m) => m.Language == \"chi\" && m.IsExternal);\n            if (chiSubIndex > -1) {\n                let subtitleCodec = mediaSource.MediaStreams[chiSubIndex].Codec;\n                subTitlePath = `/${mediaSource.Id}/Subtitles/${chiSubIndex}/Stream.${subtitleCodec}`;\n            }\n            else {\n                //尝试返回第一个外挂字幕\n                let externalSubIndex = mediaSource.MediaStreams.findIndex((m) => m.IsExternal);\n                if (externalSubIndex > -1) {\n                    let subtitleCodec = mediaSource.MediaStreams[externalSubIndex].Codec;\n                    subTitlePath = `/${mediaSource.Id}/Subtitles/${externalSubIndex}/Stream.${subtitleCodec}`;\n                }\n            }\n        }\n        return subTitlePath;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Emby/EmbyItem.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Emby/EmbySelect.ts":
    /*!****************************************!*\
      !*** ./src/Injects/Emby/EmbySelect.ts ***!
      \****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Inject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Inject */ \"./src/Inject.ts\");\n/* harmony import */ var _Tools_UrlTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Tools/UrlTool */ \"./src/Tools/UrlTool.ts\");\n\n\n/**\n * 支持url上key自动填充到搜索框中,并查询\n */\nclass EmbySelect extends _Inject__WEBPACK_IMPORTED_MODULE_0__.Inject {\n    constructor(engine) {\n        super(engine);\n        this.Match = [/list\\/list\\.html\\?type=search/, /key=/];\n        /** 间隔10秒一次 */\n        this.timer = 1000;\n    }\n    onStart() {\n        let input = document.getElementById(\"embyinput1\");\n        const input0 = document.getElementById(\"embyinput0\");\n        if (!input0)\n            return;\n        let key = _Tools_UrlTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getValue(\"key\");\n        if (!key)\n            return;\n        key = decodeURIComponent(key);\n        this.log(\"key\", key);\n        input.value = key;\n        this.injectSearch(key, input0);\n        return false;\n    }\n    injectSearch(code, input) {\n        if (!input) {\n            console.error(\"WIE\", \"EmbySelect injectSearch\", \"input id embyinput0 not found\");\n            return;\n        }\n        input.value = code;\n        let evt = document.createEvent(\"HTMLEvents\");\n        evt.initEvent(\"input\", true, true);\n        input.dispatchEvent(evt);\n    }\n}\nEmbySelect.Name = \"EmbySelect\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EmbySelect);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Emby/EmbySelect.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Emby/EmbyTool.ts":
    /*!**************************************!*\
      !*** ./src/Injects/Emby/EmbyTool.ts ***!
      \**************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nclass EmbyTool {\n    static checkEmby() {\n        const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.setting;\n        if (!Emby.host || !Emby.apiKey)\n            return false;\n        EmbyTool.EmbyWork = true;\n        // console.time(\"检测Emby耗时\");\n        const url = `${Emby.host}web/manifest.json`;\n        // fetch(url).then((res) => {\n        //     console.log(\"检测Emby耗时 结果\", res, url);\n        // });\n        _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(url).then((res) => {\n            // console.log(\"检测Emby检测Emby耗时 结果\", res, url);\n            // console.timeEnd(\"检测Emby耗时\");\n            if (res === false) {\n                EmbyTool.EmbyWork = false;\n            }\n        });\n        return;\n    }\n    static getEmbyDetail() { }\n    static getEmbyItem() { }\n    static embyHeaders() {\n        const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.setting;\n        return {\n            responseType: \"json\",\n            headers: { \"X-Emby-Token\": Emby.apiKey, \"Content-Type\": \"application/x-www-form-urlencoded\" },\n        };\n    }\n    static embySearchUrl(title) {\n        const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.setting;\n        if (!Emby.host || !Emby.apiKey)\n            return;\n        // return `web/index.html#!/list/list.html?type=search`\n        return `${Emby.host}emby/Users/${Emby.userId}/Items?searchTerm=${title}&X-Emby-Token=${Emby.apiKey}&EnableUserData=false&Recursive=true`;\n        // return `${Emby.host}emby/Search/Hints?searchTerm=${title}`;\n    }\n    /**\n     * 从emby搜索\n     * @param title\n     */\n    static embySearch(title) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (!this.EmbyWork)\n                return;\n            const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.setting;\n            const data = (yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(`${Emby.host}emby/Users/${Emby.userId}/Items?searchTerm=${title}&X-Emby-Token=${Emby.apiKey}&Recursive=true&Fields=ChannelMappingInfo,DateCreated,Tags`, {}, \"GET\", {\n                responseType: \"json\",\n                headers: { \"X-Emby-Token\": Emby.apiKey, \"Content-Type\": \"application/x-www-form-urlencoded\" },\n            }));\n            if (data === false || !data.Items)\n                return;\n            if (!data.Items[0])\n                return;\n            const item = data.Items[0];\n            return item;\n        });\n    }\n    static searchActor(name) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (!this.EmbyWork)\n                return;\n            const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.setting;\n            if (!Emby.host || !Emby.apiKey)\n                return;\n            const data = (yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(`${Emby.host}Persons?searchTerm=${name}`, {}, \"GET\", {\n                responseType: \"json\",\n                headers: { \"X-Emby-Token\": Emby.apiKey, \"Content-Type\": \"application/x-www-form-urlencoded\" },\n            }));\n            if (data === false)\n                return;\n            if (data.TotalRecordCount) {\n                return data.Items[0];\n            }\n        });\n    }\n    /**\n     * 从emby中获取演员信息\n     * @param name\n     * @returns\n     */\n    static getEmbyActor(name) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (!this.EmbyWork)\n                return;\n            const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.setting;\n            if (!Emby.host || !Emby.apiKey)\n                return;\n            const data = (yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(`${Emby.host}Persons?searchTerm=${name}`, {}, \"GET\", {\n                responseType: \"json\",\n                headers: { \"X-Emby-Token\": Emby.apiKey, \"Content-Type\": \"application/x-www-form-urlencoded\" },\n            }));\n            if (data.TotalRecordCount) {\n                return data.Items[0];\n            }\n            return;\n        });\n    }\n    static embyDetailUrl(searchItem) {\n        const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.setting;\n        return `${Emby.host}web/index.html#!/item?serverId=${Emby.ServerId}&id=${searchItem.Id}`;\n    }\n    static actorUrl(actor) {\n        if (!actor)\n            return;\n        const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.setting;\n        return Emby.host + \"web/index.html#!/item?id=\" + actor.Id + \"&serverId=\" + actor.ServerId;\n    }\n    static embyItem(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (!this.EmbyWork)\n                return;\n            const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.setting;\n            const url = `${Emby.host}emby/Users/${Emby.userId}/Items/${id}?Fields=ChannelMappingInfo&X-Emby-Token=${Emby.apiKey}`;\n            try {\n                const res = yield fetch(url);\n                const json = (yield res.json());\n                return json;\n            }\n            catch (e) {\n                console.log(\"embyItem\", e);\n            }\n        });\n    }\n    static embyItems(parentId) {\n        return __awaiter(this, void 0, void 0, function* () {\n            // const parentId = UrlTool.getValue(\"parentId\") ?? \"15164\"; //\"5757\"; //\"15164\";\n            if (!this.EmbyWork)\n                return;\n            const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.setting;\n            const url = `${Emby.host}emby/Items?IncludeItemTypes=Movie&Recursive=true&Fields=ChannelMappingInfo,DateCreated,Tags,Chapters&StartIndex=0&ParentId=${parentId}&EnableImageTypes=Primary%2CBackdrop%2CThumb&ImageTypeLimit=1&Limit=1000&EnableTotalRecordCount=false&X-Emby-Token=${Emby.apiKey}`;\n            const res = yield fetch(url);\n            const json = yield res.json();\n            return json.Items;\n        });\n    }\n    static embyItemUpdate(id, data = {}) {\n        return __awaiter(this, void 0, void 0, function* () {\n            console.log(\"WIE\", \"embyItemUpdate\", id, data, this.EmbyWork);\n            if (!this.EmbyWork)\n                return;\n            const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.setting;\n            data = Object.assign({ ProviderIds: { Imdb: \"\", Tmdb: \"\", Tvdb: \"\" }, Id: id }, data);\n            const url = `${Emby.host}emby/Items/${id}?X-Emby-Client=Emby%20Web&X-Emby-Device-Name=Microsoft%20Edge%20Windows&X-Emby-Device-Id=af7bbe77-e8ef-41b5-b170-05cc00093a4f&X-Emby-Client-Version=4.7.11.0&X-Emby-Token=${Emby.apiKey}&X-Emby-Language=zh-cn&reqformat=json`;\n            console.log(\"WIE\", \"url\", url);\n            const res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(url, JSON.stringify(data), \"POST\", {\n                headers: {\n                    \"Content-Type\": \"text/plain\",\n                },\n            });\n            // if (!res)\n            console.log(\"WIE\", \"ret\", id, data);\n        });\n    }\n    static embyCover(id, tag) {\n        const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.setting;\n        return `${Emby.host}emby/Items/${id}/Images/Thumb?tag=${tag}`;\n    }\n    /**\n     * potPlayerUrl\n     * @param itemInfo\n     * @returns\n     */\n    static potPlayerUrl(itemInfo) {\n        const { Emby } = _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.setting;\n        _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.log(\"potPlayerUrl\", itemInfo);\n        if (!itemInfo.MediaSources || itemInfo.MediaSources.length === 0)\n            return;\n        let mediaSource = itemInfo.MediaSources[0];\n        let domain = `${Emby.host}emby/videos/${itemInfo.Id}`;\n        //获取字幕地址\n        let subPath = this.getSubPath(mediaSource);\n        //生成字幕地址\n        let subUrl = subPath.length > 0 ? `${domain}${subPath}?api_key=${Emby.apiKey}` : \"\";\n        //生成视频地址\n        let streamUrl = `${domain}/stream.${mediaSource.Container}?api_key=${Emby.apiKey}&Static=true&MediaSourceId=${mediaSource.Id}`;\n        return `potplayer://${encodeURI(streamUrl)} /sub=${encodeURI(subUrl)} /title=${itemInfo.FileName.replace(/\\s/g, \"\")}`;\n    }\n    static getSubPath(mediaSource) {\n        let subTitlePath = \"\";\n        //返回选中的外挂字幕\n        //默认尝试返回第一个外挂中文字幕\n        let chiSubIndex = mediaSource.MediaStreams.findIndex((m) => m.Language == \"chi\" && m.IsExternal);\n        if (chiSubIndex > -1) {\n            let subtitleCodec = mediaSource.MediaStreams[chiSubIndex].Codec;\n            subTitlePath = `/${mediaSource.Id}/Subtitles/${chiSubIndex}/Stream.${subtitleCodec}`;\n        }\n        else {\n            //尝试返回第一个外挂字幕\n            let externalSubIndex = mediaSource.MediaStreams.findIndex((m) => m.IsExternal);\n            if (externalSubIndex > -1) {\n                let subtitleCodec = mediaSource.MediaStreams[externalSubIndex].Codec;\n                subTitlePath = `/${mediaSource.Id}/Subtitles/${externalSubIndex}/Stream.${subtitleCodec}`;\n            }\n        }\n        return subTitlePath;\n    }\n}\nEmbyTool.EmbyWork = false;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EmbyTool);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Emby/EmbyTool.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Emby/index.ts":
    /*!***********************************!*\
      !*** ./src/Injects/Emby/index.ts ***!
      \***********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Emby__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Emby */ \"./src/Injects/Emby/Emby.ts\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_Emby__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Emby/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Highlight/Highlight.ts":
    /*!********************************************!*\
      !*** ./src/Injects/Highlight/Highlight.ts ***!
      \********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Decorator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/Decorator */ \"./src/Tools/Decorator.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _WIESetting__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../WIESetting */ \"./src/WIESetting.ts\");\n/* harmony import */ var _lib_MatchBean__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../lib/MatchBean */ \"./src/lib/MatchBean.ts\");\n/* harmony import */ var _lib_Pages_InjectPages__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../lib/Pages/InjectPages */ \"./src/lib/Pages/InjectPages.ts\");\n/* harmony import */ var _Keyword__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Keyword */ \"./src/Injects/Highlight/Keyword.ts\");\n/* harmony import */ var _Setting__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Setting */ \"./src/Injects/Highlight/Setting.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n\n\n\nconst Style = `\r\n    wie-keyword{\r\n        background: var(--mainColor);\r\n        color: var(--mainTextColor);\r\n        border-radius: 0 6px 0 6px;\r\n        padding: 0 5px;\r\n        margin: 0 2px;\r\n        cursor: pointer;\r\n        transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n        position: relative;\r\n        box-sizing: border-box;\r\n        display: inline-block;\r\n        overflow: hidden;\r\n        vertical-align: bottom;\r\n    }\r\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Inject()];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    let _instanceExtraInitializers = [];\n    let _findCode_decorators;\n    let _search_decorators;\n    var Hightlight = _classThis = class extends _lib_Pages_InjectPages__WEBPACK_IMPORTED_MODULE_4__.InjectPages {\n        constructor(engine) {\n            super(engine, { Match: [], HostWords: {}, colors: [\"#f50\", \"#2db7f5\", \"#87d068\", \"#108ee9\", \"#55acee\", \"#cd201f\", \"#3b5999\"] }, Style);\n            this.Match = (__runInitializers(this, _instanceExtraInitializers), [/\\/t66y\\//]);\n            this.keyIndex = {};\n            this.keywordTool = new _Keyword__WEBPACK_IMPORTED_MODULE_5__[\"default\"](this);\n            //添加样式\n            new _lib_MatchBean__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this);\n            //添加样式\n            this.updateKeywordColor();\n        }\n        updateKeywordColor() {\n            const colors = this.setting.colors;\n            const style = colors.map((color, index) => `.wie-keyword-${index + 1}{background: ${color}}`).join(\"\\n\");\n            this.addStyle(style);\n        }\n        getMatch() {\n            return this.setting.Match.map((match) => new RegExp(match));\n        }\n        onStart() {\n            //注入设置界面\n            _WIESetting__WEBPACK_IMPORTED_MODULE_2__[\"default\"].addSetting(new _Setting__WEBPACK_IMPORTED_MODULE_6__[\"default\"](this), \"高亮显示\");\n        }\n        onLoad() {\n            //监听dom变化\n            this.createObserver();\n            //查找code\n            this.findCode();\n        }\n        keyword() {\n            var _a;\n            const host = this.host();\n            let { keywords } = (_a = this.setting.HostWords[host]) !== null && _a !== void 0 ? _a : {};\n            if (!Array.isArray(keywords) && keywords)\n                keywords = keywords === null || keywords === void 0 ? void 0 : keywords.split(\",\");\n            return keywords !== null && keywords !== void 0 ? keywords : [];\n        }\n        globalKeyword() {\n            var _a;\n            let { keywords } = (_a = this.setting.HostWords.global) !== null && _a !== void 0 ? _a : {};\n            if (!Array.isArray(keywords) && keywords)\n                keywords = keywords === null || keywords === void 0 ? void 0 : keywords.split(\",\");\n            return keywords !== null && keywords !== void 0 ? keywords : [];\n        }\n        allKeyword() {\n            return [...this.globalKeyword(), ...this.keyword()];\n        }\n        host() {\n            return location.host.replace(/\\./g, \"_\");\n        }\n        // 动态添加的元素, 检查所有父元素的class是否是排除项\n        checkParentClass(startDom) {\n            var _a;\n            //兼容SuperAV 下替换的元素\n            if (((_a = startDom.tagName) === null || _a === void 0 ? void 0 : _a.startsWith(\"WIE-\")) || startDom.tagName === \"IFRAME\") {\n                // this.log(\"checkParentClass: 父元素存在相关class, 已排除: \", startDom.className);\n                return true;\n            }\n            if (startDom.parentElement && \"body\" !== startDom.parentElement.nodeName) {\n                return this.checkParentClass(startDom.parentElement);\n            }\n            return false;\n        }\n        /**\n         * 创建监听\n         */\n        createObserver() {\n            const observer = new MutationObserver((mutations) => {\n                mutations.forEach((mutation) => {\n                    if (mutation.target.nodeType == 1 && mutation.target.querySelector(\"wie-code\"))\n                        return;\n                    if (this.checkParentClass(mutation.target))\n                        return;\n                    clearTimeout(this.timeout);\n                    this.timeout = setTimeout(() => {\n                        this.findCode();\n                    }, 1000);\n                });\n            });\n            this.observer = observer;\n            this.startObserver();\n        }\n        /**\n         * 启动监听\n         */\n        startObserver() {\n            var _a;\n            (_a = this.observer) === null || _a === void 0 ? void 0 : _a.observe(document.body, {\n                attributes: true,\n                childList: true,\n                characterData: true,\n                subtree: true,\n            });\n        }\n        /**\n         * 复制Code\n         * @param e\n         * @returns\n         */\n        saveID(code, e) {\n            e.preventDefault();\n            //手机端不支持复制\n            if (_WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.isMobile)\n                return;\n            this.copy(code);\n            return false;\n        }\n        /**\n         * 查找code\n         */\n        findCode() {\n            var _a;\n            //暂停观察\n            (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();\n            //Code查询\n            // this.codes.forEach((code) => code.findCode());\n            //启动观察\n            this.keywordTool.findCode();\n            //启动观察\n            this.startObserver();\n        }\n        updateSetting(setting) {\n            super.updateSetting(setting);\n            this.findCode();\n        }\n        get delayTime() {\n            return this.engine.setting.Enter;\n        }\n        search(code, div) {\n            this.log(\"关键词\", code);\n            //检测是否跟当前页面显示的一致\n            // if ((this.stack[this.stack.length - 1]?.intent as ICodeInfo)?.code === code) {\n            //     //检测弹框是否关闭\n            //     if (WiePopup.Instance.show()) this.resume();\n            //     return;\n            // }\n            // if (div) {\n            //     this.setVisit(code);\n            //     div.classList.add(\"visited\");\n            // }\n            this.log(\"search startPage\", code);\n            // this.startPage(PageCode, { code });\n        }\n        /**\n         * 格式化\n         * @param code\n         * @param portion\n         * @param parent\n         */\n        keywordMatch(code, portion, parent = null) {\n            // this.log(\"keywordMatch\", code, portion, parent);\n            // const text = match[0];\n            if (portion.node.parentNode.tagName === \"WIE-KEYWORD\")\n                return;\n            //检测是否为弹框中内容\n            if (this.checkParentClass(portion.node.parentNode))\n                return;\n            return this.createDiv(`${code}`, {\n                tag: \"wie-keyword\",\n                events: {\n                    mouseenter: (e) => {\n                        this.search(code, e.target);\n                    },\n                    // mouseleave: (e) => this.searchCancel(e.target as HTMLElement),\n                    click: this.saveID.bind(this, code),\n                },\n                // className: this.isVisit(code) ? \"visited\" : \"\",\n                className: `wie-keyword-${this.getIndex(code)}`,\n                // tooltip: `正在打开中...${this.engine.setting.Enter}ms`,\n                // style: `background: ${this.setting.colors[this.setting.colors.length % 7]}`,\n                parent,\n            });\n        }\n        getIndex(keyword) {\n            const keywords = this.allKeyword();\n            const colors = this.setting.colors;\n            for (let i = 0; i < keywords.length; i++) {\n                if (new RegExp(keywords[i]).test(keyword))\n                    return (i % colors.length) + 1;\n            }\n        }\n    };\n    __setFunctionName(_classThis, \"Hightlight\");\n    (() => {\n        _findCode_decorators = [_Tools_Decorator__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Delay];\n        _search_decorators = [_Tools_Decorator__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Delay];\n        __esDecorate(_classThis, null, _findCode_decorators, { kind: \"method\", name: \"findCode\", static: false, private: false, access: { has: obj => \"findCode\" in obj, get: obj => obj.findCode } }, null, _instanceExtraInitializers);\n        __esDecorate(_classThis, null, _search_decorators, { kind: \"method\", name: \"search\", static: false, private: false, access: { has: obj => \"search\" in obj, get: obj => obj.search } }, null, _instanceExtraInitializers);\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        Hightlight = _classThis = _classDescriptor.value;\n    })();\n    _classThis.Name = \"Hightlight\";\n    _classThis.CName = \"高亮显示\";\n    (() => {\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return Hightlight = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Highlight/Highlight.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Highlight/Keyword.ts":
    /*!******************************************!*\
      !*** ./src/Injects/Highlight/Keyword.ts ***!
      \******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Keyword)\n/* harmony export */ });\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/Logger */ \"./src/Tools/Logger.ts\");\n/* harmony import */ var _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../lib/findAndReplaceDOMText */ \"./src/lib/findAndReplaceDOMText.js\");\n/* harmony import */ var _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__);\n\n\nclass Keyword extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor(inject) {\n        super();\n        this.inject = inject;\n    }\n    reg() {\n        //获取当前网站的关键词\n        let keywords = this.inject.allKeyword();\n        if (keywords.length > 0 && Array.isArray(keywords))\n            return new RegExp(keywords.join(\"|\"), \"gi\");\n    }\n    /**\n     * 查找code\n     */\n    findCode() {\n        const reg = this.reg();\n        if (!reg)\n            return;\n        _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__(document.body, {\n            find: reg,\n            preset: \"prose\",\n            forceContext: _lib_findAndReplaceDOMText__WEBPACK_IMPORTED_MODULE_1__.NON_INLINE_PROSE,\n            replace: (portion, match) => {\n                const text = match[0];\n                //匹配Code\n                // const code = this.match(portion, text);\n                // if (!code) return \"\";\n                //匹配到Code\n                return this.inject.keywordMatch(text, portion) || text;\n            },\n        });\n    }\n}\n// /**\n//  * 格式化Code\n//  * @param text\n//  * @returns\n//  */\n// protected formatCode(text: string) {\n//     text = text.replace(/-c|_c|-4k/i, \"\").replace(/\\s+/g, \"\");\n//     if (text.match(/^[a-z|A-Z]{2,8}\\d{2,5}$/i)) {\n//         var oindex = text.search(/\\d/);\n//         if (oindex > 0) {\n//             text = text.slice(0, oindex) + \"-\" + text.slice(oindex);\n//         }\n//     }\n//     // 判断3位数字写成2位的\n//     // if (text.match(/-\\d{2}$/) && localInfo[avID] && localInfo[avID].noInfo) {\n//     //     let avID2 = text.replace(\"-\", \"-0\");\n//     //     if (localInfo[avID2]) {\n//     //         avID = avID2;\n//     //     }\n//     // }\n//     return text.toUpperCase();\n// }\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Highlight/Keyword.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Highlight/Setting.ts":
    /*!******************************************!*\
      !*** ./src/Injects/Highlight/Setting.ts ***!
      \******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Setting)\n/* harmony export */ });\n/* harmony import */ var _InjectSetting__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../InjectSetting */ \"./src/InjectSetting.ts\");\n/* harmony import */ var _UI_TextareaUI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../UI/TextareaUI */ \"./src/UI/TextareaUI.ts\");\n\n\nclass Setting extends _InjectSetting__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    render() {\n        let keywords = this.inject.keyword();\n        if (Array.isArray(keywords) === false)\n            keywords = [];\n        const global = this.inject.globalKeyword();\n        this.log(\"Setting  render\", this.setting, keywords, global);\n        return `\r\n            <wie-area>\r\n                <wie-name>关键词匹配</wie-name>\r\n                ${new _UI_TextareaUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this, `HostWords.global.keywords`, \"全局关键词匹配\", global.join(\",\")).hold()}\r\n                ${new _UI_TextareaUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this, `HostWords.${this.inject.host()}.keywords`, \"当前网站关键词匹配\", keywords.join(\",\")).hold()}\r\n            </wie-area>\r\n\r\n        `;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Highlight/Setting.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Highlight/index.ts":
    /*!****************************************!*\
      !*** ./src/Injects/Highlight/index.ts ***!
      \****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Highlight__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Highlight */ \"./src/Injects/Highlight/Highlight.ts\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_Highlight__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Highlight/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/M3U8/IVideo.ts":
    /*!************************************!*\
      !*** ./src/Injects/M3U8/IVideo.ts ***!
      \************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   VideoEnum: () => (/* binding */ VideoEnum)\n/* harmony export */ });\nvar VideoEnum;\n(function (VideoEnum) {\n    /** 类型 */\n    VideoEnum[\"Video\"] = \"Video\";\n    /** 视频 */\n    VideoEnum[\"M3U8\"] = \"M3U8\";\n})(VideoEnum || (VideoEnum = {}));\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/M3U8/IVideo.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/M3U8/M3U8.ts":
    /*!**********************************!*\
      !*** ./src/Injects/M3U8/M3U8.ts ***!
      \**********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _MenuInject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MenuInject */ \"./src/Injects/MenuInject.ts\");\n/* harmony import */ var _IVideo__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./IVideo */ \"./src/Injects/M3U8/IVideo.ts\");\n/* harmony import */ var _Videos__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Videos */ \"./src/Injects/M3U8/Videos.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n\nconst m3u8Parser = window.m3u8Parser;\nconst unsafeWindow = window.unsafeWindow || window;\nconst style = `\r\n\r\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Inject()];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var M3U8 = _classThis = class extends _MenuInject__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n        constructor(engine) {\n            super(engine);\n            this.urls = new Set();\n            this.videos = [];\n            this.addStyle(style);\n        }\n        onStart() {\n            //操作\n            this.listen();\n            //启动response监听\n            this.checkResponse();\n            //启动request监听\n            this.checkRequest();\n            //启动\n            this.doVideos();\n            setInterval(this.doVideos.bind(this), 1000);\n        }\n        thatwind() {\n            if (location.host === \"tools.thatwind.com\" || location.host === \"localhost:3000\") {\n                this.addStyle(\"#userscript-tip{display:none !important;}\");\n                // 对请求做代理\n                const _fetch = window.fetch;\n                window.fetch = function (...args) {\n                    return __awaiter(this, void 0, void 0, function* () {\n                        try {\n                            let response = yield _fetch(...args);\n                            if (response.status !== 200)\n                                throw new Error(response.status + \"\");\n                            return response;\n                        }\n                        catch (e) {\n                            // 失败请求使用代理\n                            if (args.length == 1) {\n                                console.log(`请求代理:${args[0]}`);\n                                return yield new Promise((resolve, reject) => {\n                                    let referer = new URLSearchParams(location.hash.slice(1)).get(\"referer\");\n                                    let headers = {};\n                                    if (referer) {\n                                        referer = new URL(referer);\n                                        headers = {\n                                            origin: referer.origin,\n                                            referer: referer.href,\n                                        };\n                                    }\n                                    _Tools_GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_xmlhttpRequest({\n                                        method: \"GET\",\n                                        url: args[0],\n                                        responseType: \"arraybuffer\",\n                                        headers,\n                                        onload(r) {\n                                            resolve({\n                                                status: r.status,\n                                                headers: new Headers(r.responseHeaders\n                                                    .split(\"\\n\")\n                                                    .filter((n) => n)\n                                                    .map((s) => s.split(/:\\s*/))\n                                                    .reduce((all, [a, b]) => {\n                                                    all[a] = b;\n                                                    return all;\n                                                }, {})),\n                                                text() {\n                                                    return __awaiter(this, void 0, void 0, function* () {\n                                                        return r.responseText;\n                                                    });\n                                                },\n                                                arrayBuffer() {\n                                                    return __awaiter(this, void 0, void 0, function* () {\n                                                        return r.response;\n                                                    });\n                                                },\n                                            });\n                                        },\n                                        onerror() {\n                                            reject(new Error());\n                                        },\n                                    });\n                                });\n                            }\n                            else {\n                                throw e;\n                            }\n                        }\n                    });\n                };\n                return;\n            }\n        }\n        checkResponse() {\n            const _r_text = unsafeWindow.Response.prototype.text;\n            const that = this;\n            unsafeWindow.Response.prototype.text = function () {\n                return new Promise((resolve, reject) => {\n                    _r_text\n                        .call(this)\n                        .then((text) => {\n                        resolve(text);\n                        if (that.checkContent(text))\n                            that.doM3U8(this.url, text);\n                    })\n                        .catch(reject);\n                });\n            };\n        }\n        listen() {\n            unsafeWindow.addEventListener(\"message\", (e) => {\n                if (e.data === \"wie-m3u8-title-get\") {\n                    let name = `top-title-${Date.now()}`;\n                    this.setValue(name, document.title);\n                    e.source.postMessage(`wie-m3u8-title:${name}`, \"*\");\n                }\n            });\n        }\n        checkRequest() {\n            const _open = unsafeWindow.XMLHttpRequest.prototype.open;\n            const that = this;\n            unsafeWindow.XMLHttpRequest.prototype.open = function (...args) {\n                // that.log(\"open\", args, this);\n                this.addEventListener(\"load\", function () {\n                    try {\n                        let content = this.responseText;\n                        // that.log(\"checkRequest\", this.responseURL);\n                        if (that.checkContent(content))\n                            that.doM3U8(args[1], content);\n                    }\n                    catch (e) {\n                        // console.log(e);\n                    }\n                });\n                // checkUrl(args[1]);\n                return _open.apply(this, args);\n            };\n        }\n        checkContent(content) {\n            if (content.trim().startsWith(\"#EXTM3U\")) {\n                return true;\n            }\n        }\n        /**\n         * 开始下载\n         * @param url\n         * @param content\n         */\n        doM3U8(url, content) {\n            return __awaiter(this, void 0, void 0, function* () {\n                const u = new URL(url);\n                //判断是否包含该url\n                if (this.urls.has(u.href))\n                    return;\n                // 解析 m3u\n                content = content || (yield (yield fetch(url)).text());\n                const parser = new m3u8Parser.Parser();\n                parser.push(content);\n                parser.end();\n                const manifest = parser.manifest;\n                if (manifest.segments) {\n                    let duration = 0;\n                    manifest.segments.forEach((segment) => {\n                        duration += segment.duration;\n                    });\n                    manifest.duration = duration;\n                }\n                const duration = manifest.duration ? manifest.duration : manifest.playlists ? -2 : -1;\n                this.showVideo(_IVideo__WEBPACK_IMPORTED_MODULE_3__.VideoEnum.M3U8, url, duration);\n            });\n        }\n        doVideos() {\n            for (let v of Array.from(document.querySelectorAll(\"video\"))) {\n                if (!v.src)\n                    continue;\n                if (!v.duration)\n                    continue;\n                if (!v.src.startsWith(\"http\"))\n                    continue;\n                //直接新窗口打开\n                this.showVideo(_IVideo__WEBPACK_IMPORTED_MODULE_3__.VideoEnum.Video, v.src, v.duration);\n            }\n        }\n        showVideo(type, url, duration, title) {\n            return __awaiter(this, void 0, void 0, function* () {\n                if (this.urls.has(url))\n                    return;\n                this.urls.add(url);\n                const video = { url, duration, type, title };\n                this.videos.push(video);\n                this.startFixed(_Videos__WEBPACK_IMPORTED_MODULE_4__[\"default\"], { videos: [...this.videos] });\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"M3U8\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        M3U8 = _classThis = _classDescriptor.value;\n    })();\n    _classThis.Name = \"M3U8\";\n    _classThis.CName = \"视频下载\";\n    (() => {\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return M3U8 = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/M3U8/M3U8.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/M3U8/UIVideos.ts":
    /*!**************************************!*\
      !*** ./src/Injects/M3U8/UIVideos.ts ***!
      \**************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIVideos)\n/* harmony export */ });\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n/* harmony import */ var _IVideo__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./IVideo */ \"./src/Injects/M3U8/IVideo.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nconst M3u8Icon = `<svg t=\"1695691843105\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"4581\" width=\"128\" height=\"128\"><path d=\"M562.9952 717.9776c0-115.2 93.3888-208.5376 208.5376-208.5376 43.1104 0 83.1488 13.1072 116.3776 35.4816V279.0912c0-69.9392-56.7296-126.6688-126.6688-126.6688H227.5328c-69.9392 0-126.6688 56.7296-126.6688 126.6688v434.8416c0 69.9392 56.7296 126.6688 126.6688 126.6688h375.3472c-25.0368-34.4576-39.8848-76.8-39.8848-122.624z\" fill=\"#7B79FF\" p-id=\"4582\"></path><path d=\"M771.5328 717.9776m-151.7568 0a151.7568 151.7568 0 1 0 303.5136 0 151.7568 151.7568 0 1 0-303.5136 0Z\" fill=\"#7B79FF\" p-id=\"4583\"></path><path d=\"M781.2608 826.4704c-9.6256 0-18.5856-4.9664-23.7056-13.2096l-79.9744-129.792a27.8016 27.8016 0 0 1 9.1136-38.2976 27.8528 27.8528 0 0 1 38.2976 9.1136l53.248 86.4256 40.3968-83.9168c6.656-13.824 23.296-19.712 37.1712-13.0048 13.8752 6.656 19.6608 23.296 13.0048 37.1712l-62.464 129.792a27.78112 27.78112 0 0 1-23.6544 15.7184h-1.4336zM415.8464 646.2976c-12.3904 0-24.832-3.2768-36.096-9.7792-22.6304-13.056-36.096-36.4544-36.096-62.5664V401.8688c0-26.112 13.5168-49.5104 36.096-62.5664 22.6304-13.056 49.6128-13.056 72.2432 0l149.0432 86.016c22.6304 13.056 36.096 36.4544 36.096 62.5664 0 26.112-13.5168 49.5104-36.096 62.5664l-149.0432 86.0672c-11.3152 6.5024-23.7568 9.7792-36.1472 9.7792z m0.0512-258.3552c-3.2256 0-5.7344 1.1776-7.0144 1.8944-2.6112 1.4848-6.912 5.0688-6.912 12.032v172.0832c0 6.9632 4.352 10.5472 6.912 12.032 2.0992 1.1776 7.6288 3.6352 13.8752 0l149.0432-86.0672c6.2464-3.6352 6.9632-9.6256 6.9632-12.032 0-2.4064-0.6656-8.3968-6.9632-12.032l-149.0432-86.016a13.6704 13.6704 0 0 0-6.8608-1.8944z\" fill=\"#FFFFFF\" p-id=\"4584\"></path></svg>`;\nconst VideoIcon = `<svg t=\"1695693212235\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"11406\" width=\"128\" height=\"128\"><path d=\"M704 0H192c-35.328 0-64 28.672-64 64v320h576c35.328 0 64 28.672 64 64v415.744c0 35.328-28.672 64-64 64H128v31.744c0 35.328 28.672 64 64 64h768c35.328 0 64-28.672 64-64v-640L704 0z\" fill=\"#EAEAEA\" p-id=\"11407\"></path><path d=\"M704 0v256c0 35.328 28.672 64 64 64h256L704 0z\" fill=\"#434854\" p-id=\"11408\"></path><path d=\"M768 320l256 256V320z\" opacity=\".1\" p-id=\"11409\"></path><path d=\"M704 832c0 17.92-14.336 31.744-31.744 31.744H31.744C13.824 863.744 0 849.408 0 832V480.256c0-17.92 14.336-31.744 31.744-31.744h640c17.92 0 31.744 14.336 31.744 31.744V832z\" fill=\"#724AE2\" p-id=\"11410\"></path><path d=\"M537.088 547.84c9.728 0 14.336 4.608 14.336 13.824v132.608h18.944c9.728 0.512 14.336 4.608 14.336 13.312s-5.12 13.312-15.36 13.312h-18.432v37.888c-0.512 9.728-5.12 14.336-13.824 14.336s-13.312-5.12-13.312-15.36v-36.864h-79.36c-12.8-0.512-19.456-4.096-19.456-11.776 0-4.096 1.536-7.68 4.096-11.776l94.208-141.312 0.512-1.024c3.584-4.608 8.192-7.168 13.312-7.168z m-302.592-1.536c7.168 0 11.264 5.12 11.264 15.872v193.536c0 10.752-4.608 15.872-11.264 15.872s-11.264-5.12-11.264-15.872V622.08l-44.544 140.8c-2.048 6.144-8.192 8.704-12.288 8.704s-10.24-3.072-12.288-8.704l-46.08-140.8v133.632c0 10.752-6.144 15.872-12.8 15.872s-12.8-5.12-12.8-15.872V562.176c0-10.752 5.632-15.872 12.8-15.872 4.608 0 10.752 3.072 12.8 8.704L166.4 728.064l56.832-173.056c2.048-6.144 6.144-8.704 11.264-8.704z m121.856 0c35.328 0 63.488 28.672 63.488 64 0 34.816-27.648 62.976-62.464 64h-33.28v79.872c0 8.704-7.168 15.872-15.872 15.872-8.192 0-15.36-6.656-15.872-14.848V562.176c0-8.192 6.656-15.36 14.848-15.872h49.152z m166.912 58.368l-59.904 90.112h59.904v-90.112z m-166.912-26.624h-31.744v64h31.744c17.92 0 31.744-14.848 31.744-32.256s-13.824-31.744-31.744-31.744z\" fill=\"#FFFFFF\" p-id=\"11411\"></path></svg>`;\nclass UIVideos extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"videos\"];\n    }\n    render(div, videos = []) {\n        div.innerHTML = videos\n            .map((video, i) => {\n            //计算时长\n            let duration = \"未知\";\n            if (video.duration > 0)\n                duration = `${_Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].numberToTime(video.duration)}`;\n            return `\r\n                <div class='wie-f-video'>\r\n                    <span class='type'>${video.type === _IVideo__WEBPACK_IMPORTED_MODULE_3__.VideoEnum.M3U8 ? M3u8Icon : VideoIcon}</span>\r\n                    <span>时长:${duration}</span>\r\n                    <span class='download' index=${i}>下载</span>\r\n                </div>\r\n            `;\n        })\n            .join(\"\");\n        //需解决403问题\n        div.querySelectorAll(\".download\").forEach((v) => {\n            v.addEventListener(\"click\", (e) => {\n                e.stopPropagation();\n                const target = e.currentTarget;\n                this.download(videos[parseInt(target.getAttribute(\"index\"))]);\n            });\n        });\n    }\n    download(video) {\n        this.log(\"开始下载\", video);\n        switch (video.type) {\n            case _IVideo__WEBPACK_IMPORTED_MODULE_3__.VideoEnum.M3U8:\n                this.downloadM3U8(new URL(video.url));\n                break;\n            default:\n                _Tools_GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_openInTab(video.url);\n                break;\n        }\n    }\n    downloadM3U8(url) {\n        return __awaiter(this, void 0, void 0, function* () {\n            // const urlObj = new URL(url)\n            //   urlObj.searchParams.append('title', getTitle())\n            //   m3u8Target = urlObj.href\n            //'http://blog.luckly-mjw.cn/tool-show/m3u8-downloader/index.html?source=' + m3u8Target\n            _Tools_GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_openInTab(`https://tools.thatwind.com/tool/m3u8downloader#${new URLSearchParams({\n                m3u8: url.href,\n                referer: location.href,\n                filename: (yield this.getTopTitle()) || \"\",\n            })}`);\n        });\n    }\n    getTopTitle() {\n        return new Promise((resolve) => {\n            const l = function (e) {\n                return __awaiter(this, void 0, void 0, function* () {\n                    if (typeof e.data === \"string\") {\n                        if (e.data.startsWith(\"wie-m3u8-title:\")) {\n                            let name = e.data.slice(\"wie-m3u8-title:\".length);\n                            yield new Promise((r) => setTimeout(r, 5)); // 等5毫秒 确定 setValue 已经写入\n                            resolve(_Tools_GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_getValue(name, \"\"));\n                            _Tools_GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_deleteValue(name);\n                            window.removeEventListener(\"message\", l);\n                        }\n                    }\n                });\n            };\n            window.addEventListener(\"message\", l);\n            window.top.postMessage(\"wie-m3u8-title-get\", \"*\");\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/M3U8/UIVideos.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/M3U8/Videos.ts":
    /*!************************************!*\
      !*** ./src/Injects/M3U8/Videos.ts ***!
      \************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _lib_Pages_PageFixed__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../lib/Pages/PageFixed */ \"./src/lib/Pages/PageFixed.ts\");\n/* harmony import */ var _UIVideos__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UIVideos */ \"./src/Injects/M3U8/UIVideos.ts\");\n\n\n\n_WIE__WEBPACK_IMPORTED_MODULE_0__[\"default\"].UIStyles.add(`\r\n.wie-f-videos{\r\n    padding: 10px;\r\n}\r\n.wie-f-video {\r\n    padding: 5px 0;\r\n    font-size: 12px;\r\n    border-bottom: 1px solid #ffffff29;\r\n}\r\n.wie-f-video .url{\r\n\r\n}\r\n.wie-f-video span {\r\n    display: inline-block;\r\n    padding: 2px 0;\r\n    color: #e0e4e7;\r\n}\r\n.wie-f-video .type{\r\n    width: 25px;\r\n    padding: 0;\r\n}\r\n.wie-f-video .type svg{\r\n    width: 20px;\r\n    height: 20px;\r\n    vertical-align: middle;\r\n}\r\n.wie-f-video .download{\r\n    cursor: pointer;\r\n    text-align: center;\r\n    width: 50px;\r\n    background: #f6631d;\r\n    border-radius: 5px 0 5px 0;\r\n    padding: 2px;\r\n    float: right;\r\n    color: #FFF;\r\n    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n}\r\n.wie-f-video .download:hover{\r\n    background: #b3361a;\r\n}\r\n`);\nclass Videos extends _lib_Pages_PageFixed__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    show() {\n        return this.intent.videos.length > 0;\n    }\n    pageWidth() {\n        return 200;\n    }\n    tip() {\n        const length = this.intent.videos.length;\n        return length > 0 ? length + \"\" : undefined;\n    }\n    render(page, intent) {\n        return `\r\n        <div class='wie-f-videos'>\r\n            ${new _UIVideos__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this).hold()}\r\n        </div>\r\n       `;\n    }\n}\nVideos.Name = \"Videos\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Videos);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/M3U8/Videos.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/M3U8/index.ts":
    /*!***********************************!*\
      !*** ./src/Injects/M3U8/index.ts ***!
      \***********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _M3U8__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./M3U8 */ \"./src/Injects/M3U8/M3U8.ts\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_M3U8__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/M3U8/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Magnet/Magnet.ts":
    /*!**************************************!*\
      !*** ./src/Injects/Magnet/Magnet.ts ***!
      \**************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Decorator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/Decorator */ \"./src/Tools/Decorator.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _MenuInject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MenuInject */ \"./src/Injects/MenuInject.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\nconst style = `\r\nbutton[magnet-url]{\r\n    all: initial;\r\n    border: none;\r\n    outline: none;\r\n    background: none;\r\n    background: #f7d308;\r\n    background: #08a6f7;\r\n    margin: 2px 8px;\r\n    border-radius: 0 3px 0 3px;\r\n    color: white;\r\n    cursor: pointer;\r\n    display: inline-flex;\r\n    height: 1.6em;\r\n    padding: 0 8px;\r\n    align-items: center;\r\n    justify-content: center;\r\n    transition: background .15s;\r\n    text-decoration: none;\r\n    font-size: small;\r\n}\r\nbutton[magnet-url]>svg{\r\n    height: 60%;\r\n    fill: white;\r\n    pointer-events: none;\r\n}\r\nbutton[magnet-url]:hover{\r\n    background: #fae157;\r\n    background: #39b9f9;\r\n}\r\nbutton[magnet-url]:active{\r\n    background: #dfbe07;\r\n    background: #0797df;\r\n}\r\nbutton[magnet-url]>span{\r\n    pointer-events: none;\r\n    font-size: small;margin-right: .5em;font-weight:bold;color:white !important;\r\n}\r\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Inject()];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    let _instanceExtraInitializers = [];\n    let _work_decorators;\n    var Magnet = _classThis = class extends _MenuInject__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n        constructor(engine) {\n            super(engine);\n            this.onEvents = (__runInitializers(this, _instanceExtraInitializers), (e) => {\n                if (e.target.hasAttribute(\"magnet-url\")) {\n                    e.preventDefault();\n                    e.stopPropagation();\n                    if (e.type == \"click\") {\n                        // let a = document.createElement(\"a\");\n                        // a.href = \"https://www.diancigaoshou.com/#\" + new URLSearchParams({ url: e.target.getAttribute(\"magnet-url\") });\n                        // a.target = \"_blank\";\n                        // a.click();\n                        this.copy(e.target.getAttribute(\"magnet-url\"));\n                    }\n                }\n            });\n            this.addStyle(style);\n        }\n        onStart() {\n            //操作\n            // this.log(\"onStart\");\n            window.addEventListener(\"click\", this.onEvents, true);\n            window.addEventListener(\"mousedown\", this.onEvents, true);\n            window.addEventListener(\"mouseup\", this.onEvents, true);\n            this.work();\n            this.startObserver((mutations) => this.work());\n        }\n        getAllTextNodes(parent) {\n            let re = [];\n            if ([\"STYLE\", \"SCRIPT\", \"BASE\", \"COMMAND\", \"LINK\", \"META\", \"TITLE\", \"XTRANS-TXT\", \"XTRANS-TXT-GROUP\", \"XTRANS-POPUP\"].includes(parent.tagName))\n                return re;\n            for (let node of parent.childNodes) {\n                if (node.childNodes.length)\n                    re = re.concat(this.getAllTextNodes(node));\n                else if (Text.prototype.isPrototypeOf(node) && !node.nodeValue.match(/^\\s*$/))\n                    re.push(node);\n            }\n            return re;\n        }\n        work() {\n            //开始又变化\n            // return;\n            if (!document.body)\n                return;\n            if (this.hasPlainMagUrlThatNotHandled()) {\n                for (let node of this.getAllTextNodes(document.body)) {\n                    if (node.nextSibling && node.nextSibling.hasAttribute && node.nextSibling.hasAttribute(\"magnet-url\"))\n                        continue;\n                    let text = node.nodeValue;\n                    if (!Magnet.MAGNET_REG.test(text))\n                        continue;\n                    let match = text.match(Magnet.MAGNET_REG);\n                    if (match) {\n                        let url = match[0];\n                        let p = node.parentNode;\n                        // this.log(\"work\", url, text, match);\n                        p.insertBefore(document.createTextNode(text.slice(0, match.index + url.length)), node);\n                        p.insertBefore(this.createWatchButton(url, true), node);\n                        p.insertBefore(document.createTextNode(text.slice(match.index + url.length)), node);\n                        p.removeChild(node);\n                    }\n                }\n            }\n            for (let a of Array.from(document.querySelectorAll([\"href\", \"value\", \"data-clipboard-text\", \"data-value\", \"title\", \"alt\", \"data-url\", \"data-magnet\", \"data-copy\"].map((n) => `[${n}*=\"magnet:?xt=urn:btih:\"]`).join(\",\")))) {\n                const nextSibling = a.nextSibling;\n                if (nextSibling && nextSibling.hasAttribute && nextSibling.hasAttribute(\"magnet-url\"))\n                    continue; // 已经添加\n                if (Magnet.MAGNET_REG.test(a.textContent))\n                    continue;\n                for (let attr of a.getAttributeNames()) {\n                    let val = a.getAttribute(attr);\n                    if (!Magnet.MAGNET_REG.test(val))\n                        continue;\n                    let url = val.match(Magnet.MAGNET_REG)[0];\n                    a.parentNode.insertBefore(this.createWatchButton(url), a.nextSibling);\n                }\n            }\n        }\n        hasPlainMagUrlThatNotHandled() {\n            let m = document.body.textContent.match(new RegExp(Magnet.MAGNET_REG, \"g\"));\n            return document.querySelectorAll(`[wie-magnet]`).length != (m ? m.length : 0);\n        }\n        createWatchButton(url, isForPlain = false) {\n            let button = document.createElement(\"button\");\n            button.setAttribute(\"magnet-url\", url);\n            if (isForPlain)\n                button.setAttribute(\"wie-magnet\", \"\");\n            button.innerHTML = `<span>磁力链接</span><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d=\"M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z\"/></svg>`;\n            return button;\n        }\n    };\n    __setFunctionName(_classThis, \"Magnet\");\n    (() => {\n        _work_decorators = [(0,_Tools_Decorator__WEBPACK_IMPORTED_MODULE_0__.DelayTime)(100)];\n        __esDecorate(_classThis, null, _work_decorators, { kind: \"method\", name: \"work\", static: false, private: false, access: { has: obj => \"work\" in obj, get: obj => obj.work } }, null, _instanceExtraInitializers);\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        Magnet = _classThis = _classDescriptor.value;\n    })();\n    _classThis.Name = \"Magnet\";\n    _classThis.CName = \"磁力显示\";\n    _classThis.MAGNET_REG = /magnet:\\?xt=urn:btih:\\w{10,}([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)/;\n    (() => {\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return Magnet = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Magnet/Magnet.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Magnet/index.ts":
    /*!*************************************!*\
      !*** ./src/Injects/Magnet/index.ts ***!
      \*************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Magnet__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Magnet */ \"./src/Injects/Magnet/Magnet.ts\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_Magnet__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Magnet/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/ManWa/ManWa.ts":
    /*!************************************!*\
      !*** ./src/Injects/ManWa/ManWa.ts ***!
      \************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Inject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Inject */ \"./src/Inject.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\nconst Style = `\r\n.ad-area{\r\n    height:1px !important;\r\n}\r\n.wie-go-next{\r\n    border-radius:5px;\r\n    background:#FFF;\r\n    border:1px solid #ddd;\r\n    position:fixed;\r\n    top:50%;\r\n    left:10px;\r\n    padding:5px 10px;\r\n    cursor:pointer;\r\n}\r\n.wie-go-next.right{\r\n    right:10px;\r\n    left:auto;\r\n}\r\n.wie-go-next.hidden{\r\n    background: #aaa;\r\n}\r\n.manga-list-2-cover-img{\r\n    height: auto;\r\n}\r\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Inject()];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var ManWa = _classThis = class extends _Inject__WEBPACK_IMPORTED_MODULE_0__.Inject {\n        constructor(engine) {\n            super(engine, undefined, Style);\n            this.Match = [/manwa/];\n        }\n        onStart() { }\n        onLoad() {\n            document.body.style.maxWidth = \"1016px\";\n            this.div = this.createDiv(\"\");\n            //绑定事件\n            document.addEventListener(\"keydown\", this.onKeydown.bind(this));\n            //添加左边按钮,右边按钮\n            const next = document.body.querySelector(\".view-fix-bottom-bar-item-menu-next\");\n            this.div.innerHTML = `\r\n        <div class=\"wie-go-next ${next ? \"\" : \" hidden\"}\">下一章</div>\r\n        <div class=\"wie-go-next right ${next ? \"\" : \" hidden\"}\">下一章</div>\r\n        `;\n            this.div.querySelectorAll(\".wie-go-next\").forEach((item) => {\n                item.addEventListener(\"click\", () => {\n                    this.clickItem(\".view-fix-bottom-bar-item-menu-next\");\n                });\n            });\n            this.showLast();\n        }\n        showLast() {\n            //显示最后章节\n            let titles = document.getElementById(\"detail-list-select\").children;\n            const item = document.body.querySelector(\".view-fix-bottom-bar-item-menu-list\");\n            if (!item)\n                return;\n            item.innerHTML = \"目录 最后话:\" + titles[titles.length - 1].textContent.replace(/[\\n|\\t|\\s]/g, \"\");\n        }\n        onKeydown(e) {\n            switch (e.key) {\n                case \"ArrowLeft\":\n                    this.clickItem(\".view-fix-bottom-bar-item-menu-prev\");\n                    break;\n                case \"ArrowRight\":\n                    this.clickItem(\".view-fix-bottom-bar-item-menu-next\");\n                    break;\n                default:\n                    break;\n            }\n        }\n        clickItem(selector) {\n            const item = document.body.querySelector(selector);\n            if (!item)\n                return;\n            item.click();\n        }\n    };\n    __setFunctionName(_classThis, \"ManWa\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        ManWa = _classThis = _classDescriptor.value;\n    })();\n    _classThis.CName = \"漫蛙\";\n    _classThis.Name = \"ManWa\";\n    (() => {\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return ManWa = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/ManWa/ManWa.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/ManWa/index.ts":
    /*!************************************!*\
      !*** ./src/Injects/ManWa/index.ts ***!
      \************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ManWa__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ManWa */ \"./src/Injects/ManWa/ManWa.ts\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_ManWa__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/ManWa/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/MenuInject.ts":
    /*!***********************************!*\
      !*** ./src/Injects/MenuInject.ts ***!
      \***********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MenuInject)\n/* harmony export */ });\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _lib_MatchBean__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lib/MatchBean */ \"./src/lib/MatchBean.ts\");\n/* harmony import */ var _lib_Pages_InjectPages__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../lib/Pages/InjectPages */ \"./src/lib/Pages/InjectPages.ts\");\n\n\n\nclass MenuInject extends _lib_Pages_InjectPages__WEBPACK_IMPORTED_MODULE_2__.InjectPages {\n    constructor(engine) {\n        super(engine, { Match: [] });\n        this.Match = [/\\/t66y\\//];\n        //添加样式\n        if (this.needMenu())\n            new _lib_MatchBean__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this);\n    }\n    needMenu() {\n        return true;\n    }\n    getMatch() {\n        if (!this.needMenu())\n            return super.getMatch();\n        return this.setting.Match.map((match) => new RegExp(match));\n        // if (this.Match) list.push(...this.Match);\n        // this.log(\"WIE\", \"getMatch\", list);\n        // return list;\n    }\n    onStart() {\n        //注入设置界面\n    }\n    onLoad() {\n        // //监听dom变化\n        // this.createObserver();\n        // //查找code\n        // this.findCode();\n    }\n    /**\n     * 启动监听\n     */\n    startObserver(callback) {\n        var _a;\n        //如果旧的存在则停止监听\n        if (this.observer)\n            this.observer.disconnect();\n        const observer = new MutationObserver((mutations) => callback(mutations));\n        this.observer = observer;\n        (_a = this.observer) === null || _a === void 0 ? void 0 : _a.observe(document.body, {\n            attributes: true,\n            childList: true,\n            characterData: true,\n            subtree: true,\n        });\n    }\n    /**\n     * 复制Code\n     * @param e\n     * @returns\n     */\n    saveID(code, e) {\n        e.preventDefault();\n        //手机端不支持复制\n        if (_WIE__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Instance.isMobile)\n            return;\n        this.copy(code);\n        return false;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/MenuInject.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Mid/Mid.ts":
    /*!********************************!*\
      !*** ./src/Injects/Mid/Mid.ts ***!
      \********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_InjectPages__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../lib/Pages/InjectPages */ \"./src/lib/Pages/InjectPages.ts\");\n/* harmony import */ var _MidSetting__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MidSetting */ \"./src/Injects/Mid/MidSetting.ts\");\n/* harmony import */ var _Pages_MidHome__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Pages/MidHome */ \"./src/Injects/Mid/Pages/MidHome.ts\");\n\n\n\nconst Style = `\r\n\r\n.wie-tags-area{\r\n    position: fixed;\r\n    bottom: 20px;\r\n    right: 20px;\r\n    z-index: 9999;\r\n    color: var(--mainTextColor);\r\n}\r\nwie-mid {\r\n    font-size: 12px;\r\n    background: #b5bac1;\r\n    padding: 1px 5px;\r\n    border-radius: 5px;\r\n    display: block;\r\n    text-align: center;\r\n    cursor: pointer;\r\n    color: #313338;\r\n    font-weight: 700;\r\n    }\r\n`;\n// @WIE.Inject()\nclass Mid extends _lib_Pages_InjectPages__WEBPACK_IMPORTED_MODULE_0__.InjectPages {\n    constructor() {\n        super(...arguments);\n        this.Match = [/discord.com/];\n    }\n    onStart() { }\n    onLoad() {\n        //注入设置界面\n        this.addSetting(\"Mid自动系统\", new _MidSetting__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this));\n        setTimeout(() => this.toStart(), 5000);\n    }\n    toStart() {\n        this.addStyle(Style);\n        const div = this.createDiv(`<wie-mid>Mid自动</wie-mid>`, {\n            events: {\n                click: () => {\n                    this.log(\"click\");\n                    // this.start();\n                    this.startPage(_Pages_MidHome__WEBPACK_IMPORTED_MODULE_2__[\"default\"], { loading: false });\n                },\n            },\n        });\n        const toolbar = document.querySelector(\".toolbar-3_r2xA\");\n        this.log(\"toolbar\", toolbar, div);\n        if (!toolbar)\n            return document.body.appendChild(div);\n        toolbar.appendChild(div);\n    }\n}\n/** 需重写 */\nMid.CName = \"Mid自助系统\";\n/** 需重写 */\nMid.Name = \"MidInject\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Mid);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Mid/Mid.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Mid/MidSetting.ts":
    /*!***************************************!*\
      !*** ./src/Injects/Mid/MidSetting.ts ***!
      \***************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MidSetting)\n/* harmony export */ });\n/* harmony import */ var _InjectSetting__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../InjectSetting */ \"./src/InjectSetting.ts\");\n/* harmony import */ var _UI_InputUI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../UI/InputUI */ \"./src/UI/InputUI.ts\");\n\n\nclass MidSetting extends _InjectSetting__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    render() {\n        this.log(\"渲染配置界面\", this.setting);\n        return `<wie-area>\r\n        <wie-name>Mid自动配置</wie-name>\r\n        </wie-area>\r\n        <wie-area>\r\n        <wie-name>基本配置</wie-name>\r\n            ${new _UI_InputUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this, \"ids\", \"ID列表\", this.setting.ids).hold()}\r\n        </wie-area>`;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Mid/MidSetting.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Mid/Pages/MidHome.ts":
    /*!******************************************!*\
      !*** ./src/Injects/Mid/Pages/MidHome.ts ***!
      \******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/Page */ \"./src/lib/Pages/Page.ts\");\n\nclass MidHome extends _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.ing = false;\n        this.clicks = [];\n        this.timer = 0;\n        this.delay = 0;\n    }\n    render(page, intent) {\n        return `<wie-title>Mid自动系统</wie-title>\r\n        <wie-area>\r\n            <wie-name>配置:${this.setting.ids}</wie-name>\r\n            <wie-button-item>开始</wie-button-item>\r\n        </wie-area>`;\n    }\n    onCreate(page, intent) {\n        page.querySelector(\"wie-button-item\").addEventListener(\"click\", () => {\n            this.log(\"点击开始\", this.ing);\n            if (this.ing)\n                this.stopAuto();\n            else\n                this.startAuto();\n        });\n    }\n    startAuto() {\n        var _a;\n        if (this.ing)\n            this.stopAuto();\n        this.log(\"开始自动\");\n        /** 解析数据*/\n        const id = (_a = this.setting.ids) !== null && _a !== void 0 ? _a : \"\";\n        this.clicks = id.split(\"\\n\").map((v) => {\n            const [id, click] = v.trim().split(\",\");\n            if (!id || !click)\n                return;\n            return { id, click };\n        });\n        this.log(\"解析数据\", this.clicks);\n        //如果长度为0,停止\n        if (this.clicks.length === 0)\n            return this.error(\"请先配置数据\");\n        this.ing = true;\n        if (!this.begin()) {\n            //\n            this.stopAuto();\n            //\n            this.error(\"未找到对应的ID\");\n            return;\n        }\n        //启动定时器\n        this.timer = setTimeout(() => this.begin(), this.clicks.length * 60 * 1000);\n    }\n    begin(index = 0) {\n        //如果超过了长度,停止\n        if (index >= this.clicks.length)\n            return false;\n        this.log(\"开始点击\", index, this.clicks[index], this.clicks);\n        this.page.querySelector(\"wie-button-item\").innerText = \"停止\";\n        //获取id\n        const item = document.getElementById(this.clicks[index].id);\n        if (!item)\n            return false;\n        //获取点击\n        // const clickItem =\n        const buttons = Array.from(item.querySelectorAll(\"button\"));\n        for (let btn of buttons) {\n            if (btn.textContent.trim() === this.clicks[index].click) {\n                this.log(\"开始重新点击\", this.clicks[index]);\n                console.timeStamp(\"时间\");\n                //出发点击\n                btn.click();\n                break;\n            }\n        }\n        //等待2秒,再次执行\n        this.delay = setTimeout(() => this.begin(index + 1), 2000);\n        return true;\n    }\n    stopAuto() {\n        this.ing = false;\n        this.page.querySelector(\"wie-button-item\").innerText = \"开始\";\n        clearTimeout(this.timer);\n        clearTimeout(this.delay);\n    }\n}\n/** 需实现 */\nMidHome.Name = \"MidHome\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MidHome);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Mid/Pages/MidHome.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Mid/index.ts":
    /*!**********************************!*\
      !*** ./src/Injects/Mid/index.ts ***!
      \**********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Mid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Mid */ \"./src/Injects/Mid/Mid.ts\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_Mid__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Mid/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/NineOne/NineOne.ts":
    /*!****************************************!*\
      !*** ./src/Injects/NineOne/NineOne.ts ***!
      \****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _lib_Pages_InjectPages__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../lib/Pages/InjectPages */ \"./src/lib/Pages/InjectPages.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\nconst Style = `\r\n.whole.page-chats{\r\n    max-width: none !important;\r\n}\r\n\r\n.img-responsive {\r\n    width: 100%;\r\n    max-width: none;\r\n    max-height: 354px;\r\n}\r\n\r\n.container {\r\n    width: 80%;\r\n}\r\n\r\n.a91{\r\n    display: none;\r\n}\r\n\r\n.video-title{\r\n    font-size: 12px;\r\n    color: #333;\r\n    font-weight: bold;\r\n    white-space: normal;\r\n}\r\n\r\n.thumb-overlay {\r\n    overflow: hidden;\r\n    border-radius: 5px;\r\n    height: auto;\r\n}\r\n\r\n.well{\r\n    font-size: 12px;\r\n    height: 100%;\r\n    margin:10px;\r\n}\r\n\r\n .row > div {\r\n     padding: 10px;\r\n }\r\n\r\n .row>div>.well {\r\n    margin:0px;\r\n }\r\n\r\n.row {\r\n    margin-left: -10px;\r\n    margin-right: -10px;\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    align-items: stretch;\r\n}\r\n\r\n.well #wie-91-emby{\r\n    top: auto;\r\n    bottom: 0;\r\n}\r\n\r\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_WIE__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Inject()];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var NineOne = _classThis = class extends _lib_Pages_InjectPages__WEBPACK_IMPORTED_MODULE_1__.InjectPages {\n        constructor() {\n            super(...arguments);\n            this.Match = [/91porn/i];\n        }\n        onStart() {\n            //\n            this.addStyle(Style);\n        }\n    };\n    __setFunctionName(_classThis, \"NineOne\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        NineOne = _classThis = _classDescriptor.value;\n    })();\n    _classThis.Name = \"NineOne\";\n    _classThis.CName = \"91增强\";\n    (() => {\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return NineOne = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/NineOne/NineOne.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/NineOne/index.ts":
    /*!**************************************!*\
      !*** ./src/Injects/NineOne/index.ts ***!
      \**************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _NineOne__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NineOne */ \"./src/Injects/NineOne/NineOne.ts\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_NineOne__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/NineOne/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/Pages/PageSearch.ts":
    /*!************************************************!*\
      !*** ./src/Injects/Search/Pages/PageSearch.ts ***!
      \************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/Page */ \"./src/lib/Pages/Page.ts\");\n/* harmony import */ var _CodeFind_BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../CodeFind/BaseUI/TabControl */ \"./src/Injects/CodeFind/BaseUI/TabControl.ts\");\n/* harmony import */ var _CodeFind_UI_UIEmby__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../CodeFind/UI/UIEmby */ \"./src/Injects/CodeFind/UI/UIEmby.ts\");\n/* harmony import */ var _CodeFind_UI_UIMagnet__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../CodeFind/UI/UIMagnet */ \"./src/Injects/CodeFind/UI/UIMagnet.ts\");\n/* harmony import */ var _CodeFind_UI_UIProgress__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../CodeFind/UI/UIProgress */ \"./src/Injects/CodeFind/UI/UIProgress.ts\");\n/* harmony import */ var _CodeFind_UI_UIVideos__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../CodeFind/UI/UIVideos */ \"./src/Injects/CodeFind/UI/UIVideos.ts\");\n\n\n\n\n\n\nclass PageSearch extends _lib_Pages_Page__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    render(page) {\n        return `\r\n            <wie-area class='no-border wie-search-input'>\r\n                <input id='wie-search' />\r\n            </wie-area>\r\n\r\n            <div id='wie-code'>\r\n            <wie-area class='no-border'>\r\n                    ${new _CodeFind_UI_UIEmby__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this).hold()}\r\n                    <div class='wie-tabs'>\r\n                        <wie-tab id=\"wie-tab-magnet\">磁链<span id='wie-magnet-count'></span></wie-tab>\r\n                        <wie-tab id=\"wie-tab-video\">视频<span id='wie-videos-count'></span></wie-tab>\r\n                    </div>\r\n                </wie-area>\r\n\r\n                <div class='wie-scroll'>\r\n                    <div id='wie-info-magnet'>\r\n                        <wie-area>\r\n                            ${new _CodeFind_UI_UIMagnet__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this).hold()}\r\n                        </wie-area>\r\n                    </div>\r\n                    <div id='wie-info-video'>\r\n                        ${new _CodeFind_UI_UIVideos__WEBPACK_IMPORTED_MODULE_5__[\"default\"](this).hold()}\r\n                    </div>\r\n\r\n                </div>\r\n\r\n                \r\n            </div>\r\n            ${new _CodeFind_UI_UIProgress__WEBPACK_IMPORTED_MODULE_4__[\"default\"](this).hold()}\r\n         `;\n    }\n    onCreate(page, intent) {\n        const scroll = page.querySelector(\".wie-scroll\");\n        scroll.addEventListener(\"wheel\", (e) => {\n            const { scrollHeight, scrollTop, clientHeight } = scroll;\n            if (scrollHeight <= clientHeight)\n                return;\n            if (e.deltaY > 0) {\n                scroll.scrollTop = Math.max(scrollTop + 50, 0);\n            }\n            else {\n                scroll.scrollTop = Math.min(scrollTop - 50, scrollHeight - clientHeight);\n            }\n        });\n        const search = page.querySelector(\"#wie-search\");\n        search.addEventListener(\"keydown\", (e) => {\n            var _a;\n            if (e.key === \"Enter\") {\n                const code = e.target.value;\n                if (code === ((_a = this.intent.code) !== null && _a !== void 0 ? _a : intent.code))\n                    return;\n                this.startSyncs({ code, loading: true });\n            }\n        });\n        search.value = intent.code;\n        //tab项控制\n        new _CodeFind_BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_1__[\"default\"](page, {\n            tabs: [\"magnet\", \"video\"],\n            tabPrefix: \"wie-tab-\",\n            contentPrefix: \"wie-info-\",\n        });\n    }\n}\nPageSearch.Name = \"PageSearch\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PageSearch);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/Pages/PageSearch.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/SearchSetting.ts":
    /*!*********************************************!*\
      !*** ./src/Injects/Search/SearchSetting.ts ***!
      \*********************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _InjectSetting__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../InjectSetting */ \"./src/InjectSetting.ts\");\n/* harmony import */ var _UI_CheckBoxUI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../UI/CheckBoxUI */ \"./src/UI/CheckBoxUI.ts\");\n/* harmony import */ var _UI_InputHostUI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../UI/InputHostUI */ \"./src/UI/InputHostUI.ts\");\n/* harmony import */ var _UI_TextareaUI__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../UI/TextareaUI */ \"./src/UI/TextareaUI.ts\");\n\n\n\n\nclass SearchSetting extends _InjectSetting__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    render() {\n        const { Match, Hosts, VideoSource, MagnetSource } = this.setting;\n        return `\r\n            <wie-area>\r\n                <wie-name>检索配置</wie-name>\r\n                ${new _UI_TextareaUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this, \"Match\", \"检索配置\", Match.join(\",\")).hold()}\r\n            </wie-area>\r\n\r\n            <wie-area>\r\n                <wie-name>视频源配置</wie-name>\r\n                ${this.renderVideoSource(\"VideoSource\", VideoSource)}\r\n            </wie-area>\r\n\r\n            <wie-area>\r\n                <wie-name>磁力源配置</wie-name>\r\n                ${this.renderVideoSource(\"MagnetSource\", MagnetSource)}\r\n            </wie-area>\r\n            \r\n            <wie-area>\r\n                <wie-name>域名配置</wie-name>\r\n                ${this.renderHosts(Hosts)}\r\n            </wie-area>\r\n        `;\n    }\n    renderVideoSource(sourceKey, sources) {\n        this.log(\"renderVideoSource\", sources, this.setting);\n        let html = \"\";\n        for (let key in sources) {\n            html += new _UI_CheckBoxUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this, `${sourceKey}.${key}`, key, sources[key]).hold();\n        }\n        return html;\n    }\n    renderHosts(hosts) {\n        let lines = [];\n        for (const key in hosts) {\n            lines.push(new _UI_InputHostUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, `Hosts.${key}`, key, hosts[key]).hold());\n        }\n        return lines.join(\"\");\n    }\n    /**\n     *\n     * @param key\n     * @param value\n     */\n    onChange(key, value) {\n        switch (key) {\n            case \"Match\":\n                value = value.split(\",\").filter((v) => v !== \"\");\n                break;\n            default:\n                break;\n        }\n        super.onChange(key, value);\n    }\n}\nSearchSetting.DefaultSetting = {\n    Match: [],\n    VideoSource: {\n        \"91Porn\": true,\n        Emby: true,\n        Cable: true,\n    },\n    MagnetSource: {\n        BTSow: true,\n        Sukebei: true,\n        U3C3: true,\n        Solid: true,\n    },\n    /** 搜索设置 */\n    Hosts: {\n        BTSow: \"https://btsow.boats\",\n        Sukebei: \"https://sukebei.nyaa.si\",\n        \"91Porn\": \"https://91porn.com\",\n    },\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchSetting);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/SearchSetting.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/Style.ts":
    /*!*************************************!*\
      !*** ./src/Injects/Search/Style.ts ***!
      \*************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst SearchStyle = `\r\n\r\n.wie-search-input {\r\n    padding: 10px !important;\r\n}\r\n#wie-search {\r\n    border: 1px solid #d6d5d5;\r\n    width: 100%;\r\n    padding: 10px 10px;\r\n    border-radius: 5px;\r\n    box-sizing: border-box;\r\n    resize: none;\r\n    height: auto;\r\n    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n    font-size: 14px;\r\n    outline: 2px solid var(--mainColor) !important;\r\n    background: #f5f5f5;\r\n}\r\nwie-search {\r\n    position: fixed;\r\n    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n    z-index: 999;\r\n}\r\n\r\nwie-search svg {\r\n    width: 25px;\r\n    height: 25px;\r\n    cursor: pointer;\r\n}\r\n\r\n#wie-trailer-content{\r\n    min-height: 100px;\r\n}\r\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchStyle);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/Style.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/Sync/Magnet/SyncSolid.ts":
    /*!*****************************************************!*\
      !*** ./src/Injects/Search/Sync/Magnet/SyncSolid.ts ***!
      \*****************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _CodeFind_APIBase_SyncMagnet__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../CodeFind/APIBase/SyncMagnet */ \"./src/Injects/CodeFind/APIBase/SyncMagnet.ts\");\n/* harmony import */ var _Pages_PageSearch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Pages/PageSearch */ \"./src/Injects/Search/Pages/PageSearch.ts\");\n/* harmony import */ var _WieSearch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../WieSearch */ \"./src/Injects/Search/WieSearch.ts\");\n//https://solidtorrents.to/search?q=\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_WieSearch__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Sync(_Pages_PageSearch__WEBPACK_IMPORTED_MODULE_1__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncSolid = _classThis = class extends _CodeFind_APIBase_SyncMagnet__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"https://solidtorrents.to/search?q=%d\";\n            this.SettingKey = \"Solid\";\n            this.selectors = \".search-result\";\n            this.from = \"Solid\";\n        }\n        filterSize(item) {\n            var _a, _b;\n            return (_b = (_a = item.querySelectorAll(\".stats>div\")) === null || _a === void 0 ? void 0 : _a[1]) === null || _b === void 0 ? void 0 : _b.textContent;\n        }\n        filterTime(item) {\n            var _a, _b;\n            return (_b = (_a = item.querySelectorAll(\".stats>div\")) === null || _a === void 0 ? void 0 : _a[4]) === null || _b === void 0 ? void 0 : _b.textContent;\n        }\n        filterMagnet(item) {\n            var _a;\n            return (_a = item.querySelector(\".dl-magnet\")) === null || _a === void 0 ? void 0 : _a.getAttribute(\"href\");\n        }\n        filterName(item) {\n            var _a;\n            return (_a = item.querySelector(\".title a\")) === null || _a === void 0 ? void 0 : _a.textContent;\n        }\n        filterLink(item) {\n            return item.querySelector(\".title a\").getAttribute(\"href\");\n        }\n    };\n    __setFunctionName(_classThis, \"SyncSolid\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncSolid = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncSolid = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/Sync/Magnet/SyncSolid.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/Sync/Video/Sync91.ts":
    /*!*************************************************!*\
      !*** ./src/Injects/Search/Sync/Video/Sync91.ts ***!
      \*************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _CodeFind_APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../CodeFind/APIBase/CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\n/* harmony import */ var _Pages_PageSearch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Pages/PageSearch */ \"./src/Injects/Search/Pages/PageSearch.ts\");\n/* harmony import */ var _WieSearch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../WieSearch */ \"./src/Injects/Search/WieSearch.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_WieSearch__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Sync(_Pages_PageSearch__WEBPACK_IMPORTED_MODULE_1__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var Sync91 = _classThis = class extends _CodeFind_APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = `http://91porn.com/search_result.php?search_id=%d&search_type=search_videos`;\n            this.SettingKey = \"91\";\n        }\n        syncVideos(res, info, update) {\n            var _a, _b;\n            return __awaiter(this, void 0, void 0, function* () {\n                const list = res.querySelectorAll(\".well\");\n                if (!info.videos)\n                    info.videos = [];\n                for (const item of list) {\n                    const img = item.querySelector(\"img\");\n                    if (!img)\n                        continue;\n                    const name = item.querySelector(\".video-title\").textContent;\n                    //检测\n                    if (name.indexOf(this.getCode(info.code)) == -1)\n                        continue;\n                    //检测\n                    const video = {\n                        name: item.querySelector(\".video-title\").textContent,\n                        link: item.querySelector(\"a\").href,\n                        cover: img.src,\n                        zh: \"\",\n                        duration: (_b = (_a = item.querySelector(\".duration\")) === null || _a === void 0 ? void 0 : _a.textContent) !== null && _b !== void 0 ? _b : \"\",\n                        from: \"91Porn\",\n                        can: true,\n                    };\n                    //检测info.name\n                    if (!info.title) {\n                        update.title = video.name;\n                        update.cover = video.cover;\n                    }\n                    info.videos = [...info.videos, video];\n                }\n                return info.videos;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"Sync91\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        Sync91 = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return Sync91 = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/Sync/Video/Sync91.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/Sync/Video/SyncCable.ts":
    /*!****************************************************!*\
      !*** ./src/Injects/Search/Sync/Video/SyncCable.ts ***!
      \****************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _CodeFind_APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../CodeFind/APIBase/CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\n/* harmony import */ var _CodeFind_CodeFind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../CodeFind/CodeFind */ \"./src/Injects/CodeFind/CodeFind.ts\");\n/* harmony import */ var _CodeFind_pages_PageCode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../CodeFind/pages/PageCode */ \"./src/Injects/CodeFind/pages/PageCode.ts\");\n/* harmony import */ var _Pages_PageSearch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Pages/PageSearch */ \"./src/Injects/Search/Pages/PageSearch.ts\");\n/* harmony import */ var _WieSearch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../WieSearch */ \"./src/Injects/Search/WieSearch.ts\");\n// https://cableav.tv/?s=%E6%8D%A2%E5%A6%BB\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_WieSearch__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Sync(_Pages_PageSearch__WEBPACK_IMPORTED_MODULE_3__[\"default\"]), _CodeFind_CodeFind__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Sync(_CodeFind_pages_PageCode__WEBPACK_IMPORTED_MODULE_2__[\"default\"])];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    var SyncCable = _classThis = class extends _CodeFind_APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n        constructor() {\n            super(...arguments);\n            this.Url = \"https://cableav.tv/?s=%d\";\n            this.SettingKey = \"Cable\";\n        }\n        syncVideos(res, info, update) {\n            var _a, _b, _c;\n            return __awaiter(this, void 0, void 0, function* () {\n                const list = res.querySelectorAll(\"article\");\n                if (!info.videos)\n                    info.videos = [];\n                for (const item of list) {\n                    const img = item.querySelector(\"img\");\n                    if (!img)\n                        continue;\n                    const name = item.querySelector(\".entry-title\").textContent.replace(/\\t|\\n/g, \"\").trim();\n                    //检测\n                    if (name.indexOf(this.getCode(info.code)) == -1)\n                        continue;\n                    //检测\n                    const video = {\n                        name,\n                        link: item.querySelector(\"a\").href,\n                        cover: img.dataset.src,\n                        zh: item.querySelector(\".category-item\").textContent,\n                        duration: (_a = item.querySelector(\".duration-text\").textContent) !== null && _a !== void 0 ? _a : \"\",\n                        from: \"Cable\",\n                        preview: (_c = (_b = item.querySelector(\".preview-video\").dataset) === null || _b === void 0 ? void 0 : _b.iframepreview) === null || _c === void 0 ? void 0 : _c.replace(\"/preview.html?url=\", \"\"),\n                        can: true,\n                    };\n                    //检测info.name\n                    if (!info.title) {\n                        update.title = video.name;\n                        update.cover = video.cover;\n                    }\n                    info.videos = [...info.videos, video];\n                }\n                return info.videos;\n            });\n        }\n    };\n    __setFunctionName(_classThis, \"SyncCable\");\n    (() => {\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        SyncCable = _classThis = _classDescriptor.value;\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return SyncCable = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/Sync/Video/SyncCable.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/Sync/Video/SyncDouBan.ts":
    /*!*****************************************************!*\
      !*** ./src/Injects/Search/Sync/Video/SyncDouBan.ts ***!
      \*****************************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ SyncDouBan)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _CodeFind_APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../CodeFind/APIBase/CodeSync */ \"./src/Injects/CodeFind/APIBase/CodeSync.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n// @WieSearch.Sync(PageSearch)\nclass SyncDouBan extends _CodeFind_APIBase_CodeSync__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.Url = \"https://www.douban.com/search?cat=1002&q=%d\";\n    }\n    getUrl(info) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const url = this.Url.replace(\"%d\", info.code);\n            const res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(url);\n            if (!res)\n                return;\n            let link = \"\";\n            const item = Array.from(res.querySelectorAll(\".result\")).find((item) => {\n                var _a;\n                const a = item.querySelector(\".title a\");\n                if (!a)\n                    return false;\n                const name = (_a = a === null || a === void 0 ? void 0 : a.textContent) === null || _a === void 0 ? void 0 : _a.replace(/\\s/g, \"\");\n                if (name == info.code) {\n                    link = a.href;\n                    return true;\n                }\n            });\n            return link;\n        });\n    }\n    syncTitle(res) {\n        const a = res.querySelector(\"h1 span\");\n        if (!a)\n            return;\n        return a.textContent;\n    }\n    syncCover(res) {\n        const img = res.querySelector(\"#mainpic img\");\n        if (!img)\n            return;\n        return this.proxyImage(img.src.replace(\"s_ratio_poster\", \"l\").replace(\"jpg\", \"webp\"));\n    }\n    syncIntroduce(res) {\n        const desc = res.querySelector(\"#link-report-intra .all\");\n        if (!desc)\n            return;\n        return desc.textContent.trim();\n    }\n    syncActors(res) {\n        const actors = [];\n        res.querySelectorAll(\".celebrity\").forEach((item) => {\n            var _a;\n            actors.push({\n                name: item.querySelector(\".name a\").textContent,\n                link: item.querySelector(\"a\").href,\n                avatar: (_a = item\n                    .querySelector(\".avatar\")\n                    .getAttribute(\"style\")\n                    .match(/url\\((\\S+)\\)/)) === null || _a === void 0 ? void 0 : _a[1],\n                role: item.querySelector(\".role\").textContent.replace(\"饰 \", \"\"),\n            });\n        });\n        return actors;\n    }\n    syncDirector(res) {\n        const director = res.querySelector(\".attrs a\");\n        if (!director)\n            return;\n        return director.textContent;\n    }\n    syncScore(res) {\n        const score = res.querySelector(\".rating_num\");\n        if (!score)\n            return;\n        return {\n            score: Number(score.textContent),\n            total: 10,\n            num: Number(res.querySelector(\".rating_people span\").textContent),\n        };\n    }\n    syncTags(res) {\n        const types = Array.from(res.querySelectorAll(`span[property=\"v:genre\"]`)).map((item) => item.textContent);\n        return types;\n    }\n    syncReleaseDate(res) {\n        return Array.from(res.querySelectorAll(`span[property=\"v:initialReleaseDate\"]`)).map((item) => item.textContent);\n    }\n    syncComment(res) {\n        const comments = [];\n        Array.from(res.querySelectorAll(\".comment-item\")).map((item) => {\n            var _a, _b, _c, _d, _e, _f, _g;\n            if (!((_a = item.dataset) === null || _a === void 0 ? void 0 : _a.cid))\n                return null;\n            comments.push({\n                user: (_b = item.querySelector(\".comment-info a\")) === null || _b === void 0 ? void 0 : _b.textContent,\n                time: item.querySelector(\".comment-time\").textContent.replace(/\\n|\\s/g, \"\"),\n                score: Number((_g = (_f = (_e = (_d = (_c = item.querySelector(\".comment-info .rating\")) === null || _c === void 0 ? void 0 : _c.classList) === null || _d === void 0 ? void 0 : _d.value) === null || _e === void 0 ? void 0 : _e.match(/\\d+/)) === null || _f === void 0 ? void 0 : _f[0]) !== null && _g !== void 0 ? _g : 0),\n                comment: item.querySelector(\".comment-content\").textContent.replace(/\\n|\\s/g, \"\"),\n                from: \"豆瓣\",\n            });\n        });\n        return comments;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/Sync/Video/SyncDouBan.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/Sync/Video/SyncTBS.ts":
    /*!**************************************************!*\
      !*** ./src/Injects/Search/Sync/Video/SyncTBS.ts ***!
      \**************************************************/
    /***/ (() => {
    
    eval("\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/Sync/Video/SyncTBS.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/UI/UISearch.ts":
    /*!*******************************************!*\
      !*** ./src/Injects/Search/UI/UISearch.ts ***!
      \*******************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UISearch)\n/* harmony export */ });\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n/* harmony import */ var _Pages_PageSearch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Pages/PageSearch */ \"./src/Injects/Search/Pages/PageSearch.ts\");\n\n\nclass UISearch extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"code\"];\n        this.valueChange = () => {\n            this.log(\"---valueChange-\", this.input.value);\n            // this.inject.enter(this.input.value);\n            this.goPage(_Pages_PageSearch__WEBPACK_IMPORTED_MODULE_1__[\"default\"], { code: this.input.value });\n        };\n    }\n    render(div, value) {\n        this.input = div;\n        div.value = value;\n        // this.addEventListener(div, \"input\", this.valueChange);\n        this.addKeyDownListener(div, \"Enter\", (e) => {\n            this.log(\"Enter\");\n            this.valueChange();\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/UI/UISearch.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/WieSearch.ts":
    /*!*****************************************!*\
      !*** ./src/Injects/Search/WieSearch.ts ***!
      \*****************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_MatchBean__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../lib/MatchBean */ \"./src/lib/MatchBean.ts\");\n/* harmony import */ var _lib_Pages_InjectPages__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../lib/Pages/InjectPages */ \"./src/lib/Pages/InjectPages.ts\");\n/* harmony import */ var _Tools_Decorator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Tools/Decorator */ \"./src/Tools/Decorator.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _WIESetting__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../WIESetting */ \"./src/WIESetting.ts\");\n/* harmony import */ var _CodeFind__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../CodeFind */ \"./src/Injects/CodeFind/index.ts\");\n/* harmony import */ var _Pages_PageSearch__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Pages/PageSearch */ \"./src/Injects/Search/Pages/PageSearch.ts\");\n/* harmony import */ var _SearchSetting__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./SearchSetting */ \"./src/Injects/Search/SearchSetting.ts\");\n/* harmony import */ var _Style__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Style */ \"./src/Injects/Search/Style.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __setFunctionName = (undefined && undefined.__setFunctionName) || function (f, name, prefix) {\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\n\n\n\n\n\n\n\n\n_WIE__WEBPACK_IMPORTED_MODULE_3__[\"default\"].UIStyles.add(`\r\n.wie-search-icon{\r\n\r\n}\r\n\r\n.wie-search-code{\r\n    background: #1fe6a9;\r\n    fill: #FFF;\r\n    border-radius: 5px;\r\n    padding: 2px;\r\n    box-sizing: border-box;\r\n    width: 22px;\r\n    height: 22px;\r\n    margin: 1px;\r\n}\r\n`);\nconst SearchSVG = '<svg t=\"1680834384735\" class=\"wie-search-icon\"  key=\"search\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"5776\" width=\"200\" height=\"200\"><path d=\"M191.6 83.4c-47.4 22.4-85.8 60.8-108.2 108.2L191.6 83.4z\" fill=\"#4ADF9E\" p-id=\"5777\"></path><path d=\"M228.8 69.7C151.6 90.5 90.5 151.6 69.7 228.8L228.8 69.7z\" fill=\"#49DF9E\" p-id=\"5778\"></path><path d=\"M258.2 63.9c-100.8 13-181.3 93.5-194.4 194.4L258.2 63.9z\" fill=\"#48DF9F\" p-id=\"5779\"></path><path d=\"M283.6 62C162.5 63.9 63.9 162.5 62 283.6L283.6 62z\" fill=\"#47E09F\" p-id=\"5780\"></path><path d=\"M307.2 62H287C163.3 62 62 163.3 62 287v20.2L307.2 62z\" fill=\"#46E09F\" p-id=\"5781\"></path><path d=\"M330.7 62H287C163.3 62 62 163.3 62 287v43.7L330.7 62z\" fill=\"#45E09F\" p-id=\"5782\"></path><path d=\"M354.2 62H287C163.3 62 62 163.3 62 287v67.2L354.2 62z\" fill=\"#44E0A0\" p-id=\"5783\"></path><path d=\"M377.8 62H287C163.3 62 62 163.3 62 287v90.8L377.8 62z\" fill=\"#43E0A0\" p-id=\"5784\"></path><path d=\"M401.3 62H287C163.3 62 62 163.3 62 287v114.3L401.3 62z\" fill=\"#42E0A0\" p-id=\"5785\"></path><path d=\"M424.9 62H287C163.3 62 62 163.3 62 287v137.9L424.9 62z\" fill=\"#41E0A0\" p-id=\"5786\"></path><path d=\"M448.4 62H287c-39.8 0-77.3 10.5-109.8 28.8l-86.4 86.4C72.5 209.7 62 247.2 62 287v161.4L448.4 62z\" fill=\"#40E1A1\" p-id=\"5787\"></path><path d=\"M472 62H287c-23.7 0-46.5 3.7-68 10.6L72.6 219C65.7 240.5 62 263.3 62 287v185L472 62z\" fill=\"#3FE1A1\" p-id=\"5788\"></path><path d=\"M495.5 62H287c-12.6 0-24.9 1.1-37 3.1l-185 185c-2 12-3.1 24.4-3.1 37v208.5L495.5 62z\" fill=\"#3EE1A1\" p-id=\"5789\"></path><path d=\"M519.1 62H287c-3.6 0-7.1 0.1-10.6 0.3L62.3 276.4c-0.2 3.5-0.3 7-0.3 10.6v232.1L519.1 62z\" fill=\"#3DE1A1\" p-id=\"5790\"></path><path d=\"M62 542.6L542.6 62H300.2L62 300.2z\" fill=\"#3CE1A2\" p-id=\"5791\"></path><path d=\"M62 566.2L566.2 62H323.8L62 323.8z\" fill=\"#3BE1A2\" p-id=\"5792\"></path><path d=\"M62 589.7L589.7 62H347.3L62 347.3z\" fill=\"#3AE1A2\" p-id=\"5793\"></path><path d=\"M62 613.3L613.3 62H370.8L62 370.8z\" fill=\"#39E2A2\" p-id=\"5794\"></path><path d=\"M62 636.8L636.8 62H394.4L62 394.4z\" fill=\"#38E2A3\" p-id=\"5795\"></path><path d=\"M62 417.9v242.5L660.4 62H417.9z\" fill=\"#37E2A3\" p-id=\"5796\"></path><path d=\"M62 441.5v242.4L683.9 62H441.5z\" fill=\"#36E2A3\" p-id=\"5797\"></path><path d=\"M62 465v242.5L707.5 62H465z\" fill=\"#35E2A3\" p-id=\"5798\"></path><path d=\"M62 488.6V731L731 62H488.6z\" fill=\"#34E2A3\" p-id=\"5799\"></path><path d=\"M737 62H512.1L62 512.1V737c0 5.7 0.2 11.3 0.6 16.9L753.9 62.6c-5.6-0.4-11.2-0.6-16.9-0.6z\" fill=\"#33E2A4\" p-id=\"5800\"></path><path d=\"M737 62H535.7L62 535.7V737c0 12.9 1.1 25.5 3.2 37.9L774.9 65.2c-12.4-2.1-25-3.2-37.9-3.2z\" fill=\"#32E3A4\" p-id=\"5801\"></path><path d=\"M737 62H559.2L62 559.2V737c0 19.8 2.6 38.9 7.4 57.2L794.2 69.4C775.9 64.6 756.8 62 737 62z\" fill=\"#31E3A4\" p-id=\"5802\"></path><path d=\"M737 62H582.8L62 582.8V737c0 26.3 4.6 51.6 13 75.2L812.2 75c-23.6-8.4-48.9-13-75.2-13z\" fill=\"#30E3A4\" p-id=\"5803\"></path><path d=\"M737 62H606.3L62 606.3V737c0 32.7 7.1 63.8 19.8 92L829 81.8C800.8 69.1 769.7 62 737 62z\" fill=\"#2FE3A5\" p-id=\"5804\"></path><path d=\"M844.7 89.6C812.6 72 775.9 62 737 62H629.9L62 629.9V737c0 38.9 10 75.6 27.6 107.7L844.7 89.6z\" fill=\"#2EE3A5\" p-id=\"5805\"></path><path d=\"M859.4 98.5C824.1 75.4 782 62 737 62h-83.6L62 653.4V737c0 45 13.4 87.1 36.5 122.4L859.4 98.5z\" fill=\"#2DE3A5\" p-id=\"5806\"></path><path d=\"M873.2 108.2C835.3 79.3 788.1 62 737 62h-60L62 677v60c0 51.1 17.3 98.3 46.2 136.2l765-765z\" fill=\"#2CE3A5\" p-id=\"5807\"></path><path d=\"M886.1 118.8C846.3 83.5 794 62 737 62h-36.5L62 700.5V737c0 57 21.5 109.3 56.8 149.1l767.3-767.3z\" fill=\"#2BE4A6\" p-id=\"5808\"></path><path d=\"M737 62h-12.9L62 724.1V737c0 63 26.3 120.2 68.4 161.1l767.8-767.8C857.2 88.3 800 62 737 62z\" fill=\"#2AE4A6\" p-id=\"5809\"></path><path d=\"M62.2 747.4c3 64.8 33.7 122.7 80.5 161.9l766.6-766.6C870 95.9 812.2 65.2 747.4 62.2L62.2 747.4z\" fill=\"#29E4A6\" p-id=\"5810\"></path><path d=\"M64.3 768.9c8.9 61.8 43.1 115.7 91.7 150.7L919.6 156c-35-48.6-88.9-82.8-150.7-91.7L64.3 768.9z\" fill=\"#28E4A6\" p-id=\"5811\"></path><path d=\"M68 788.7c14 59.1 51.5 109.4 102.1 140.4l758.9-759c-30.9-50.5-81.2-88-140.4-102.1L68 788.7z\" fill=\"#27E4A7\" p-id=\"5812\"></path><path d=\"M73.2 807c18.7 56.7 59.4 103.6 111.9 130.5l752.3-752.3c-26.8-52.5-73.7-93.3-130.4-112L73.2 807z\" fill=\"#26E4A7\" p-id=\"5813\"></path><path d=\"M79.7 824.1c23.1 54.4 67 98.1 121.6 120.8l743.6-743.6c-22.7-54.6-66.3-98.6-120.8-121.6L79.7 824.1z\" fill=\"#25E5A7\" p-id=\"5814\"></path><path d=\"M87.2 840.1c27.2 52.3 74.4 92.8 131.3 111.1l732.8-732.8C933 161.5 892.5 114.3 840.2 87.1l-753 753z\" fill=\"#25E5A7\" p-id=\"5815\"></path><path d=\"M95.8 855.1c31.3 50.3 81.9 87.6 141.2 101.2L956.3 237c-13.6-59.4-50.8-110-101.2-141.2L95.8 855.1z\" fill=\"#24E5A7\" p-id=\"5816\"></path><path d=\"M256.9 960L960 256.9c-8.4-62-42.3-116.3-90.8-151.6l-764 764c35.4 48.3 89.6 82.3 151.7 90.7z\" fill=\"#23E5A8\" p-id=\"5817\"></path><path d=\"M278.6 961.8l683.3-683.3c-2.4-65.1-32.8-123.3-79.5-162.9L115.6 882.4c39.7 46.6 97.9 77 163 79.4z\" fill=\"#22E5A8\" p-id=\"5818\"></path><path d=\"M962 287c0-62.5-25.8-119.3-67.3-160.1L126.9 894.7C167.7 936.2 224.5 962 287 962h14.9L962 301.9V287z\" fill=\"#21E5A8\" p-id=\"5819\"></path><path d=\"M962 287c0-56.5-21.1-108.4-55.9-148L139 906.1c39.6 34.8 91.5 55.9 148 55.9h38.5L962 325.5V287z\" fill=\"#20E5A8\" p-id=\"5820\"></path><path d=\"M962 287c0-50.6-16.9-97.4-45.3-135L152 916.7c37.7 28.4 84.5 45.3 135 45.3h62l613-613v-62z\" fill=\"#1FE6A9\" p-id=\"5821\"></path><path d=\"M962 287c0-44.5-13.1-86.1-35.7-121.2L165.8 926.3c35 22.5 76.6 35.7 121.2 35.7h85.6L962 372.6V287z\" fill=\"#1EE6A9\" p-id=\"5822\"></path><path d=\"M962 287c0-38.4-9.8-74.6-26.9-106.4L180.6 935.1c31.7 17.2 68 26.9 106.4 26.9h109.1L962 396.1V287z\" fill=\"#1DE6A9\" p-id=\"5823\"></path><path d=\"M287 962h132.7L962 419.7V287c0-32.2-6.9-62.8-19.2-90.6L196.4 942.8c27.8 12.3 58.4 19.2 90.6 19.2z\" fill=\"#1CE6A9\" p-id=\"5824\"></path><path d=\"M287 962h156.2L962 443.2V287c0-25.8-4.4-50.6-12.5-73.7L213.3 949.5c23.1 8.1 47.9 12.5 73.7 12.5z\" fill=\"#1BE6AA\" p-id=\"5825\"></path><path d=\"M287 962h179.8L962 466.8V287c0-19.2-2.4-37.8-7-55.6L231.4 955c17.8 4.6 36.4 7 55.6 7z\" fill=\"#1AE6AA\" p-id=\"5826\"></path><path d=\"M287 962h203.3L962 490.3V287c0-12.3-1-24.4-2.9-36.2L250.8 959.1c11.8 1.9 23.9 2.9 36.2 2.9z\" fill=\"#19E6AA\" p-id=\"5827\"></path><path d=\"M287 962h226.9L962 513.9V287c0-5.1-0.2-10.1-0.5-15L272 961.5c4.9 0.3 9.9 0.5 15 0.5z\" fill=\"#18E7AA\" p-id=\"5828\"></path><path d=\"M537.4 962L962 537.4V295L295 962z\" fill=\"#17E7AB\" p-id=\"5829\"></path><path d=\"M561 962l401-401V318.5L318.5 962z\" fill=\"#16E7AB\" p-id=\"5830\"></path><path d=\"M584.5 962L962 584.5V342.1L342.1 962z\" fill=\"#15E7AB\" p-id=\"5831\"></path><path d=\"M608.1 962L962 608.1V365.6L365.6 962z\" fill=\"#14E7AB\" p-id=\"5832\"></path><path d=\"M631.6 962L962 631.6V389.2L389.2 962z\" fill=\"#13E7AB\" p-id=\"5833\"></path><path d=\"M655.2 962L962 655.2V412.7L412.7 962z\" fill=\"#12E7AC\" p-id=\"5834\"></path><path d=\"M678.7 962L962 678.7V436.3L436.3 962z\" fill=\"#11E8AC\" p-id=\"5835\"></path><path d=\"M702.2 962L962 702.2V459.8L459.8 962z\" fill=\"#10E8AC\" p-id=\"5836\"></path><path d=\"M725.8 962L962 725.8V483.4L483.4 962z\" fill=\"#0FE8AC\" p-id=\"5837\"></path><path d=\"M962 737V506.9L506.9 962H737c4.3 0 8.5-0.1 12.7-0.4l211.9-211.9c0.3-4.2 0.4-8.4 0.4-12.7z\" fill=\"#0EE8AD\" p-id=\"5838\"></path><path d=\"M962 737V530.5L530.5 962H737c13.4 0 26.6-1.2 39.4-3.5l182.2-182.2c2.2-12.7 3.4-25.9 3.4-39.3z\" fill=\"#0DE8AD\" p-id=\"5839\"></path><path d=\"M962 737V554L554 962h183c24.8 0 48.6-4.1 71-11.6L950.4 808c7.5-22.4 11.6-46.2 11.6-71z\" fill=\"#0CE8AD\" p-id=\"5840\"></path><path d=\"M962 737V577.6L577.6 962H737c41.8 0 80.9-11.5 114.6-31.6l78.9-78.9c20-33.6 31.5-72.7 31.5-114.5z\" fill=\"#0BE8AD\" p-id=\"5841\"></path><path d=\"M962 601.1L601.1 962H737c123.8 0 225-101.3 225-225V601.1z\" fill=\"#0AE9AE\" p-id=\"5842\"></path><path d=\"M962 624.7L624.7 962H737c123.8 0 225-101.3 225-225V624.7z\" fill=\"#09E9AE\" p-id=\"5843\"></path><path d=\"M962 648.2L648.2 962H737c123.8 0 225-101.3 225-225v-88.8z\" fill=\"#08E9AE\" p-id=\"5844\"></path><path d=\"M962 671.8L671.8 962H737c123.8 0 225-101.3 225-225v-65.2z\" fill=\"#07E9AE\" p-id=\"5845\"></path><path d=\"M962 695.3L695.3 962H737c123.8 0 225-101.3 225-225v-41.7z\" fill=\"#06E9AF\" p-id=\"5846\"></path><path d=\"M962 718.8L718.8 962H737c123.8 0 225-101.3 225-225v-18.2z\" fill=\"#05E9AF\" p-id=\"5847\"></path><path d=\"M961.9 742.5L742.5 961.9c119.4-2.9 216.5-100 219.4-219.4z\" fill=\"#04E9AF\" p-id=\"5848\"></path><path d=\"M959.8 768.1L768.1 959.8c99-13.8 177.9-92.7 191.7-191.7z\" fill=\"#03EAAF\" p-id=\"5849\"></path><path d=\"M953.6 797.9L797.9 953.6c75-21.3 134.4-80.7 155.7-155.7z\" fill=\"#02EAB0\" p-id=\"5850\"></path><path d=\"M938.7 836.3L836.3 938.7c44.3-21.9 80.5-58.1 102.4-102.4z\" fill=\"#01EAB0\" p-id=\"5851\"></path><path d=\"M718.5 728.5c-9.9 9.9-26.1 9.9-36 0l-53.1-53.1c-9.9-9.9-9.9-26.1 0-36 9.9-9.9 26.1-9.9 36 0l53.1 53.1c10 10 10 26.1 0 36z\" fill=\"#E5F9EF\" p-id=\"5852\"></path><path d=\"M512 504m-216 0a216 216 0 1 0 432 0 216 216 0 1 0-432 0Z\" fill=\"#F6FDFA\" p-id=\"5853\"></path><path d=\"M512 504m-171 0a171 171 0 1 0 342 0 171 171 0 1 0-342 0Z\" fill=\"#CAF6E1\" p-id=\"5854\"></path></svg>';\nconst CodeSVG = `<svg t=\"1683262746728\" class=\"wie-search-code\"  key=\"code\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"4824\" width=\"200\" height=\"200\"><path d=\"M232 232h80v80h-80zM712 232h80v80h-80zM232 712h80v80h-80z\"  p-id=\"4825\"></path><path d=\"M128 448h288c17.6 0 32-14.4 32-32V128c0-17.6-14.4-32-32-32H128c-17.6 0-32 14.4-32 32v288c0 17.6 14.4 32 32 32z m0-320h288v288H128V128zM416 576H128c-17.6 0-32 14.4-32 32v288c0 17.6 14.4 32 32 32h288c17.6 0 32-14.4 32-32V608c0-17.6-14.4-32-32-32z m0 320H128V608h288v288zM817 823.1c22.3-27 35.6-61.5 35.6-99.1 0-86-70-156-156-156s-156 70-156 156 70 156 156 156c36.9 0 70.8-12.9 97.5-34.4l74.9 70.3c3.1 2.9 7 4.3 10.9 4.3 4.3 0 8.5-1.7 11.7-5.1 6-6.4 5.7-16.6-0.7-22.6L817 823.1zM696.6 848c-68.4 0-124-55.6-124-124s55.6-124 124-124 124 55.6 124 124-55.6 124-124 124zM912 496H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h800c8.8 0 16-7.2 16-16s-7.2-16-16-16zM512 448c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v320c0 8.8 7.2 16 16 16z\"  p-id=\"4826\"></path><path d=\"M320 216h-96c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8h96c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8z m-8 96h-80v-80h80v80zM896 96H608c-17.6 0-32 14.4-32 32v288c0 17.6 14.4 32 32 32h288c17.6 0 32-14.4 32-32V128c0-17.6-14.4-32-32-32z m0 320H608V128h288v288z\"  p-id=\"4827\"></path><path d=\"M704 328h96c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8h-96c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8z m8-96h80v80h-80v-80zM224 808h96c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8h-96c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8z m8-96h80v80h-80v-80z\"  p-id=\"4828\"></path></svg>`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    let _classDecorators = [_WIE__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Inject()];\n    let _classDescriptor;\n    let _classExtraInitializers = [];\n    let _classThis;\n    let _instanceExtraInitializers = [];\n    let _clearHideSearch_decorators;\n    let _hideSearch_decorators;\n    let _addSearchButton_decorators;\n    var WieSearch = _classThis = class extends _lib_Pages_InjectPages__WEBPACK_IMPORTED_MODULE_1__.InjectPages {\n        constructor(engine) {\n            super(engine, _SearchSetting__WEBPACK_IMPORTED_MODULE_7__[\"default\"].DefaultSetting, _Style__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n            this.Match = (__runInitializers(this, _instanceExtraInitializers), /[\\s\\S]+/);\n            this.text = \"\";\n            new _lib_MatchBean__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this);\n        }\n        getMatch() {\n            return this.setting.Match.map((match) => new RegExp(match));\n        }\n        onStart() {\n            //注入设置界面\n            _WIESetting__WEBPACK_IMPORTED_MODULE_4__[\"default\"].addSetting(new _SearchSetting__WEBPACK_IMPORTED_MODULE_7__[\"default\"](this), \"搜索配置\");\n        }\n        // 动态添加的元素, 检查所有父元素的class是否是排除项\n        checkParentClass(startDom) {\n            var _a;\n            //兼容SuperAV 下替换的元素\n            if (((_a = startDom.tagName) === null || _a === void 0 ? void 0 : _a.startsWith(\"WIE-\")) || startDom.tagName === \"IFRAME\") {\n                // this.log(\"checkParentClass: 父元素存在相关class, 已排除: \", startDom.className);\n                return true;\n            }\n            if (startDom.parentElement && \"body\" !== startDom.parentElement.nodeName) {\n                return this.checkParentClass(startDom.parentElement);\n            }\n            return false;\n        }\n        search(key = \"search\") {\n            if (key === \"search\")\n                this.startPage(_Pages_PageSearch__WEBPACK_IMPORTED_MODULE_6__[\"default\"], { code: this.text });\n            else if (key === \"code\") {\n                const cf = this.engine.inject(_CodeFind__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n                //检测全为数字时,自动添加前缀\n                let text = this.text;\n                if (/^\\d+$/.test(this.text)) {\n                    text = \"FC2-\" + text;\n                }\n                cf === null || cf === void 0 ? void 0 : cf.search(text);\n            }\n        }\n        onLoad() {\n            this.div = this.createDiv(SearchSVG + CodeSVG, {\n                events: {\n                // click: () => this.search(),\n                },\n                tag: \"wie-search\",\n            });\n            this.hideSearch();\n            //监听\n            document.addEventListener(\"selectionchange\", () => {\n                this.clearHideSearch();\n                const selection = window.getSelection();\n                if (selection) {\n                    try {\n                        const range = selection.getRangeAt(0);\n                        // this.log(\"selectionchange START\", selection, range);\n                        if (range.startContainer !== range.endContainer)\n                            return;\n                        // this.log(\"selectionchange\", selection, selection.toString(), range);\n                        let text = selection.toString();\n                        text = text === null || text === void 0 ? void 0 : text.replace(/\\n/, \"\");\n                        if (text && text.length > 0) {\n                            // const url = `https://www.wieistmeineip.de/?q=${text}`;\n                            // GM.GM_openInTab(url);\n                            //检测父元素是否为弹框\n                            // if (this.checkParentClass(selection.anchorNode as HTMLElement)) return;\n                            // this.enter(text);\n                            this.addSearchButton(range, text);\n                            return;\n                        }\n                    }\n                    catch (error) {\n                        // console.error(\"WieSearch\", error);\n                    }\n                }\n                this.hideSearch();\n            });\n            this.div.querySelectorAll(\"svg\").forEach((svg) => {\n                const key = svg.getAttribute(\"key\");\n                svg.addEventListener(\"click\", () => {\n                    this.search(key);\n                });\n            });\n        }\n        clearHideSearch() { }\n        hideSearch() {\n            this.div.style.opacity = \"0\";\n            this.div.style.pointerEvents = \"none\";\n        }\n        addSearchButton(target, text) {\n            if (!target)\n                return;\n            const rect = target.getBoundingClientRect();\n            const div = this.div;\n            div.style.left = rect.left + rect.width + 5 + \"px\";\n            div.style.top = rect.top - 25 + \"px\";\n            this.text = text;\n            div.style.opacity = \"1\";\n            div.style.pointerEvents = \"all\";\n            //\n            const cf = this.engine.inject(_CodeFind__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n            const svg = div.querySelector(\".wie-search-code\");\n            if (cf)\n                svg.style.display = \"inline-block\";\n            else\n                svg.style.display = \"none\";\n        }\n    };\n    __setFunctionName(_classThis, \"WieSearch\");\n    (() => {\n        _clearHideSearch_decorators = [(0,_Tools_Decorator__WEBPACK_IMPORTED_MODULE_2__.DelayCancel)(\"hideSearch\")];\n        _hideSearch_decorators = [(0,_Tools_Decorator__WEBPACK_IMPORTED_MODULE_2__.DelayTime)(100), (0,_Tools_Decorator__WEBPACK_IMPORTED_MODULE_2__.DelayCancel)(\"addSearchButton\")];\n        _addSearchButton_decorators = [(0,_Tools_Decorator__WEBPACK_IMPORTED_MODULE_2__.DelayTime)(100)];\n        __esDecorate(_classThis, null, _clearHideSearch_decorators, { kind: \"method\", name: \"clearHideSearch\", static: false, private: false, access: { has: obj => \"clearHideSearch\" in obj, get: obj => obj.clearHideSearch } }, null, _instanceExtraInitializers);\n        __esDecorate(_classThis, null, _hideSearch_decorators, { kind: \"method\", name: \"hideSearch\", static: false, private: false, access: { has: obj => \"hideSearch\" in obj, get: obj => obj.hideSearch } }, null, _instanceExtraInitializers);\n        __esDecorate(_classThis, null, _addSearchButton_decorators, { kind: \"method\", name: \"addSearchButton\", static: false, private: false, access: { has: obj => \"addSearchButton\" in obj, get: obj => obj.addSearchButton } }, null, _instanceExtraInitializers);\n        __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name }, null, _classExtraInitializers);\n        WieSearch = _classThis = _classDescriptor.value;\n    })();\n    /** 名称 */\n    _classThis.Name = \"WieSearch\";\n    _classThis.CName = \"划词搜索\";\n    (() => {\n        __runInitializers(_classThis, _classExtraInitializers);\n    })();\n    return WieSearch = _classThis;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/WieSearch.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/Search/index.ts":
    /*!*************************************!*\
      !*** ./src/Injects/Search/index.ts ***!
      \*************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _WieSearch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./WieSearch */ \"./src/Injects/Search/WieSearch.ts\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_WieSearch__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/Search/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Injects/XPath/index.ts":
    /*!************************************!*\
      !*** ./src/Injects/XPath/index.ts ***!
      \************************************/
    /***/ (() => {
    
    eval("// import XPath from \"./XPath\";\n// export default XPath;\n\n\n//# sourceURL=webpack://empty-project/./src/Injects/XPath/index.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/DOMTool.ts":
    /*!******************************!*\
      !*** ./src/Tools/DOMTool.ts ***!
      \******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/**\n * DOM工具\n */\nclass DOMTool {\n    /**\n     * 拦截事件\n     */\n    static InjectEvent() {\n        if (this.isInject)\n            return;\n        this.isInject = true;\n        const addListener = EventTarget.prototype.addEventListener;\n        EventTarget.prototype.addEventListener = function (type, ...args) {\n            if (type !== \"XContentLoaded\")\n                return addListener.call(this, type, ...args);\n            document.readyState !== \"loading\" ? args[0]() : addListener.call(this, \"DOMContentLoaded\", ...args);\n        };\n    }\n    /**\n     * 监听事件\n     * @param callback\n     */\n    static onLoaded(callback) {\n        const call = window.onload;\n        window.onload = (ev) => {\n            if (call)\n                call.call(this, ev);\n            callback.call(this, ev);\n        };\n    }\n    static onDomLoaded(callback) {\n        document.addEventListener(\"XContentLoaded\", callback, { once: true });\n    }\n    /**\n     * 查询所有匹配元素\n     * @param match\n     * @returns\n     */\n    static selectAll(match) {\n        return document.querySelectorAll(match);\n    }\n    /**\n     * 查询单个元素\n     * @param match\n     * @returns\n     */\n    static select(match) {\n        return document.querySelector(match);\n    }\n    /**\n     *\n     * @param div\n     * @param key\n     * @param listener\n     */\n    static addKeyDownListener(key, listener, div = document) {\n        const callback = (e) => {\n            if (e.key === key)\n                listener(e);\n        };\n        div.addEventListener(\"keydown\", callback);\n        const call = () => div.removeEventListener(\"keydown\", callback);\n        return call;\n    }\n    /**\n     * 创建元素\n     * @param tag\n     * @param attrs\n     * @param child\n     * @returns\n     */\n    static create(tag, attrs = {}, child) {\n        const node = document.createElement(tag);\n        for (const [name, value] of Object.entries(attrs))\n            node.setAttribute(name, value);\n        if (child)\n            node.append(child);\n        return node;\n    }\n    /**\n     * 创建视频元素\n     * @param sources\n     * @param attrs\n     * @returns\n     */\n    static createVideo(sources, attrs = {}) {\n        var _a;\n        if (typeof sources === \"string\")\n            sources = [{ src: sources, type: \"video/mp4\" }];\n        const video = this.create(\"video\", attrs);\n        video.controls = true;\n        video.currentTime = 3;\n        video.volume = Number((_a = localStorage.getItem(\"volume\")) !== null && _a !== void 0 ? _a : 0);\n        video.preload = \"none\";\n        video.append(...sources.map((item) => this.create(\"source\", item)));\n        let timer = null;\n        video.addEventListener(\"volumechange\", ({ target }) => {\n            if (timer)\n                clearTimeout(timer);\n            timer = setTimeout(() => localStorage.setItem(\"volume\", target.volume), 1000);\n        });\n        video.addEventListener(\"keyup\", ({ code, target }) => {\n            if (code === \"Enter\") {\n                target.requestFullscreen();\n                target.play();\n            }\n            if (code === \"KeyM\")\n                target.muted = !target.muted;\n        });\n        return video;\n    }\n    /**\n     * 创建div\n     * @param innerHTML\n     * @param options\n     * @returns\n     */\n    static createDiv(innerHTML, options = {}) {\n        var _a;\n        const div = document.createElement((_a = options.tag) !== null && _a !== void 0 ? _a : \"div\");\n        const { className, id, listeners, events, parent = document.body, tooltip } = options;\n        if (id) {\n            const old = document.getElementById(id);\n            if (old)\n                old.remove();\n            div.id = id;\n        }\n        if (className)\n            div.className = className;\n        if (tooltip)\n            div.setAttribute(\"wie-tooltip\", tooltip);\n        div.innerHTML = innerHTML;\n        //事件监听\n        if (events) {\n            for (const key in events) {\n                div.addEventListener(key, events[key]);\n            }\n        }\n        if (listeners) {\n            for (const key in listeners) {\n                div.querySelector(key).addEventListener(\"click\", listeners[key]);\n            }\n        }\n        if (parent)\n            parent.appendChild(div);\n        return div;\n    }\n    static get Favicon() {\n        var _a;\n        return (_a = document.querySelector('link[rel=\"shortcut icon\"]')) === null || _a === void 0 ? void 0 : _a.href;\n    }\n}\nDOMTool.isInject = false;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DOMTool);\n//注入拦截\nDOMTool.InjectEvent();\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/DOMTool.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/Decorator.ts":
    /*!********************************!*\
      !*** ./src/Tools/Decorator.ts ***!
      \********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Delay: () => (/* binding */ Delay),\n/* harmony export */   DelayCancel: () => (/* binding */ DelayCancel),\n/* harmony export */   DelayTime: () => (/* binding */ DelayTime),\n/* harmony export */   LogFunc: () => (/* binding */ LogFunc),\n/* harmony export */   Time: () => (/* binding */ Time),\n/* harmony export */   TryCatch: () => (/* binding */ TryCatch),\n/* harmony export */   \"default\": () => (/* binding */ Decorator),\n/* harmony export */   immutable: () => (/* binding */ immutable),\n/* harmony export */   observable: () => (/* binding */ observable)\n/* harmony export */ });\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../WIE */ \"./src/WIE.ts\");\n\nfunction capitalizeFirstLetter(str) {\n    return str.charAt(0).toUpperCase() + str.slice(1);\n}\nclass Decorator {\n    /**\n     * 时长统计\n     * @param func\n     * @param propertyKey\n     * @param descriptor\n     */\n    static Time(func, context) {\n        return function (...args) {\n            var _a;\n            const key = `【类:${(_a = this.constructor) === null || _a === void 0 ? void 0 : _a.Name}-方法:${context.name.toString()}】:耗时`;\n            console.time(key);\n            const result = func.call(this, ...args);\n            console.timeEnd(key);\n            return result;\n        };\n    }\n    /**\n     * 打印方法参数\n     * @param func\n     * @param propertyKey\n     */\n    static LogFunc(func, context) {\n        return function (...args) {\n            var _a, _b;\n            _WIE__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Instance.log(`执行:${(_b = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a.Name) !== null && _b !== void 0 ? _b : this.constructor.name}.${context.name.toString()}`, ...args);\n            return func.call(this, ...args);\n        };\n    }\n    /**\n     * 捕获异常\n     * @param target\n     * @param propertyKey\n     * @param descriptor\n     */\n    static TryCatch(target, propertyKey, descriptor) {\n        const func = descriptor.value;\n        descriptor.value = function (...args) {\n            var _a;\n            try {\n                return func.call(this, ...args);\n            }\n            catch (error) {\n                _WIE__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Instance.log(`执行:${(_a = target.constructor) === null || _a === void 0 ? void 0 : _a.Name}.${propertyKey}异常`, error);\n            }\n        };\n    }\n    /**\n     * 监听属性变化\n     *\n     * 调用on${propertyKey}Change方法\n     */\n    static observable(target, key) {\n        const targetKey = \"on\" + capitalizeFirstLetter(key) + \"Change\";\n        target[targetKey] = function (fn) {\n            let prev = this[key];\n            Reflect.defineProperty(this, key, {\n                set(next) {\n                    fn(prev, next);\n                    prev = next;\n                },\n            });\n        };\n    }\n    /**\n     * 设置属性不可变\n     * @param target\n     * @param propertyKey\n     * @param descriptor\n     */\n    static immutable(target, propertyKey, descriptor) {\n        const original = descriptor.set;\n        descriptor.set = function (value) {\n            return original.call(this, Object.assign({}, value));\n        };\n    }\n    /**\n     * 延时执行\n     * @param time\n     * @returns\n     */\n    static DelayTime(time = 1000) {\n        // return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n        //     const func = descriptor.value;\n        //     descriptor.value = function (...args: any) {\n        //         clearTimeout(this._delayTimer);\n        //         this._delayTimer = setTimeout(() => {\n        //             func.call(this, ...args);\n        //         }, time);\n        //         // WIE.Instance.log(`执行:${target.constructor?.Name}.${propertyKey}延迟${time}ms`);\n        //     };\n        // };\n        return function (target, context) {\n            return function (...args) {\n                const key = `${context.name.toString()}Timer`;\n                clearTimeout(this[key]);\n                this[key] = setTimeout(() => {\n                    target.call(this, ...args);\n                }, time);\n            };\n        };\n    }\n    /**\n     * 延迟执行\n     * 通过属性delayTime设置延迟时间\n     * 注释:不支持返回值\n     */\n    static Delay(target, context) {\n        return function (...args) {\n            var _a;\n            const key = `${context.name.toString()}Timer`;\n            const time = (_a = this.delayTime) !== null && _a !== void 0 ? _a : 1000;\n            clearTimeout(this[key]);\n            this[key] = setTimeout(() => {\n                target.call(this, ...args);\n            }, time);\n        };\n    }\n    // public static Delay(target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n    //     const func = descriptor.value;\n    //     descriptor.value = function (...args: any) {\n    //         const time = this.delayTime ?? 1000;\n    //         clearTimeout(this._enterTimer);\n    //         this._enterTimer = setTimeout(() => {\n    //             func.call(this, ...args);\n    //         }, time);\n    //         // WIE.Instance.log(`执行:${target.constructor?.Name}.${propertyKey}延迟${time}ms`);\n    //     };\n    // }\n    /**\n     * 取消进入\n     */\n    // public static DelayCancel(target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n    //     const func = descriptor.value;\n    //     descriptor.value = function (...args: any) {\n    //         // WIE.Instance.log(`取消执行:${target.constructor?.Name}.${propertyKey}`, this._enterTimer);\n    //         clearTimeout(this._enterTimer);\n    //         return func.call(this, ...args);\n    //     };\n    // }\n    static DelayCancel(funcName) {\n        return function (func, context) {\n            return function (...args) {\n                // WIE.Instance.log(`取消执行:${target.constructor?.Name}.${propertyKey}`, this._enterTimer);\n                const key = `${funcName}Timer`;\n                clearTimeout(this[key]);\n                return func.call(this, ...args);\n            };\n        };\n    }\n}\n/**\n * 时长统计\n */\nconst Time = Decorator.Time;\n/**\n * 打印方法参数\n */\nconst LogFunc = Decorator.LogFunc;\n/**\n * 捕获异常\n */\nconst TryCatch = Decorator.TryCatch;\n/**\n * 监听属性变化\n * @调用on${propertyKey}Change方法\n */\nconst observable = Decorator.observable;\n/**\n * 设置属性不可变\n */\nconst immutable = Decorator.immutable;\n/**\n * 延迟执行\n * 通过属性delayTime设置延迟时间\n * 注释:不支持返回值\n * @与DelayCancel配合使用\n */\nconst Delay = Decorator.Delay;\n/**\n * 取消延迟执行\n * @与Delay配合使用\n */\nconst DelayCancel = Decorator.DelayCancel;\n/**\n * 延时执行,支持定义延时时间\n */\nconst DelayTime = Decorator.DelayTime;\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/Decorator.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/GM.ts":
    /*!*************************!*\
      !*** ./src/Tools/GM.ts ***!
      \*************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n// const GM: IGM = {\n//     GM_xmlhttpRequest,\n//     GM_notification,\n//     GM_getResourceURL,\n//     GM_openInTab,\n//     GM_setClipboard,\n//     GM_setValue,\n//     GM_getValue,\n//     GM_registerMenuCommand,\n//     GM_addStyle,\n// };\nconst WIN = window;\n// const GM: IGM = {\n//     GM_xmlhttpRequest: WIN.GM_xmlhttpRequest,\n//     GM_notification: WIN.GM_notification,\n//     GM_getResourceURL: WIN.GM_getResourceURL,\n//     GM_openInTab: WIN.GM_openInTab,\n//     GM_setClipboard: WIN.GM_setClipboard,\n//     GM_setValue: WIN.GM_setValue,\n//     GM_getValue: WIN.GM_getValue,\n//     GM_registerMenuCommand: WIN.GM_registerMenuCommand,\n//     GM_addStyle: WIN.GM_addStyle,\n// };\nclass GM {\n}\nGM.GM_xmlhttpRequest = WIN.GM_xmlhttpRequest;\nGM.GM_notification = WIN.GM_notification;\nGM.GM_getResourceURL = WIN.GM_getResourceURL;\nGM.GM_openInTab = WIN.GM_openInTab;\nGM.GM_setClipboard = WIN.GM_setClipboard;\nGM.GM_setValue = WIN.GM_setValue;\nGM.GM_getValue = WIN.GM_getValue;\nGM.GM_deleteValue = WIN.GM_deleteValue;\nGM.GM_registerMenuCommand = WIN.GM_registerMenuCommand;\nGM.GM_addStyle = WIN.GM_addStyle;\nGM.GM_download = WIN.GM_download;\nGM.GM_addValueChangeListener = WIN.GM_addValueChangeListener;\nconsole.log(\"GM\", WIN.GM_xmlhttpRequest, window, GM);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (GM);\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/GM.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/Logger.ts":
    /*!*****************************!*\
      !*** ./src/Tools/Logger.ts ***!
      \*****************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   LoggerStatic: () => (/* binding */ LoggerStatic),\n/* harmony export */   \"default\": () => (/* binding */ Logger)\n/* harmony export */ });\nconst getName = (that) => {\n    if (typeof that === \"string\")\n        return that;\n    let name = that.constructor.name;\n    // if (that.ai) {\n    //     name = name + \"-\" + that.ai.id;\n    // }\n    return name;\n};\n// const style = (bgColor: string = \"#56c4bc\", borderColor: string = \"#00b09b\") => {\n//     return `color:#fff;font-weight:bolder;font-size:10px;background:${bgColor};padding:1px 5px;border:2px solid ${borderColor};border-radius: 0 8px 0 8px;font-weight: bolder;`;\n// };\nconst style = (bgColor = \"#56c4bc\", borderColor = \"#00b09b\", color = \"#FFF\", fontSize = 12) => {\n    const padding = (20 - fontSize) / 2;\n    return `color:${color};font-weight:bolder;font-size:${fontSize}px;background:${bgColor};padding:${padding}px 10px;border:2px solid ${borderColor};border-radius: 0 8px 0 8px;`;\n};\nconst split = (bgColor = \"#00b09b\", color = \"#333\") => {\n    return `padding:4px 2px;font-size:12px;border:2px solid ${bgColor};color:${bgColor};background:none;border-left:none;border-right:none;`;\n};\nconst typeStyle = (color = \"#333\", borderColor = \"#00b09b\", borderRadius = \"0 8px 0 8px\") => {\n    return `color:${color};font-size:12px;background:none;padding:4px 4px;border:2px solid ${borderColor};border-radius: ${borderRadius};border-left:none;`;\n};\nvar LogType;\n(function (LogType) {\n    /** log */\n    LogType[LogType[\"Log\"] = 0] = \"Log\";\n    /** debug */\n    LogType[LogType[\"Debug\"] = 1] = \"Debug\";\n    /** warn */\n    LogType[LogType[\"Warn\"] = 2] = \"Warn\";\n    /** error */\n    LogType[LogType[\"Error\"] = 3] = \"Error\";\n})(LogType || (LogType = {}));\nconst Colors = {\n    [LogType.Log]: \"#3c55d1\",\n    [LogType.Debug]: \"#41ad99\",\n    [LogType.Warn]: \"#ff9645\",\n    [LogType.Error]: \"#fb3c04\",\n    string: \"#333\",\n    number: \"#2a9c9d\",\n    boolean: \"#d17542\",\n    undefined: \"#f26273\",\n};\nconst TransformArgs = (type, main, args) => {\n    const color = Colors[type];\n    const ret = [`%c${main}`, style(color, color)];\n    let last = 0;\n    let first = true;\n    for (let arg of args) {\n        if (last === -1) {\n            ret.push(arg);\n            continue;\n        }\n        const type = typeof arg;\n        switch (typeof arg) {\n            case \"string\":\n                arg = arg.trim();\n                if (arg.trim() === \"\")\n                    continue;\n                break;\n            case \"number\":\n                break;\n            case \"boolean\":\n                break;\n            case \"undefined\":\n                break;\n            default:\n                last = -1;\n                ret.push(arg);\n                continue;\n        }\n        //判断上一个是否为字符串\n        if (last >= 0) {\n            //修改上一个字符串的圆角配置\n            ret[ret.length - 1] = ret[ret.length - 1].replace(/border-radius: 0 8px 0 0/, \"border-radius: 0 0 0 0\");\n            ret[ret.length - 1] = ret[ret.length - 1].replace(/border-radius: 0 8px 0 8px/, \"border-radius: 0 0 0 8px\");\n            ret[ret.length - 1] = ret[ret.length - 1] += \"border-right:none;\";\n            //将字符串合并\n            if (!first) {\n                //优先添加分隔符\n                ret[last] = `${ret[last]}%c|`;\n                //添加样式\n                ret.push(split(color));\n            }\n            //优先添加分隔符\n            ret[last] = `${ret[last]}%c${arg}`;\n            //添加样式\n            ret.push(typeStyle(Colors[type], color, \"0 8px 0 0\"));\n            first = false;\n        }\n        else {\n            //添加到最后\n            last = ret.length;\n            ret.push(`%c${arg}`);\n            ret.push(typeStyle(Colors[type], color));\n            first = true;\n        }\n    }\n    return ret;\n};\nconst ConsoleLog = console.log;\nclass Logger {\n    static log(...args) {\n        ConsoleLog(...TransformArgs(LogType.Log, getName(this), args));\n    }\n    debug(...args) {\n        ConsoleLog(...TransformArgs(LogType.Debug, getName(this), args));\n    }\n    /**\n     * 日志\n     * @param args\n     */\n    log(...args) {\n        ConsoleLog(...TransformArgs(LogType.Log, getName(this), args));\n    }\n    /**\n     * 错误日志输出\n     * @param args\n     */\n    error(...args) {\n        console.log(...TransformArgs(LogType.Error, getName(this), args));\n    }\n    trace(...args) {\n        console.trace(...TransformArgs(LogType.Error, getName(this), args));\n    }\n    /**\n     *\n     * @param args\n     */\n    warn(...args) {\n        ConsoleLog(...TransformArgs(LogType.Warn, getName(this), args));\n    }\n}\nclass LoggerStatic {\n    /**\n     * create\n     */\n    static error(that, ...args) {\n        if (LoggerStatic.ConsoleVersion[0] === \"1\")\n            new Logger().error.call(that, ...args);\n    }\n    static warning(that, ...args) {\n        if (LoggerStatic.ConsoleVersion[1] === \"1\")\n            new Logger().warn.call(that, ...args);\n    }\n    static debug(that, ...args) {\n        if (LoggerStatic.ConsoleVersion[2] === \"1\")\n            new Logger().debug.call(that, ...args);\n    }\n    static verbose(that, ...args) {\n        // style(\"#56c4bc\", \"#00b09b\")\n        if (LoggerStatic.ConsoleVersion[3] === \"1\")\n            new Logger().log.call(that, ...args);\n    }\n}\n/**\n * 开关控制\n */\nLoggerStatic.ConsoleVersion = \"1111\";\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/Logger.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/Toast.ts":
    /*!****************************!*\
      !*** ./src/Tools/Toast.ts ***!
      \****************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   ToastType: () => (/* binding */ ToastType),\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _DOMTool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _GM__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _Tool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Tool */ \"./src/Tools/Tool.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar _a;\n\n\n\n(_a = _GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_addStyle) === null || _a === void 0 ? void 0 : _a.call(_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"], `\r\nwie-toast{\r\n    position: fixed;\r\n    z-index: 999999;\r\n    bottom: 10px;\r\n    right: 10px;\r\n    font-size: 14px;\r\n    color: var(--mainTextColor);\r\n    display: flex;\r\n    margin: 8px;\r\n    color: var(--color);\r\n    background-color: var(--bgColor);\r\n    border-radius: 6px;\r\n    box-shadow: inset 0 0 0 1px var(--borderColor),0 8px 24px rgba(140,149,159,0.2);\r\n    user-select: none;\r\n    animation: wie-toast-slide-top 0.3s ease-out;\r\n}\r\n\r\n\r\n@keyframes wie-toast-slide-top {\r\n    from {\r\n      transform: translate(0, 60px);\r\n      opacity: 0;\r\n    }\r\n    to {\r\n      transform: translate(0, 0px);\r\n      opacity: 1;\r\n    }\r\n}\r\n\r\nwie-toast .toast-icon {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    width: 48px;\r\n    flex-shrink: 0;\r\n    fill: var(--bgColor);\r\n    background-color: #0969da;\r\n    border: 1px solid rgba(0,0,0,0);\r\n    border-right: 0;\r\n    border-top-left-radius: inherit;\r\n    border-bottom-left-radius: inherit;\r\n}\r\nwie-toast .toast-icon.success {\r\n    background-color: #1f883d;\r\n}\r\nwie-toast .toast-icon.error {\r\n    background-color: #cf222e;\r\n}\r\nwie-toast .toast-icon.warning {\r\n    background-color: #9a6700;\r\n}\r\nwie-toast .toast-content {\r\n    padding: 16px;\r\n}\r\n`);\nvar ToastType;\n(function (ToastType) {\n    ToastType[\"Normal\"] = \"normal\";\n    ToastType[\"Success\"] = \"success\";\n    ToastType[\"Error\"] = \"error\";\n    ToastType[\"Warning\"] = \"warning\";\n})(ToastType || (ToastType = {}));\nconst Icons = {\n    /** 普通 */\n    [ToastType.Normal]: `<svg width=\"14\" height=\"16\" viewBox=\"0 0 14 16\" className=\"octicon octicon-info\" aria-hidden=\"true\">\r\n        <path fill-rule=\"evenodd\" d=\"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z\" />\r\n    </svg>`,\n    /** 成功 */\n    [ToastType.Success]: `<svg width=\"12\" height=\"16\" viewBox=\"0 0 12 16\" className=\"octicon octicon-check\" aria-hidden=\"true\">\r\n        <path fill-rule=\"evenodd\" d=\"M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z\" />\r\n    </svg>`,\n    /** 错误 */\n    [ToastType.Error]: `<svg width=\"14\" height=\"16\" viewBox=\"0 0 14 16\" className=\"octicon octicon-stop\" aria-hidden=\"true\">\r\n        <path fill-rule=\"evenodd\" d=\"M10 1H4L0 5v6l4 4h6l4-4V5l-4-4zm3 9.5L9.5 14h-5L1 10.5v-5L4.5 2h5L13 5.5v5zM6 4h2v5H6V4zm0 6h2v2H6v-2z\" />\r\n    </svg>`,\n    /** 警告 */\n    [ToastType.Warning]: `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" className=\"octicon octicon-alert\" aria-hidden=\"true\">\r\n        <path fill-rule=\"evenodd\" d=\"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z\" />\r\n    </svg>`,\n};\nclass Toast {\n    show(text, type = ToastType.Normal, time = 1000) {\n        return __awaiter(this, void 0, void 0, function* () {\n            console.log(\"show\", text, time);\n            //创建元素\n            const div = _DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].createDiv(text, { parent: document.body, tag: \"wie-toast\" });\n            div.innerHTML = `\r\n        <span class=\"toast-icon ${type}\">${Icons[type]}</span>\r\n        <span class=\"toast-content\">${text}</span>\r\n        `;\n            //等待\n            yield _Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].wait(time);\n            div.remove();\n        });\n    }\n}\n/**  */\nToast.Instance = new Toast();\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Toast);\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/Toast.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/Tool.ts":
    /*!***************************!*\
      !*** ./src/Tools/Tool.ts ***!
      \***************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Tool)\n/* harmony export */ });\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _GM__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _Toast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Toast */ \"./src/Tools/Toast.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n/**\n * 工具\n */\nclass Tool {\n    static fetch(url, options = {}) {\n        return __awaiter(this, void 0, void 0, function* () {\n            return yield (yield fetch(url, options)).json();\n        });\n    }\n    /**\n     * 请求\n     * @param url\n     * @param data\n     * @param method\n     * @param options\n     * @returns\n     */\n    static request(url, data, method = \"GET\", options = {}) {\n        const { responseType, headers = {} } = options;\n        if (method === \"GET\") {\n            if (Object.prototype.toString.call(data) === \"[object Object]\") {\n                data = Object.keys(data)\n                    .map((key) => `${key}=${encodeURIComponent(data[key])}`)\n                    .join(\"&\");\n            }\n            options.responseType = responseType !== null && responseType !== void 0 ? responseType : \"document\";\n            if (data) {\n                let joiner = \"?\";\n                if (url.includes(joiner))\n                    joiner = /\\?|&$/.test(url) ? \"\" : \"&\";\n                url = `${url}${joiner}${data}`;\n            }\n        }\n        if (method === \"POST\") {\n            options.responseType = responseType !== null && responseType !== void 0 ? responseType : \"json\";\n            options.headers = Object.assign({ \"Content-Type\": \"application/x-www-form-urlencoded;charset=UTF-8\" }, headers);\n        }\n        console.log(\"请求\", _GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n        return new Promise((resolve) => {\n            _GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_xmlhttpRequest(Object.assign({ url,\n                data,\n                method, timeout: 30000, onload: ({ status, response }) => {\n                    if (status >= 400)\n                        response = false;\n                    if (response && [\"\", \"text\"].includes(options.responseType)) {\n                        if (/<\\/?[a-z][\\s\\S]*>/i.test(response)) {\n                            response = new DOMParser().parseFromString(response, \"text/html\");\n                        }\n                        else if (/^\\{.*\\}$/.test(response)) {\n                            response = JSON.parse(response);\n                        }\n                    }\n                    if (status === 302)\n                        return response(response === null || response === void 0 ? void 0 : response.location);\n                    resolve(response !== null && response !== void 0 ? response : true);\n                }, ontimeout: () => resolve(false), onerror: (e) => {\n                    _WIE__WEBPACK_IMPORTED_MODULE_0__[\"default\"].log(\"--error-\", e);\n                    resolve(false);\n                } }, options));\n        });\n    }\n    static check(url) {\n        return __awaiter(this, void 0, void 0, function* () {\n            return !!(yield this.request(url, {}, \"HEAD\"));\n        });\n    }\n    /**\n     * 颜色变淡\n     * @param col\n     * @param opacity\n     * @returns\n     */\n    static lightenDarkenColor(col, opacity) {\n        //如果长度不为7,说明不是16进制颜色\n        // if (col.length !== 7) {\n        // }\n        //为颜色添加透明度\n        return col + opacity.toString(16);\n        // if (col.length === 7) {\n        //     col = col + \"00\";\n        // }\n        // //转换为16进制\n        // let num = parseInt(col, 16);\n        // //转换为rgb\n        // let r = (num >> 16) + amt;\n        // let b = ((num >> 8) & 0x00ff) + amt;\n        // let g = (num & 0x0000ff) + amt;\n        // //转换为16进制\n        // return \"#\" + (g | (b << 8) | (r << 16)).toString(16);\n        // let usePound = false;\n        // if (col[0] === \"#\") {\n        //     col = col.slice(1);\n        //     usePound = true;\n        // }\n        // let num = parseInt(col, 16);\n        // let r = (num >> 16) + amt;\n        // if (r > 255) r = 255;\n        // else if (r < 0) r = 0;\n        // let b = ((num >> 8) & 0x00ff) + amt;\n        // if (b > 255) b = 255;\n        // else if (b < 0) b = 0;\n        // let g = (num & 0x0000ff) + amt;\n        // if (g > 255) g = 255;\n        // else if (g < 0) g = 0;\n        // return (usePound ? \"#\" : \"\") + (g | (b << 8) | (r << 16)).toString(16);\n    }\n    static numberToTime(time) {\n        let second = Math.floor(time % 60) + \"\";\n        if (second.length === 1)\n            second = \"0\" + second;\n        let minute = Math.floor((time / 60) % 60) + \"\";\n        if (minute.length === 1)\n            minute = \"0\" + minute;\n        const hour = Math.floor(time / 3600);\n        if (hour === 0)\n            return `${minute}:${second}`;\n        if (minute === \"00\")\n            return `${second}`;\n        return `${hour}:${minute}:${second}`;\n    }\n    /**\n     * 处理url中的参数 {{}} 为真实参数\n     * @param url\n     * @param args\n     * @returns\n     */\n    static handleUrl(url, args) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            if (!url)\n                return url;\n            const keys = (_a = url.match(/\\{{([\\s\\S]+)}\\}/g)) !== null && _a !== void 0 ? _a : [];\n            for (let key of keys) {\n                url = url.replace(key, args[key.replace(/{|}/g, \"\")]);\n            }\n            return url;\n        });\n    }\n    /**\n     * 判断是否为移动端\n     * @returns\n     */\n    static isMobile() {\n        let userAgentInfo = navigator.userAgent;\n        let mobileAgents = [\"Android\", \"iPhone\", \"SymbianOS\", \"Windows Phone\", \"iPad\", \"iPod\"];\n        let mobile_flag = false;\n        //根据userAgent判断是否是手机\n        for (let v = 0; v < mobileAgents.length; v++) {\n            if (userAgentInfo.indexOf(mobileAgents[v]) > 0) {\n                mobile_flag = true;\n                break;\n            }\n        }\n        let screen_width = window.screen.width;\n        let screen_height = window.screen.height;\n        //根据屏幕分辨率判断是否是手机\n        if (screen_width > 325 && screen_height < 750) {\n            mobile_flag = true;\n        }\n        return mobile_flag;\n    }\n    /**\n     * 校验地址有效性\n     * @param url\n     * @returns\n     */\n    static verification(url) {\n        return __awaiter(this, void 0, void 0, function* () {\n            return new Promise((resolve) => {\n                _GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_xmlhttpRequest({\n                    url,\n                    method: \"HEAD\",\n                    onload: ({ status, response }) => {\n                        resolve(status === 200);\n                    },\n                    ontimeout: () => resolve(false),\n                    onerror: () => resolve(false),\n                });\n            });\n        });\n    }\n    /**\n     * 随机生成字符串\n     * @param len\n     * @returns\n     */\n    static randomString(len) {\n        len = len || 32;\n        const $chars = \"ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678\"; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/\n        const maxPos = $chars.length;\n        let pwd = \"\";\n        for (let i = 0; i < len; i++) {\n            let max = i === 0 ? maxPos - 10 : maxPos;\n            pwd += $chars.charAt(Math.floor(Math.random() * max));\n        }\n        return pwd;\n    }\n    /**\n     * 翻译\n     * @param text\n     * @returns\n     */\n    static translate(text) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            // const url = `https://translate.google.cn/translate_a/single?client=gtx&sl=auto&tl=zh-CN&dt=t&q=${encodeURIComponent(\n            // text\n            // )}`;\n            // return await Tool.request(url);\n            if (!text)\n                return text;\n            const res = yield Tool.request(\"https://translate.google.com.hk/translate_a/single?client=gtx&dt=t&dj=1&sl=auto&tl=zh-CN&hl=zh-CN&q=\" + encodeURIComponent(text), void 0, \"GET\", { responseType: \"json\" });\n            //如果失败,返回原文\n            if (!res || !((_a = res.sentences) === null || _a === void 0 ? void 0 : _a.length))\n                return text;\n            const sentences = res.sentences;\n            const trans = sentences.reduce((ret, value) => ret + value.trans, \"\");\n            return trans;\n        });\n    }\n    static download(url, name) {\n        _GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_download(url, name);\n    }\n    static wait(time) {\n        return new Promise((resolve) => {\n            setTimeout(() => {\n                resolve(void 0);\n            }, time);\n        });\n    }\n    /**\n     * 发送通知\n     * @param message\n     * @param type\n     * @param timeout\n     * @param onclick\n     */\n    static notify(message, type = \"success\", timeout = 5000, onclick) {\n        _GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_notification({\n            text: message,\n            image: _GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_getResourceURL(type),\n            highlight: false,\n            silent: true,\n            timeout,\n            onclick,\n        });\n        // if (setTab) setTabBar({ type, title: details.title });\n    }\n    /**\n     * 打开新标签页\n     * @param url\n     * @param options\n     */\n    static openInTab(url, options) {\n        _GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_openInTab(url, options);\n    }\n    /**\n     * 复制\n     * @param text\n     * @param tip\n     */\n    static copy(text, tip, type = _Toast__WEBPACK_IMPORTED_MODULE_2__.ToastType.Success) {\n        //复制内容\n        _GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_setClipboard(text);\n        //提示\n        if (tip)\n            _Toast__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Instance.show(tip, type);\n    }\n    static sizeToBytes(sizeStr = \"\") {\n        var _a, _b, _c, _d, _e;\n        const NUM_REGEX = /\\d+\\.?\\d*/g;\n        const sizeNum = (_b = (_a = sizeStr === null || sizeStr === void 0 ? void 0 : sizeStr.match(NUM_REGEX)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : 0;\n        if (Number(sizeNum) <= 0)\n            return \"0\";\n        const matchList = [\n            { unit: /byte/gi, transform: (size) => size },\n            { unit: /kb/gi, transform: (size) => size * 1000 },\n            { unit: /mb/gi, transform: (size) => size * Math.pow(1000, 2) },\n            { unit: /gb/gi, transform: (size) => size * Math.pow(1000, 3) },\n            { unit: /kib/gi, transform: (size) => size * 1024 },\n            { unit: /mib/gi, transform: (size) => size * Math.pow(1024, 2) },\n            { unit: /gib/gi, transform: (size) => size * Math.pow(1024, 3) },\n        ];\n        return ((_e = (_d = (_c = matchList\n            .find(({ unit }) => unit.test(sizeStr))) === null || _c === void 0 ? void 0 : _c.transform(sizeNum)) === null || _d === void 0 ? void 0 : _d.toFixed(2)) !== null && _e !== void 0 ? _e : \"0\");\n    }\n    static getTime(time) {\n        const curTime = new Date().getTime();\n        //如果是刚刚,则直接返回\n        if (curTime - time < 1000)\n            return \"\";\n        let str = \"\";\n        if (curTime - time < 60 * 1000) {\n            str = \"刚刚一分钟内\";\n        }\n        else if (curTime - time < 60 * 60 * 1000) {\n            str = `${Math.floor((curTime - time) / 60 / 1000)}分钟前`;\n        }\n        else if (curTime - time < 24 * 60 * 60 * 1000) {\n            str = `${Math.floor((curTime - time) / 60 / 60 / 1000)}小时前`;\n        }\n        else if (curTime - time < 30 * 24 * 60 * 60 * 1000) {\n            str = `${Math.floor((curTime - time) / 24 / 60 / 60 / 1000)}天前[${Tool.format(time, \"yyyy年MM月dd日 hh:mm:ss\")}]`;\n        }\n        else {\n            str = Tool.format(time, \"yyyy年MM月dd日 hh:mm:ss\");\n        }\n        return str;\n    }\n    static merge(setting = {}, newSetting = {}, create = false) {\n        if (create)\n            setting = JSON.parse(JSON.stringify(setting));\n        for (const key in newSetting) {\n            if (typeof newSetting[key] === \"object\" && Array.isArray(newSetting[key]) === false) {\n                if (!setting[key])\n                    setting[key] = {};\n                this.merge(setting[key], newSetting[key]);\n            }\n            else {\n                setting[key] = newSetting[key];\n            }\n        }\n        return setting;\n    }\n    // public static merge(setting: any, newSetting: { [key: string]: any }) {\n    //     for (const key in newSetting) {\n    //         const keys = key.split(\".\");\n    //         let obj = setting;\n    //         for (let i = 0; i < keys.length; i++) {\n    //             const k = keys[i];\n    //             if (i === keys.length - 1) {\n    //                 obj[k] = newSetting[key];\n    //             } else {\n    //                 if (!obj[k]) obj[k] = {};\n    //                 obj = obj[k];\n    //             }\n    //         }\n    //     }\n    // }\n    static format(time, fmt) {\n        const date = new Date(Number(time) < 10000000000 ? Number(time) * 1000 : Number(time)); //对于只有10位数的时间做*1000处理\n        const o = {\n            \"M+\": date.getMonth() + 1,\n            \"d+\": date.getDate(),\n            \"h+\": date.getHours(),\n            \"m+\": date.getMinutes(),\n            \"s+\": date.getSeconds(),\n            \"q+\": Math.floor((date.getMonth() + 3) / 3),\n            S: date.getMilliseconds(), //毫秒\n        };\n        const week = {\n            \"0\": \"日\",\n            \"1\": \"一\",\n            \"2\": \"二\",\n            \"3\": \"三\",\n            \"4\": \"四\",\n            \"5\": \"五\",\n            \"6\": \"六\",\n        };\n        if (/(y+)/.test(fmt)) {\n            fmt = fmt.replace(RegExp.$1, `${date.getFullYear()}`.substr(4 - RegExp.$1.length));\n        }\n        if (/(E+)/.test(fmt)) {\n            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length > 1 ? (RegExp.$1.length > 2 ? \"星期\" : \"周\") : \"\") + week[date.getDay() + \"\"]);\n        }\n        for (const k in o) {\n            if (new RegExp(`(${k})`).test(fmt)) {\n                fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : `00${o[k]}`.substr(`${o[k]}`.length));\n            }\n        }\n        return fmt;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/Tool.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/ToolValue.ts":
    /*!********************************!*\
      !*** ./src/Tools/ToolValue.ts ***!
      \********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ ToolValue)\n/* harmony export */ });\n/* harmony import */ var _GM__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./GM */ \"./src/Tools/GM.ts\");\n\nclass ToolValue {\n    constructor(key, defaultValue) {\n        this.key = key;\n        this.defaultValue = defaultValue;\n    }\n    /**\n     * 获取值\n     */\n    get value() {\n        return _GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_getValue(this.key, this.defaultValue);\n    }\n    set value(value) {\n        _GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_setValue(this.key, value);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/ToolValue.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/UrlTool.ts":
    /*!******************************!*\
      !*** ./src/Tools/UrlTool.ts ***!
      \******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UrlTool)\n/* harmony export */ });\n/* harmony import */ var _DOMTool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DOMTool */ \"./src/Tools/DOMTool.ts\");\n\n/**\n * url工具类\n */\nclass UrlTool {\n    /**\n     * url匹配\n     * @param match\n     * @param url 默认为当前文件路径\n     * @returns\n     */\n    static match(match, url = window.location.href, title = _DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Favicon) {\n        if (!Array.isArray(match))\n            match = [match];\n        for (const m of match) {\n            if (new RegExp(m).test(url))\n                return true;\n            else if (new RegExp(m).test(title))\n                return true;\n        }\n        return false;\n    }\n    /**\n     * 获取url参数\n     * @param key\n     * @returns\n     */\n    static getValue(key) {\n        var _a;\n        return (_a = location.href.match(new RegExp(`${key}=([\\\\s\\\\S]+)`))) === null || _a === void 0 ? void 0 : _a[1];\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/UrlTool.ts?");
    
    /***/ }),
    
    /***/ "./src/Tools/ValueUtils.ts":
    /*!*********************************!*\
      !*** ./src/Tools/ValueUtils.ts ***!
      \*********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nfunction transJsonToObject(props) {\n    if (typeof props === \"string\" && (props.indexOf(\"[\") === 0 || props.indexOf(\"{\") === 0)) {\n        try {\n            props = JSON.parse(props);\n        }\n        catch (e) { }\n    }\n    return props;\n}\nconst ValueUtils = {\n    getValue(props, ename, trans) {\n        ename = ename + \"\";\n        if (typeof ename !== \"string\") {\n            return props;\n        }\n        const keys = ename.split(\".\");\n        keys.map((k) => {\n            if (k !== \"\") {\n                if (trans) {\n                    props = transJsonToObject((props || {})[k]);\n                }\n                else {\n                    props = transJsonToObject(props);\n                    // 如果k为负数,props为数组,则代表取数组的 length - |k|\n                    if (/^\\-[1-9][0-9]*$/.test(k) && Array.isArray(props)) {\n                        k = `${props.length + Number(k)}`;\n                    }\n                    props = (props || {})[k];\n                }\n            }\n        });\n        return props;\n    },\n    setValue(props, ename, value, merge = false) {\n        if (typeof ename !== \"string\")\n            return;\n        const keys = ename.split(\".\");\n        if (keys[keys.length - 1] === \"\") {\n            keys.pop();\n        }\n        const key = keys.pop() || \"\";\n        const lastKey = keys[keys.length - 1] || \"\";\n        const oldProps = props;\n        keys.map((k) => {\n            if (k !== \"\") {\n                if (!props[k])\n                    props[k] = {};\n                props = props[k];\n            }\n        });\n        if (value === undefined) {\n            if (Array.isArray(props)) {\n                //移除数组中index位置的元素\n                props.splice(Number(key), 1);\n                this.setValue(oldProps, keys.join(\".\"), props);\n            }\n            else\n                delete props[key];\n        }\n        else {\n            if (merge) {\n                if (Array.isArray(value)) {\n                    const old = props[key] || [];\n                    props[key] = [...old, ...value];\n                }\n                else if (typeof value === \"object\") {\n                    props[key] = Object.assign(Object.assign({}, props[key]), value);\n                }\n            }\n            else {\n                props[key] = value;\n            }\n        }\n        if (lastKey === \"style\") {\n            return Object.assign({}, props);\n        }\n        return props;\n    },\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ValueUtils);\n\n\n//# sourceURL=webpack://empty-project/./src/Tools/ValueUtils.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/CheckBoxUI.ts":
    /*!******************************!*\
      !*** ./src/UI/CheckBoxUI.ts ***!
      \******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CheckBox)\n/* harmony export */ });\n/* harmony import */ var _InputUI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./InputUI */ \"./src/UI/InputUI.ts\");\n\nclass CheckBox extends _InputUI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.defaultType = \"hh-line\";\n    }\n    renderInput(key, name, value) {\n        return `<div class='input'><input class='checkbox ios-switch' id='${this.iid}' type='checkbox' key='${key}'  ${!!value ? \"checked\" : \"\"} /></div>`;\n    }\n    bindInputEvent(input) {\n        input.addEventListener(\"change\", (e) => {\n            const key = input.getAttribute(\"key\");\n            const value = input.checked;\n            this.onChange(key, value);\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/UI/CheckBoxUI.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/InputColorUI.ts":
    /*!********************************!*\
      !*** ./src/UI/InputColorUI.ts ***!
      \********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ InputColorUI)\n/* harmony export */ });\n/* harmony import */ var _InputUI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./InputUI */ \"./src/UI/InputUI.ts\");\n\nclass InputColorUI extends _InputUI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.defaultType = \"hh-line\";\n    }\n    // constructor(setting: InjectSetting | UI<any>, key: string, name: string, value: string | number | boolean, type: \"h-line\" | \"hh-line\" = \"hh-line\") {\n    //     super(setting, key, name, value, type);\n    // }\n    renderInput(key, name, value) {\n        return `${super.renderInput(key, name, value)}\r\n        <input class='color' type=\"color\" id='input-color-${this.id}' name=\"color\" value=\"${value}\">`;\n    }\n    event(div) {\n        super.event(div);\n        const { key } = this.props;\n        this.color = div.querySelector(`#input-color-${this.id}`);\n        this.color.addEventListener(\"change\", (e) => {\n            const value = this.color.value;\n            this.onChange(key, value);\n        });\n    }\n    onChange(key, value) {\n        // if(value && value.)\n        //TODO 进行颜色校验并格式化\n        // this.color.style.background = value as string;\n        this.color.value = value;\n        this.input.value = value;\n        super.onChange(key, value);\n    }\n    onUpdateValue(value) {\n        // super.onUpdateValue(value);\n        this.color.style.background = value;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/UI/InputColorUI.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/InputHostUI.ts":
    /*!*******************************!*\
      !*** ./src/UI/InputHostUI.ts ***!
      \*******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _InputUI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InputUI */ \"./src/UI/InputUI.ts\");\n/* harmony import */ var _UI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UI */ \"./src/UI/UI.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nconst SVG = `<svg t=\"1680151087066\"  viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"7143\" width=\"20\" height=\"20\"><path d=\"M527.34 837.67l239.92-359.88c9.42-14.14 5.6-33.25-8.55-42.67a30.702 30.702 0 0 0-17.05-5.16H553.02V203.4c0-16.99-13.77-30.77-30.76-30.77-10.29 0-19.89 5.14-25.6 13.7L256.74 546.21c-9.42 14.14-5.6 33.24 8.54 42.67a30.744 30.744 0 0 0 17.06 5.17h188.64V820.6c0 16.99 13.77 30.77 30.76 30.77 10.29 0 19.9-5.14 25.6-13.7z\" p-id=\"7144\"></path></svg>`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a;\n    let _instanceExtraInitializers = [];\n    let _onSvgClick_decorators;\n    return _a = class InputHostUI extends _InputUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n            constructor() {\n                super(...arguments);\n                this.defaultType = (__runInitializers(this, _instanceExtraInitializers), \"hh-line\");\n            }\n            renderInput(key, name, value) {\n                return `\r\n            ${super.renderInput(key, name, value)}\r\n            <span class=\"host-item\">${SVG}</span>\r\n        `;\n            }\n            onSvgClick(svg) {\n                this.checkHost(svg);\n            }\n            checkHost(svg) {\n                return __awaiter(this, void 0, void 0, function* () {\n                    if (!svg)\n                        return;\n                    if (svg.classList.contains(\"checking\"))\n                        return;\n                    const url = svg.previousElementSibling.value;\n                    console.log(\"checkHost\", url, svg.previousElementSibling);\n                    if (!url)\n                        return;\n                    svg.classList.add(\"checking\");\n                    svg.classList.remove(\"success\");\n                    svg.classList.remove(\"error\");\n                    if (yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].check(url)) {\n                        svg.classList.remove(\"checking\");\n                        svg.classList.add(\"success\");\n                    }\n                    else {\n                        svg.classList.remove(\"checking\");\n                        svg.classList.add(\"error\");\n                    }\n                });\n            }\n        },\n        (() => {\n            _onSvgClick_decorators = [(0,_UI__WEBPACK_IMPORTED_MODULE_2__.bindEvent)(\"span.host-item\")];\n            __esDecorate(_a, null, _onSvgClick_decorators, { kind: \"method\", name: \"onSvgClick\", static: false, private: false, access: { has: obj => \"onSvgClick\" in obj, get: obj => obj.onSvgClick } }, null, _instanceExtraInitializers);\n        })(),\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/UI/InputHostUI.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/InputUI.ts":
    /*!***************************!*\
      !*** ./src/UI/InputUI.ts ***!
      \***************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ InputUI)\n/* harmony export */ });\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _UI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UI */ \"./src/UI/UI.ts\");\n/* harmony import */ var _UIMgr__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UIMgr */ \"./src/UI/UIMgr.ts\");\n\n\n\nclass InputUI extends _UI__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    constructor(mgr, key, name, value, type) {\n        super(mgr instanceof _UIMgr__WEBPACK_IMPORTED_MODULE_2__[\"default\"] ? mgr : mgr.mgr, { key, name, value, type });\n        /** 默认type类型 */\n        this.defaultType = \"v-line\";\n    }\n    get type() {\n        let { type = this.defaultType } = this.props;\n        //如果为移动端,且type为hh-line,则改为h-line\n        if (_WIE__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Instance.isMobile) {\n            if (type === \"hh-line\")\n                type = \"h-line\";\n            if (type === \"vh-line\")\n                type = \"v-line\";\n        }\n        return type;\n    }\n    renderInput(key, name, value) {\n        const valueType = typeof value === \"number\" ? \"number\" : \"\";\n        return `<input class='input' type='${valueType}' id='${this.iid}' key=\"${key}\" placeholder='请输入${name}' value=\"${value !== null && value !== void 0 ? value : \"\"}\"></input>`;\n    }\n    render() {\n        const { name, value, key } = this.props;\n        return `<wie-input class='${this.type}'>\r\n            <div class='name'>${name}</div>\r\n            ${this.renderInput(key, name, value)}\r\n        </wie-input>`;\n    }\n    get iid() {\n        return `input-${this.id}`;\n    }\n    get selector() {\n        return `#input-${this.id}`;\n    }\n    event(div) {\n        const input = (this.input = div.querySelector(this.selector));\n        //触发更新\n        this.bindInputEvent(input);\n        input.addEventListener(\"focus\", (e) => {\n            input.parentElement.classList.add(\"focus\");\n        });\n        input.addEventListener(\"blur\", (e) => {\n            input.parentElement.classList.remove(\"focus\");\n        });\n    }\n    bindInputEvent(input) {\n        input.addEventListener(\"input\", (e) => {\n            const key = input.getAttribute(\"key\");\n            const value = input.value;\n            this.onChange(key, value);\n        });\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/UI/InputUI.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/ListUI.ts":
    /*!**************************!*\
      !*** ./src/UI/ListUI.ts ***!
      \**************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Injects_CodeFind_SVGConst__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Injects/CodeFind/SVGConst */ \"./src/Injects/CodeFind/SVGConst.ts\");\n/* harmony import */ var _Tools_ValueUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Tools/ValueUtils */ \"./src/Tools/ValueUtils.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _InputUI__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./InputUI */ \"./src/UI/InputUI.ts\");\n/* harmony import */ var _UI__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./UI */ \"./src/UI/UI.ts\");\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\n\n\n\n\n\n_WIE__WEBPACK_IMPORTED_MODULE_2__[\"default\"].UIStyles.add(`\r\n\r\nwie-list{\r\n    display:flex;\r\n    flex-direction:column;\r\n    width:100%;\r\n    box-sizing:border-box;\r\n    border: 1px solid var(--borderColor);\r\n}\r\n\r\nwie-list .title{\r\n    background: var(--bgLLColor);\r\n    color: var(--color);\r\n    border: 1px solid var(--borderColor);\r\n    border-radius: 4px 0 0 4px;\r\n    font-weight: 700;\r\n    font-size: 12px;\r\n    word-break: keep-all;\r\n    padding: 8px 10px;\r\n    vertical-align: top;\r\n    box-sizing: border-box;\r\n}\r\n\r\nwie-list-line{\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:space-between;\r\n    padding:5px;\r\n    box-sizing:border-box;\r\n    border-bottom:1px solid #ddd;\r\n}\r\n\r\nwie-list-line img{\r\n}\r\n\r\nwie-list-line img.delete{\r\n    width:20px;\r\n    height:20px;\r\n    cursor:pointer;\r\n}\r\n\r\nwie-list-line img.add{\r\n    width:100%;\r\n    height:20px;\r\n    cursor:pointer;\r\n}\r\n\r\nwie-list wie-input{\r\n    margin-bottom:0;\r\n}\r\nwie-list wie-btn.delete{\r\n    margin-top:5px;\r\n}\r\nwie-list wie-btn.add{\r\n    margin:5px 5px 5px 5px;\r\n    text-align:center;\r\n}\r\n\r\n`);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a;\n    let _instanceExtraInitializers = [];\n    let _onDeleteClick_decorators;\n    let _onAddClick_decorators;\n    return _a = class ListUI extends _UI__WEBPACK_IMPORTED_MODULE_4__[\"default\"] {\n            render(div) {\n                const { title, value = [] } = this.props;\n                div.innerHTML = `<wie-list>\r\n                <div class=\"title\">${title}</div>\r\n                ${value\n                    .map((v, index) => {\n                    return `<wie-list-line>${this.renderForms(v, index)}<wie-btn class='delete' index='${index}'>${_Injects_CodeFind_SVGConst__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Delete}</wie-btn></wie-list-line>`;\n                })\n                    .join(\"\")}\r\n                <wie-btn class='add'>添加</wie-btn>\r\n            </wie-list>\r\n            `;\n            }\n            getFormUI(form, index, item) {\n                const key = `${index}.${form.key}`;\n                return new _InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this.mgr, key, form.label, item[form.key], \"h-line\").hold();\n                // }\n                // return this.acts[key];\n            }\n            renderForms(item, index) {\n                const { forms = [] } = this.props;\n                return forms.map((form) => this.getFormUI(form, index, item)).join(\"\");\n            }\n            onDeleteClick(target, index) {\n                this.props.value.splice(Number(index), 1);\n                // this.onChange(this.props.key, this.props.value);\n                this.update();\n            }\n            onAddClick() {\n                this.props.value.push({});\n                this.update();\n                // this.onChange(this.props.key, this.props.value);\n            }\n            onChange(key, value) {\n                if (key === this.props.key) {\n                    super.onChange(key, value);\n                }\n                else {\n                    _Tools_ValueUtils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setValue(this.props.value, key, value);\n                }\n            }\n            constructor() {\n                super(...arguments);\n                __runInitializers(this, _instanceExtraInitializers);\n            }\n        },\n        (() => {\n            _onDeleteClick_decorators = [(0,_UI__WEBPACK_IMPORTED_MODULE_4__.bindEvent)(\"wie-btn.delete\", \"index\")];\n            _onAddClick_decorators = [(0,_UI__WEBPACK_IMPORTED_MODULE_4__.bindEvent)(\"wie-btn.add\")];\n            __esDecorate(_a, null, _onDeleteClick_decorators, { kind: \"method\", name: \"onDeleteClick\", static: false, private: false, access: { has: obj => \"onDeleteClick\" in obj, get: obj => obj.onDeleteClick } }, null, _instanceExtraInitializers);\n            __esDecorate(_a, null, _onAddClick_decorators, { kind: \"method\", name: \"onAddClick\", static: false, private: false, access: { has: obj => \"onAddClick\" in obj, get: obj => obj.onAddClick } }, null, _instanceExtraInitializers);\n        })(),\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/UI/ListUI.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/TextareaUI.ts":
    /*!******************************!*\
      !*** ./src/UI/TextareaUI.ts ***!
      \******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TextareaUI)\n/* harmony export */ });\n/* harmony import */ var _InputUI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./InputUI */ \"./src/UI/InputUI.ts\");\n\nclass TextareaUI extends _InputUI__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    renderInput(key, name, value) {\n        return `<textarea class='input' id='${this.iid}' rows=6 key=\"${key}\" placeholder='请输入${name}'>${value !== null && value !== void 0 ? value : \"\"}</textarea>`;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/UI/TextareaUI.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/UI.ts":
    /*!**********************!*\
      !*** ./src/UI/UI.ts ***!
      \**********************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   bindEvent: () => (/* binding */ bindEvent),\n/* harmony export */   \"default\": () => (/* binding */ UI)\n/* harmony export */ });\n/* harmony import */ var _UIMgr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UIMgr */ \"./src/UI/UIMgr.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Tools/Logger */ \"./src/Tools/Logger.ts\");\n\n\n\n/**\n * 绑定点击事件\n * @param key\n * @returns\n */\nconst bindEvent = (key, ...attr) => {\n    return (target, context) => {\n        //初始化\n        context.addInitializer(function () {\n            this.initEvents.push(() => {\n                this.root.querySelectorAll(key).forEach((div) => {\n                    div.addEventListener(\"click\", () => {\n                        const t = attr.map((v) => div.getAttribute(v));\n                        this[context.name.toString()](div, ...t);\n                    });\n                });\n            });\n        });\n    };\n};\n/**\n * UI基类\n */\nclass UI extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n    constructor(mgr, props) {\n        super();\n        this.calls = [];\n        /** 占位tag */\n        this.Tag = \"div\";\n        this.listen = [];\n        this.initEvents = [];\n        this.parent = mgr;\n        this.props = props;\n        this.id = _Tools_Tool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].randomString(8);\n        this.mgr = new _UIMgr__WEBPACK_IMPORTED_MODULE_0__[\"default\"](mgr.inject, this);\n        mgr.add(this);\n    }\n    /**\n     * 占位符\n     * @returns\n     */\n    hold() {\n        const { cls = \"\", tag = \"div\" } = this.props;\n        return `<${tag} id='${this.id}' ${cls ? `class='${cls}'` : \"\"}></${this.Tag}>`;\n    }\n    bind(root) {\n        this.root = root.querySelector(`#${this.id}`);\n        if (!this.root)\n            console.log(`UI ${this.id} not found`, this);\n        this.update();\n    }\n    update() {\n        this.mgr.reset();\n        //渲染\n        let ret = this.render(this.root);\n        if (ret)\n            this.root.innerHTML = ret;\n        //渲染子UI\n        this.mgr.bind(this.root);\n        //绑定事件\n        this.event(this.root);\n        //绑定事件\n        this.initEvents.forEach((call) => call());\n    }\n    /**\n     * 渲染\n     * @param div\n     */\n    render(div) { }\n    /**\n     * 事件\n     * @param div\n     */\n    event(div) { }\n    onChange(key, value) {\n        this.parent.onChange(key, value);\n    }\n    /**\n     * 获取设置\n     */\n    get setting() {\n        return this.mgr.inject.setting;\n    }\n    /**\n     * 获取拦截器\n     */\n    get inject() {\n        return this.mgr.inject;\n    }\n    /**\n     * 跳转页面\n     * @param page\n     * @param intent\n     */\n    goPage(page, intent) {\n        this.mgr.inject.startPage(page, intent);\n    }\n    /**\n     *\n     */\n    destroy() {\n        this.calls.forEach((call) => call());\n    }\n    /** SettingUI组件才会调用 */\n    onUIChange(key, value) { }\n    /**\n     * UI隐藏,暂停\n     */\n    stop() { }\n    /**\n     * UI显示,恢复\n     */\n    resume() { }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/UI/UI.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/UIDialog.ts":
    /*!****************************!*\
      !*** ./src/UI/UIDialog.ts ***!
      \****************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIDialog)\n/* harmony export */ });\n// Config\nconst isOpenClass = \"modal-is-open\";\nconst openingClass = \"modal-is-opening\";\nconst closingClass = \"modal-is-closing\";\nclass UIDialog {\n    constructor(div) {\n        this.isShow = false;\n        this.animationDuration = 300;\n        this.open = () => {\n            //如果当前滚动条可见\n            if (this.isScrollbarVisible()) {\n                document.documentElement.style.setProperty(\"--scrollbar-width\", `${this.getScrollbarWidth()}px`);\n            }\n            document.documentElement.classList.add(isOpenClass, openingClass);\n            setTimeout(() => {\n                document.documentElement.classList.remove(openingClass);\n            }, this.animationDuration);\n            this.div.setAttribute(\"open\", true + \"\");\n        };\n        this.close = (call) => {\n            document.documentElement.classList.add(closingClass);\n            setTimeout(() => {\n                document.documentElement.classList.remove(closingClass, isOpenClass);\n                document.documentElement.style.removeProperty(\"--scrollbar-width\");\n                this.div.removeAttribute(\"open\");\n                call === null || call === void 0 ? void 0 : call();\n            }, this.animationDuration);\n        };\n        this.div = div;\n    }\n    isScrollbarVisible() {\n        return document.body.scrollHeight > screen.height;\n    }\n    isOpen() {\n        return this.div.hasAttribute(\"open\") && this.div.getAttribute(\"open\") != \"false\" ? true : false;\n    }\n    getScrollbarWidth() {\n        // Creating invisible container\n        const outer = document.createElement(\"div\");\n        outer.style.visibility = \"hidden\";\n        outer.style.overflow = \"scroll\"; // forcing scrollbar to appear\n        outer.style.msOverflowStyle = \"scrollbar\"; // needed for WinJS apps\n        document.body.appendChild(outer);\n        // Creating inner element and placing it in the container\n        const inner = document.createElement(\"div\");\n        outer.appendChild(inner);\n        // Calculating difference between container's full width and the child width\n        const scrollbarWidth = outer.offsetWidth - inner.offsetWidth;\n        // Removing temporary elements from the DOM\n        outer.parentNode.removeChild(outer);\n        return scrollbarWidth;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/UI/UIDialog.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/UILoading.ts":
    /*!*****************************!*\
      !*** ./src/UI/UILoading.ts ***!
      \*****************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UILoading)\n/* harmony export */ });\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lib/Pages/UI */ \"./src/lib/Pages/UI.ts\");\n\n\n_WIE__WEBPACK_IMPORTED_MODULE_0__[\"default\"].UIStyles.add(`\r\n/* 设置位置 */\r\n.wie-loading{\r\n    margin-top: 10px;\r\n    position: absolute;\r\n    left: 0;\r\n    right: 0;\r\n    bottom: 0;\r\n    top: 0;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    flex-direction: column;\r\n}\r\n\r\n.wie-loading.wie-area{\r\n    border: none;\r\n    box-shadow: none;\r\n}\r\n\r\n.wie-loading .name{\r\n    color: var(--mainColor);\r\n    font-size: 14px;\r\n    font-weight: 700;\r\n    text-align: center;\r\n    position: relative;\r\n}\r\n\r\n\r\n.wie-loading .wie-intro{\r\n    text-align: center;\r\n    width: 100%;\r\n    display: block;\r\n}\r\n\r\n\r\n.wie-loader {\r\n    position: relative;\r\n    width: 2.5em;\r\n    height: 2.5em;\r\n    transform: rotate(165deg);\r\n    margin:0 0 50px 0;\r\n   }\r\n\r\n   \r\n   .wie-loader:before, .wie-loader:after {\r\n    content: \"\";\r\n    position: absolute;\r\n    top: 50%;\r\n    left: 50%;\r\n    display: block;\r\n    width: 0.5em;\r\n    height: 0.5em;\r\n    border-radius: 0.25em;\r\n    transform: translate(-50%, -50%);\r\n   }\r\n   \r\n   .wie-loader:before {\r\n    animation: before8 2s infinite;\r\n   }\r\n   \r\n   .wie-loader:after {\r\n    animation: after6 2s infinite;\r\n   }\r\n   \r\n   @keyframes before8 {\r\n    0% {\r\n     width: 0.5em;\r\n     box-shadow: 1em -0.5em rgba(225, 20, 98, 0.75), -1em 0.5em rgba(111, 202, 220, 0.75);\r\n    }\r\n   \r\n    35% {\r\n     width: 2.5em;\r\n     box-shadow: 0 -0.5em rgba(225, 20, 98, 0.75), 0 0.5em rgba(111, 202, 220, 0.75);\r\n    }\r\n   \r\n    70% {\r\n     width: 0.5em;\r\n     box-shadow: -1em -0.5em rgba(225, 20, 98, 0.75), 1em 0.5em rgba(111, 202, 220, 0.75);\r\n    }\r\n   \r\n    100% {\r\n     box-shadow: 1em -0.5em rgba(225, 20, 98, 0.75), -1em 0.5em rgba(111, 202, 220, 0.75);\r\n    }\r\n   }\r\n   \r\n   @keyframes after6 {\r\n    0% {\r\n     height: 0.5em;\r\n     box-shadow: 0.5em 1em rgba(61, 184, 143, 0.75), -0.5em -1em rgba(233, 169, 32, 0.75);\r\n    }\r\n   \r\n    35% {\r\n     height: 2.5em;\r\n     box-shadow: 0.5em 0 rgba(61, 184, 143, 0.75), -0.5em 0 rgba(233, 169, 32, 0.75);\r\n    }\r\n   \r\n    70% {\r\n     height: 0.5em;\r\n     box-shadow: 0.5em -1em rgba(61, 184, 143, 0.75), -0.5em 1em rgba(233, 169, 32, 0.75);\r\n    }\r\n   \r\n    100% {\r\n     box-shadow: 0.5em 1em rgba(61, 184, 143, 0.75), -0.5em -1em rgba(233, 169, 32, 0.75);\r\n    }\r\n   }\r\n   \r\n   .glitch {\r\n    position: relative;\r\n    font-size: 25px;\r\n    font-weight: 700;\r\n    line-height: 1.2;\r\n    color: #fff;\r\n    letter-spacing: 5px;\r\n    z-index: 1;\r\n    animation: shift 1s ease-in-out infinite alternate;\r\n  }\r\n  \r\n  .glitch:before,\r\n  .glitch:after {\r\n    display: block;\r\n    content: attr(data-glitch);\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    opacity: 0.8;\r\n  }\r\n  \r\n  .glitch:before {\r\n    animation: glitch 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) both infinite;\r\n    color: #8b00ff;\r\n    z-index: -1;\r\n  }\r\n  \r\n  .glitch:after {\r\n    animation: glitch 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) reverse both infinite;\r\n    color: #00e571;\r\n    z-index: -2;\r\n  }\r\n  \r\n  @keyframes glitch {\r\n    0% {\r\n      transform: translate(0);\r\n    }\r\n  \r\n    20% {\r\n      transform: translate(-3px, 3px);\r\n    }\r\n  \r\n    40% {\r\n      transform: translate(-3px, -3px);\r\n    }\r\n  \r\n    60% {\r\n      transform: translate(3px, 3px);\r\n    }\r\n  \r\n    80% {\r\n      transform: translate(3px, -3px);\r\n    }\r\n  \r\n    to {\r\n      transform: translate(0);\r\n    }\r\n  }\r\n  \r\n  @keyframes shift {\r\n    0%, 40%, 44%, 58%, 61%, 65%, 69%, 73%, 100% {\r\n      transform: skewX(0deg);\r\n    }\r\n  \r\n    41% {\r\n      transform: skewX(10deg);\r\n    }\r\n  \r\n    42% {\r\n      transform: skewX(-10deg);\r\n    }\r\n  \r\n    59% {\r\n      transform: skewX(40deg) skewY(10deg);\r\n    }\r\n  \r\n    60% {\r\n      transform: skewX(-40deg) skewY(-10deg);\r\n    }\r\n  \r\n    63% {\r\n      transform: skewX(10deg) skewY(-5deg);\r\n    }\r\n  \r\n    70% {\r\n      transform: skewX(-50deg) skewY(-20deg);\r\n    }\r\n  \r\n    71% {\r\n      transform: skewX(10deg) skewY(-10deg);\r\n    }\r\n  }\r\n`);\n// @InjectPages.UI(PageAll, \"UILoading\", \"\", Style)\nclass UILoading extends _lib_Pages_UI__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n    constructor() {\n        super(...arguments);\n        this.listens = [\"loading\"];\n    }\n    render(div, value, info) {\n        var _a, _b, _c;\n        if (value === false) {\n            div.classList.add(\"wie-hidden-style\");\n            (_a = div.previousElementSibling) === null || _a === void 0 ? void 0 : _a.classList.remove(\"wie-hidden-style\");\n            return;\n        }\n        const text = value === true ? \"\" : value === null || value === void 0 ? void 0 : value.text;\n        let loading = (_b = info.loadingText) !== null && _b !== void 0 ? _b : `数据查询中...`;\n        if (info.code)\n            loading = `番号[${info.code}]查询中...`;\n        div.classList.remove(\"wie-hidden-style\");\n        (_c = div.previousElementSibling) === null || _c === void 0 ? void 0 : _c.classList.add(\"wie-hidden-style\");\n        div.innerHTML = `\r\n        <wie-area class='wie-loading'>\r\n            <div class='wie-loader'></div>\r\n            ${text ? `<wie-intro >${text}</wie-intro>` : `<div data-glitch=\"${loading}\" class=\"glitch name\">${loading}</div>`}\r\n        </wie-area>`;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/UI/UILoading.ts?");
    
    /***/ }),
    
    /***/ "./src/UI/UIMgr.ts":
    /*!*************************!*\
      !*** ./src/UI/UIMgr.ts ***!
      \*************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIMgr)\n/* harmony export */ });\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Tools/Logger */ \"./src/Tools/Logger.ts\");\n\nclass UIMgr extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    constructor(inject, mgr) {\n        super();\n        /** UI缓存 */\n        this.uis = new Set();\n        this.inject = inject;\n        this.mgr = mgr;\n    }\n    /**\n     * 添加UI项\n     * @param ui\n     */\n    add(ui) {\n        this.uis.add(ui);\n    }\n    /**\n     * 移除UI项\n     * @param ui\n     */\n    remove(ui) {\n        this.uis.delete(ui);\n    }\n    onChange(key, value) {\n        var _a;\n        //通知\n        (_a = this.mgr) === null || _a === void 0 ? void 0 : _a.onChange(key, value);\n    }\n    reset() {\n        this.uis.forEach((ui) => ui.destroy());\n        this.uis.clear();\n    }\n    /**\n     * 绑定事件\n     * @param root\n     */\n    bind(root) {\n        this.uis.forEach((ui) => ui.bind(root));\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/UI/UIMgr.ts?");
    
    /***/ }),
    
    /***/ "./src/WIE.ts":
    /*!********************!*\
      !*** ./src/WIE.ts ***!
      \********************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _WIESetting__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./WIESetting */ \"./src/WIESetting.ts\");\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _Tools_UrlTool__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Tools/UrlTool */ \"./src/Tools/UrlTool.ts\");\n/* harmony import */ var _WIEGlobalSetting__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./WIEGlobalSetting */ \"./src/WIEGlobalSetting.ts\");\n/* harmony import */ var _CommonStyle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CommonStyle */ \"./src/CommonStyle.ts\");\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _Injects_Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Injects/Emby/EmbyTool */ \"./src/Injects/Emby/EmbyTool.ts\");\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Tools/Logger */ \"./src/Tools/Logger.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\n\n\n\n\nwindow.addEventListener(\"unhandledrejection\", (err) => {\n    _Tools_Logger__WEBPACK_IMPORTED_MODULE_8__.LoggerStatic.error(\"捕获Promise错误:\", err.reason);\n    err.preventDefault();\n}, false);\n/**\n * 网页注入引擎 web inject engine\n */\nclass WIE {\n    /**\n     * 注册\n     */\n    static Inject() {\n        return (inject, context) => {\n            WIE.Injects.push(inject);\n            return inject;\n        };\n    }\n    /**\n     * 日志输出\n     * @param cls\n     * @param args\n     */\n    static log(cls, ...args) {\n        if (WIE.Instance.setting.Debug) {\n            let str = typeof cls === \"string\" ? cls : cls.constructor.name;\n            WIE.Instance.log(str, ...args);\n        }\n    }\n    /**\n     * 实例\n     * @returns\n     */\n    static get Instance() {\n        if (!this.instance) {\n            this.instance = new WIE(...this.Injects);\n            //进行emby检查\n            _Injects_Emby_EmbyTool__WEBPACK_IMPORTED_MODULE_7__[\"default\"].checkEmby();\n        }\n        // (window as any).WIEInstance = WIE.instance;\n        return this.instance;\n    }\n    constructor(...injects) {\n        this.Name = \"WIE\";\n        /**\n         * 注入项\n         */\n        this.injects = new Set();\n        /**\n         * 日志输出\n         * @param args\n         */\n        this.log = (name, ...args) => {\n            if (this.setting.Debug)\n                _Tools_Logger__WEBPACK_IMPORTED_MODULE_8__.LoggerStatic.verbose(`WIE-${name}`, ...args);\n        };\n        this._log = (name, ...args) => {\n            this.log(name, ...args);\n        };\n        this.isMobile = _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isMobile();\n        //获取设置\n        this.setting = this.getSetting(\"WIE\", _WIEGlobalSetting__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Setting);\n        //添加设置\n        _WIESetting__WEBPACK_IMPORTED_MODULE_0__[\"default\"].addSetting(new _WIEGlobalSetting__WEBPACK_IMPORTED_MODULE_4__[\"default\"](this), \"全局配置\");\n        this.createMenu(\"打开WIE配置\", this.showSetting.bind(this));\n        // this.createMenu(\"清除所有缓存配置\", this.clearSetting.bind(this));\n        _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_6__[\"default\"].addKeyDownListener(\"F2\", (e) => {\n            this.showSetting();\n        });\n        this.changeTheme(this.setting.Theme);\n        this.addStyle(_CommonStyle__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n        this.addStyle(Array.from(WIE.UIStyles.values()).join(\"\\n\"));\n        this.startInjects(injects);\n    }\n    addStyle(style) {\n        // //进行主题替换\n        // WIEGlobalSetting.ThemeConfig.forEach((key) => {\n        //     style = style.replace(new RegExp(`\\\\$${key}`, \"g\"), this.setting.Theme[key]);\n        // });\n        _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_addStyle(style);\n    }\n    changeTheme(maps) {\n        // this.log(\"----开始设置主题\", document.body?.innerHTML.length);\n        // if (document.body?.innerHTML.length === 0) return false;\n        const themes = Object.assign({}, maps);\n        if (maps.mainColor) {\n            themes.mainLightColor = _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].lightenDarkenColor(maps.mainColor, 150);\n            themes.mainLLColor = _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].lightenDarkenColor(maps.mainColor, 20);\n        }\n        if (maps.color) {\n            themes.colorLight = _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].lightenDarkenColor(maps.color, 125);\n        }\n        // //进行主题替换\n        // const theme = `:root{${Object.keys(themes)\n        //     .map((key) => `--${key}: ${themes[key as keyof ITheme]};`)\n        //     .join(\"\")}}`;\n        // this.log(\"主题\", theme);\n        try {\n            this.setStyle(document.documentElement, themes);\n        }\n        catch (e) {\n            this.log(\"写入主题失败\", e, document.documentElement, document.body);\n            // this.setStyle(document.documentElement, themes);\n            return false;\n        }\n        return true;\n        // GM.GM_addStyle(theme);\n    }\n    setStyle(item, themes) {\n        Object.keys(themes).forEach((key) => {\n            item.style.setProperty(`--${key}`, themes[key]);\n        });\n    }\n    showSetting() {\n        _WIESetting__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Instance.show();\n    }\n    clearSetting() {\n        WIE.Injects.forEach((inject) => {\n            const inj = new inject(this);\n            _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_setValue(`WIE_Setting_${inj.Name}`, null);\n        });\n        //清除全局设置\n        _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_setValue(`WIE_Setting_WIE`, null);\n    }\n    resetSetting(name) {\n        _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_setValue(`WIE_Setting_${name}`, null);\n    }\n    /**\n     * 获取设置\n     * @param key\n     * @param defaultValue\n     * @returns\n     */\n    getSetting(key, defaultValue) {\n        // if (!defaultValue) return;\n        key = `WIE_Setting_${key}`;\n        const setting = _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_getValue(key, defaultValue);\n        const ret = _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].merge(defaultValue, setting, true);\n        return ret;\n    }\n    /**\n     * 创建拦截器\n     * @param injects\n     * @returns\n     */\n    startInjects(injects) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (injects.length === 0)\n                return;\n            const url = window.location != window.parent.location ? document.referrer : document.location.href;\n            for (const inject of injects) {\n                const i = new inject(this);\n                //检查当前网页\n                if (!_Tools_UrlTool__WEBPACK_IMPORTED_MODULE_3__[\"default\"].match(i.getMatch())) {\n                    if (url === location.href)\n                        continue;\n                    else if (!_Tools_UrlTool__WEBPACK_IMPORTED_MODULE_3__[\"default\"].match(i.getMatch(), url))\n                        continue;\n                }\n                //检查当前网页,异步执行,防止出错\n                setTimeout(() => i.start(), 0);\n                this.injects.add(i);\n            }\n        });\n    }\n    /**\n     * 获取inject\n     * @param inject\n     * @returns\n     */\n    inject(inject) {\n        return Array.from(this.injects).find((i) => i.Name === inject.Name);\n    }\n    /**\n     * 注册菜单栏\n     * @param name\n     * @param callback\n     */\n    createMenu(name, callback) {\n        _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_registerMenuCommand(name, callback);\n    }\n    /**\n     * 更新设置\n     */\n    updateSetting(setting, key = \"WIE\") {\n        if (setting && key === \"WIE\") {\n            _Tools_Tool__WEBPACK_IMPORTED_MODULE_2__[\"default\"].merge(this.setting, setting);\n            setting = this.setting;\n        }\n        // console.log(\"updateSetting\", key, setting, this.setting);\n        this.log(`key=${key}`, setting);\n        _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_setValue(`WIE_Setting_${key}`, setting);\n    }\n}\n/**\n * 版本号\n */\nWIE.VERSION = \"1.1.0\";\nWIE.Injects = [];\n/** UI样式 */\nWIE.UIStyles = new Set();\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (WIE);\n\n\n//# sourceURL=webpack://empty-project/./src/WIE.ts?");
    
    /***/ }),
    
    /***/ "./src/WIEGlobalSetting.ts":
    /*!*********************************!*\
      !*** ./src/WIEGlobalSetting.ts ***!
      \*********************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _InjectSetting__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./InjectSetting */ \"./src/InjectSetting.ts\");\n/* harmony import */ var _UI_CheckBoxUI__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UI/CheckBoxUI */ \"./src/UI/CheckBoxUI.ts\");\n/* harmony import */ var _UI_InputColorUI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UI/InputColorUI */ \"./src/UI/InputColorUI.ts\");\n/* harmony import */ var _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./UI/InputUI */ \"./src/UI/InputUI.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./WIE */ \"./src/WIE.ts\");\n\n\n\n\n\nclass WIEGlobalSetting extends _InjectSetting__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    render() {\n        const { Enter, Emby, Theme, Themes, Debug } = this.setting;\n        // this.log(\"render\", this.setting);\n        return `\r\n            <wie-area>\r\n                <wie-name>全局配置</wie-name>\r\n                ${new _UI_CheckBoxUI__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this, \"Debug\", \"开发模式\", Debug).hold()}\r\n                ${new _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this, \"Enter\", \"悬浮触发时间\", Number(Enter), \"vh-line\").hold()}\r\n            </wie-area>\r\n\r\n            <wie-area>\r\n                <wie-name>Emby配置</wie-name>\r\n                ${new _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this, \"Emby.host\", \"Emby地址\", Emby.host, \"vh-line\").hold()}\r\n                ${new _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this, \"Emby.apiKey\", \"EmbyToken\", Emby.apiKey, \"vh-line\").hold()}\r\n                ${new _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this, \"Emby.userId\", \"Emby用户ID\", Emby.userId, \"vh-line\").hold()}\r\n                ${new _UI_InputUI__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this, \"Emby.ServerId\", \"Emby服务ID\", Emby.ServerId, \"vh-line\").hold()}\r\n            </wie-area>\r\n\r\n            <wie-area>\r\n                <wie-name>主题色配置</wie-name>\r\n                ${new _UI_InputColorUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, \"Theme.mainColor\", \"主颜色\", Theme.mainColor).hold()}\r\n                ${new _UI_InputColorUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, \"Theme.mainTextColor\", \"主字体颜色\", Theme.mainTextColor).hold()}\r\n                ${new _UI_InputColorUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, \"Theme.mainBorderColor\", \"主边框颜色\", Theme.mainBorderColor).hold()}\r\n                ${new _UI_InputColorUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, \"Theme.color\", \"字体颜色\", Theme.color).hold()}\r\n                ${new _UI_InputColorUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, \"Theme.bgColor\", \"背景色\", Theme.bgColor).hold()}\r\n                ${new _UI_InputColorUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, \"Theme.bgLightColor\", \"主背景淡色\", Theme.bgLightColor).hold()}\r\n                ${new _UI_InputColorUI__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this, \"Theme.borderColor\", \"边框颜色\", Theme.borderColor).hold()}\r\n                <wie-theme-group>\r\n                    ${Themes.map((item, index) => this.renderThemeItem(item.name, index)).join(\"\")}\r\n                </wie-theme-group>\r\n            </wie-area>\r\n        `;\n    }\n    renderThemeItem(name, index) {\n        return `\r\n            <wie-theme-item class=\"theme-item\" key='${index}'>\r\n                ${name}\r\n            </wie-theme-item>\r\n        `;\n    }\n    bindEvent(div) {\n        super.bindEvent(div);\n        const { Themes } = this.setting;\n        const themeItems = div.querySelectorAll(\".theme-item\");\n        themeItems.forEach((item, index) => {\n            item.addEventListener(\"click\", () => {\n                const theme = Themes[index].theme;\n                for (const key in theme) {\n                    this.onChange(`Theme.${key}`, theme[key]);\n                }\n            });\n        });\n    }\n    save() {\n        const hasTheme = !!this.setting.Theme;\n        //检测\n        super.save();\n        if (hasTheme) {\n            // window.location.reload();\n            _WIE__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Instance.changeTheme(this.setting.Theme);\n        }\n    }\n}\n/** 主题替换项 */\nWIEGlobalSetting.ThemeConfig = [\"mainColor\", \"mainTextColor\", \"mainBorderColor\", \"color\", \"bgColor\", \"bgLightColor\", \"borderColor\"];\nWIEGlobalSetting.Setting = {\n    Debug: false,\n    Fixed: true,\n    Position: \"left\",\n    Width: 500,\n    Enter: 600,\n    /** Emby服务器设置 */\n    Emby: {\n        host: \"http://192.168.101.30:8096/\",\n        apiKey: \"1e94057c85db448baf65487b4d9df2d9\",\n        userId: \"8f157b37e4e546c69b5b149ce8e9156f\",\n        ServerId: \"756fcd461c944e7eb99ca9815be49951\",\n    },\n    Theme: {\n        mainColor: \"#333333\",\n        mainTextColor: \"#ffffff\",\n        mainBorderColor: \"#000000\",\n        color: \"#333333\",\n        borderColor: \"#e8ebf3\",\n        bgColor: \"#ffffff\",\n        bgLightColor: \"#f6f7f8\",\n    },\n    Themes: [\n        {\n            name: \"水墨风\",\n            theme: {\n                mainColor: \"#333333\",\n                mainTextColor: \"#ffffff\",\n                mainBorderColor: \"#333333\",\n                color: \"#333333\",\n                bgColor: \"#ffffff\",\n                bgLightColor: \"#f6f7f8\",\n                borderColor: \"#e8ebf3\",\n            },\n        },\n        {\n            name: \"暗黑\",\n            theme: {\n                mainColor: \"#cccccc\",\n                mainTextColor: \"#333333\",\n                mainBorderColor: \"#cccccc\",\n                color: \"#FFFFFF\",\n                bgColor: \"#1e1e1e\",\n                bgLightColor: \"#333333\",\n                borderColor: \"#353535\",\n            },\n        },\n    ],\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (WIEGlobalSetting);\n\n\n//# sourceURL=webpack://empty-project/./src/WIEGlobalSetting.ts?");
    
    /***/ }),
    
    /***/ "./src/WIESetting.ts":
    /*!***************************!*\
      !*** ./src/WIESetting.ts ***!
      \***************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Injects_CodeFind_BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Injects/CodeFind/BaseUI/TabControl */ \"./src/Injects/CodeFind/BaseUI/TabControl.ts\");\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _UI_UIDialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UI/UIDialog */ \"./src/UI/UIDialog.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./WIE */ \"./src/WIE.ts\");\n\n\n\n\nconst CloseSVG = '<svg t=\"1681962565726\"   viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"3622\"><path d=\"M928.426667 873.813333h-785.066667v-375.466666h785.066667v375.466666z m-750.933334-34.133333h716.8v-307.2h-716.8v307.2z\" p-id=\"3623\"></path><path d=\"M258.423467 514.901333l204.4928-306.756266 28.398933 18.944-204.458667 306.722133z\" p-id=\"3624\"></path><path d=\"M535.893333 293.546667c-47.786667 0-85.333333-37.546667-85.333333-85.333334s37.546667-85.333333 85.333333-85.333333 85.333333 37.546667 85.333334 85.333333-37.546667 85.333333-85.333334 85.333334z m0-136.533334c-27.306667 0-51.2 23.893333-51.2 51.2s23.893333 51.2 51.2 51.2 51.2-23.893333 51.2-51.2-20.48-51.2-51.2-51.2z\" p-id=\"3625\"></path><path d=\"M588.117333 238.353067l28.672-18.5344 187.2896 289.450666-28.672 18.5344z\" p-id=\"3626\"></path><path d=\"M266.24 785.066667c-30.72 0-58.026667-27.306667-58.026667-58.026667v-85.333333c0-30.72 27.306667-58.026667 58.026667-58.026667s58.026667 27.306667 58.026667 58.026667h-27.306667c0-17.066667-13.653333-27.306667-27.306667-27.306667-17.066667 0-27.306667 13.653333-27.306666 27.306667v85.333333c0 17.066667 13.653333 27.306667 27.306666 27.306667 17.066667 0 27.306667-13.653333 27.306667-27.306667h27.306667c0 34.133333-27.306667 58.026667-58.026667 58.026667zM856.746667 785.066667h-98.986667v-201.386667h98.986667v27.306667H785.066667v146.773333h71.68z\" fill=\"#FF9A22\" p-id=\"3627\"></path><path d=\"M771.413333 669.013333h58.026667v27.306667h-58.026667zM453.973333 785.066667h-98.986666v-187.733334h27.306666v160.426667h71.68zM525.653333 785.066667c-30.72 0-58.026667-27.306667-58.026666-58.026667v-85.333333c0-30.72 27.306667-58.026667 58.026666-58.026667 30.72 0 58.026667 27.306667 58.026667 58.026667v85.333333c0 34.133333-27.306667 58.026667-58.026667 58.026667z m0-174.08c-17.066667 0-27.306667 13.653333-27.306666 27.306666v85.333334c0 17.066667 13.653333 27.306667 27.306666 27.306666 17.066667 0 27.306667-13.653333 27.306667-27.306666v-85.333334c3.413333-13.653333-10.24-27.306667-27.306667-27.306666zM669.013333 785.066667c-30.72 0-54.613333-23.893333-58.026666-54.613334l27.306666-3.413333c0 13.653333 13.653333 27.306667 27.306667 27.306667 17.066667 0 27.306667-13.653333 27.306667-27.306667s-10.24-23.893333-30.72-27.306667h-3.413334c-44.373333-10.24-51.2-37.546667-51.2-58.026666 0-30.72 27.306667-58.026667 58.026667-58.026667 30.72 0 54.613333 23.893333 58.026667 54.613333l-27.306667 3.413334c0-13.653333-13.653333-27.306667-27.306667-27.306667-17.066667 0-27.306667 13.653333-27.306666 27.306667s10.24 23.893333 30.72 27.306666v13.653334l3.413333-13.653334c44.373333 10.24 51.2 37.546667 51.2 58.026667 0 34.133333-23.893333 58.026667-58.026667 58.026667z\" fill=\"#FF9A22\" p-id=\"3628\"></path></svg>';\nclass WIESetting {\n    static get Instance() {\n        if (!WIESetting._instance) {\n            WIESetting._instance = new WIESetting(_WIE__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Instance);\n        }\n        return WIESetting._instance;\n    }\n    constructor(wie) {\n        this.save = () => {\n            //保存\n            WIESetting.Injects.forEach(({ setting }) => setting.save());\n            this.hide();\n        };\n        this.hide = () => {\n            this.dialog.close();\n            //保存\n            // WIESetting.Injects.forEach(({ setting }) => setting.reset());\n            this.wie.log(\"WIESetting\", \"hide\");\n        };\n        this.wie = wie;\n    }\n    /**\n     * 注入设置\n     * @param setting\n     * @param name\n     */\n    static addSetting(setting, name) {\n        WIESetting.Injects.set(setting.inject.Name, { setting, name: name || setting.inject.Name });\n    }\n    show() {\n        if (this.dialog && this.dialog.isOpen())\n            return;\n        //如果为打开状态I\n        if (!this.div) {\n            this.div = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createDiv(`<wie-dialog class=\"popup-black\">\r\n                    <div class='wie-setting'>\r\n                        <wie-area class='no-border'>\r\n                            <div class='setting-title'>WIE 配置</div>\r\n                            <div id='close' >${CloseSVG}</div>\r\n                            <div class='wie-tabs'>\r\n                            </div>\r\n                        </wie-area>\r\n                        <div class='wie-scroll'>\r\n                        </div>\r\n                        <wie-area class='no-border'>\r\n                            <wie-button-item id='wie-save'>保 存</wie-button-item>\r\n                        </wie-area>\r\n                    </div>\r\n                </wie-dialog>\r\n            `);\n            this.dialog = new _UI_UIDialog__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this.div.querySelector(\"wie-dialog\"));\n        }\n        this.div.querySelector(\".wie-tabs\").innerHTML = this.renderInjectTab();\n        this.div.querySelector(\".wie-scroll\").innerHTML = this.renderInjectSetting();\n        new _Injects_CodeFind_BaseUI_TabControl__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.div.querySelector(\".wie-setting\"), {\n            tabs: [...Array.from(WIESetting.Injects.keys())],\n            tabPrefix: \"wie-tab-\",\n            contentPrefix: \"wie-setting-\",\n        });\n        this.bindEvent(this.div);\n        this.dialog.open();\n    }\n    renderInjectTab() {\n        let html = \"\";\n        WIESetting.Injects.forEach(({ name }, key) => {\n            html += `<wie-tab id=\"wie-tab-${key}\">${name}</wie-tab>`;\n        });\n        return html;\n    }\n    /**\n     * 渲染页面\n     * @returns\n     */\n    renderInjectSetting() {\n        let html = \"\";\n        WIESetting.Injects.forEach(({ setting }, key) => {\n            html += `<div id='wie-setting-${key}'>${setting.reRender()}</div>`;\n        });\n        return html;\n    }\n    bindEvent(div) {\n        //绑定点击事件\n        div.querySelector(\"#close\").addEventListener(\"click\", this.hide);\n        div.querySelector(\"#wie-save\").addEventListener(\"click\", this.save);\n        console.log(\"bindEvent\", div);\n        //处理Inject的事件\n        WIESetting.Injects.forEach(({ setting }, key) => {\n            setting.bind(div.querySelector(`#wie-setting-${key}`));\n        });\n    }\n    rerender(id, setting) {\n        let div = this.div.querySelector(`#wie-setting-${id}`);\n        if (div) {\n            div.innerHTML = setting.reRender();\n            setting.bind(div);\n        }\n    }\n}\n/** Inject设置 */\nWIESetting.Injects = new Map();\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (WIESetting);\n\n\n//# sourceURL=webpack://empty-project/./src/WIESetting.ts?");
    
    /***/ }),
    
    /***/ "./src/WieFixed.ts":
    /*!*************************!*\
      !*** ./src/WieFixed.ts ***!
      \*************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ WieFixed)\n/* harmony export */ });\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Tools/Logger */ \"./src/Tools/Logger.ts\");\n\n\n\nconst Style = `\r\nwie-fixed{\r\n    position: fixed;\r\n    z-index: 999999;\r\n    top: 40px;\r\n    right: 40px;\r\n    text-align: right;\r\n\r\n    backdrop-filter: blur(7px);\r\n    background: #ffffff33;\r\n    border-radius: 6px 6px 0 0;\r\n    box-shadow: rgba(0, 0, 0, 0.3) 2px 8px 8px;\r\n}\r\n.fixed-title{\r\n    color: var(--mainTextColor);\r\n    padding: 4px 5px 5px;\r\n    border-radius: 0 6px 0 0;\r\n    font-weight: bold;\r\n    text-align: center;\r\n    box-sizing: border-box;\r\n    cursor: pointer;\r\n\r\n}\r\nwie-fixed-page{\r\n    position: relative;\r\n    display: block;\r\n    text-align: left;\r\n    border-top: 1px solid var(--mainTextColor);\r\n    border-radius: 0 0 0 6px;\r\n}\r\nwie-fixed-wrapper{\r\n    color: var(--mainTextColor);\r\n    display: block;\r\n    position: relative;\r\n    padding: 0 50px 0 0;\r\n    min-height: 50px;\r\n    width: 50px;\r\n    box-sizing: border-box;\r\n    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n    overflow: hidden;\r\n}\r\nwie-fixed-wrapper.show{\r\n}\r\nwie-fixed-wrapper:last-child{\r\n}\r\nwie-fixed-wrapper:last-child wie-fixed-title{\r\n}\r\nwie-fixed-title{\r\n    background: var(--mainColor);\r\n    background: #3d4248;\r\n    padding: 6px 8px;\r\n    font-weight: bold;\r\n    text-align: center;\r\n    font-size: 12px;\r\n    position: absolute;\r\n    width: 50px;\r\n    display: flex;\r\n    right: 0;\r\n    top: 0;\r\n    height: 100%;\r\n    align-items: center;\r\n    box-sizing: border-box;\r\n    z-index: 1;\r\n    cursor: pointer;\r\n    border-top: 1px solid var(--mainTextColor);\r\n}\r\nwie-tip {\r\n    position: absolute;\r\n    top: 5px;\r\n    right: 3px;\r\n    border-radius: 3px;\r\n    background: #f60;\r\n    padding: 1px 3px 2px;\r\n    font-size: 8px;\r\n    line-height: 1;\r\n}\r\n\r\n\r\n\r\n`;\nclass WieFixed extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n    /**\n     * 实例\n     */\n    static get Instance() {\n        if (!this.instance)\n            this.instance = new WieFixed();\n        return this.instance;\n    }\n    constructor() {\n        super();\n        /** 显示配置 */\n        this.showConfigs = {};\n        _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_addStyle(Style);\n        this.injects = new Map();\n        this.initial();\n        this.showConfigs = _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_getValue(\"WIE-FIXED-showConfigs\", {});\n    }\n    save(name, show) {\n        this.showConfigs[name] = show;\n        _Tools_GM__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GM_setValue(\"WIE-FIXED-showConfigs\", this.showConfigs);\n    }\n    initial() {\n        this.view = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].createDiv(\"<div class='fixed-title'>WIE</div>\", {\n            tag: \"wie-fixed\",\n            className: `wie-hidden`,\n        });\n    }\n    createWrapper(page, inject) {\n        var _a;\n        //<img id='wie-version' src='https://s1.ax1x.com/2023/04/01/ppWUPEQ.png'>\n        const wrapper = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].createDiv(`\r\n        <wie-fixed-title>\r\n            ${inject.CName}\r\n            <wie-tip></wie-tip>\r\n        </wie-fixed-title>\r\n        `, {\n            tag: \"wie-fixed-wrapper\",\n            className: \"wie-hidden\",\n            parent: this.view,\n        });\n        wrapper === null || wrapper === void 0 ? void 0 : wrapper.appendChild(page.page);\n        (_a = wrapper.querySelector(\"wie-fixed-title\")) === null || _a === void 0 ? void 0 : _a.addEventListener(\"click\", () => {\n            this.showConfigs[inject.Name] = !this.showConfigs[inject.Name];\n            this.show(wrapper, page, inject.Name);\n        });\n        this.show(wrapper, page, inject.Name);\n        return wrapper;\n    }\n    page(inject) {\n        var _a;\n        return (_a = this.injects.get(inject)) === null || _a === void 0 ? void 0 : _a.page;\n    }\n    start(inject, page) {\n        let item = this.injects.get(inject);\n        //判断是否已经启动\n        if (!item) {\n            item = { page, ele: this.createWrapper(page, inject) };\n            //添加到页面\n            this.injects.set(inject, item);\n        }\n        //更新显示\n        this.update();\n    }\n    show(ele, page, key) {\n        var _a;\n        //判断是否显示\n        const show = (_a = this.showConfigs[key]) !== null && _a !== void 0 ? _a : false;\n        if (show) {\n            ele.classList.add(\"show\");\n            const width = page.pageWidth() + 50 + \"px\";\n            ele.style.width = width;\n        }\n        else {\n            ele.classList.remove(\"show\");\n            ele.style.width = \"50px\";\n        }\n        this.save(key, show);\n    }\n    update() {\n        let show = 0;\n        for (let item of this.injects.values()) {\n            //判断是否显示\n            if (item.page.show()) {\n                item.ele.classList.remove(\"wie-hidden\");\n                show++;\n                //\n                const tipEle = item.ele.querySelector(\"wie-tip\");\n                if (tipEle) {\n                    const tipStr = item.page.tip();\n                    if (tipStr) {\n                        tipEle.classList.remove(\"wie-hidden\");\n                        tipEle.innerHTML = tipStr;\n                    }\n                    else {\n                        tipEle.classList.add(\"wie-hidden\");\n                    }\n                }\n            }\n            else {\n                item.ele.classList.add(\"wie-hidden\");\n            }\n        }\n        this.view.classList.toggle(\"wie-hidden\", show === 0);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/WieFixed.ts?");
    
    /***/ }),
    
    /***/ "./src/WiePopup.ts":
    /*!*************************!*\
      !*** ./src/WiePopup.ts ***!
      \*************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   BackSVG: () => (/* binding */ BackSVG),\n/* harmony export */   SettingSVG: () => (/* binding */ SettingSVG),\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib_UIDrag__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/UIDrag */ \"./src/lib/UIDrag.ts\");\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./WIE */ \"./src/WIE.ts\");\n/* harmony import */ var _Tools_Decorator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Tools/Decorator */ \"./src/Tools/Decorator.ts\");\nvar __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {\n    var useValue = arguments.length > 2;\n    for (var i = 0; i < initializers.length; i++) {\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n    }\n    return useValue ? value : void 0;\n};\nvar __esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n    var _, done = false;\n    for (var i = decorators.length - 1; i >= 0; i--) {\n        var context = {};\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n        if (kind === \"accessor\") {\n            if (result === void 0) continue;\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n            if (_ = accept(result.get)) descriptor.get = _;\n            if (_ = accept(result.set)) descriptor.set = _;\n            if (_ = accept(result.init)) initializers.unshift(_);\n        }\n        else if (_ = accept(result)) {\n            if (kind === \"field\") initializers.unshift(_);\n            else descriptor[key] = _;\n        }\n    }\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\n    done = true;\n};\n\n\n\n\nconst SettingSVG = `<svg t=\"1681884388357\"   viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"3262\" ><path d=\"M859.83 506.6c-0.26-50.02 29.27-93 71.78-112.88-9.86-35.72-23.95-70.85-43.53-104.36-19.99-34.22-44.23-64.31-71.18-90.84-38.25 27.65-90.53 32.39-134.2 7.48-43.56-24.86-66.06-72.11-61.86-118.99-73.22-19.04-151.28-18.69-226.4 2.16 4.81 46.94-17.22 94.57-60.62 119.93-43.19 25.23-95.19 21.16-133.67-5.74-54.74 55.48-92.98 123.53-111.97 196.79 43.24 19.23 73.62 62.24 73.88 112.64 0.25 50.02-29.27 93-71.79 112.88 9.86 35.72 23.95 70.84 43.53 104.36 19.99 34.22 44.23 64.31 71.18 90.84 38.25-27.65 90.53-32.39 134.2-7.48 43.56 24.86 66.06 72.11 61.86 118.99 73.22 19.04 151.28 18.69 226.4-2.16-4.81-46.94 17.22-94.57 60.62-119.93 43.19-25.23 95.19-21.16 133.67 5.74 54.74-55.48 92.98-123.53 111.97-196.79-43.23-19.23-73.61-62.24-73.87-112.64z\" p-id=\"3263\" data-spm-anchor-id=\"a313x.7781069.0.i4\" class=\"selected\"></path><path d=\"M506.1 678.88c-61.28 0-120.99-31.6-154.07-88.22-24-41.07-30.56-89.04-18.49-135.05 12.08-46.01 41.35-84.57 82.42-108.56 41.08-24 89.03-30.56 135.05-18.49 46.01 12.08 84.57 41.35 108.56 82.42 49.54 84.79 20.85 194.07-63.94 243.61-28.16 16.46-59.05 24.29-89.53 24.29z m-0.48-283.42c-18.44 0-36.61 4.88-52.95 14.43-24.29 14.19-41.6 36.99-48.74 64.2s-3.26 55.57 10.93 79.87c29.3 50.15 93.93 67.1 144.07 37.81 50.14-29.3 67.11-93.93 37.81-144.07-14.19-24.29-36.99-41.6-64.21-48.74-8.9-2.35-17.94-3.5-26.91-3.5z\" fill=\"#FFFFFF\" p-id=\"3264\" data-spm-anchor-id=\"a313x.7781069.0.i5\" class=\"\"></path></svg>`;\nconst BackSVG = '<svg t=\"1681733776772\"   viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"3736\" data-spm-anchor-id=\"a313x.7781069.0.i3\" ><path d=\"M478.104276 337.595469V184.66079L114.48369 442.197642l363.620586 257.597261V548.220967c145.529941 0.060409 280.456525 7.405763 394.534756 210.864063 0.001024-129.244021-21.321388-417.874222-394.534756-421.489561z\" fill=\"#8a8a8a\" p-id=\"3737\" data-spm-anchor-id=\"a313x.7781069.0.i2\" class=\"selected\"></path><path d=\"M447.778841 307.270034V154.334331L84.158254 411.871182 447.778841 669.468444V517.894508c145.529941 0.060409 280.456525 7.405763 394.534756 210.864063 0-129.244021-21.322412-417.874222-394.534756-421.488537z\"  p-id=\"3738\" data-spm-anchor-id=\"a313x.7781069.0.i0\" class=\"\"></path><path d=\"M283.00269 350.410162a27.283472 57.977507 55.515 1 0 95.578754-65.652623 27.283472 57.977507 55.515 1 0-95.578754 65.652623Z\" fill=\"#FEFEFE\" p-id=\"3739\"></path><path d=\"M224.416795 445.822358a18.189323 31.830547 55.515 1 0 52.474213-36.044304 18.189323 31.830547 55.515 1 0-52.474213 36.044304Z\" fill=\"#FEFEFE\" p-id=\"3740\"></path></svg>';\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((() => {\n    var _a;\n    let _instanceExtraInitializers = [];\n    let _delayClose_decorators;\n    let _cancelDelayClose_decorators;\n    return _a = class WiePopup {\n            /**\n             * 实例\n             */\n            static get Instance() {\n                if (!this.instance)\n                    this.instance = new WiePopup();\n                return this.instance;\n            }\n            constructor() {\n                /** 弹框器 */\n                this.div = (__runInitializers(this, _instanceExtraInitializers), void 0);\n                this.wie = _WIE__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Instance;\n                this.injects = new Map();\n                this.initial();\n            }\n            /**\n             * 注入UI Root\n             * @param inject\n             * @returns\n             */\n            injectUI(inject) {\n                const id = inject.Name;\n                const div = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createDiv(\"\", {\n                    id: `wie-${id}`,\n                    className: \"wie-inject\",\n                    parent: this.injectParent,\n                    events: {\n                        wheel: (e) => {\n                            e.stopPropagation();\n                        },\n                        touchstart: (e) => {\n                            e.stopPropagation();\n                        },\n                        touchmove: (e) => {\n                            e.stopPropagation();\n                        },\n                    },\n                });\n                const btn = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createDiv(inject.CName, {\n                    id: `wie-${id}-btn`,\n                    className: \"wie-inject-btn\",\n                    parent: this.injectBtnParent,\n                    events: {\n                        click: () => {\n                            if (btn.classList.contains(\"selected\"))\n                                return;\n                            this.top(inject);\n                        },\n                    },\n                });\n                this.injects.set(inject, { div, btn });\n                btn.classList.add(\"selected\");\n                return div;\n            }\n            top(inject) {\n                if (this.topInject === inject)\n                    return;\n                this.topInject = inject;\n                const item = this.injects.get(inject);\n                if (item) {\n                    this.injectParent.appendChild(item.div);\n                }\n                this.injects.forEach((v, k) => {\n                    if (k === inject) {\n                        v.btn.classList.add(\"selected\");\n                        k.resume();\n                    }\n                    else {\n                        v.btn.classList.remove(\"selected\");\n                        k.stop();\n                    }\n                });\n                this.updateBackLister(inject);\n            }\n            /**\n             * 移除UI\n             * @param inject\n             */\n            removeUI(inject) {\n                const item = this.injects.get(inject);\n                if (item) {\n                    item.div.remove();\n                    item.btn.remove();\n                    this.injects.delete(inject);\n                }\n            }\n            /**\n             * 创建UI\n             */\n            initial() {\n                const div = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createDiv(this.createDiv(), {\n                    events: {\n                        // wheel: this.imgWheel,\n                        mouseenter: () => this.cancelDelayClose(),\n                        mouseleave: () => this.delayClose(),\n                        wheel: (e) => {\n                            e.stopPropagation();\n                        },\n                    },\n                    tag: \"wie-popup\",\n                    className: `wie-hidden ${this.wie.isMobile ? \"wie-mobile\" : \"\"}`,\n                });\n                //添加样式\n                this.div = div;\n                this.injectParent = div.querySelector(\"#wie-injects\");\n                this.injectBtnParent = div.querySelector(\"#wie-buttons\");\n                this.backBtn = div.querySelector(\"#wie-back\");\n                this.backBtn.addEventListener(\"click\", () => {\n                    var _a;\n                    (_a = this.topInject) === null || _a === void 0 ? void 0 : _a.back();\n                });\n                //关闭按钮绑定\n                const closeBtn = div.querySelector(\"#wie-close\");\n                closeBtn.addEventListener(\"click\", () => {\n                    this.close();\n                });\n                //固定按钮绑定\n                const fixedBtn = div.querySelector(\"#wie-fixed\");\n                fixedBtn.addEventListener(\"click\", () => {\n                    fixedBtn.classList.toggle(\"fixed\");\n                    this.wie.updateSetting({ Fixed: this.fixed });\n                    // Tool.notify(\"固定显示已\" + (this.fixed ? \"开启\" : \"关闭\"));\n                    // .engine.updateSetting({ Fixed: this.fixed });\n                });\n                div.querySelector(\"#wie-setting\").addEventListener(\"click\", (e) => {\n                    this.wie.showSetting();\n                });\n                let { Width } = this.wie.setting;\n                Width = Math.min(Width, window.innerWidth - 30);\n                this.div.style.width = `${Width}px`;\n                let width = Number(Width);\n                // if (!this.wie.isMobile) {\n                if (window.innerWidth > 500) {\n                    new _lib_UIDrag__WEBPACK_IMPORTED_MODULE_0__[\"default\"](div, () => {\n                        width = this.div.offsetWidth;\n                        this.wie.updateSetting({ Width: width });\n                    });\n                }\n                const drag = div.querySelector(\"#wie-drag\");\n                drag.addEventListener(\"touchstart\", (e) => {\n                    e.stopPropagation();\n                });\n                drag.addEventListener(\"touchmove\", (e) => {\n                    e.stopPropagation();\n                });\n                drag.addEventListener(\"touchend\", (e) => {\n                    e.stopPropagation();\n                });\n            }\n            /**\n             * 是否为打开状态\n             * @returns\n             */\n            isShow() {\n                return !this.div.classList.contains(\"wie-hidden\");\n            }\n            /**\n             * 更新位置信息\n             */\n            show() {\n                //如果是显示状态,不执行\n                if (!this.isClose)\n                    return false;\n                this.div.classList.remove(\"wie-hidden\");\n                return true;\n            }\n            get delayTime() {\n                return this.wie.setting.Enter;\n            }\n            delayClose() {\n                if (!this.fixed)\n                    this.close();\n            }\n            cancelDelayClose() { }\n            get isClose() {\n                return this.div.classList.contains(\"wie-hidden\");\n            }\n            close() {\n                var _a;\n                //如果是隐藏状态,不执行\n                if (this.isClose)\n                    return;\n                this.div.classList.add(\"wie-hidden\");\n                (_a = this.topInject) === null || _a === void 0 ? void 0 : _a.stop();\n            }\n            get fixed() {\n                const { Fixed } = this.wie.setting;\n                return Fixed;\n            }\n            /**\n             * 更新返回按钮状态\n             * @param inject\n             */\n            updateBackLister(inject) {\n                if (this.topInject !== inject)\n                    return;\n                this.backBtn.classList[inject.stack.length > 1 ? \"remove\" : \"add\"](\"disabled\");\n            }\n            createDiv() {\n                //<img id='wie-version' src='https://s1.ax1x.com/2023/04/01/ppWUPEQ.png'>\n                return `\r\n        <div id=\"wie-drag\"></div>\r\n        <div class='wie-option'>\r\n            <div id='wie-setting' class='wie-option-item'>${SettingSVG}</div>\r\n            <div id='wie-fixed' class='wie-option-item ${this.fixed ? \"fixed\" : \"\"}'><svg t=\"1680491761331\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"5429\" ><path d=\"M1017.302616 364.657556c-7.597032 13.994533-21.691527 25.490043-47.381491 25.490043-2.499024 0-5.098009-0.099961-7.796955-0.299883h-65.07458c-9.39633 0-18.292854 4.098399-24.390472 11.295587L678.335025 629.654041c-17.992971 21.091761-28.588832 47.481453-30.288168 75.170637l-6.697384 111.25654c-0.99961 15.593909-6.997267 30.588052-17.693089 41.9836-7.397111 7.896915-17.293245 14.594299-30.288168 15.793831-1.299492 0.099961-2.598985 0.199922-3.798517 0.199922-11.49551 0-22.491214-4.798126-30.688012-12.994924l-0.199922-0.199922-147.542366-149.541585L7.597032 1021.700898l-2.998828 2.299102 2.299102-2.998829 310.378758-403.542366-149.441624-147.542366-0.199922-0.199922c-9.096447-9.096447-13.994533-21.691527-12.795002-34.486529 1.199531-12.894963 7.996876-22.891058 15.79383-30.288168 11.395549-10.695822 26.389692-16.79344 41.983601-17.693089l111.25654-6.697384c27.689184-1.699336 54.078875-12.295197 75.170636-30.288169L627.4549 155.939086c7.197189-6.097618 11.295588-14.994143 11.295588-24.390472V66.474034c-2.499024-30.688012 9.796173-46.781726 25.19016-55.178446 8.296759-4.498243 17.393206-6.697384 26.389692-6.697384 14.794221 0 29.488481 5.897696 40.384225 16.79344l0.099961 0.099961 137.246388 138.245997 0.699726 0.699727 138.245998 137.346349 0.099961 0.099961c17.693089 17.693089 22.191332 44.882468 10.196017 66.773917z\" p-id=\"5430\" data-spm-anchor-id=\"a313x.7781069.0.i2\" class=\"selected\"></path></svg></div>\r\n            <div id='wie-close' class='wie-option-item'><svg t=\"1680493355929\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"7926\"><path d=\"M301.202286 1024L219.428571 940.836571 641.024 512 219.428571 83.163429 301.202286 0 804.571429 512z\" p-id=\"7927\"></path></svg></div>\r\n            <wie-buttons id=\"wie-buttons\">\r\n            </wie-buttons>\r\n            <div id='wie-back' class='wie-option-item disabled'>${BackSVG}</div>\r\n        </div>\r\n        <div id=\"wie-injects\">\r\n        </div>\r\n        `;\n            }\n            /**\n             * 日志输出\n             * @param args\n             */\n            log(...args) {\n                this.wie.log(`WIEPopup`, ...args);\n            }\n        },\n        (() => {\n            _delayClose_decorators = [_Tools_Decorator__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Delay];\n            _cancelDelayClose_decorators = [_Tools_Decorator__WEBPACK_IMPORTED_MODULE_3__[\"default\"].DelayCancel(\"delayClose\")];\n            __esDecorate(_a, null, _delayClose_decorators, { kind: \"method\", name: \"delayClose\", static: false, private: false, access: { has: obj => \"delayClose\" in obj, get: obj => obj.delayClose } }, null, _instanceExtraInitializers);\n            __esDecorate(_a, null, _cancelDelayClose_decorators, { kind: \"method\", name: \"cancelDelayClose\", static: false, private: false, access: { has: obj => \"cancelDelayClose\" in obj, get: obj => obj.cancelDelayClose } }, null, _instanceExtraInitializers);\n        })(),\n        _a;\n})());\n\n\n//# sourceURL=webpack://empty-project/./src/WiePopup.ts?");
    
    /***/ }),
    
    /***/ "./src/index.dev.ts":
    /*!**************************!*\
      !*** ./src/index.dev.ts ***!
      \**************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Tools_GM__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tools/GM */ \"./src/Tools/GM.ts\");\n/* harmony import */ var _WIE__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./WIE */ \"./src/WIE.ts\");\n\n\nwindow.WIE = _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n//work模式下不启动注入\nif (location.host.indexOf(\".work\") < 1) {\n    /** 启动注入 */\n    if (_Tools_GM__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GM_addStyle)\n        _WIE__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance;\n}\n\n\n//# sourceURL=webpack://empty-project/./src/index.dev.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/MatchBean.ts":
    /*!******************************!*\
      !*** ./src/lib/MatchBean.ts ***!
      \******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MatchBean)\n/* harmony export */ });\n/* harmony import */ var _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Tools/DOMTool */ \"./src/Tools/DOMTool.ts\");\n\nclass MatchBean {\n    constructor(inject) {\n        this.inject = inject;\n        const setting = inject.setting;\n        //判断当前网站是否为top网站\n        if (window.parent === window) {\n            if (setting.Match.indexOf(window.location.host) >= 0 || setting.Match.indexOf(_Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Favicon) >= 0)\n                //移除菜单按钮\n                inject.engine.createMenu(`关闭【${inject.CName}】功能`, this.removeSite.bind(this));\n            //添加菜单按钮\n            else\n                inject.engine.createMenu(`开启【${inject.CName}】功能`, this.addSite.bind(this));\n        }\n        inject.getMatch = this.getMatch.bind(this);\n    }\n    getMatch() {\n        return this.inject.setting.Match.map((match) => new RegExp(match));\n    }\n    addSite() {\n        const host = window.location.host;\n        const inject = this.inject;\n        const matches = new Set(inject.setting.Match);\n        //添加域名作为匹配\n        matches.add(host);\n        //添加icon进行匹配\n        const icon = _Tools_DOMTool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Favicon;\n        icon && matches.add(icon);\n        inject.setting.Match = Array.from(matches);\n        inject.updateSetting();\n        inject._log(\" addSite\", host, inject.setting);\n        window.location.reload();\n    }\n    removeSite() {\n        const host = window.location.host;\n        const inject = this.inject;\n        const matches = new Set(inject.setting.Match);\n        matches.delete(host);\n        inject.setting.Match = Array.from(matches);\n        inject.updateSetting();\n        inject._log(\" removeSite\", host, inject.setting);\n        window.location.reload();\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/lib/MatchBean.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/Pages/InjectPages.ts":
    /*!**************************************!*\
      !*** ./src/lib/Pages/InjectPages.ts ***!
      \**************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   InjectPages: () => (/* binding */ InjectPages)\n/* harmony export */ });\n/* harmony import */ var _Inject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Inject */ \"./src/Inject.ts\");\n/* harmony import */ var _WiePopup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../WiePopup */ \"./src/WiePopup.ts\");\n/* harmony import */ var _WieFixed__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../WieFixed */ \"./src/WieFixed.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n/**\n * 注入基类\n */\nclass InjectPages extends _Inject__WEBPACK_IMPORTED_MODULE_0__.Inject {\n    constructor() {\n        super(...arguments);\n        /** 如果设置循环值, 则会循环调用onStart, 可通过返回false来取消循环 */\n        this.timer = 0;\n        /** 页面栈 */\n        this.stack = [];\n        /** 页面缓存 */\n        this.caches = new Map();\n    }\n    /**\n     * 注册同步器\n     * 供子类调用\n     * @param page\n     * @param main\n     * @returns\n     */\n    static Sync(page, main) {\n        return (Cls, context) => {\n            let config = this.pageConfig(page);\n            config.syncs[main ? \"unshift\" : \"push\"](Cls);\n            return Cls;\n        };\n    }\n    // /**\n    //  * 注册UI\n    //  * @param page\n    //  * @param name 数据项名称\n    //  * @param id 选择器名称 默认使用name #wie-{name}\n    //  * @param style 样式\n    //  * @returns\n    //  */\n    // public static UI<T extends typeof Page<any>>(page: T, name: string, id?: string, style?: string) {\n    //     //兼容旧版\n    //     name = name.replace(\"UI\", \"\");\n    //     name = name[0].toLowerCase() + name.slice(1);\n    //     //如果添加样式,则添加\n    //     if (style) WIE.UIStyles.set(name, style);\n    //     return <S extends typeof UI<any>>(Cls: S) => {\n    //         let config = this.pageConfig(page);\n    //         config.uis.push({ UI: Cls, name, id: `#wie-${id ? id : name}` });\n    //         return Cls;\n    //     };\n    // }\n    /**\n     * 获取页面配置\n     * @param page\n     * @returns\n     */\n    static pageConfig(page) {\n        const inject = this.Name;\n        const name = page.Name;\n        let configs = this.PagesConfigs[inject];\n        if (!configs)\n            configs = this.PagesConfigs[inject] = new Map();\n        let config = configs.get(name);\n        if (!config) {\n            config = { name, syncs: [] };\n            this.PagesConfigs[inject].set(name, config);\n        }\n        return config;\n    }\n    getMatch() {\n        return this.Match;\n    }\n    /**\n     *\n     * @returns\n     */\n    root() {\n        if (!this._root)\n            this._root = _WiePopup__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.injectUI(this);\n        return this._root;\n    }\n    /**\n     * 供子类调用\n     */\n    onLoad() { }\n    /**\n     * 启动页面\n     * @param page\n     * @param intent\n     * @param back 回退页面数 -1:全部清空\n     *\n     */\n    startPage(page, intent = {}, back = 0) {\n        return __awaiter(this, void 0, void 0, function* () {\n            // //检测是否已经启动, 如果已经启动则不再创建\n            // if (this.stack.length > 0 && !this.checkLast(intent, this.stack[this.stack.length - 1].intent)) return;\n            //等待启动)\n            _WiePopup__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.show();\n            // this.log(\"startPage---bool\", page, intent);\n            /** 如果打开失败,则退出,不再创建 */\n            //置顶\n            _WiePopup__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.top(this);\n            //创建页面View\n            const view = this.createPageView();\n            //获取页面配置\n            const config = this.constructor.pageConfig(page);\n            // this.log(\"startPage---config\", config, page, intent, (this.constructor as typeof InjectPages).PagesConfigs);\n            const ui = new page(this, view, config, intent);\n            let deletes = [];\n            if (back === -1)\n                deletes = this.stack.splice(0, this.stack.length);\n            else\n                deletes = this.stack.splice(this.stack.length - back, back);\n            //销毁页面\n            deletes.forEach((ui) => ui.destroy());\n            //停止上一个页面\n            this.stop();\n            //启动页面\n            this.stack.push(ui);\n            //更新返回按钮\n            _WiePopup__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.updateBackLister(this);\n        });\n    }\n    /**\n     *\n     * @param page\n     * @param intent\n     */\n    startFixed(page, intent = {}) {\n        return __awaiter(this, void 0, void 0, function* () {\n            //判断是否存在\n            let p = _WieFixed__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Instance.page(this);\n            if (!p) {\n                //创建页面View\n                const view = this.createPageView(\"wie-fixed-page\");\n                //获取页面配置\n                const config = this.constructor.pageConfig(page);\n                intent.loading = false;\n                p = new page(this, view, config, intent);\n                view.style.width = `${p.pageWidth()}px`;\n            }\n            else {\n                //更新数据\n                p.updateData(intent);\n            }\n            _WieFixed__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Instance.start(this, p);\n        });\n    }\n    /**\n     * 获取全部页面配置\n     * @returns\n     */\n    AllPageConfig() {\n        return this.constructor.PagesConfigs[\"Inject\"].get(\"Page\");\n    }\n    checkLast(intent, last) {\n        return true;\n    }\n    /**\n     * 停止页面\n     */\n    stop() {\n        var _a;\n        // this.log(\"stop\", this.stack);\n        //最后一个页面停止\n        (_a = this.stack[this.stack.length - 1]) === null || _a === void 0 ? void 0 : _a.stop();\n    }\n    /**\n     * 恢复页面\n     */\n    resume() {\n        var _a;\n        //最后一个页面恢复\n        (_a = this.stack[this.stack.length - 1]) === null || _a === void 0 ? void 0 : _a.resume();\n    }\n    /**\n     * 创建页面View\n     */\n    createPageView(tag = \"wie-page\") {\n        return this.createDiv(\"\", {\n            className: tag,\n            parent: this.root(),\n            tag,\n        });\n    }\n    /**\n     * 关闭\n     */\n    close() {\n        /** 是否需要移除 */\n        // WiePopup.Instance.removeUI(this);\n        _WiePopup__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.close();\n    }\n    /**\n     * 页面回退\n     * @returns\n     */\n    back() {\n        // this.log(\"back\", this.stack);\n        if (this.stack.length <= 1)\n            return;\n        //销毁当前页面\n        const page = this.stack.pop();\n        page.destroy();\n        //恢复上一个页面\n        this.stack[this.stack.length - 1].resume();\n        //更新返回按钮\n        _WiePopup__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Instance.updateBackLister(this);\n    }\n}\n/** 页面配置 */\nInjectPages.PagesConfigs = {};\n\n\n//# sourceURL=webpack://empty-project/./src/lib/Pages/InjectPages.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/Pages/Page.ts":
    /*!*******************************!*\
      !*** ./src/lib/Pages/Page.ts ***!
      \*******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   PageStatus: () => (/* binding */ PageStatus),\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/Logger */ \"./src/Tools/Logger.ts\");\n/* harmony import */ var _UI_UILoading__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../UI/UILoading */ \"./src/UI/UILoading.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nvar PageStatus;\n(function (PageStatus) {\n    /** 渲染中 */\n    PageStatus[PageStatus[\"Render\"] = 0] = \"Render\";\n    /** 销毁 */\n    PageStatus[PageStatus[\"Destroy\"] = 1] = \"Destroy\";\n    /** 停止 */\n    PageStatus[PageStatus[\"Stop\"] = 2] = \"Stop\";\n})(PageStatus || (PageStatus = {}));\n/**\n * UI渲染基类\n */\nclass Page extends _Tools_Logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n    get Name() {\n        return this.constructor.Name;\n    }\n    get CName() {\n        var _a;\n        return (_a = this.constructor.CName) !== null && _a !== void 0 ? _a : this.Name;\n    }\n    get setting() {\n        var _a;\n        return (_a = this.inject.setting) !== null && _a !== void 0 ? _a : {};\n    }\n    constructor(inject, page, config, intent) {\n        super();\n        /** 零时UI缓存 */\n        this.uis = new Set();\n        // /**\n        //  * 同步器进度\n        //  * @param total\n        //  * @param progress\n        //  */\n        // protected onSyncProgress(total: number, progress: number) {\n        //     // delete this.syncCache[name];\n        //     // const total = this.config.syncs.length;\n        //     // const progress = total - Object.keys(this.syncCache).length;\n        //     this.log(\"同步进度\", total, progress, this.uis, this.config.syncs, this.syncCache);\n        //     this.updateData({ syncProgress: { total, progress } } as S);\n        // }\n        this.syncCache = {};\n        /**\n         * 更新UI项\n         * @param data\n         */\n        this.updateData = (data) => {\n            const keys = Object.keys(data);\n            const updateKeys = [];\n            for (let key of keys) {\n                //判断数据项是否相等\n                if (this.intent[key] === data[key])\n                    continue;\n                //更新数据\n                this.intent[key] = data[key];\n                //如果已经销毁,则只更新数据\n                if (this.status === PageStatus.Destroy)\n                    continue;\n                //获取UI项\n                updateKeys.push(key);\n            }\n            if (updateKeys.length === 0)\n                return;\n            //真实更新UI\n            this.uis.forEach((ui) => {\n                if (!ui.needUpdate(updateKeys))\n                    return;\n                // this.log(\"更新UI\", updateKeys, ui, data, this.intent);\n                ui.update(this.intent, this.page);\n            });\n            const cacheKey = this.cacheKey(this.intent);\n            if (cacheKey)\n                this.inject.caches.set(cacheKey, this.intent);\n        };\n        this.inject = inject;\n        //如果没有设置loading,则默认为true\n        if (intent.loading === undefined)\n            intent.loading = true;\n        if (this.Name === \"Page\") {\n            throw new Error(\"Page类需要设置静态Name属性\");\n        }\n        this.log(\"页面创建\", config, intent);\n        this.page = page;\n        this.config = config;\n        this.status = PageStatus.Render;\n        this.intent = this.onIntent({});\n        this.create(intent);\n    }\n    onIntent(intent) {\n        this.log(\"接收到新的Intent\", intent);\n        return intent;\n    }\n    /**\n     * 当定义了缓存key时,会调用此方法\n     */\n    cacheKey(intent) {\n        return;\n    }\n    /**\n     * 渲染页面\n     */\n    create(intent) {\n        /** 渲染元素 */\n        const html = `\r\n            <page-content>${this.render(this.page, intent)}</page-content>\r\n            ${new _UI_UILoading__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this).hold()}\r\n        `;\n        if (html)\n            this.page.innerHTML = html;\n        /** 先调用方法 */\n        this.onCreate(this.page, intent);\n        //启动第一次更新\n        this.updateData({ first: true });\n        const cacheKey = this.cacheKey(intent);\n        if (cacheKey) {\n            const cache = this.inject.caches.get(cacheKey);\n            if (cache) {\n                // (this.intent as any) = cache;\n                // this.log(\"使用缓存\", cache, intent);\n                //更新UI\n                this.updateData(cache);\n                return;\n            }\n        }\n        /** 渲染UI项 */\n        this.updateData(intent);\n        /** 开始网络同步器 */\n        this.startSyncs();\n    }\n    /**\n     * 回退\n     */\n    back() {\n        this.inject.back();\n    }\n    /**\n     * 更新数据,并重新启动同步器\n     * @param intent\n     */\n    retrySync(intent) {\n        //更新UI\n        this.updateData(intent);\n        //启动同步器\n        for (let key in intent) {\n            this.intent[key] = intent[key];\n        }\n        this.startSyncs();\n    }\n    /**\n     * 同步器进度\n     * @param total\n     * @param progress\n     */\n    onSyncProgress(name) {\n        delete this.syncCache[name];\n        const total = this.config.syncs.length;\n        const progress = total - Object.keys(this.syncCache).length;\n        // this.log(\"同步进度\", total, progress, this.uis, this.config.syncs, this.syncCache);\n        this.updateData({ syncProgress: { total, progress } });\n    }\n    /**\n     * 开始网络同步器\n     */\n    startSyncs(intent = this.intent) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const syncs = this.config.syncs;\n            /** 是否为第一个 */\n            let first = true;\n            this.syncCache = {};\n            syncs.forEach((sync) => (this.syncCache[sync.name] = sync));\n            // this.log(\"开始同步器\", syncs, { ...this.syncCache });\n            /** 遍历同步器 */\n            for (let i = 0; i < syncs.length; i++) {\n                //异步更新数据\n                if (first) {\n                    yield this.startSync(syncs[i], syncs[i].name);\n                    this.updateData({ loading: false });\n                    first = false;\n                }\n                else\n                    this.startSync(syncs[i], syncs[i].name);\n            }\n        });\n    }\n    /**\n     * 启动同步器\n     * @param syncFunc\n     * @returns\n     */\n    startSync(syncFunc, name) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const sync = new syncFunc(this, this.updateData);\n            //进行数据匹配\n            if (!sync.match(this.intent)) {\n                //同步进度\n                this.onSyncProgress(name);\n                return false;\n            }\n            //如果为第一个,则等待数据返回\n            yield sync.start(this.intent);\n            //同步进度\n            this.onSyncProgress(name);\n            return true;\n        });\n    }\n    /**\n     * 绑定UI\n     * @param ui\n     */\n    bindUI(ui) {\n        this.uis.add(ui);\n    }\n    /**\n     * render字符串挂载之后调用\n     */\n    onCreate(page, intent) { }\n    /**\n     * 销毁函数\n     */\n    onDestroy() { }\n    /**\n     * 页面暂停显示\n     */\n    onStop() { }\n    /**\n     * 页面重新显示\n     */\n    onResume() { }\n    /**\n     * 页面暂停显示\n     */\n    stop() {\n        // this.log(\"暂停\", this.status, this.uis);\n        if (this.status !== PageStatus.Render)\n            return;\n        this.status = PageStatus.Stop;\n        this.onStop();\n        this.uis.forEach((ui) => ui.stop());\n        this.page.classList.add(\"wie-hide\");\n    }\n    /**\n     * 页面恢复显示\n     */\n    resume() {\n        if (this.status !== PageStatus.Stop)\n            return;\n        this.status = PageStatus.Render;\n        this.onResume();\n        this.uis.forEach((ui) => ui.resume());\n        this.page.classList.remove(\"wie-hide\");\n    }\n    /**\n     * 销毁函数\n     */\n    destroy() {\n        // this.log(\"销毁\", this.status);\n        if (this.status === PageStatus.Destroy)\n            return;\n        this.status = PageStatus.Destroy;\n        this.onDestroy();\n        this.uis.forEach((ui) => ui.destroy());\n        // this.log(\"销毁---\", this.status, this.page);\n        this.page.remove();\n    }\n    log(...args) {\n        this.inject._log(`${this.constructor.name}`, ...args);\n    }\n    _log(key, ...args) {\n        this.inject._log(`${this.constructor.name}-${key}`, ...args);\n    }\n}\n/** 需实现 */\nPage.Name = \"Page\";\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Page);\n\n\n//# sourceURL=webpack://empty-project/./src/lib/Pages/Page.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/Pages/PageFixed.ts":
    /*!************************************!*\
      !*** ./src/lib/Pages/PageFixed.ts ***!
      \************************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ PageFixed)\n/* harmony export */ });\n/* harmony import */ var _Page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Page */ \"./src/lib/Pages/Page.ts\");\n\nclass PageFixed extends _Page__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n}\n\n\n//# sourceURL=webpack://empty-project/./src/lib/Pages/PageFixed.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/Pages/Sync.ts":
    /*!*******************************!*\
      !*** ./src/lib/Pages/Sync.ts ***!
      \*******************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Sync)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/Tool */ \"./src/Tools/Tool.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n/**\n * 同步基类\n */\nclass Sync {\n    constructor(page, update) {\n        /** 请求类型 */\n        this.Method = \"GET\";\n        /** 参数 */\n        this.options = {};\n        /** 用于控制next最大执行次数 */\n        this.nextMax = -1;\n        /** 用于控制next当前执行次数 */\n        this.nextCount = 0;\n        this.page = page;\n        this._update = update;\n    }\n    update(data) {\n        // this.log(this.constructor.name, \"更新数据\", data);\n        this._update(data);\n    }\n    /**\n     * 获取设置\n     */\n    get setting() {\n        return this.page.inject.setting;\n    }\n    /**\n     * 检测是否进行数据处理\n     * @param data\n     * @returns\n     */\n    match(data) {\n        return true;\n    }\n    /**\n     * 开始\n     * @param data\n     */\n    start(data) {\n        return __awaiter(this, void 0, void 0, function* () {\n            // this.log(\"start-----------\", data);\n            //获取 url\n            let url = yield this.getUrl(data);\n            this.nextCount = 0;\n            //执行 url\n            yield this.execUrl(url, data);\n        });\n    }\n    /**\n     * 执行url\n     * @param url\n     * @param data\n     * @returns\n     */\n    execUrl(url, data) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (url === this.url)\n                return;\n            this.url = url;\n            //处理域名\n            url = this.handleHost(url);\n            // this.log(\"url-----------\", url);\n            //如果没有url则返回\n            if (!url)\n                return;\n            //触发请求\n            const res = yield _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].request(url, this.getHeaders(data), this.Method, this.getOptions(data));\n            this.log(\"res-----------\", url, res);\n            //如果没有返回值则返回\n            if (!res) {\n                this.onFail(data);\n                return this.update({});\n            }\n            if (!this.check(res, data))\n                return this.update({});\n            this.nextCount += 1;\n            //执行同步函数\n            const updateData = yield this.execSync(data, res);\n            //判断是否需要再次执行url\n            if (this.nextUrl && (this.nextMax < 0 || this.nextCount < this.nextMax)) {\n                const url = this.nextUrl;\n                this.nextUrl = \"\";\n                yield this.execUrl(url, Object.assign(Object.assign({}, data), updateData));\n            }\n        });\n    }\n    execSync(data, res) {\n        return __awaiter(this, void 0, void 0, function* () {\n            //执行同步函数\n            const updateData = yield this.execFunc(\"sync\", data, res);\n            //更新数据\n            this.update(updateData);\n            return updateData;\n        });\n    }\n    /**\n     * 请求结果处理\n     * @param res\n     * @param data\n     * @returns\n     */\n    check(res, data) {\n        return true;\n    }\n    /**\n     * 处理域名\n     * @param url\n     * @returns\n     */\n    handleHost(url, host, args) {\n        var _a, _b, _c;\n        if (!url)\n            return url;\n        const hosts = (_a = this.page.inject.setting.Hosts) !== null && _a !== void 0 ? _a : {};\n        host = (_b = hosts[this.SettingKey]) !== null && _b !== void 0 ? _b : host;\n        if (host) {\n            if (!url.startsWith(\"http\"))\n                url = host + url;\n            else\n                url = url.replace(/https?:\\/\\/[^\\/]+/, host);\n        }\n        if (args) {\n            const keys = (_c = url.match(/\\{{([\\s\\T[\"intent\"]]+)}\\}/g)) !== null && _c !== void 0 ? _c : [];\n            for (let key of keys) {\n                url = url.replace(key, args[key.replace(/{|}/g, \"\")]);\n            }\n        }\n        return url;\n    }\n    /**\n     * 获取keys\n     * @param obj\n     * @returns\n     */\n    getKeys(start = \"sync\", obj = this) {\n        if (!obj.__proto__)\n            return [];\n        let keys = Object.getOwnPropertyNames(obj).filter((item) => item.startsWith(start));\n        keys = keys.concat(this.getKeys(start, obj.__proto__));\n        return keys;\n    }\n    /** 失败时进行处理 */\n    onFail(info) { }\n    getOptions(info) {\n        return this.options;\n    }\n    /**\n     *\n     * @param start\n     * @param info\n     * @param res\n     */\n    execFunc(start = \"sync\", info, res) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const keys = this.getKeys(start);\n            const ret = {};\n            for (const key of keys) {\n                //获取值\n                const func = this[key];\n                if (!func)\n                    continue;\n                const value = yield func.call(this, res, info, ret);\n                if (value) {\n                    let tKey = key.replace(start, \"\");\n                    tKey = tKey[0].toLowerCase() + tKey.slice(1);\n                    ret[tKey] = value;\n                }\n            }\n            return ret;\n        });\n    }\n    getHeaders(info) {\n        return {};\n    }\n    getUrl(info) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            /** 处理参数 */\n            //兼容旧版\n            const url = (_a = this.Url) === null || _a === void 0 ? void 0 : _a.replace(\"%d\", `{{code}}`);\n            return _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].handleUrl(url, info);\n        });\n    }\n    /**\n     * 代理图片\n     * @param url\n     * @returns\n     */\n    proxyImage(url) {\n        return `https://images.weserv.nl/?url=${url}`;\n    }\n    /**\n     *\n     * @param res\n     * @param keys\n     * @param xpath\n     * @param info\n     */\n    xpathList(res, keys, xpath, info) {\n        for (const key of keys) {\n            const item = this.querySelector(res, xpath[key]);\n            if (item)\n                info[key] = item.textContent;\n        }\n    }\n    /**\n     * 支持 xpath 选择器\n     *\n     * xx/following-sibling :: *  后面的所有兄弟节点\n     * @param res\n     * @param selector\n     * @returns\n     */\n    querySelector(res, selector) {\n        if (!res || !selector)\n            return;\n        if (selector.startsWith(\"//\")) {\n            return this.xpathToElement(res, selector);\n        }\n        return res.querySelector(selector);\n    }\n    /**\n     * 支持 xpath 选择器\n     * @param res\n     * @param selector\n     * @returns\n     */\n    querySelectorAll(res, selector) {\n        if (selector.startsWith(\"//\")) {\n            return this.xpathToElements(res, selector);\n        }\n        return res.querySelectorAll(selector);\n    }\n    xpathToElement(res, xpath) {\n        if (res !== document)\n            xpath = xpath.replace(/\\/\\//, \"descendant::\");\n        const result = document.evaluate(xpath, res, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);\n        return result.singleNodeValue;\n    }\n    xpathToElements(res, xpath) {\n        if (res !== document)\n            xpath = xpath.replace(/\\/\\//, \"descendant::\");\n        const result = document.evaluate(xpath, res, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);\n        const list = [];\n        for (let i = 0; i < result.snapshotLength; i++) {\n            list.push(result.snapshotItem(i));\n        }\n        return list;\n    }\n    log(...args) {\n        this.page._log(`Sync:${this.constructor.name}`, ...args);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/lib/Pages/Sync.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/Pages/UI.ts":
    /*!*****************************!*\
      !*** ./src/lib/Pages/UI.ts ***!
      \*****************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UI)\n/* harmony export */ });\n/* harmony import */ var _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Tools/Tool */ \"./src/Tools/Tool.ts\");\n/* harmony import */ var _Page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Page */ \"./src/lib/Pages/Page.ts\");\n\n\n/**\n * UI基类\n */\nclass UI {\n    constructor(page, key, cls) {\n        this.calls = [];\n        /** 占位tag */\n        this.Tag = \"div\";\n        this.uis = new Set();\n        this.page = page instanceof UI ? page.page : page;\n        this.mainKey = key;\n        this.cls = cls;\n        this.id = _Tools_Tool__WEBPACK_IMPORTED_MODULE_0__[\"default\"].randomString(8);\n        //绑定\n        if (page instanceof _Page__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n            page.bindUI(this);\n        else\n            page.addUI(this);\n    }\n    addUI(ui) {\n        this.uis.add(ui);\n    }\n    /**\n     * 检测是否需要更新\n     * @param key\n     * @returns\n     */\n    needUpdate(key) {\n        //如果key中有first,则需要更新\n        return key.some((k) => this.mainKey === k || this.listens.includes(k));\n    }\n    /**\n     * 占位符\n     * @returns\n     */\n    hold() {\n        return `<${this.Tag} id='${this.id}' ${this.cls ? `class='${this.cls}'` : \"\"}></${this.Tag}>`;\n    }\n    /**\n     * 更新界面\n     * @param intent\n     * @param page\n     */\n    update(intent, page) {\n        var _a;\n        if (!this.root) {\n            this.root = page.querySelector(`#${this.id}`);\n        }\n        this.render(this.root, intent[(_a = this.mainKey) !== null && _a !== void 0 ? _a : this.listens[0]], intent, page);\n        //更新子UI\n        if (this.uis.size > 0)\n            this.log(\"更新子UI\", this.uis);\n        this.uis.forEach((ui) => ui.update(intent, page));\n    }\n    /**\n     * 获取设置\n     */\n    get setting() {\n        return this.page.inject.setting;\n    }\n    /**\n     * 获取拦截器\n     */\n    get inject() {\n        return this.page.inject;\n    }\n    /**\n     * 跳转页面\n     * @param page\n     * @param intent\n     */\n    goPage(page, intent) {\n        this.page.inject.startPage(page, intent);\n    }\n    /**\n     *\n     */\n    destroy() {\n        this.calls.forEach((call) => call());\n    }\n    /** SettingUI组件才会调用 */\n    onUIChange(key, value) { }\n    /**\n     * UI隐藏,暂停\n     */\n    stop() { }\n    /**\n     * UI显示,恢复\n     */\n    resume() { }\n    log(...args) {\n        if (this.page instanceof _Page__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n            this.page._log(`UI:${this.constructor.name}`, ...args);\n        else\n            this.inject._log(`UI:${this.constructor.name}`, ...args);\n    }\n    setTimeout(callback, ms, ...args) {\n        const timer = setTimeout(callback, ms, ...args);\n        const call = () => clearTimeout(timer);\n        this.calls.push(call);\n        return call;\n    }\n    /**\n     *\n     * @param div\n     * @param event\n     * @param listener\n     */\n    addEventListener(div, event, listener) {\n        div.addEventListener(event, listener);\n        const call = () => div.removeEventListener(event, listener);\n        this.calls.push(call);\n        return call;\n    }\n    /**\n     *\n     * @param div\n     * @param key\n     * @param listener\n     */\n    addKeyDownListener(div, key, listener) {\n        const callback = (e) => {\n            if (e.key === key)\n                listener(e);\n        };\n        div.addEventListener(\"keydown\", callback);\n        const call = () => div.removeEventListener(\"keydown\", callback);\n        this.calls.push(call);\n        return call;\n    }\n    /**\n     * 绑定回调事件\n     * @param div\n     * @param selector\n     * @param listener\n     */\n    addClickListener(div, selector, listener) {\n        Array.from(selector === \"self\" ? [div] : div.querySelectorAll(selector)).forEach((item) => {\n            item.addEventListener(\"click\", listener);\n            const call = () => item.removeEventListener(\"click\", listener);\n            this.calls.push(call);\n        });\n    }\n    /**\n     * 控制显示隐藏\n     * @param div\n     * @param hidden\n     */\n    hidden(div, hidden = true) {\n        if (hidden)\n            div.classList.add(\"wie-hidden-style\");\n        else\n            div.classList.remove(\"wie-hidden-style\");\n        return hidden;\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/lib/Pages/UI.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/UIDrag.ts":
    /*!***************************!*\
      !*** ./src/lib/UIDrag.ts ***!
      \***************************/
    /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UIDrag)\n/* harmony export */ });\n// import InteractJs from \"interactjs\";\nconst InteractJs = window.interact;\nclass UIDrag {\n    constructor(div, finish) {\n        this.timer = 0;\n        this.finishTimer = 0;\n        this.div = div;\n        this.finish = finish;\n        // this.div.addEventListener(\"mousedown\", this.mouseDown.bind(this));\n        InteractJs(this.div).resizable({\n            edges: { left: true, right: false },\n            listeners: {\n                move: (e) => {\n                    let { x, y } = e.target.dataset;\n                    x = (parseFloat(x) || 0) + e.deltaRect.left;\n                    y = (parseFloat(y) || 0) + e.deltaRect.top;\n                    this.changeSize(e);\n                },\n            },\n        });\n    }\n    changeSize(e) {\n        //限流\n        if (this.timer)\n            return;\n        this.timer = setTimeout(() => {\n            this.timer = 0;\n            Object.assign(e.target.style, {\n                width: `${e.rect.width}px`,\n                height: `${e.rect.height}px`,\n                // transform: `translate(${x}px, ${y}px)`,\n            });\n        }, 100);\n        this.goFinish();\n    }\n    goFinish() {\n        //防抖\n        if (this.finishTimer)\n            clearTimeout(this.finishTimer);\n        this.finishTimer = setTimeout(() => {\n            this.finish();\n        }, 300);\n    }\n}\n\n\n//# sourceURL=webpack://empty-project/./src/lib/UIDrag.ts?");
    
    /***/ }),
    
    /***/ "./src/lib/findAndReplaceDOMText.js":
    /*!******************************************!*\
      !*** ./src/lib/findAndReplaceDOMText.js ***!
      \******************************************/
    /***/ (function(module, exports, __webpack_require__) {
    
    eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\r\n * findAndReplaceDOMText v 0.4.6\r\n * @author James Padolsey http://james.padolsey.com\r\n * @license http://unlicense.org/UNLICENSE\r\n *\r\n * Matches the text of a DOM node against a regular expression\r\n * and replaces each match (or node-separated portions of the match)\r\n * in the specified element.\r\n */\r\n(function (root, factory) {\r\n    if ( true && module.exports) {\r\n        // Node/CommonJS\r\n        module.exports = factory();\r\n    } else if (true) {\r\n        // AMD. Register as an anonymous module.\r\n        !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\r\n    } else {}\r\n}(this, function factory() {\r\n\r\n    var PORTION_MODE_RETAIN = 'retain';\r\n    var PORTION_MODE_FIRST = 'first';\r\n\r\n    var doc = document;\r\n    var hasOwn = {}.hasOwnProperty;\r\n\r\n    function escapeRegExp(s) {\r\n        return String(s).replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\r\n    }\r\n\r\n    function exposed() {\r\n        // Try deprecated arg signature first:\r\n        return deprecated.apply(null, arguments) || findAndReplaceDOMText.apply(null, arguments);\r\n    }\r\n\r\n    function deprecated(regex, node, replacement, captureGroup, elFilter) {\r\n        if ((node && !node.nodeType) && arguments.length <= 2) {\r\n            return false;\r\n        }\r\n        var isReplacementFunction = typeof replacement == 'function';\r\n\r\n        if (isReplacementFunction) {\r\n            replacement = (function (original) {\r\n                return function (portion, match) {\r\n                    return original(portion.text, match.startIndex);\r\n                };\r\n            }(replacement));\r\n        }\r\n\r\n        // Awkward support for deprecated argument signature (<0.4.0)\r\n        var instance = findAndReplaceDOMText(node, {\r\n\r\n            find: regex,\r\n\r\n            wrap: isReplacementFunction ? null : replacement,\r\n            replace: isReplacementFunction ? replacement : '$' + (captureGroup || '&'),\r\n\r\n            prepMatch: function (m, mi) {\r\n\r\n                // Support captureGroup (a deprecated feature)\r\n\r\n                if (!m[0]) throw 'findAndReplaceDOMText cannot handle zero-length matches';\r\n\r\n                if (captureGroup > 0) {\r\n                    var cg = m[captureGroup];\r\n                    m.index += m[0].indexOf(cg);\r\n                    m[0] = cg;\r\n                }\r\n\r\n                m.endIndex = m.index + m[0].length;\r\n                m.startIndex = m.index;\r\n                m.index = mi;\r\n\r\n                return m;\r\n            },\r\n            filterElements: elFilter\r\n        });\r\n\r\n        exposed.revert = function () {\r\n            return instance.revert();\r\n        };\r\n\r\n        return true;\r\n    }\r\n\r\n    /**\r\n     * findAndReplaceDOMText\r\n     *\r\n     * Locates matches and replaces with replacementNode\r\n     *\r\n     * @param {Node} node Element or Text node to search within\r\n     * @param {RegExp} options.find The regular expression to match\r\n     * @param {String|Element} [options.wrap] A NodeName, or a Node to clone\r\n     * @param {String} [options.wrapClass] A classname to append to the wrapping element\r\n     * @param {String|Function} [options.replace='$&'] What to replace each match with\r\n     * @param {Function} [options.filterElements] A Function to be called to check whether to\r\n     *\tprocess an element. (returning true = process element,\r\n     *\treturning false = avoid element)\r\n     */\r\n    function findAndReplaceDOMText(node, options) {\r\n        return new Finder(node, options);\r\n    }\r\n\r\n    exposed.NON_PROSE_ELEMENTS = {\r\n        br: 1, hr: 1,\r\n        // Media / Source elements:\r\n        script: 1, style: 1, img: 1, video: 1, audio: 1, canvas: 1, svg: 1, map: 1, object: 1,\r\n        // Input elements\r\n        input: 1, textarea: 1, select: 1, option: 1, optgroup: 1, button: 1\r\n    };\r\n\r\n    exposed.NON_CONTIGUOUS_PROSE_ELEMENTS = {\r\n\r\n        // Elements that will not contain prose or block elements where we don't\r\n        // want prose to be matches across element borders:\r\n\r\n        // Block Elements\r\n        address: 1, article: 1, aside: 1, blockquote: 1, dd: 1, div: 1,\r\n        dl: 1, fieldset: 1, figcaption: 1, figure: 1, footer: 1, form: 1, h1: 1, h2: 1, h3: 1,\r\n        h4: 1, h5: 1, h6: 1, header: 1, hgroup: 1, hr: 1, main: 1, nav: 1, noscript: 1, ol: 1,\r\n        output: 1, p: 1, pre: 1, section: 1, ul: 1,\r\n        // Other misc. elements that are not part of continuous inline prose:\r\n        br: 1, li: 1, summary: 1, dt: 1, details: 1, rp: 1, rt: 1, rtc: 1,\r\n        // Media / Source elements:\r\n        script: 1, style: 1, img: 1, video: 1, audio: 1, canvas: 1, svg: 1, map: 1, object: 1,\r\n        // Input elements\r\n        input: 1, textarea: 1, select: 1, option: 1, optgroup: 1, button: 1,\r\n        // Table related elements:\r\n        table: 1, tbody: 1, thead: 1, th: 1, tr: 1, td: 1, caption: 1, col: 1, tfoot: 1, colgroup: 1\r\n\r\n    };\r\n\r\n    exposed.NON_INLINE_PROSE = function (el) {\r\n        return hasOwn.call(exposed.NON_CONTIGUOUS_PROSE_ELEMENTS, el.nodeName.toLowerCase());\r\n    };\r\n\r\n    // Presets accessed via `options.preset` when calling findAndReplaceDOMText():\r\n    exposed.PRESETS = {\r\n        prose: {\r\n            forceContext: exposed.NON_INLINE_PROSE,\r\n            filterElements: function (el) {\r\n                return !hasOwn.call(exposed.NON_PROSE_ELEMENTS, el.nodeName.toLowerCase());\r\n            }\r\n        }\r\n    };\r\n\r\n    exposed.Finder = Finder;\r\n\r\n    /**\r\n     * Finder -- encapsulates logic to find and replace.\r\n     */\r\n    function Finder(node, options) {\r\n\r\n        var preset = options.preset && exposed.PRESETS[options.preset];\r\n\r\n        options.portionMode = options.portionMode || PORTION_MODE_RETAIN;\r\n\r\n        if (preset) {\r\n            for (var i in preset) {\r\n                if (hasOwn.call(preset, i) && !hasOwn.call(options, i)) {\r\n                    options[i] = preset[i];\r\n                }\r\n            }\r\n        }\r\n\r\n        this.node = node;\r\n        this.options = options;\r\n\r\n        // Enable match-preparation method to be passed as option:\r\n        this.prepMatch = options.prepMatch || this.prepMatch;\r\n\r\n        this.reverts = [];\r\n\r\n        this.matches = this.search();\r\n\r\n        if (this.matches.length) {\r\n            this.processMatches();\r\n        }\r\n\r\n    }\r\n\r\n    Finder.prototype = {\r\n\r\n        /**\r\n         * Searches for all matches that comply with the instance's 'match' option\r\n         */\r\n        search: function () {\r\n\r\n            var match;\r\n            var matchIndex = 0;\r\n            var offset = 0;\r\n            var regex = this.options.find;\r\n            var textAggregation = this.getAggregateText();\r\n            var matches = [];\r\n            var self = this;\r\n\r\n            regex = typeof regex === 'string' ? RegExp(escapeRegExp(regex), 'g') : regex;\r\n\r\n            matchAggregation(textAggregation);\r\n\r\n            function matchAggregation(textAggregation) {\r\n                for (var i = 0, l = textAggregation.length; i < l; ++i) {\r\n\r\n                    var text = textAggregation[i];\r\n\r\n                    if (typeof text !== 'string') {\r\n                        // Deal with nested contexts: (recursive)\r\n                        matchAggregation(text);\r\n                        continue;\r\n                    }\r\n\r\n                    // console.warn('text', text,regex.global);\r\n                    if (regex.global) {\r\n                        while (match = regex.exec(text)) {\r\n                            matches.push(self.prepMatch(match, matchIndex++, offset));\r\n                        }\r\n                    } else {\r\n                        if (match = text.match(regex)) {\r\n                            matches.push(self.prepMatch(match, 0, offset));\r\n                        }\r\n                    }\r\n\r\n                    offset += text.length;\r\n                }\r\n            }\r\n\r\n            return matches;\r\n\r\n        },\r\n\r\n        /**\r\n         * Prepares a single match with useful meta info:\r\n         */\r\n        prepMatch: function (match, matchIndex, characterOffset) {\r\n\r\n            if (!match[0]) {\r\n                throw new Error('findAndReplaceDOMText cannot handle zero-length matches');\r\n            }\r\n\r\n            match.endIndex = characterOffset + match.index + match[0].length;\r\n            match.startIndex = characterOffset + match.index;\r\n            match.index = matchIndex;\r\n\r\n            return match;\r\n        },\r\n\r\n        /**\r\n         * Gets aggregate text within subject node\r\n         */\r\n        getAggregateText: function () {\r\n\r\n            var elementFilter = this.options.filterElements;\r\n            var forceContext = this.options.forceContext;\r\n\r\n            return getText(this.node);\r\n\r\n            /**\r\n             * Gets aggregate text of a node without resorting\r\n             * to broken innerText/textContent\r\n             */\r\n            function getText(node) {\r\n\r\n                if (node.nodeType === Node.TEXT_NODE) {\r\n                    return [node.data];\r\n                }\r\n\r\n                if (elementFilter && !elementFilter(node)) {\r\n                    return [];\r\n                }\r\n\r\n                var txt = [''];\r\n                var i = 0;\r\n\r\n                if (node = node.firstChild) do {\r\n\r\n                    if (node.nodeType === Node.TEXT_NODE) {\r\n                        txt[i] += node.data;\r\n                        continue;\r\n                    }\r\n\r\n                    var innerText = getText(node);\r\n\r\n                    if (\r\n                        forceContext &&\r\n                        node.nodeType === Node.ELEMENT_NODE &&\r\n                        (forceContext === true || forceContext(node))\r\n                    ) {\r\n                        txt[++i] = innerText;\r\n                        txt[++i] = '';\r\n                    } else {\r\n                        if (typeof innerText[0] === 'string') {\r\n                            // Bridge nested text-node data so that they're\r\n                            // not considered their own contexts:\r\n                            // I.e. ['some', ['thing']] -> ['something']\r\n                            txt[i] += innerText.shift();\r\n                        }\r\n                        if (innerText.length) {\r\n                            txt[++i] = innerText;\r\n                            txt[++i] = '';\r\n                        }\r\n                    }\r\n                } while (node = node.nextSibling);\r\n\r\n                return txt;\r\n\r\n            }\r\n\r\n        },\r\n\r\n        /**\r\n         * Steps through the target node, looking for matches, and\r\n         * calling replaceFn when a match is found.\r\n         */\r\n        processMatches: function () {\r\n\r\n            var matches = this.matches;\r\n            var node = this.node;\r\n            var elementFilter = this.options.filterElements;\r\n\r\n            var startPortion,\r\n                endPortion,\r\n                innerPortions = [],\r\n                curNode = node,\r\n                match = matches.shift(),\r\n                atIndex = 0, // i.e. nodeAtIndex\r\n                matchIndex = 0,\r\n                portionIndex = 0,\r\n                doAvoidNode,\r\n                nodeStack = [node];\r\n\r\n            out: while (true) {\r\n\r\n                if (curNode.nodeType === Node.TEXT_NODE) {\r\n\r\n                    if (!endPortion && curNode.length + atIndex >= match.endIndex) {\r\n                        // We've found the ending\r\n                        // (Note that, in the case of a single portion, it'll be an\r\n                        // endPortion, not a startPortion.)\r\n                        endPortion = {\r\n                            node: curNode,\r\n                            index: portionIndex++,\r\n                            text: curNode.data.substring(match.startIndex - atIndex, match.endIndex - atIndex),\r\n\r\n                            // If it's the first match (atIndex==0) we should just return 0\r\n                            indexInMatch: atIndex === 0 ? 0 : atIndex - match.startIndex,\r\n\r\n                            indexInNode: match.startIndex - atIndex,\r\n                            endIndexInNode: match.endIndex - atIndex,\r\n                            isEnd: true\r\n                        };\r\n\r\n                    } else if (startPortion) {\r\n                        // Intersecting node\r\n                        innerPortions.push({\r\n                            node: curNode,\r\n                            index: portionIndex++,\r\n                            text: curNode.data,\r\n                            indexInMatch: atIndex - match.startIndex,\r\n                            indexInNode: 0 // always zero for inner-portions\r\n                        });\r\n                    }\r\n\r\n                    if (!startPortion && curNode.length + atIndex > match.startIndex) {\r\n                        // We've found the match start\r\n                        startPortion = {\r\n                            node: curNode,\r\n                            index: portionIndex++,\r\n                            indexInMatch: 0,\r\n                            indexInNode: match.startIndex - atIndex,\r\n                            endIndexInNode: match.endIndex - atIndex,\r\n                            text: curNode.data.substring(match.startIndex - atIndex, match.endIndex - atIndex)\r\n                        };\r\n                    }\r\n\r\n                    atIndex += curNode.data.length;\r\n\r\n                }\r\n\r\n                doAvoidNode = curNode.nodeType === Node.ELEMENT_NODE && elementFilter && !elementFilter(curNode);\r\n\r\n                if (startPortion && endPortion) {\r\n\r\n                    curNode = this.replaceMatch(match, startPortion, innerPortions, endPortion);\r\n\r\n                    // processMatches has to return the node that replaced the endNode\r\n                    // and then we step back so we can continue from the end of the\r\n                    // match:\r\n\r\n                    atIndex -= (endPortion.node.data.length - endPortion.endIndexInNode);\r\n\r\n                    startPortion = null;\r\n                    endPortion = null;\r\n                    innerPortions = [];\r\n                    match = matches.shift();\r\n                    portionIndex = 0;\r\n                    matchIndex++;\r\n\r\n                    if (!match) {\r\n                        break; // no more matches\r\n                    }\r\n\r\n                } else if (\r\n                    !doAvoidNode &&\r\n                    (curNode.firstChild || curNode.nextSibling)\r\n                ) {\r\n                    // Move down or forward:\r\n                    if (curNode.firstChild) {\r\n                        nodeStack.push(curNode);\r\n                        curNode = curNode.firstChild;\r\n                    } else {\r\n                        curNode = curNode.nextSibling;\r\n                    }\r\n                    continue;\r\n                }\r\n\r\n                // Move forward or up:\r\n                while (true) {\r\n                    if (curNode.nextSibling) {\r\n                        curNode = curNode.nextSibling;\r\n                        break;\r\n                    }\r\n                    curNode = nodeStack.pop();\r\n                    if (curNode === node) {\r\n                        break out;\r\n                    }\r\n                }\r\n\r\n            }\r\n\r\n        },\r\n\r\n        /**\r\n         * Reverts ... TODO\r\n         */\r\n        revert: function () {\r\n            // Reversion occurs backwards so as to avoid nodes subsequently\r\n            // replaced during the matching phase (a forward process):\r\n            for (var l = this.reverts.length; l--;) {\r\n                this.reverts[l]();\r\n            }\r\n            this.reverts = [];\r\n        },\r\n\r\n        prepareReplacementString: function (string, portion, match) {\r\n            var portionMode = this.options.portionMode;\r\n            if (\r\n                portionMode === PORTION_MODE_FIRST &&\r\n                portion.indexInMatch > 0\r\n            ) {\r\n                return '';\r\n            }\r\n            string = string.replace(/\\$(\\d+|&|`|')/g, function ($0, t) {\r\n                var replacement;\r\n                switch (t) {\r\n                    case '&':\r\n                        replacement = match[0];\r\n                        break;\r\n                    case '`':\r\n                        replacement = match.input.substring(0, match.startIndex);\r\n                        break;\r\n                    case '\\'':\r\n                        replacement = match.input.substring(match.endIndex);\r\n                        break;\r\n                    default:\r\n                        replacement = match[+t] || '';\r\n                }\r\n                return replacement;\r\n            });\r\n\r\n            if (portionMode === PORTION_MODE_FIRST) {\r\n                return string;\r\n            }\r\n\r\n            if (portion.isEnd) {\r\n                return string.substring(portion.indexInMatch);\r\n            }\r\n\r\n            return string.substring(portion.indexInMatch, portion.indexInMatch + portion.text.length);\r\n        },\r\n\r\n        getPortionReplacementNode: function (portion, match) {\r\n\r\n            var replacement = this.options.replace || '$&';\r\n            var wrapper = this.options.wrap;\r\n            var wrapperClass = this.options.wrapClass;\r\n\r\n            if (wrapper && wrapper.nodeType) {\r\n                // Wrapper has been provided as a stencil-node for us to clone:\r\n                var clone = doc.createElement('div');\r\n                clone.innerHTML = wrapper.outerHTML || new XMLSerializer().serializeToString(wrapper);\r\n                wrapper = clone.firstChild;\r\n            }\r\n\r\n            if (typeof replacement == 'function') {\r\n                replacement = replacement(portion, match);\r\n                if (replacement && replacement.nodeType) {\r\n                    return replacement;\r\n                }\r\n                return doc.createTextNode(String(replacement));\r\n            }\r\n\r\n            var el = typeof wrapper == 'string' ? doc.createElement(wrapper) : wrapper;\r\n\r\n            if (el && wrapperClass) {\r\n                el.className = wrapperClass;\r\n            }\r\n\r\n            replacement = doc.createTextNode(\r\n                this.prepareReplacementString(\r\n                    replacement, portion, match\r\n                )\r\n            );\r\n\r\n            if (!replacement.data) {\r\n                return replacement;\r\n            }\r\n\r\n            if (!el) {\r\n                return replacement;\r\n            }\r\n\r\n            el.appendChild(replacement);\r\n\r\n            return el;\r\n        },\r\n\r\n        replaceMatch: function (match, startPortion, innerPortions, endPortion) {\r\n\r\n            var matchStartNode = startPortion.node;\r\n            var matchEndNode = endPortion.node;\r\n\r\n            var precedingTextNode;\r\n            var followingTextNode;\r\n\r\n            if (matchStartNode === matchEndNode) {\r\n\r\n                var node = matchStartNode;\r\n\r\n                if (startPortion.indexInNode > 0) {\r\n                    // Add `before` text node (before the match)\r\n                    precedingTextNode = doc.createTextNode(node.data.substring(0, startPortion.indexInNode));\r\n                    node.parentNode.insertBefore(precedingTextNode, node);\r\n                }\r\n\r\n                // Create the replacement node:\r\n                var newNode = this.getPortionReplacementNode(\r\n                    endPortion,\r\n                    match\r\n                );\r\n\r\n                node.parentNode.insertBefore(newNode, node);\r\n\r\n                if (endPortion.endIndexInNode < node.length) { // ?????\r\n                    // Add `after` text node (after the match)\r\n                    followingTextNode = doc.createTextNode(node.data.substring(endPortion.endIndexInNode));\r\n                    node.parentNode.insertBefore(followingTextNode, node);\r\n                }\r\n\r\n                node.parentNode.removeChild(node);\r\n\r\n                this.reverts.push(function () {\r\n                    if (precedingTextNode === newNode.previousSibling) {\r\n                        precedingTextNode.parentNode.removeChild(precedingTextNode);\r\n                    }\r\n                    if (followingTextNode === newNode.nextSibling) {\r\n                        followingTextNode.parentNode.removeChild(followingTextNode);\r\n                    }\r\n                    newNode.parentNode.replaceChild(node, newNode);\r\n                });\r\n\r\n                return newNode;\r\n\r\n            } else {\r\n                // Replace matchStartNode -> [innerMatchNodes...] -> matchEndNode (in that order)\r\n\r\n\r\n                precedingTextNode = doc.createTextNode(\r\n                    matchStartNode.data.substring(0, startPortion.indexInNode)\r\n                );\r\n\r\n                followingTextNode = doc.createTextNode(\r\n                    matchEndNode.data.substring(endPortion.endIndexInNode)\r\n                );\r\n\r\n                var firstNode = this.getPortionReplacementNode(\r\n                    startPortion,\r\n                    match\r\n                );\r\n\r\n                var innerNodes = [];\r\n\r\n                for (var i = 0, l = innerPortions.length; i < l; ++i) {\r\n                    var portion = innerPortions[i];\r\n                    var innerNode = this.getPortionReplacementNode(\r\n                        portion,\r\n                        match\r\n                    );\r\n                    portion.node.parentNode.replaceChild(innerNode, portion.node);\r\n                    this.reverts.push((function (portion, innerNode) {\r\n                        return function () {\r\n                            innerNode.parentNode.replaceChild(portion.node, innerNode);\r\n                        };\r\n                    }(portion, innerNode)));\r\n                    innerNodes.push(innerNode);\r\n                }\r\n\r\n                var lastNode = this.getPortionReplacementNode(\r\n                    endPortion,\r\n                    match\r\n                );\r\n\r\n                matchStartNode.parentNode.insertBefore(precedingTextNode, matchStartNode);\r\n                matchStartNode.parentNode.insertBefore(firstNode, matchStartNode);\r\n                matchStartNode.parentNode.removeChild(matchStartNode);\r\n\r\n                matchEndNode.parentNode.insertBefore(lastNode, matchEndNode);\r\n                matchEndNode.parentNode.insertBefore(followingTextNode, matchEndNode);\r\n                matchEndNode.parentNode.removeChild(matchEndNode);\r\n\r\n                this.reverts.push(function () {\r\n                    precedingTextNode.parentNode.removeChild(precedingTextNode);\r\n                    firstNode.parentNode.replaceChild(matchStartNode, firstNode);\r\n                    followingTextNode.parentNode.removeChild(followingTextNode);\r\n                    lastNode.parentNode.replaceChild(matchEndNode, lastNode);\r\n                });\r\n\r\n                return lastNode;\r\n            }\r\n        }\r\n\r\n    };\r\n\r\n    return exposed;\r\n\r\n}));\n\n//# sourceURL=webpack://empty-project/./src/lib/findAndReplaceDOMText.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js":
    /*!****************************************************************************************!*\
      !*** ./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js ***!
      \****************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   extend: () => (/* binding */ extend),\n/* harmony export */   getDocument: () => (/* binding */ getDocument),\n/* harmony export */   getWindow: () => (/* binding */ getWindow),\n/* harmony export */   ssrDocument: () => (/* binding */ ssrDocument),\n/* harmony export */   ssrWindow: () => (/* binding */ ssrWindow)\n/* harmony export */ });\n/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n    return (obj !== null &&\n        typeof obj === 'object' &&\n        'constructor' in obj &&\n        obj.constructor === Object);\n}\nfunction extend(target = {}, src = {}) {\n    Object.keys(src).forEach((key) => {\n        if (typeof target[key] === 'undefined')\n            target[key] = src[key];\n        else if (isObject(src[key]) &&\n            isObject(target[key]) &&\n            Object.keys(src[key]).length > 0) {\n            extend(target[key], src[key]);\n        }\n    });\n}\n\nconst ssrDocument = {\n    body: {},\n    addEventListener() { },\n    removeEventListener() { },\n    activeElement: {\n        blur() { },\n        nodeName: '',\n    },\n    querySelector() {\n        return null;\n    },\n    querySelectorAll() {\n        return [];\n    },\n    getElementById() {\n        return null;\n    },\n    createEvent() {\n        return {\n            initEvent() { },\n        };\n    },\n    createElement() {\n        return {\n            children: [],\n            childNodes: [],\n            style: {},\n            setAttribute() { },\n            getElementsByTagName() {\n                return [];\n            },\n        };\n    },\n    createElementNS() {\n        return {};\n    },\n    importNode() {\n        return null;\n    },\n    location: {\n        hash: '',\n        host: '',\n        hostname: '',\n        href: '',\n        origin: '',\n        pathname: '',\n        protocol: '',\n        search: '',\n    },\n};\nfunction getDocument() {\n    const doc = typeof document !== 'undefined' ? document : {};\n    extend(doc, ssrDocument);\n    return doc;\n}\n\nconst ssrWindow = {\n    document: ssrDocument,\n    navigator: {\n        userAgent: '',\n    },\n    location: {\n        hash: '',\n        host: '',\n        hostname: '',\n        href: '',\n        origin: '',\n        pathname: '',\n        protocol: '',\n        search: '',\n    },\n    history: {\n        replaceState() { },\n        pushState() { },\n        go() { },\n        back() { },\n    },\n    CustomEvent: function CustomEvent() {\n        return this;\n    },\n    addEventListener() { },\n    removeEventListener() { },\n    getComputedStyle() {\n        return {\n            getPropertyValue() {\n                return '';\n            },\n        };\n    },\n    Image() { },\n    Date() { },\n    screen: {},\n    setTimeout() { },\n    clearTimeout() { },\n    matchMedia() {\n        return {};\n    },\n    requestAnimationFrame(callback) {\n        if (typeof setTimeout === 'undefined') {\n            callback();\n            return null;\n        }\n        return setTimeout(callback, 0);\n    },\n    cancelAnimationFrame(id) {\n        if (typeof setTimeout === 'undefined') {\n            return;\n        }\n        clearTimeout(id);\n    },\n};\nfunction getWindow() {\n    const win = typeof window !== 'undefined' ? window : {};\n    extend(win, ssrWindow);\n    return win;\n}\n\n\n\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/getBreakpoint.js":
    /*!************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/getBreakpoint.js ***!
      \************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ getBreakpoint)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n\nfunction getBreakpoint(breakpoints, base = 'window', containerEl) {\n  if (!breakpoints || base === 'container' && !containerEl) return undefined;\n  let breakpoint = false;\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n  const points = Object.keys(breakpoints).map(point => {\n    if (typeof point === 'string' && point.indexOf('@') === 0) {\n      const minRatio = parseFloat(point.substr(1));\n      const value = currentHeight * minRatio;\n      return {\n        value,\n        point\n      };\n    }\n    return {\n      value: point,\n      point\n    };\n  });\n  points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\n  for (let i = 0; i < points.length; i += 1) {\n    const {\n      point,\n      value\n    } = points[i];\n    if (base === 'window') {\n      if (window.matchMedia(`(min-width: ${value}px)`).matches) {\n        breakpoint = point;\n      }\n    } else if (value <= containerEl.clientWidth) {\n      breakpoint = point;\n    }\n  }\n  return breakpoint || 'max';\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/getBreakpoint.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/index.js":
    /*!****************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/index.js ***!
      \****************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setBreakpoint.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/setBreakpoint.js\");\n/* harmony import */ var _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getBreakpoint.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/getBreakpoint.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n  setBreakpoint: _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n  getBreakpoint: _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/index.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/setBreakpoint.js":
    /*!************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/setBreakpoint.js ***!
      \************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ setBreakpoint)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nconst isGridEnabled = (swiper, params) => {\n  return swiper.grid && params.grid && params.grid.rows > 1;\n};\nfunction setBreakpoint() {\n  const swiper = this;\n  const {\n    realIndex,\n    initialized,\n    params,\n    el\n  } = swiper;\n  const breakpoints = params.breakpoints;\n  if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;\n\n  // Get breakpoint for window width and update parameters\n  const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n  if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n  const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n  const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n  const wasMultiRow = isGridEnabled(swiper, params);\n  const isMultiRow = isGridEnabled(swiper, breakpointParams);\n  const wasEnabled = params.enabled;\n  if (wasMultiRow && !isMultiRow) {\n    el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);\n    swiper.emitContainerClasses();\n  } else if (!wasMultiRow && isMultiRow) {\n    el.classList.add(`${params.containerModifierClass}grid`);\n    if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n      el.classList.add(`${params.containerModifierClass}grid-column`);\n    }\n    swiper.emitContainerClasses();\n  }\n\n  // Toggle navigation, pagination, scrollbar\n  ['navigation', 'pagination', 'scrollbar'].forEach(prop => {\n    if (typeof breakpointParams[prop] === 'undefined') return;\n    const wasModuleEnabled = params[prop] && params[prop].enabled;\n    const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n    if (wasModuleEnabled && !isModuleEnabled) {\n      swiper[prop].disable();\n    }\n    if (!wasModuleEnabled && isModuleEnabled) {\n      swiper[prop].enable();\n    }\n  });\n  const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n  const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n  if (directionChanged && initialized) {\n    swiper.changeDirection();\n  }\n  (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(swiper.params, breakpointParams);\n  const isEnabled = swiper.params.enabled;\n  Object.assign(swiper, {\n    allowTouchMove: swiper.params.allowTouchMove,\n    allowSlideNext: swiper.params.allowSlideNext,\n    allowSlidePrev: swiper.params.allowSlidePrev\n  });\n  if (wasEnabled && !isEnabled) {\n    swiper.disable();\n  } else if (!wasEnabled && isEnabled) {\n    swiper.enable();\n  }\n  swiper.currentBreakpoint = breakpoint;\n  swiper.emit('_beforeBreakpoint', breakpointParams);\n  if (needsReLoop && initialized) {\n    swiper.loopDestroy();\n    swiper.loopCreate(realIndex);\n    swiper.updateSlides();\n  }\n  swiper.emit('breakpoint', breakpointParams);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/setBreakpoint.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/check-overflow/index.js":
    /*!*******************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/check-overflow/index.js ***!
      \*******************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nfunction checkOverflow() {\n  const swiper = this;\n  const {\n    isLocked: wasLocked,\n    params\n  } = swiper;\n  const {\n    slidesOffsetBefore\n  } = params;\n  if (slidesOffsetBefore) {\n    const lastSlideIndex = swiper.slides.length - 1;\n    const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n    swiper.isLocked = swiper.size > lastSlideRightEdge;\n  } else {\n    swiper.isLocked = swiper.snapGrid.length === 1;\n  }\n  if (params.allowSlideNext === true) {\n    swiper.allowSlideNext = !swiper.isLocked;\n  }\n  if (params.allowSlidePrev === true) {\n    swiper.allowSlidePrev = !swiper.isLocked;\n  }\n  if (wasLocked && wasLocked !== swiper.isLocked) {\n    swiper.isEnd = false;\n  }\n  if (wasLocked !== swiper.isLocked) {\n    swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n  }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n  checkOverflow\n});\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/check-overflow/index.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/classes/addClasses.js":
    /*!*****************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/classes/addClasses.js ***!
      \*****************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ addClasses)\n/* harmony export */ });\nfunction prepareClasses(entries, prefix) {\n  const resultClasses = [];\n  entries.forEach(item => {\n    if (typeof item === 'object') {\n      Object.keys(item).forEach(classNames => {\n        if (item[classNames]) {\n          resultClasses.push(prefix + classNames);\n        }\n      });\n    } else if (typeof item === 'string') {\n      resultClasses.push(prefix + item);\n    }\n  });\n  return resultClasses;\n}\nfunction addClasses() {\n  const swiper = this;\n  const {\n    classNames,\n    params,\n    rtl,\n    el,\n    device\n  } = swiper;\n  // prettier-ignore\n  const suffixes = prepareClasses(['initialized', params.direction, {\n    'free-mode': swiper.params.freeMode && params.freeMode.enabled\n  }, {\n    'autoheight': params.autoHeight\n  }, {\n    'rtl': rtl\n  }, {\n    'grid': params.grid && params.grid.rows > 1\n  }, {\n    'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n  }, {\n    'android': device.android\n  }, {\n    'ios': device.ios\n  }, {\n    'css-mode': params.cssMode\n  }, {\n    'centered': params.cssMode && params.centeredSlides\n  }, {\n    'watch-progress': params.watchSlidesProgress\n  }], params.containerModifierClass);\n  classNames.push(...suffixes);\n  el.classList.add(...classNames);\n  swiper.emitContainerClasses();\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/classes/addClasses.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/classes/index.js":
    /*!************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/classes/index.js ***!
      \************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _addClasses_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./addClasses.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/classes/addClasses.js\");\n/* harmony import */ var _removeClasses_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./removeClasses.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/classes/removeClasses.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n  addClasses: _addClasses_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n  removeClasses: _removeClasses_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/classes/index.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/classes/removeClasses.js":
    /*!********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/classes/removeClasses.js ***!
      \********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ removeClasses)\n/* harmony export */ });\nfunction removeClasses() {\n  const swiper = this;\n  const {\n    el,\n    classNames\n  } = swiper;\n  el.classList.remove(...classNames);\n  swiper.emitContainerClasses();\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/classes/removeClasses.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/core.js":
    /*!***************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/core.js ***!
      \***************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n/* harmony import */ var _shared_get_support_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared/get-support.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/get-support.js\");\n/* harmony import */ var _shared_get_device_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared/get-device.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/get-device.js\");\n/* harmony import */ var _shared_get_browser_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared/get-browser.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/get-browser.js\");\n/* harmony import */ var _modules_resize_resize_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/resize/resize.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/modules/resize/resize.js\");\n/* harmony import */ var _modules_observer_observer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/observer/observer.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/modules/observer/observer.js\");\n/* harmony import */ var _events_emitter_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./events-emitter.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events-emitter.js\");\n/* harmony import */ var _update_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./update/index.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/index.js\");\n/* harmony import */ var _translate_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./translate/index.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/index.js\");\n/* harmony import */ var _transition_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./transition/index.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/index.js\");\n/* harmony import */ var _slide_index_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./slide/index.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/index.js\");\n/* harmony import */ var _loop_index_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./loop/index.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/index.js\");\n/* harmony import */ var _grab_cursor_index_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./grab-cursor/index.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/grab-cursor/index.js\");\n/* harmony import */ var _events_index_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./events/index.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/index.js\");\n/* harmony import */ var _breakpoints_index_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./breakpoints/index.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/breakpoints/index.js\");\n/* harmony import */ var _classes_index_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./classes/index.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/classes/index.js\");\n/* harmony import */ var _check_overflow_index_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./check-overflow/index.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/check-overflow/index.js\");\n/* harmony import */ var _defaults_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./defaults.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/defaults.js\");\n/* harmony import */ var _moduleExtendParams_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./moduleExtendParams.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/moduleExtendParams.js\");\n/* harmony import */ var _shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../shared/process-lazy-preloader.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/process-lazy-preloader.js\");\n/* eslint no-param-reassign: \"off\" */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst prototypes = {\n  eventsEmitter: _events_emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n  update: _update_index_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n  translate: _translate_index_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n  transition: _transition_index_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n  slide: _slide_index_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n  loop: _loop_index_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n  grabCursor: _grab_cursor_index_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n  events: _events_index_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n  breakpoints: _breakpoints_index_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"],\n  checkOverflow: _check_overflow_index_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"],\n  classes: _classes_index_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n};\nconst extendedDefaults = {};\nclass Swiper {\n  constructor(...args) {\n    let el;\n    let params;\n    if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n      params = args[0];\n    } else {\n      [el, params] = args;\n    }\n    if (!params) params = {};\n    params = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, params);\n    if (el && !params.el) params.el = el;\n    const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();\n    if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) {\n      const swipers = [];\n      document.querySelectorAll(params.el).forEach(containerEl => {\n        const newParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, params, {\n          el: containerEl\n        });\n        swipers.push(new Swiper(newParams));\n      });\n      // eslint-disable-next-line no-constructor-return\n      return swipers;\n    }\n\n    // Swiper Instance\n    const swiper = this;\n    swiper.__swiper__ = true;\n    swiper.support = (0,_shared_get_support_js__WEBPACK_IMPORTED_MODULE_2__.getSupport)();\n    swiper.device = (0,_shared_get_device_js__WEBPACK_IMPORTED_MODULE_3__.getDevice)({\n      userAgent: params.userAgent\n    });\n    swiper.browser = (0,_shared_get_browser_js__WEBPACK_IMPORTED_MODULE_4__.getBrowser)();\n    swiper.eventsListeners = {};\n    swiper.eventsAnyListeners = [];\n    swiper.modules = [...swiper.__modules__];\n    if (params.modules && Array.isArray(params.modules)) {\n      swiper.modules.push(...params.modules);\n    }\n    const allModulesParams = {};\n    swiper.modules.forEach(mod => {\n      mod({\n        params,\n        swiper,\n        extendParams: (0,_moduleExtendParams_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"])(params, allModulesParams),\n        on: swiper.on.bind(swiper),\n        once: swiper.once.bind(swiper),\n        off: swiper.off.bind(swiper),\n        emit: swiper.emit.bind(swiper)\n      });\n    });\n\n    // Extend defaults with modules params\n    const swiperParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, _defaults_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"], allModulesParams);\n\n    // Extend defaults with passed params\n    swiper.params = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, swiperParams, extendedDefaults, params);\n    swiper.originalParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, swiper.params);\n    swiper.passedParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, params);\n\n    // add event listeners\n    if (swiper.params && swiper.params.on) {\n      Object.keys(swiper.params.on).forEach(eventName => {\n        swiper.on(eventName, swiper.params.on[eventName]);\n      });\n    }\n    if (swiper.params && swiper.params.onAny) {\n      swiper.onAny(swiper.params.onAny);\n    }\n\n    // Extend Swiper\n    Object.assign(swiper, {\n      enabled: swiper.params.enabled,\n      el,\n      // Classes\n      classNames: [],\n      // Slides\n      slides: [],\n      slidesGrid: [],\n      snapGrid: [],\n      slidesSizesGrid: [],\n      // isDirection\n      isHorizontal() {\n        return swiper.params.direction === 'horizontal';\n      },\n      isVertical() {\n        return swiper.params.direction === 'vertical';\n      },\n      // Indexes\n      activeIndex: 0,\n      realIndex: 0,\n      //\n      isBeginning: true,\n      isEnd: false,\n      // Props\n      translate: 0,\n      previousTranslate: 0,\n      progress: 0,\n      velocity: 0,\n      animating: false,\n      cssOverflowAdjustment() {\n        // Returns 0 unless `translate` is > 2**23\n        // Should be subtracted from css values to prevent overflow\n        return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;\n      },\n      // Locks\n      allowSlideNext: swiper.params.allowSlideNext,\n      allowSlidePrev: swiper.params.allowSlidePrev,\n      // Touch Events\n      touchEventsData: {\n        isTouched: undefined,\n        isMoved: undefined,\n        allowTouchCallbacks: undefined,\n        touchStartTime: undefined,\n        isScrolling: undefined,\n        currentTranslate: undefined,\n        startTranslate: undefined,\n        allowThresholdMove: undefined,\n        // Form elements to match\n        focusableElements: swiper.params.focusableElements,\n        // Last click time\n        lastClickTime: 0,\n        clickTimeout: undefined,\n        // Velocities\n        velocities: [],\n        allowMomentumBounce: undefined,\n        startMoving: undefined,\n        evCache: []\n      },\n      // Clicks\n      allowClick: true,\n      // Touches\n      allowTouchMove: swiper.params.allowTouchMove,\n      touches: {\n        startX: 0,\n        startY: 0,\n        currentX: 0,\n        currentY: 0,\n        diff: 0\n      },\n      // Images\n      imagesToLoad: [],\n      imagesLoaded: 0\n    });\n    swiper.emit('_swiper');\n\n    // Init\n    if (swiper.params.init) {\n      swiper.init();\n    }\n\n    // Return app instance\n    // eslint-disable-next-line no-constructor-return\n    return swiper;\n  }\n  getSlideIndex(slideEl) {\n    const {\n      slidesEl,\n      params\n    } = this;\n    const slides = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(slidesEl, `.${params.slideClass}, swiper-slide`);\n    const firstSlideIndex = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementIndex)(slides[0]);\n    return (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementIndex)(slideEl) - firstSlideIndex;\n  }\n  getSlideIndexByData(index) {\n    return this.getSlideIndex(this.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index)[0]);\n  }\n  recalcSlides() {\n    const swiper = this;\n    const {\n      slidesEl,\n      params\n    } = swiper;\n    swiper.slides = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(slidesEl, `.${params.slideClass}, swiper-slide`);\n  }\n  enable() {\n    const swiper = this;\n    if (swiper.enabled) return;\n    swiper.enabled = true;\n    if (swiper.params.grabCursor) {\n      swiper.setGrabCursor();\n    }\n    swiper.emit('enable');\n  }\n  disable() {\n    const swiper = this;\n    if (!swiper.enabled) return;\n    swiper.enabled = false;\n    if (swiper.params.grabCursor) {\n      swiper.unsetGrabCursor();\n    }\n    swiper.emit('disable');\n  }\n  setProgress(progress, speed) {\n    const swiper = this;\n    progress = Math.min(Math.max(progress, 0), 1);\n    const min = swiper.minTranslate();\n    const max = swiper.maxTranslate();\n    const current = (max - min) * progress + min;\n    swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n    swiper.updateActiveIndex();\n    swiper.updateSlidesClasses();\n  }\n  emitContainerClasses() {\n    const swiper = this;\n    if (!swiper.params._emitClasses || !swiper.el) return;\n    const cls = swiper.el.className.split(' ').filter(className => {\n      return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n    });\n    swiper.emit('_containerClasses', cls.join(' '));\n  }\n  getSlideClasses(slideEl) {\n    const swiper = this;\n    if (swiper.destroyed) return '';\n    return slideEl.className.split(' ').filter(className => {\n      return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n    }).join(' ');\n  }\n  emitSlidesClasses() {\n    const swiper = this;\n    if (!swiper.params._emitClasses || !swiper.el) return;\n    const updates = [];\n    swiper.slides.forEach(slideEl => {\n      const classNames = swiper.getSlideClasses(slideEl);\n      updates.push({\n        slideEl,\n        classNames\n      });\n      swiper.emit('_slideClass', slideEl, classNames);\n    });\n    swiper.emit('_slideClasses', updates);\n  }\n  slidesPerViewDynamic(view = 'current', exact = false) {\n    const swiper = this;\n    const {\n      params,\n      slides,\n      slidesGrid,\n      slidesSizesGrid,\n      size: swiperSize,\n      activeIndex\n    } = swiper;\n    let spv = 1;\n    if (params.centeredSlides) {\n      let slideSize = slides[activeIndex] ? slides[activeIndex].swiperSlideSize : 0;\n      let breakLoop;\n      for (let i = activeIndex + 1; i < slides.length; i += 1) {\n        if (slides[i] && !breakLoop) {\n          slideSize += slides[i].swiperSlideSize;\n          spv += 1;\n          if (slideSize > swiperSize) breakLoop = true;\n        }\n      }\n      for (let i = activeIndex - 1; i >= 0; i -= 1) {\n        if (slides[i] && !breakLoop) {\n          slideSize += slides[i].swiperSlideSize;\n          spv += 1;\n          if (slideSize > swiperSize) breakLoop = true;\n        }\n      }\n    } else {\n      // eslint-disable-next-line\n      if (view === 'current') {\n        for (let i = activeIndex + 1; i < slides.length; i += 1) {\n          const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n          if (slideInView) {\n            spv += 1;\n          }\n        }\n      } else {\n        // previous\n        for (let i = activeIndex - 1; i >= 0; i -= 1) {\n          const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n          if (slideInView) {\n            spv += 1;\n          }\n        }\n      }\n    }\n    return spv;\n  }\n  update() {\n    const swiper = this;\n    if (!swiper || swiper.destroyed) return;\n    const {\n      snapGrid,\n      params\n    } = swiper;\n    // Breakpoints\n    if (params.breakpoints) {\n      swiper.setBreakpoint();\n    }\n    [...swiper.el.querySelectorAll('[loading=\"lazy\"]')].forEach(imageEl => {\n      if (imageEl.complete) {\n        (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__.processLazyPreloader)(swiper, imageEl);\n      }\n    });\n    swiper.updateSize();\n    swiper.updateSlides();\n    swiper.updateProgress();\n    swiper.updateSlidesClasses();\n    function setTranslate() {\n      const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n      const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n      swiper.setTranslate(newTranslate);\n      swiper.updateActiveIndex();\n      swiper.updateSlidesClasses();\n    }\n    let translated;\n    if (params.freeMode && params.freeMode.enabled && !params.cssMode) {\n      setTranslate();\n      if (params.autoHeight) {\n        swiper.updateAutoHeight();\n      }\n    } else {\n      if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) {\n        const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides;\n        translated = swiper.slideTo(slides.length - 1, 0, false, true);\n      } else {\n        translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n      }\n      if (!translated) {\n        setTranslate();\n      }\n    }\n    if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n      swiper.checkOverflow();\n    }\n    swiper.emit('update');\n  }\n  changeDirection(newDirection, needUpdate = true) {\n    const swiper = this;\n    const currentDirection = swiper.params.direction;\n    if (!newDirection) {\n      // eslint-disable-next-line\n      newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n    }\n    if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n      return swiper;\n    }\n    swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);\n    swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);\n    swiper.emitContainerClasses();\n    swiper.params.direction = newDirection;\n    swiper.slides.forEach(slideEl => {\n      if (newDirection === 'vertical') {\n        slideEl.style.width = '';\n      } else {\n        slideEl.style.height = '';\n      }\n    });\n    swiper.emit('changeDirection');\n    if (needUpdate) swiper.update();\n    return swiper;\n  }\n  changeLanguageDirection(direction) {\n    const swiper = this;\n    if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;\n    swiper.rtl = direction === 'rtl';\n    swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n    if (swiper.rtl) {\n      swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);\n      swiper.el.dir = 'rtl';\n    } else {\n      swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);\n      swiper.el.dir = 'ltr';\n    }\n    swiper.update();\n  }\n  mount(element) {\n    const swiper = this;\n    if (swiper.mounted) return true;\n\n    // Find el\n    let el = element || swiper.params.el;\n    if (typeof el === 'string') {\n      el = document.querySelector(el);\n    }\n    if (!el) {\n      return false;\n    }\n    el.swiper = swiper;\n    if (el.shadowEl) {\n      swiper.isElement = true;\n    }\n    const getWrapperSelector = () => {\n      return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;\n    };\n    const getWrapper = () => {\n      if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n        const res = el.shadowRoot.querySelector(getWrapperSelector());\n        // Children needs to return slot items\n        return res;\n      }\n      return (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(el, getWrapperSelector())[0];\n    };\n    // Find Wrapper\n    let wrapperEl = getWrapper();\n    if (!wrapperEl && swiper.params.createElements) {\n      wrapperEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', swiper.params.wrapperClass);\n      el.append(wrapperEl);\n      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(el, `.${swiper.params.slideClass}`).forEach(slideEl => {\n        wrapperEl.append(slideEl);\n      });\n    }\n    Object.assign(swiper, {\n      el,\n      wrapperEl,\n      slidesEl: swiper.isElement ? el : wrapperEl,\n      mounted: true,\n      // RTL\n      rtl: el.dir.toLowerCase() === 'rtl' || (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementStyle)(el, 'direction') === 'rtl',\n      rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementStyle)(el, 'direction') === 'rtl'),\n      wrongRTL: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementStyle)(wrapperEl, 'display') === '-webkit-box'\n    });\n    return true;\n  }\n  init(el) {\n    const swiper = this;\n    if (swiper.initialized) return swiper;\n    const mounted = swiper.mount(el);\n    if (mounted === false) return swiper;\n    swiper.emit('beforeInit');\n\n    // Set breakpoint\n    if (swiper.params.breakpoints) {\n      swiper.setBreakpoint();\n    }\n\n    // Add Classes\n    swiper.addClasses();\n\n    // Update size\n    swiper.updateSize();\n\n    // Update slides\n    swiper.updateSlides();\n    if (swiper.params.watchOverflow) {\n      swiper.checkOverflow();\n    }\n\n    // Set Grab Cursor\n    if (swiper.params.grabCursor && swiper.enabled) {\n      swiper.setGrabCursor();\n    }\n\n    // Slide To Initial Slide\n    if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n      swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true);\n    } else {\n      swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n    }\n\n    // Create loop\n    if (swiper.params.loop) {\n      swiper.loopCreate();\n    }\n\n    // Attach events\n    swiper.attachEvents();\n    [...swiper.el.querySelectorAll('[loading=\"lazy\"]')].forEach(imageEl => {\n      if (imageEl.complete) {\n        (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__.processLazyPreloader)(swiper, imageEl);\n      } else {\n        imageEl.addEventListener('load', e => {\n          (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__.processLazyPreloader)(swiper, e.target);\n        });\n      }\n    });\n    (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__.preload)(swiper);\n\n    // Init Flag\n    swiper.initialized = true;\n    (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__.preload)(swiper);\n\n    // Emit\n    swiper.emit('init');\n    swiper.emit('afterInit');\n    return swiper;\n  }\n  destroy(deleteInstance = true, cleanStyles = true) {\n    const swiper = this;\n    const {\n      params,\n      el,\n      wrapperEl,\n      slides\n    } = swiper;\n    if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n      return null;\n    }\n    swiper.emit('beforeDestroy');\n\n    // Init Flag\n    swiper.initialized = false;\n\n    // Detach events\n    swiper.detachEvents();\n\n    // Destroy loop\n    if (params.loop) {\n      swiper.loopDestroy();\n    }\n\n    // Cleanup styles\n    if (cleanStyles) {\n      swiper.removeClasses();\n      el.removeAttribute('style');\n      wrapperEl.removeAttribute('style');\n      if (slides && slides.length) {\n        slides.forEach(slideEl => {\n          slideEl.classList.remove(params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n          slideEl.removeAttribute('style');\n          slideEl.removeAttribute('data-swiper-slide-index');\n        });\n      }\n    }\n    swiper.emit('destroy');\n\n    // Detach emitter events\n    Object.keys(swiper.eventsListeners).forEach(eventName => {\n      swiper.off(eventName);\n    });\n    if (deleteInstance !== false) {\n      swiper.el.swiper = null;\n      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.deleteProps)(swiper);\n    }\n    swiper.destroyed = true;\n    return null;\n  }\n  static extendDefaults(newDefaults) {\n    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)(extendedDefaults, newDefaults);\n  }\n  static get extendedDefaults() {\n    return extendedDefaults;\n  }\n  static get defaults() {\n    return _defaults_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"];\n  }\n  static installModule(mod) {\n    if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n    const modules = Swiper.prototype.__modules__;\n    if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n      modules.push(mod);\n    }\n  }\n  static use(module) {\n    if (Array.isArray(module)) {\n      module.forEach(m => Swiper.installModule(m));\n      return Swiper;\n    }\n    Swiper.installModule(module);\n    return Swiper;\n  }\n}\nObject.keys(prototypes).forEach(prototypeGroup => {\n  Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {\n    Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n  });\n});\nSwiper.use([_modules_resize_resize_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _modules_observer_observer_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]]);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Swiper);\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/core.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/defaults.js":
    /*!*******************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/defaults.js ***!
      \*******************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n  init: true,\n  direction: 'horizontal',\n  oneWayMovement: false,\n  touchEventsTarget: 'wrapper',\n  initialSlide: 0,\n  speed: 300,\n  cssMode: false,\n  updateOnWindowResize: true,\n  resizeObserver: true,\n  nested: false,\n  createElements: false,\n  enabled: true,\n  focusableElements: 'input, select, option, textarea, button, video, label',\n  // Overrides\n  width: null,\n  height: null,\n  //\n  preventInteractionOnTransition: false,\n  // ssr\n  userAgent: null,\n  url: null,\n  // To support iOS's swipe-to-go-back gesture (when being used in-app).\n  edgeSwipeDetection: false,\n  edgeSwipeThreshold: 20,\n  // Autoheight\n  autoHeight: false,\n  // Set wrapper width\n  setWrapperSize: false,\n  // Virtual Translate\n  virtualTranslate: false,\n  // Effects\n  effect: 'slide',\n  // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n\n  // Breakpoints\n  breakpoints: undefined,\n  breakpointsBase: 'window',\n  // Slides grid\n  spaceBetween: 0,\n  slidesPerView: 1,\n  slidesPerGroup: 1,\n  slidesPerGroupSkip: 0,\n  slidesPerGroupAuto: false,\n  centeredSlides: false,\n  centeredSlidesBounds: false,\n  slidesOffsetBefore: 0,\n  // in px\n  slidesOffsetAfter: 0,\n  // in px\n  normalizeSlideIndex: true,\n  centerInsufficientSlides: false,\n  // Disable swiper and hide navigation when container not overflow\n  watchOverflow: true,\n  // Round length\n  roundLengths: false,\n  // Touches\n  touchRatio: 1,\n  touchAngle: 45,\n  simulateTouch: true,\n  shortSwipes: true,\n  longSwipes: true,\n  longSwipesRatio: 0.5,\n  longSwipesMs: 300,\n  followFinger: true,\n  allowTouchMove: true,\n  threshold: 5,\n  touchMoveStopPropagation: false,\n  touchStartPreventDefault: true,\n  touchStartForcePreventDefault: false,\n  touchReleaseOnEdges: false,\n  // Unique Navigation Elements\n  uniqueNavElements: true,\n  // Resistance\n  resistance: true,\n  resistanceRatio: 0.85,\n  // Progress\n  watchSlidesProgress: false,\n  // Cursor\n  grabCursor: false,\n  // Clicks\n  preventClicks: true,\n  preventClicksPropagation: true,\n  slideToClickedSlide: false,\n  // loop\n  loop: false,\n  loopedSlides: null,\n  loopPreventsSliding: true,\n  // rewind\n  rewind: false,\n  // Swiping/no swiping\n  allowSlidePrev: true,\n  allowSlideNext: true,\n  swipeHandler: null,\n  // '.swipe-handler',\n  noSwiping: true,\n  noSwipingClass: 'swiper-no-swiping',\n  noSwipingSelector: null,\n  // Passive Listeners\n  passiveListeners: true,\n  maxBackfaceHiddenSlides: 10,\n  // NS\n  containerModifierClass: 'swiper-',\n  // NEW\n  slideClass: 'swiper-slide',\n  slideActiveClass: 'swiper-slide-active',\n  slideVisibleClass: 'swiper-slide-visible',\n  slideNextClass: 'swiper-slide-next',\n  slidePrevClass: 'swiper-slide-prev',\n  wrapperClass: 'swiper-wrapper',\n  lazyPreloaderClass: 'swiper-lazy-preloader',\n  lazyPreloadPrevNext: 0,\n  // Callbacks\n  runCallbacksOnInit: true,\n  // Internals\n  _emitClasses: false\n});\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/defaults.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events-emitter.js":
    /*!*************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events-emitter.js ***!
      \*************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* eslint-disable no-underscore-dangle */\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n  on(events, handler, priority) {\n    const self = this;\n    if (!self.eventsListeners || self.destroyed) return self;\n    if (typeof handler !== 'function') return self;\n    const method = priority ? 'unshift' : 'push';\n    events.split(' ').forEach(event => {\n      if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n      self.eventsListeners[event][method](handler);\n    });\n    return self;\n  },\n  once(events, handler, priority) {\n    const self = this;\n    if (!self.eventsListeners || self.destroyed) return self;\n    if (typeof handler !== 'function') return self;\n    function onceHandler(...args) {\n      self.off(events, onceHandler);\n      if (onceHandler.__emitterProxy) {\n        delete onceHandler.__emitterProxy;\n      }\n      handler.apply(self, args);\n    }\n    onceHandler.__emitterProxy = handler;\n    return self.on(events, onceHandler, priority);\n  },\n  onAny(handler, priority) {\n    const self = this;\n    if (!self.eventsListeners || self.destroyed) return self;\n    if (typeof handler !== 'function') return self;\n    const method = priority ? 'unshift' : 'push';\n    if (self.eventsAnyListeners.indexOf(handler) < 0) {\n      self.eventsAnyListeners[method](handler);\n    }\n    return self;\n  },\n  offAny(handler) {\n    const self = this;\n    if (!self.eventsListeners || self.destroyed) return self;\n    if (!self.eventsAnyListeners) return self;\n    const index = self.eventsAnyListeners.indexOf(handler);\n    if (index >= 0) {\n      self.eventsAnyListeners.splice(index, 1);\n    }\n    return self;\n  },\n  off(events, handler) {\n    const self = this;\n    if (!self.eventsListeners || self.destroyed) return self;\n    if (!self.eventsListeners) return self;\n    events.split(' ').forEach(event => {\n      if (typeof handler === 'undefined') {\n        self.eventsListeners[event] = [];\n      } else if (self.eventsListeners[event]) {\n        self.eventsListeners[event].forEach((eventHandler, index) => {\n          if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n            self.eventsListeners[event].splice(index, 1);\n          }\n        });\n      }\n    });\n    return self;\n  },\n  emit(...args) {\n    const self = this;\n    if (!self.eventsListeners || self.destroyed) return self;\n    if (!self.eventsListeners) return self;\n    let events;\n    let data;\n    let context;\n    if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n      events = args[0];\n      data = args.slice(1, args.length);\n      context = self;\n    } else {\n      events = args[0].events;\n      data = args[0].data;\n      context = args[0].context || self;\n    }\n    data.unshift(context);\n    const eventsArray = Array.isArray(events) ? events : events.split(' ');\n    eventsArray.forEach(event => {\n      if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n        self.eventsAnyListeners.forEach(eventHandler => {\n          eventHandler.apply(context, [event, ...data]);\n        });\n      }\n      if (self.eventsListeners && self.eventsListeners[event]) {\n        self.eventsListeners[event].forEach(eventHandler => {\n          eventHandler.apply(context, data);\n        });\n      }\n    });\n    return self;\n  }\n});\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events-emitter.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/index.js":
    /*!***********************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/index.js ***!
      \***********************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n/* harmony import */ var _onTouchStart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./onTouchStart.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onTouchStart.js\");\n/* harmony import */ var _onTouchMove_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./onTouchMove.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onTouchMove.js\");\n/* harmony import */ var _onTouchEnd_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./onTouchEnd.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onTouchEnd.js\");\n/* harmony import */ var _onResize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./onResize.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onResize.js\");\n/* harmony import */ var _onClick_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./onClick.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onClick.js\");\n/* harmony import */ var _onScroll_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./onScroll.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onScroll.js\");\n/* harmony import */ var _onLoad_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./onLoad.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onLoad.js\");\n\n\n\n\n\n\n\n\nlet dummyEventAttached = false;\nfunction dummyEventListener() {}\nconst events = (swiper, method) => {\n  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();\n  const {\n    params,\n    el,\n    wrapperEl,\n    device\n  } = swiper;\n  const capture = !!params.nested;\n  const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n  const swiperMethod = method;\n\n  // Touch Events\n  el[domMethod]('pointerdown', swiper.onTouchStart, {\n    passive: false\n  });\n  document[domMethod]('pointermove', swiper.onTouchMove, {\n    passive: false,\n    capture\n  });\n  document[domMethod]('pointerup', swiper.onTouchEnd, {\n    passive: true\n  });\n  document[domMethod]('pointercancel', swiper.onTouchEnd, {\n    passive: true\n  });\n  document[domMethod]('pointerout', swiper.onTouchEnd, {\n    passive: true\n  });\n  document[domMethod]('pointerleave', swiper.onTouchEnd, {\n    passive: true\n  });\n\n  // Prevent Links Clicks\n  if (params.preventClicks || params.preventClicksPropagation) {\n    el[domMethod]('click', swiper.onClick, true);\n  }\n  if (params.cssMode) {\n    wrapperEl[domMethod]('scroll', swiper.onScroll);\n  }\n\n  // Resize handler\n  if (params.updateOnWindowResize) {\n    swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', _onResize_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"], true);\n  } else {\n    swiper[swiperMethod]('observerUpdate', _onResize_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"], true);\n  }\n\n  // Images loader\n  el[domMethod]('load', swiper.onLoad, {\n    capture: true\n  });\n};\nfunction attachEvents() {\n  const swiper = this;\n  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();\n  const {\n    params\n  } = swiper;\n  swiper.onTouchStart = _onTouchStart_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].bind(swiper);\n  swiper.onTouchMove = _onTouchMove_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].bind(swiper);\n  swiper.onTouchEnd = _onTouchEnd_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].bind(swiper);\n  if (params.cssMode) {\n    swiper.onScroll = _onScroll_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].bind(swiper);\n  }\n  swiper.onClick = _onClick_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].bind(swiper);\n  swiper.onLoad = _onLoad_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].bind(swiper);\n  if (!dummyEventAttached) {\n    document.addEventListener('touchstart', dummyEventListener);\n    dummyEventAttached = true;\n  }\n  events(swiper, 'on');\n}\nfunction detachEvents() {\n  const swiper = this;\n  events(swiper, 'off');\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n  attachEvents,\n  detachEvents\n});\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/index.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onClick.js":
    /*!*************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onClick.js ***!
      \*************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ onClick)\n/* harmony export */ });\nfunction onClick(e) {\n  const swiper = this;\n  if (!swiper.enabled) return;\n  if (!swiper.allowClick) {\n    if (swiper.params.preventClicks) e.preventDefault();\n    if (swiper.params.preventClicksPropagation && swiper.animating) {\n      e.stopPropagation();\n      e.stopImmediatePropagation();\n    }\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onClick.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onLoad.js":
    /*!************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onLoad.js ***!
      \************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ onLoad)\n/* harmony export */ });\n/* harmony import */ var _shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/process-lazy-preloader.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/process-lazy-preloader.js\");\n\nfunction onLoad(e) {\n  const swiper = this;\n  (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_0__.processLazyPreloader)(swiper, e.target);\n  if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) {\n    return;\n  }\n  swiper.update();\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onLoad.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onResize.js":
    /*!**************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onResize.js ***!
      \**************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ onResize)\n/* harmony export */ });\nfunction onResize() {\n  const swiper = this;\n  const {\n    params,\n    el\n  } = swiper;\n  if (el && el.offsetWidth === 0) return;\n\n  // Breakpoints\n  if (params.breakpoints) {\n    swiper.setBreakpoint();\n  }\n\n  // Save locks\n  const {\n    allowSlideNext,\n    allowSlidePrev,\n    snapGrid\n  } = swiper;\n  const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n  // Disable locks on resize\n  swiper.allowSlideNext = true;\n  swiper.allowSlidePrev = true;\n  swiper.updateSize();\n  swiper.updateSlides();\n  swiper.updateSlidesClasses();\n  const isVirtualLoop = isVirtual && params.loop;\n  if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {\n    swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n  } else {\n    if (swiper.params.loop && !isVirtual) {\n      swiper.slideToLoop(swiper.realIndex, 0, false, true);\n    } else {\n      swiper.slideTo(swiper.activeIndex, 0, false, true);\n    }\n  }\n  if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n    clearTimeout(swiper.autoplay.resizeTimeout);\n    swiper.autoplay.resizeTimeout = setTimeout(() => {\n      if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n        swiper.autoplay.resume();\n      }\n    }, 500);\n  }\n  // Return locks after resize\n  swiper.allowSlidePrev = allowSlidePrev;\n  swiper.allowSlideNext = allowSlideNext;\n  if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n    swiper.checkOverflow();\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onResize.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onScroll.js":
    /*!**************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onScroll.js ***!
      \**************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ onScroll)\n/* harmony export */ });\nfunction onScroll() {\n  const swiper = this;\n  const {\n    wrapperEl,\n    rtlTranslate,\n    enabled\n  } = swiper;\n  if (!enabled) return;\n  swiper.previousTranslate = swiper.translate;\n  if (swiper.isHorizontal()) {\n    swiper.translate = -wrapperEl.scrollLeft;\n  } else {\n    swiper.translate = -wrapperEl.scrollTop;\n  }\n  // eslint-disable-next-line\n  if (swiper.translate === 0) swiper.translate = 0;\n  swiper.updateActiveIndex();\n  swiper.updateSlidesClasses();\n  let newProgress;\n  const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n  if (translatesDiff === 0) {\n    newProgress = 0;\n  } else {\n    newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n  }\n  if (newProgress !== swiper.progress) {\n    swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n  }\n  swiper.emit('setTranslate', swiper.translate, false);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onScroll.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onTouchEnd.js":
    /*!****************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onTouchEnd.js ***!
      \****************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ onTouchEnd)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction onTouchEnd(event) {\n  const swiper = this;\n  const data = swiper.touchEventsData;\n  const pointerIndex = data.evCache.findIndex(cachedEv => cachedEv.pointerId === event.pointerId);\n  if (pointerIndex >= 0) {\n    data.evCache.splice(pointerIndex, 1);\n  }\n  if (['pointercancel', 'pointerout', 'pointerleave'].includes(event.type)) {\n    const proceed = event.type === 'pointercancel' && (swiper.browser.isSafari || swiper.browser.isWebView);\n    if (!proceed) {\n      return;\n    }\n  }\n  const {\n    params,\n    touches,\n    rtlTranslate: rtl,\n    slidesGrid,\n    enabled\n  } = swiper;\n  if (!enabled) return;\n  if (!params.simulateTouch && event.pointerType === 'mouse') return;\n  let e = event;\n  if (e.originalEvent) e = e.originalEvent;\n  if (data.allowTouchCallbacks) {\n    swiper.emit('touchEnd', e);\n  }\n  data.allowTouchCallbacks = false;\n  if (!data.isTouched) {\n    if (data.isMoved && params.grabCursor) {\n      swiper.setGrabCursor(false);\n    }\n    data.isMoved = false;\n    data.startMoving = false;\n    return;\n  }\n  // Return Grab Cursor\n  if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n    swiper.setGrabCursor(false);\n  }\n\n  // Time diff\n  const touchEndTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)();\n  const timeDiff = touchEndTime - data.touchStartTime;\n\n  // Tap, doubleTap, Click\n  if (swiper.allowClick) {\n    const pathTree = e.path || e.composedPath && e.composedPath();\n    swiper.updateClickedSlide(pathTree && pathTree[0] || e.target);\n    swiper.emit('tap click', e);\n    if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n      swiper.emit('doubleTap doubleClick', e);\n    }\n  }\n  data.lastClickTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)();\n  (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {\n    if (!swiper.destroyed) swiper.allowClick = true;\n  });\n  if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n    data.isTouched = false;\n    data.isMoved = false;\n    data.startMoving = false;\n    return;\n  }\n  data.isTouched = false;\n  data.isMoved = false;\n  data.startMoving = false;\n  let currentPos;\n  if (params.followFinger) {\n    currentPos = rtl ? swiper.translate : -swiper.translate;\n  } else {\n    currentPos = -data.currentTranslate;\n  }\n  if (params.cssMode) {\n    return;\n  }\n  if (params.freeMode && params.freeMode.enabled) {\n    swiper.freeMode.onTouchEnd({\n      currentPos\n    });\n    return;\n  }\n\n  // Find current slide\n  let stopIndex = 0;\n  let groupSize = swiper.slidesSizesGrid[0];\n  for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n    const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n    if (typeof slidesGrid[i + increment] !== 'undefined') {\n      if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {\n        stopIndex = i;\n        groupSize = slidesGrid[i + increment] - slidesGrid[i];\n      }\n    } else if (currentPos >= slidesGrid[i]) {\n      stopIndex = i;\n      groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n    }\n  }\n  let rewindFirstIndex = null;\n  let rewindLastIndex = null;\n  if (params.rewind) {\n    if (swiper.isBeginning) {\n      rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n    } else if (swiper.isEnd) {\n      rewindFirstIndex = 0;\n    }\n  }\n  // Find current slide size\n  const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n  const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n  if (timeDiff > params.longSwipesMs) {\n    // Long touches\n    if (!params.longSwipes) {\n      swiper.slideTo(swiper.activeIndex);\n      return;\n    }\n    if (swiper.swipeDirection === 'next') {\n      if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n    }\n    if (swiper.swipeDirection === 'prev') {\n      if (ratio > 1 - params.longSwipesRatio) {\n        swiper.slideTo(stopIndex + increment);\n      } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n        swiper.slideTo(rewindLastIndex);\n      } else {\n        swiper.slideTo(stopIndex);\n      }\n    }\n  } else {\n    // Short swipes\n    if (!params.shortSwipes) {\n      swiper.slideTo(swiper.activeIndex);\n      return;\n    }\n    const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n    if (!isNavButtonTarget) {\n      if (swiper.swipeDirection === 'next') {\n        swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n      }\n      if (swiper.swipeDirection === 'prev') {\n        swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n      }\n    } else if (e.target === swiper.navigation.nextEl) {\n      swiper.slideTo(stopIndex + increment);\n    } else {\n      swiper.slideTo(stopIndex);\n    }\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onTouchEnd.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onTouchMove.js":
    /*!*****************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onTouchMove.js ***!
      \*****************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ onTouchMove)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\n\nfunction onTouchMove(event) {\n  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();\n  const swiper = this;\n  const data = swiper.touchEventsData;\n  const {\n    params,\n    touches,\n    rtlTranslate: rtl,\n    enabled\n  } = swiper;\n  if (!enabled) return;\n  if (!params.simulateTouch && event.pointerType === 'mouse') return;\n  let e = event;\n  if (e.originalEvent) e = e.originalEvent;\n  if (!data.isTouched) {\n    if (data.startMoving && data.isScrolling) {\n      swiper.emit('touchMoveOpposite', e);\n    }\n    return;\n  }\n  const pointerIndex = data.evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);\n  if (pointerIndex >= 0) data.evCache[pointerIndex] = e;\n  const targetTouch = data.evCache.length > 1 ? data.evCache[0] : e;\n  const pageX = targetTouch.pageX;\n  const pageY = targetTouch.pageY;\n  if (e.preventedByNestedSwiper) {\n    touches.startX = pageX;\n    touches.startY = pageY;\n    return;\n  }\n  if (!swiper.allowTouchMove) {\n    if (!e.target.matches(data.focusableElements)) {\n      swiper.allowClick = false;\n    }\n    if (data.isTouched) {\n      Object.assign(touches, {\n        startX: pageX,\n        startY: pageY,\n        prevX: swiper.touches.currentX,\n        prevY: swiper.touches.currentY,\n        currentX: pageX,\n        currentY: pageY\n      });\n      data.touchStartTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)();\n    }\n    return;\n  }\n  if (params.touchReleaseOnEdges && !params.loop) {\n    if (swiper.isVertical()) {\n      // Vertical\n      if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n        data.isTouched = false;\n        data.isMoved = false;\n        return;\n      }\n    } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n      return;\n    }\n  }\n  if (document.activeElement) {\n    if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {\n      data.isMoved = true;\n      swiper.allowClick = false;\n      return;\n    }\n  }\n  if (data.allowTouchCallbacks) {\n    swiper.emit('touchMove', e);\n  }\n  if (e.targetTouches && e.targetTouches.length > 1) return;\n  touches.currentX = pageX;\n  touches.currentY = pageY;\n  const diffX = touches.currentX - touches.startX;\n  const diffY = touches.currentY - touches.startY;\n  if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;\n  if (typeof data.isScrolling === 'undefined') {\n    let touchAngle;\n    if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n      data.isScrolling = false;\n    } else {\n      // eslint-disable-next-line\n      if (diffX * diffX + diffY * diffY >= 25) {\n        touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n        data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n      }\n    }\n  }\n  if (data.isScrolling) {\n    swiper.emit('touchMoveOpposite', e);\n  }\n  if (typeof data.startMoving === 'undefined') {\n    if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n      data.startMoving = true;\n    }\n  }\n  if (data.isScrolling || swiper.zoom && swiper.params.zoom && swiper.params.zoom.enabled && data.evCache.length > 1) {\n    data.isTouched = false;\n    return;\n  }\n  if (!data.startMoving) {\n    return;\n  }\n  swiper.allowClick = false;\n  if (!params.cssMode && e.cancelable) {\n    e.preventDefault();\n  }\n  if (params.touchMoveStopPropagation && !params.nested) {\n    e.stopPropagation();\n  }\n  let diff = swiper.isHorizontal() ? diffX : diffY;\n  let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY;\n  if (params.oneWayMovement) {\n    diff = Math.abs(diff) * (rtl ? 1 : -1);\n    touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1);\n  }\n  touches.diff = diff;\n  diff *= params.touchRatio;\n  if (rtl) {\n    diff = -diff;\n    touchesDiff = -touchesDiff;\n  }\n  const prevTouchesDirection = swiper.touchesDirection;\n  swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n  swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next';\n  const isLoop = swiper.params.loop && !params.cssMode;\n  if (!data.isMoved) {\n    if (isLoop) {\n      swiper.loopFix({\n        direction: swiper.swipeDirection\n      });\n    }\n    data.startTranslate = swiper.getTranslate();\n    swiper.setTransition(0);\n    if (swiper.animating) {\n      const evt = new window.CustomEvent('transitionend', {\n        bubbles: true,\n        cancelable: true\n      });\n      swiper.wrapperEl.dispatchEvent(evt);\n    }\n    data.allowMomentumBounce = false;\n    // Grab Cursor\n    if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n      swiper.setGrabCursor(true);\n    }\n    swiper.emit('sliderFirstMove', e);\n  }\n  let loopFixed;\n  if (data.isMoved && prevTouchesDirection !== swiper.touchesDirection && isLoop && Math.abs(diff) >= 1) {\n    // need another loop fix\n    swiper.loopFix({\n      direction: swiper.swipeDirection,\n      setTranslate: true\n    });\n    loopFixed = true;\n  }\n  swiper.emit('sliderMove', e);\n  data.isMoved = true;\n  data.currentTranslate = diff + data.startTranslate;\n  let disableParentSwiper = true;\n  let resistanceRatio = params.resistanceRatio;\n  if (params.touchReleaseOnEdges) {\n    resistanceRatio = 0;\n  }\n  if (diff > 0) {\n    if (isLoop && !loopFixed && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.size / 2 : swiper.minTranslate())) {\n      swiper.loopFix({\n        direction: 'prev',\n        setTranslate: true,\n        activeSlideIndex: 0\n      });\n    }\n    if (data.currentTranslate > swiper.minTranslate()) {\n      disableParentSwiper = false;\n      if (params.resistance) {\n        data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n      }\n    }\n  } else if (diff < 0) {\n    if (isLoop && !loopFixed && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.size / 2 : swiper.maxTranslate())) {\n      swiper.loopFix({\n        direction: 'next',\n        setTranslate: true,\n        activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10)))\n      });\n    }\n    if (data.currentTranslate < swiper.maxTranslate()) {\n      disableParentSwiper = false;\n      if (params.resistance) {\n        data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n      }\n    }\n  }\n  if (disableParentSwiper) {\n    e.preventedByNestedSwiper = true;\n  }\n\n  // Directions locks\n  if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n    data.currentTranslate = data.startTranslate;\n  }\n  if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n    data.currentTranslate = data.startTranslate;\n  }\n  if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n    data.currentTranslate = data.startTranslate;\n  }\n\n  // Threshold\n  if (params.threshold > 0) {\n    if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n      if (!data.allowThresholdMove) {\n        data.allowThresholdMove = true;\n        touches.startX = touches.currentX;\n        touches.startY = touches.currentY;\n        data.currentTranslate = data.startTranslate;\n        touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n        return;\n      }\n    } else {\n      data.currentTranslate = data.startTranslate;\n      return;\n    }\n  }\n  if (!params.followFinger || params.cssMode) return;\n\n  // Update active index in free mode\n  if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n    swiper.updateActiveIndex();\n    swiper.updateSlidesClasses();\n  }\n  if (params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n    swiper.freeMode.onTouchMove();\n  }\n  // Update progress\n  swiper.updateProgress(data.currentTranslate);\n  // Update translate\n  swiper.setTranslate(data.currentTranslate);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onTouchMove.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onTouchStart.js":
    /*!******************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onTouchStart.js ***!
      \******************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ onTouchStart)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\n\n\n// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\nfunction closestElement(selector, base = this) {\n  function __closestFrom(el) {\n    if (!el || el === (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)() || el === (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)()) return null;\n    if (el.assignedSlot) el = el.assignedSlot;\n    const found = el.closest(selector);\n    if (!found && !el.getRootNode) {\n      return null;\n    }\n    return found || __closestFrom(el.getRootNode().host);\n  }\n  return __closestFrom(base);\n}\nfunction onTouchStart(event) {\n  const swiper = this;\n  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  const data = swiper.touchEventsData;\n  data.evCache.push(event);\n  const {\n    params,\n    touches,\n    enabled\n  } = swiper;\n  if (!enabled) return;\n  if (!params.simulateTouch && event.pointerType === 'mouse') return;\n  if (swiper.animating && params.preventInteractionOnTransition) {\n    return;\n  }\n  if (!swiper.animating && params.cssMode && params.loop) {\n    swiper.loopFix();\n  }\n  let e = event;\n  if (e.originalEvent) e = e.originalEvent;\n  let targetEl = e.target;\n  if (params.touchEventsTarget === 'wrapper') {\n    if (!swiper.wrapperEl.contains(targetEl)) return;\n  }\n  if ('which' in e && e.which === 3) return;\n  if ('button' in e && e.button > 0) return;\n  if (data.isTouched && data.isMoved) return;\n\n  // change target el for shadow root component\n  const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n  // eslint-disable-next-line\n  const eventPath = event.composedPath ? event.composedPath() : event.path;\n  if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n    targetEl = eventPath[0];\n  }\n  const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;\n  const isTargetShadow = !!(e.target && e.target.shadowRoot);\n\n  // use closestElement for shadow root element to get the actual closest for nested shadow root element\n  if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) {\n    swiper.allowClick = true;\n    return;\n  }\n  if (params.swipeHandler) {\n    if (!targetEl.closest(params.swipeHandler)) return;\n  }\n  touches.currentX = e.pageX;\n  touches.currentY = e.pageY;\n  const startX = touches.currentX;\n  const startY = touches.currentY;\n\n  // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n  const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n  const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n  if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n    if (edgeSwipeDetection === 'prevent') {\n      event.preventDefault();\n    } else {\n      return;\n    }\n  }\n  Object.assign(data, {\n    isTouched: true,\n    isMoved: false,\n    allowTouchCallbacks: true,\n    isScrolling: undefined,\n    startMoving: undefined\n  });\n  touches.startX = startX;\n  touches.startY = startY;\n  data.touchStartTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)();\n  swiper.allowClick = true;\n  swiper.updateSize();\n  swiper.swipeDirection = undefined;\n  if (params.threshold > 0) data.allowThresholdMove = false;\n  let preventDefault = true;\n  if (targetEl.matches(data.focusableElements)) {\n    preventDefault = false;\n    if (targetEl.nodeName === 'SELECT') {\n      data.isTouched = false;\n    }\n  }\n  if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl) {\n    document.activeElement.blur();\n  }\n  const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n  if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) {\n    e.preventDefault();\n  }\n  if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n    swiper.freeMode.onTouchStart();\n  }\n  swiper.emit('touchStart', e);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/events/onTouchStart.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/grab-cursor/index.js":
    /*!****************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/grab-cursor/index.js ***!
      \****************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _setGrabCursor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setGrabCursor.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/grab-cursor/setGrabCursor.js\");\n/* harmony import */ var _unsetGrabCursor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./unsetGrabCursor.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/grab-cursor/unsetGrabCursor.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n  setGrabCursor: _setGrabCursor_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n  unsetGrabCursor: _unsetGrabCursor_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/grab-cursor/index.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/grab-cursor/setGrabCursor.js":
    /*!************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/grab-cursor/setGrabCursor.js ***!
      \************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ setGrabCursor)\n/* harmony export */ });\nfunction setGrabCursor(moving) {\n  const swiper = this;\n  if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n  const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n  if (swiper.isElement) {\n    swiper.__preventObserver__ = true;\n  }\n  el.style.cursor = 'move';\n  el.style.cursor = moving ? 'grabbing' : 'grab';\n  if (swiper.isElement) {\n    requestAnimationFrame(() => {\n      swiper.__preventObserver__ = false;\n    });\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/grab-cursor/setGrabCursor.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/grab-cursor/unsetGrabCursor.js":
    /*!**************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/grab-cursor/unsetGrabCursor.js ***!
      \**************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ unsetGrabCursor)\n/* harmony export */ });\nfunction unsetGrabCursor() {\n  const swiper = this;\n  if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n    return;\n  }\n  if (swiper.isElement) {\n    swiper.__preventObserver__ = true;\n  }\n  swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n  if (swiper.isElement) {\n    requestAnimationFrame(() => {\n      swiper.__preventObserver__ = false;\n    });\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/grab-cursor/unsetGrabCursor.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/index.js":
    /*!*********************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/index.js ***!
      \*********************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _loopCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loopCreate.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/loopCreate.js\");\n/* harmony import */ var _loopFix_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./loopFix.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/loopFix.js\");\n/* harmony import */ var _loopDestroy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./loopDestroy.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/loopDestroy.js\");\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n  loopCreate: _loopCreate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n  loopFix: _loopFix_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  loopDestroy: _loopDestroy_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n});\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/index.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/loopCreate.js":
    /*!**************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/loopCreate.js ***!
      \**************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ loopCreate)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction loopCreate(slideRealIndex) {\n  const swiper = this;\n  const {\n    params,\n    slidesEl\n  } = swiper;\n  if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n  const slides = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(slidesEl, `.${params.slideClass}, swiper-slide`);\n  slides.forEach((el, index) => {\n    el.setAttribute('data-swiper-slide-index', index);\n  });\n  swiper.loopFix({\n    slideRealIndex,\n    direction: params.centeredSlides ? undefined : 'next'\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/loopCreate.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/loopDestroy.js":
    /*!***************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/loopDestroy.js ***!
      \***************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ loopDestroy)\n/* harmony export */ });\nfunction loopDestroy() {\n  const swiper = this;\n  const {\n    params,\n    slidesEl\n  } = swiper;\n  if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n  swiper.recalcSlides();\n  const newSlidesOrder = [];\n  swiper.slides.forEach(slideEl => {\n    const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;\n    newSlidesOrder[index] = slideEl;\n  });\n  swiper.slides.forEach(slideEl => {\n    slideEl.removeAttribute('data-swiper-slide-index');\n  });\n  newSlidesOrder.forEach(slideEl => {\n    slidesEl.append(slideEl);\n  });\n  swiper.recalcSlides();\n  swiper.slideTo(swiper.realIndex, 0);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/loopDestroy.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/loopFix.js":
    /*!***********************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/loopFix.js ***!
      \***********************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ loopFix)\n/* harmony export */ });\nfunction loopFix({\n  slideRealIndex,\n  slideTo = true,\n  direction,\n  setTranslate,\n  activeSlideIndex,\n  byController,\n  byMousewheel\n} = {}) {\n  const swiper = this;\n  if (!swiper.params.loop) return;\n  swiper.emit('beforeLoopFix');\n  const {\n    slides,\n    allowSlidePrev,\n    allowSlideNext,\n    slidesEl,\n    params\n  } = swiper;\n  swiper.allowSlidePrev = true;\n  swiper.allowSlideNext = true;\n  if (swiper.virtual && params.virtual.enabled) {\n    if (slideTo) {\n      if (!params.centeredSlides && swiper.snapIndex === 0) {\n        swiper.slideTo(swiper.virtual.slides.length, 0, false, true);\n      } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) {\n        swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);\n      } else if (swiper.snapIndex === swiper.snapGrid.length - 1) {\n        swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);\n      }\n    }\n    swiper.allowSlidePrev = allowSlidePrev;\n    swiper.allowSlideNext = allowSlideNext;\n    swiper.emit('loopFix');\n    return;\n  }\n  const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10));\n  let loopedSlides = params.loopedSlides || slidesPerView;\n  if (loopedSlides % params.slidesPerGroup !== 0) {\n    loopedSlides += params.slidesPerGroup - loopedSlides % params.slidesPerGroup;\n  }\n  swiper.loopedSlides = loopedSlides;\n  const prependSlidesIndexes = [];\n  const appendSlidesIndexes = [];\n  let activeIndex = swiper.activeIndex;\n  if (typeof activeSlideIndex === 'undefined') {\n    activeSlideIndex = swiper.getSlideIndex(swiper.slides.filter(el => el.classList.contains(params.slideActiveClass))[0]);\n  } else {\n    activeIndex = activeSlideIndex;\n  }\n  const isNext = direction === 'next' || !direction;\n  const isPrev = direction === 'prev' || !direction;\n  let slidesPrepended = 0;\n  let slidesAppended = 0;\n  // prepend last slides before start\n  if (activeSlideIndex < loopedSlides) {\n    slidesPrepended = Math.max(loopedSlides - activeSlideIndex, params.slidesPerGroup);\n    for (let i = 0; i < loopedSlides - activeSlideIndex; i += 1) {\n      const index = i - Math.floor(i / slides.length) * slides.length;\n      prependSlidesIndexes.push(slides.length - index - 1);\n    }\n  } else if (activeSlideIndex /* + slidesPerView */ > swiper.slides.length - loopedSlides * 2) {\n    slidesAppended = Math.max(activeSlideIndex - (swiper.slides.length - loopedSlides * 2), params.slidesPerGroup);\n    for (let i = 0; i < slidesAppended; i += 1) {\n      const index = i - Math.floor(i / slides.length) * slides.length;\n      appendSlidesIndexes.push(index);\n    }\n  }\n  if (isPrev) {\n    prependSlidesIndexes.forEach(index => {\n      swiper.slides[index].swiperLoopMoveDOM = true;\n      slidesEl.prepend(swiper.slides[index]);\n      swiper.slides[index].swiperLoopMoveDOM = false;\n    });\n  }\n  if (isNext) {\n    appendSlidesIndexes.forEach(index => {\n      swiper.slides[index].swiperLoopMoveDOM = true;\n      slidesEl.append(swiper.slides[index]);\n      swiper.slides[index].swiperLoopMoveDOM = false;\n    });\n  }\n  swiper.recalcSlides();\n  if (params.slidesPerView === 'auto') {\n    swiper.updateSlides();\n  }\n  if (params.watchSlidesProgress) {\n    swiper.updateSlidesOffset();\n  }\n  if (slideTo) {\n    if (prependSlidesIndexes.length > 0 && isPrev) {\n      if (typeof slideRealIndex === 'undefined') {\n        const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n        const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended];\n        const diff = newSlideTranslate - currentSlideTranslate;\n        if (byMousewheel) {\n          swiper.setTranslate(swiper.translate - diff);\n        } else {\n          swiper.slideTo(activeIndex + slidesPrepended, 0, false, true);\n          if (setTranslate) {\n            swiper.touches[swiper.isHorizontal() ? 'startX' : 'startY'] += diff;\n          }\n        }\n      } else {\n        if (setTranslate) {\n          swiper.slideToLoop(slideRealIndex, 0, false, true);\n        }\n      }\n    } else if (appendSlidesIndexes.length > 0 && isNext) {\n      if (typeof slideRealIndex === 'undefined') {\n        const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n        const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended];\n        const diff = newSlideTranslate - currentSlideTranslate;\n        if (byMousewheel) {\n          swiper.setTranslate(swiper.translate - diff);\n        } else {\n          swiper.slideTo(activeIndex - slidesAppended, 0, false, true);\n          if (setTranslate) {\n            swiper.touches[swiper.isHorizontal() ? 'startX' : 'startY'] += diff;\n          }\n        }\n      } else {\n        swiper.slideToLoop(slideRealIndex, 0, false, true);\n      }\n    }\n  }\n  swiper.allowSlidePrev = allowSlidePrev;\n  swiper.allowSlideNext = allowSlideNext;\n  if (swiper.controller && swiper.controller.control && !byController) {\n    const loopParams = {\n      slideRealIndex,\n      slideTo: false,\n      direction,\n      setTranslate,\n      activeSlideIndex,\n      byController: true\n    };\n    if (Array.isArray(swiper.controller.control)) {\n      swiper.controller.control.forEach(c => {\n        if (!c.destroyed && c.params.loop) c.loopFix(loopParams);\n      });\n    } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) {\n      swiper.controller.control.loopFix(loopParams);\n    }\n  }\n  swiper.emit('loopFix');\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/loop/loopFix.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/moduleExtendParams.js":
    /*!*****************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/moduleExtendParams.js ***!
      \*****************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ moduleExtendParams)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction moduleExtendParams(params, allModulesParams) {\n  return function extendParams(obj = {}) {\n    const moduleParamName = Object.keys(obj)[0];\n    const moduleParams = obj[moduleParamName];\n    if (typeof moduleParams !== 'object' || moduleParams === null) {\n      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj);\n      return;\n    }\n    if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n      params[moduleParamName] = {\n        auto: true\n      };\n    }\n    if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj);\n      return;\n    }\n    if (params[moduleParamName] === true) {\n      params[moduleParamName] = {\n        enabled: true\n      };\n    }\n    if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n      params[moduleParamName].enabled = true;\n    }\n    if (!params[moduleParamName]) params[moduleParamName] = {\n      enabled: false\n    };\n    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj);\n  };\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/moduleExtendParams.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/modules/observer/observer.js":
    /*!************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/modules/observer/observer.js ***!
      \************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Observer)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\n\nfunction Observer({\n  swiper,\n  extendParams,\n  on,\n  emit\n}) {\n  const observers = [];\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  const attach = (target, options = {}) => {\n    const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n    const observer = new ObserverFunc(mutations => {\n      // The observerUpdate event should only be triggered\n      // once despite the number of mutations.  Additional\n      // triggers are redundant and are very costly\n      if (swiper.__preventObserver__) return;\n      if (mutations.length === 1) {\n        emit('observerUpdate', mutations[0]);\n        return;\n      }\n      const observerUpdate = function observerUpdate() {\n        emit('observerUpdate', mutations[0]);\n      };\n      if (window.requestAnimationFrame) {\n        window.requestAnimationFrame(observerUpdate);\n      } else {\n        window.setTimeout(observerUpdate, 0);\n      }\n    });\n    observer.observe(target, {\n      attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n      childList: typeof options.childList === 'undefined' ? true : options.childList,\n      characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n    });\n    observers.push(observer);\n  };\n  const init = () => {\n    if (!swiper.params.observer) return;\n    if (swiper.params.observeParents) {\n      const containerParents = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(swiper.el);\n      for (let i = 0; i < containerParents.length; i += 1) {\n        attach(containerParents[i]);\n      }\n    }\n    // Observe container\n    attach(swiper.el, {\n      childList: swiper.params.observeSlideChildren\n    });\n\n    // Observe wrapper\n    attach(swiper.wrapperEl, {\n      attributes: false\n    });\n  };\n  const destroy = () => {\n    observers.forEach(observer => {\n      observer.disconnect();\n    });\n    observers.splice(0, observers.length);\n  };\n  extendParams({\n    observer: false,\n    observeParents: false,\n    observeSlideChildren: false\n  });\n  on('init', init);\n  on('destroy', destroy);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/modules/observer/observer.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/modules/resize/resize.js":
    /*!********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/modules/resize/resize.js ***!
      \********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Resize)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n\nfunction Resize({\n  swiper,\n  on,\n  emit\n}) {\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  let observer = null;\n  let animationFrame = null;\n  const resizeHandler = () => {\n    if (!swiper || swiper.destroyed || !swiper.initialized) return;\n    emit('beforeResize');\n    emit('resize');\n  };\n  const createObserver = () => {\n    if (!swiper || swiper.destroyed || !swiper.initialized) return;\n    observer = new ResizeObserver(entries => {\n      animationFrame = window.requestAnimationFrame(() => {\n        const {\n          width,\n          height\n        } = swiper;\n        let newWidth = width;\n        let newHeight = height;\n        entries.forEach(({\n          contentBoxSize,\n          contentRect,\n          target\n        }) => {\n          if (target && target !== swiper.el) return;\n          newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n          newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n        });\n        if (newWidth !== width || newHeight !== height) {\n          resizeHandler();\n        }\n      });\n    });\n    observer.observe(swiper.el);\n  };\n  const removeObserver = () => {\n    if (animationFrame) {\n      window.cancelAnimationFrame(animationFrame);\n    }\n    if (observer && observer.unobserve && swiper.el) {\n      observer.unobserve(swiper.el);\n      observer = null;\n    }\n  };\n  const orientationChangeHandler = () => {\n    if (!swiper || swiper.destroyed || !swiper.initialized) return;\n    emit('orientationchange');\n  };\n  on('init', () => {\n    if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n      createObserver();\n      return;\n    }\n    window.addEventListener('resize', resizeHandler);\n    window.addEventListener('orientationchange', orientationChangeHandler);\n  });\n  on('destroy', () => {\n    removeObserver();\n    window.removeEventListener('resize', resizeHandler);\n    window.removeEventListener('orientationchange', orientationChangeHandler);\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/modules/resize/resize.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/index.js":
    /*!**********************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/index.js ***!
      \**********************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _slideTo_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slideTo.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideTo.js\");\n/* harmony import */ var _slideToLoop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slideToLoop.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideToLoop.js\");\n/* harmony import */ var _slideNext_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slideNext.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideNext.js\");\n/* harmony import */ var _slidePrev_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slidePrev.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slidePrev.js\");\n/* harmony import */ var _slideReset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./slideReset.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideReset.js\");\n/* harmony import */ var _slideToClosest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./slideToClosest.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideToClosest.js\");\n/* harmony import */ var _slideToClickedSlide_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./slideToClickedSlide.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideToClickedSlide.js\");\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n  slideTo: _slideTo_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n  slideToLoop: _slideToLoop_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  slideNext: _slideNext_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n  slidePrev: _slidePrev_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n  slideReset: _slideReset_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n  slideToClosest: _slideToClosest_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n  slideToClickedSlide: _slideToClickedSlide_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n});\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/index.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideNext.js":
    /*!**************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideNext.js ***!
      \**************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ slideNext)\n/* harmony export */ });\n/* eslint no-unused-vars: \"off\" */\nfunction slideNext(speed = this.params.speed, runCallbacks = true, internal) {\n  const swiper = this;\n  const {\n    enabled,\n    params,\n    animating\n  } = swiper;\n  if (!enabled) return swiper;\n  let perGroup = params.slidesPerGroup;\n  if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n    perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n  }\n  const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n  const isVirtual = swiper.virtual && params.virtual.enabled;\n  if (params.loop) {\n    if (animating && !isVirtual && params.loopPreventsSliding) return false;\n    swiper.loopFix({\n      direction: 'next'\n    });\n    // eslint-disable-next-line\n    swiper._clientLeft = swiper.wrapperEl.clientLeft;\n  }\n  if (params.rewind && swiper.isEnd) {\n    return swiper.slideTo(0, speed, runCallbacks, internal);\n  }\n  return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideNext.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slidePrev.js":
    /*!**************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slidePrev.js ***!
      \**************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ slidePrev)\n/* harmony export */ });\n/* eslint no-unused-vars: \"off\" */\nfunction slidePrev(speed = this.params.speed, runCallbacks = true, internal) {\n  const swiper = this;\n  const {\n    params,\n    snapGrid,\n    slidesGrid,\n    rtlTranslate,\n    enabled,\n    animating\n  } = swiper;\n  if (!enabled) return swiper;\n  const isVirtual = swiper.virtual && params.virtual.enabled;\n  if (params.loop) {\n    if (animating && !isVirtual && params.loopPreventsSliding) return false;\n    swiper.loopFix({\n      direction: 'prev'\n    });\n    // eslint-disable-next-line\n    swiper._clientLeft = swiper.wrapperEl.clientLeft;\n  }\n  const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n  function normalize(val) {\n    if (val < 0) return -Math.floor(Math.abs(val));\n    return Math.floor(val);\n  }\n  const normalizedTranslate = normalize(translate);\n  const normalizedSnapGrid = snapGrid.map(val => normalize(val));\n  let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n  if (typeof prevSnap === 'undefined' && params.cssMode) {\n    let prevSnapIndex;\n    snapGrid.forEach((snap, snapIndex) => {\n      if (normalizedTranslate >= snap) {\n        // prevSnap = snap;\n        prevSnapIndex = snapIndex;\n      }\n    });\n    if (typeof prevSnapIndex !== 'undefined') {\n      prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n    }\n  }\n  let prevIndex = 0;\n  if (typeof prevSnap !== 'undefined') {\n    prevIndex = slidesGrid.indexOf(prevSnap);\n    if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n    if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n      prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n      prevIndex = Math.max(prevIndex, 0);\n    }\n  }\n  if (params.rewind && swiper.isBeginning) {\n    const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n    return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n  }\n  return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slidePrev.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideReset.js":
    /*!***************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideReset.js ***!
      \***************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ slideReset)\n/* harmony export */ });\n/* eslint no-unused-vars: \"off\" */\nfunction slideReset(speed = this.params.speed, runCallbacks = true, internal) {\n  const swiper = this;\n  return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideReset.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideTo.js":
    /*!************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideTo.js ***!
      \************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ slideTo)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction slideTo(index = 0, speed = this.params.speed, runCallbacks = true, internal, initial) {\n  if (typeof index === 'string') {\n    index = parseInt(index, 10);\n  }\n  const swiper = this;\n  let slideIndex = index;\n  if (slideIndex < 0) slideIndex = 0;\n  const {\n    params,\n    snapGrid,\n    slidesGrid,\n    previousIndex,\n    activeIndex,\n    rtlTranslate: rtl,\n    wrapperEl,\n    enabled\n  } = swiper;\n  if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n    return false;\n  }\n  const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n  let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n  if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n  const translate = -snapGrid[snapIndex];\n  // Normalize slideIndex\n  if (params.normalizeSlideIndex) {\n    for (let i = 0; i < slidesGrid.length; i += 1) {\n      const normalizedTranslate = -Math.floor(translate * 100);\n      const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n      const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n      if (typeof slidesGrid[i + 1] !== 'undefined') {\n        if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n          slideIndex = i;\n        } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n          slideIndex = i + 1;\n        }\n      } else if (normalizedTranslate >= normalizedGrid) {\n        slideIndex = i;\n      }\n    }\n  }\n  // Directions locks\n  if (swiper.initialized && slideIndex !== activeIndex) {\n    if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) {\n      return false;\n    }\n    if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n      if ((activeIndex || 0) !== slideIndex) {\n        return false;\n      }\n    }\n  }\n  if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n    swiper.emit('beforeSlideChangeStart');\n  }\n\n  // Update progress\n  swiper.updateProgress(translate);\n  let direction;\n  if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset';\n\n  // Update Index\n  if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n    swiper.updateActiveIndex(slideIndex);\n    // Update Height\n    if (params.autoHeight) {\n      swiper.updateAutoHeight();\n    }\n    swiper.updateSlidesClasses();\n    if (params.effect !== 'slide') {\n      swiper.setTranslate(translate);\n    }\n    if (direction !== 'reset') {\n      swiper.transitionStart(runCallbacks, direction);\n      swiper.transitionEnd(runCallbacks, direction);\n    }\n    return false;\n  }\n  if (params.cssMode) {\n    const isH = swiper.isHorizontal();\n    const t = rtl ? translate : -translate;\n    if (speed === 0) {\n      const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n      if (isVirtual) {\n        swiper.wrapperEl.style.scrollSnapType = 'none';\n        swiper._immediateVirtual = true;\n      }\n      if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) {\n        swiper._cssModeVirtualInitialSet = true;\n        requestAnimationFrame(() => {\n          wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n        });\n      } else {\n        wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n      }\n      if (isVirtual) {\n        requestAnimationFrame(() => {\n          swiper.wrapperEl.style.scrollSnapType = '';\n          swiper._immediateVirtual = false;\n        });\n      }\n    } else {\n      if (!swiper.support.smoothScroll) {\n        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.animateCSSModeScroll)({\n          swiper,\n          targetPosition: t,\n          side: isH ? 'left' : 'top'\n        });\n        return true;\n      }\n      wrapperEl.scrollTo({\n        [isH ? 'left' : 'top']: t,\n        behavior: 'smooth'\n      });\n    }\n    return true;\n  }\n  swiper.setTransition(speed);\n  swiper.setTranslate(translate);\n  swiper.updateActiveIndex(slideIndex);\n  swiper.updateSlidesClasses();\n  swiper.emit('beforeTransitionStart', speed, internal);\n  swiper.transitionStart(runCallbacks, direction);\n  if (speed === 0) {\n    swiper.transitionEnd(runCallbacks, direction);\n  } else if (!swiper.animating) {\n    swiper.animating = true;\n    if (!swiper.onSlideToWrapperTransitionEnd) {\n      swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n        if (!swiper || swiper.destroyed) return;\n        if (e.target !== this) return;\n        swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n        swiper.onSlideToWrapperTransitionEnd = null;\n        delete swiper.onSlideToWrapperTransitionEnd;\n        swiper.transitionEnd(runCallbacks, direction);\n      };\n    }\n    swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n  }\n  return true;\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideTo.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideToClickedSlide.js":
    /*!************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideToClickedSlide.js ***!
      \************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ slideToClickedSlide)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction slideToClickedSlide() {\n  const swiper = this;\n  const {\n    params,\n    slidesEl\n  } = swiper;\n  const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n  let slideToIndex = swiper.clickedIndex;\n  let realIndex;\n  const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;\n  if (params.loop) {\n    if (swiper.animating) return;\n    realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n    if (params.centeredSlides) {\n      if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n        swiper.loopFix();\n        slideToIndex = swiper.getSlideIndex((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {\n          swiper.slideTo(slideToIndex);\n        });\n      } else {\n        swiper.slideTo(slideToIndex);\n      }\n    } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n      swiper.loopFix();\n      slideToIndex = swiper.getSlideIndex((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {\n        swiper.slideTo(slideToIndex);\n      });\n    } else {\n      swiper.slideTo(slideToIndex);\n    }\n  } else {\n    swiper.slideTo(slideToIndex);\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideToClickedSlide.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideToClosest.js":
    /*!*******************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideToClosest.js ***!
      \*******************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ slideToClosest)\n/* harmony export */ });\n/* eslint no-unused-vars: \"off\" */\nfunction slideToClosest(speed = this.params.speed, runCallbacks = true, internal, threshold = 0.5) {\n  const swiper = this;\n  let index = swiper.activeIndex;\n  const skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n  const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n  const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n  if (translate >= swiper.snapGrid[snapIndex]) {\n    // The current translate is on or after the current snap index, so the choice\n    // is between the current index and the one after it.\n    const currentSnap = swiper.snapGrid[snapIndex];\n    const nextSnap = swiper.snapGrid[snapIndex + 1];\n    if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n      index += swiper.params.slidesPerGroup;\n    }\n  } else {\n    // The current translate is before the current snap index, so the choice\n    // is between the current index and the one before it.\n    const prevSnap = swiper.snapGrid[snapIndex - 1];\n    const currentSnap = swiper.snapGrid[snapIndex];\n    if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\n      index -= swiper.params.slidesPerGroup;\n    }\n  }\n  index = Math.max(index, 0);\n  index = Math.min(index, swiper.slidesGrid.length - 1);\n  return swiper.slideTo(index, speed, runCallbacks, internal);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideToClosest.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideToLoop.js":
    /*!****************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideToLoop.js ***!
      \****************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ slideToLoop)\n/* harmony export */ });\nfunction slideToLoop(index = 0, speed = this.params.speed, runCallbacks = true, internal) {\n  if (typeof index === 'string') {\n    const indexAsNumber = parseInt(index, 10);\n    index = indexAsNumber;\n  }\n  const swiper = this;\n  let newIndex = index;\n  if (swiper.params.loop) {\n    if (swiper.virtual && swiper.params.virtual.enabled) {\n      // eslint-disable-next-line\n      newIndex = newIndex + swiper.virtual.slidesBefore;\n    } else {\n      newIndex = swiper.getSlideIndexByData(newIndex);\n    }\n  }\n  return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/slide/slideToLoop.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/index.js":
    /*!***************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/index.js ***!
      \***************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _setTransition_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setTransition.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/setTransition.js\");\n/* harmony import */ var _transitionStart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transitionStart.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/transitionStart.js\");\n/* harmony import */ var _transitionEnd_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transitionEnd.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/transitionEnd.js\");\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n  setTransition: _setTransition_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n  transitionStart: _transitionStart_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  transitionEnd: _transitionEnd_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n});\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/index.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/setTransition.js":
    /*!***********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/setTransition.js ***!
      \***********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ setTransition)\n/* harmony export */ });\nfunction setTransition(duration, byController) {\n  const swiper = this;\n  if (!swiper.params.cssMode) {\n    swiper.wrapperEl.style.transitionDuration = `${duration}ms`;\n  }\n  swiper.emit('setTransition', duration, byController);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/setTransition.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/transitionEmit.js":
    /*!************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/transitionEmit.js ***!
      \************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ transitionEmit)\n/* harmony export */ });\nfunction transitionEmit({\n  swiper,\n  runCallbacks,\n  direction,\n  step\n}) {\n  const {\n    activeIndex,\n    previousIndex\n  } = swiper;\n  let dir = direction;\n  if (!dir) {\n    if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n  }\n  swiper.emit(`transition${step}`);\n  if (runCallbacks && activeIndex !== previousIndex) {\n    if (dir === 'reset') {\n      swiper.emit(`slideResetTransition${step}`);\n      return;\n    }\n    swiper.emit(`slideChangeTransition${step}`);\n    if (dir === 'next') {\n      swiper.emit(`slideNextTransition${step}`);\n    } else {\n      swiper.emit(`slidePrevTransition${step}`);\n    }\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/transitionEmit.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/transitionEnd.js":
    /*!***********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/transitionEnd.js ***!
      \***********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ transitionEnd)\n/* harmony export */ });\n/* harmony import */ var _transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transitionEmit.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/transitionEmit.js\");\n\nfunction transitionEnd(runCallbacks = true, direction) {\n  const swiper = this;\n  const {\n    params\n  } = swiper;\n  swiper.animating = false;\n  if (params.cssMode) return;\n  swiper.setTransition(0);\n  (0,_transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n    swiper,\n    runCallbacks,\n    direction,\n    step: 'End'\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/transitionEnd.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/transitionStart.js":
    /*!*************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/transitionStart.js ***!
      \*************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ transitionStart)\n/* harmony export */ });\n/* harmony import */ var _transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transitionEmit.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/transitionEmit.js\");\n\nfunction transitionStart(runCallbacks = true, direction) {\n  const swiper = this;\n  const {\n    params\n  } = swiper;\n  if (params.cssMode) return;\n  if (params.autoHeight) {\n    swiper.updateAutoHeight();\n  }\n  (0,_transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n    swiper,\n    runCallbacks,\n    direction,\n    step: 'Start'\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/transition/transitionStart.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/getTranslate.js":
    /*!*********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/getTranslate.js ***!
      \*********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ getSwiperTranslate)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction getSwiperTranslate(axis = this.isHorizontal() ? 'x' : 'y') {\n  const swiper = this;\n  const {\n    params,\n    rtlTranslate: rtl,\n    translate,\n    wrapperEl\n  } = swiper;\n  if (params.virtualTranslate) {\n    return rtl ? -translate : translate;\n  }\n  if (params.cssMode) {\n    return translate;\n  }\n  let currentTranslate = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.getTranslate)(wrapperEl, axis);\n  currentTranslate += swiper.cssOverflowAdjustment();\n  if (rtl) currentTranslate = -currentTranslate;\n  return currentTranslate || 0;\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/getTranslate.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/index.js":
    /*!**************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/index.js ***!
      \**************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _getTranslate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getTranslate.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/getTranslate.js\");\n/* harmony import */ var _setTranslate_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setTranslate.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/setTranslate.js\");\n/* harmony import */ var _minTranslate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./minTranslate.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/minTranslate.js\");\n/* harmony import */ var _maxTranslate_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./maxTranslate.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/maxTranslate.js\");\n/* harmony import */ var _translateTo_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./translateTo.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/translateTo.js\");\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n  getTranslate: _getTranslate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n  setTranslate: _setTranslate_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  minTranslate: _minTranslate_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n  maxTranslate: _maxTranslate_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n  translateTo: _translateTo_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n});\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/index.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/maxTranslate.js":
    /*!*********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/maxTranslate.js ***!
      \*********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ maxTranslate)\n/* harmony export */ });\nfunction maxTranslate() {\n  return -this.snapGrid[this.snapGrid.length - 1];\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/maxTranslate.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/minTranslate.js":
    /*!*********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/minTranslate.js ***!
      \*********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ minTranslate)\n/* harmony export */ });\nfunction minTranslate() {\n  return -this.snapGrid[0];\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/minTranslate.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/setTranslate.js":
    /*!*********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/setTranslate.js ***!
      \*********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ setTranslate)\n/* harmony export */ });\nfunction setTranslate(translate, byController) {\n  const swiper = this;\n  const {\n    rtlTranslate: rtl,\n    params,\n    wrapperEl,\n    progress\n  } = swiper;\n  let x = 0;\n  let y = 0;\n  const z = 0;\n  if (swiper.isHorizontal()) {\n    x = rtl ? -translate : translate;\n  } else {\n    y = translate;\n  }\n  if (params.roundLengths) {\n    x = Math.floor(x);\n    y = Math.floor(y);\n  }\n  swiper.previousTranslate = swiper.translate;\n  swiper.translate = swiper.isHorizontal() ? x : y;\n  if (params.cssMode) {\n    wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n  } else if (!params.virtualTranslate) {\n    if (swiper.isHorizontal()) {\n      x -= swiper.cssOverflowAdjustment();\n    } else {\n      y -= swiper.cssOverflowAdjustment();\n    }\n    wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`;\n  }\n\n  // Check if we need to update progress\n  let newProgress;\n  const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n  if (translatesDiff === 0) {\n    newProgress = 0;\n  } else {\n    newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n  }\n  if (newProgress !== progress) {\n    swiper.updateProgress(translate);\n  }\n  swiper.emit('setTranslate', swiper.translate, byController);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/setTranslate.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/translateTo.js":
    /*!********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/translateTo.js ***!
      \********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ translateTo)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction translateTo(translate = 0, speed = this.params.speed, runCallbacks = true, translateBounds = true, internal) {\n  const swiper = this;\n  const {\n    params,\n    wrapperEl\n  } = swiper;\n  if (swiper.animating && params.preventInteractionOnTransition) {\n    return false;\n  }\n  const minTranslate = swiper.minTranslate();\n  const maxTranslate = swiper.maxTranslate();\n  let newTranslate;\n  if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate;\n\n  // Update progress\n  swiper.updateProgress(newTranslate);\n  if (params.cssMode) {\n    const isH = swiper.isHorizontal();\n    if (speed === 0) {\n      wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n    } else {\n      if (!swiper.support.smoothScroll) {\n        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.animateCSSModeScroll)({\n          swiper,\n          targetPosition: -newTranslate,\n          side: isH ? 'left' : 'top'\n        });\n        return true;\n      }\n      wrapperEl.scrollTo({\n        [isH ? 'left' : 'top']: -newTranslate,\n        behavior: 'smooth'\n      });\n    }\n    return true;\n  }\n  if (speed === 0) {\n    swiper.setTransition(0);\n    swiper.setTranslate(newTranslate);\n    if (runCallbacks) {\n      swiper.emit('beforeTransitionStart', speed, internal);\n      swiper.emit('transitionEnd');\n    }\n  } else {\n    swiper.setTransition(speed);\n    swiper.setTranslate(newTranslate);\n    if (runCallbacks) {\n      swiper.emit('beforeTransitionStart', speed, internal);\n      swiper.emit('transitionStart');\n    }\n    if (!swiper.animating) {\n      swiper.animating = true;\n      if (!swiper.onTranslateToWrapperTransitionEnd) {\n        swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n          if (!swiper || swiper.destroyed) return;\n          if (e.target !== this) return;\n          swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n          swiper.onTranslateToWrapperTransitionEnd = null;\n          delete swiper.onTranslateToWrapperTransitionEnd;\n          if (runCallbacks) {\n            swiper.emit('transitionEnd');\n          }\n        };\n      }\n      swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n    }\n  }\n  return true;\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/translate/translateTo.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/index.js":
    /*!***********************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/index.js ***!
      \***********************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _updateSize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./updateSize.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSize.js\");\n/* harmony import */ var _updateSlides_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./updateSlides.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlides.js\");\n/* harmony import */ var _updateAutoHeight_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./updateAutoHeight.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateAutoHeight.js\");\n/* harmony import */ var _updateSlidesOffset_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./updateSlidesOffset.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlidesOffset.js\");\n/* harmony import */ var _updateSlidesProgress_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./updateSlidesProgress.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlidesProgress.js\");\n/* harmony import */ var _updateProgress_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./updateProgress.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateProgress.js\");\n/* harmony import */ var _updateSlidesClasses_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./updateSlidesClasses.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlidesClasses.js\");\n/* harmony import */ var _updateActiveIndex_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./updateActiveIndex.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateActiveIndex.js\");\n/* harmony import */ var _updateClickedSlide_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./updateClickedSlide.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateClickedSlide.js\");\n\n\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n  updateSize: _updateSize_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n  updateSlides: _updateSlides_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  updateAutoHeight: _updateAutoHeight_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n  updateSlidesOffset: _updateSlidesOffset_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n  updateSlidesProgress: _updateSlidesProgress_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n  updateProgress: _updateProgress_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n  updateSlidesClasses: _updateSlidesClasses_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n  updateActiveIndex: _updateActiveIndex_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n  updateClickedSlide: _updateClickedSlide_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n});\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/index.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateActiveIndex.js":
    /*!***********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateActiveIndex.js ***!
      \***********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ updateActiveIndex),\n/* harmony export */   getActiveIndexByTranslate: () => (/* binding */ getActiveIndexByTranslate)\n/* harmony export */ });\n/* harmony import */ var _shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/process-lazy-preloader.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/process-lazy-preloader.js\");\n\nfunction getActiveIndexByTranslate(swiper) {\n  const {\n    slidesGrid,\n    params\n  } = swiper;\n  const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n  let activeIndex;\n  for (let i = 0; i < slidesGrid.length; i += 1) {\n    if (typeof slidesGrid[i + 1] !== 'undefined') {\n      if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n        activeIndex = i;\n      } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n        activeIndex = i + 1;\n      }\n    } else if (translate >= slidesGrid[i]) {\n      activeIndex = i;\n    }\n  }\n  // Normalize slideIndex\n  if (params.normalizeSlideIndex) {\n    if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n  }\n  return activeIndex;\n}\nfunction updateActiveIndex(newActiveIndex) {\n  const swiper = this;\n  const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n  const {\n    snapGrid,\n    params,\n    activeIndex: previousIndex,\n    realIndex: previousRealIndex,\n    snapIndex: previousSnapIndex\n  } = swiper;\n  let activeIndex = newActiveIndex;\n  let snapIndex;\n  const getVirtualRealIndex = aIndex => {\n    let realIndex = aIndex - swiper.virtual.slidesBefore;\n    if (realIndex < 0) {\n      realIndex = swiper.virtual.slides.length + realIndex;\n    }\n    if (realIndex >= swiper.virtual.slides.length) {\n      realIndex -= swiper.virtual.slides.length;\n    }\n    return realIndex;\n  };\n  if (typeof activeIndex === 'undefined') {\n    activeIndex = getActiveIndexByTranslate(swiper);\n  }\n  if (snapGrid.indexOf(translate) >= 0) {\n    snapIndex = snapGrid.indexOf(translate);\n  } else {\n    const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n    snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n  }\n  if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n  if (activeIndex === previousIndex) {\n    if (snapIndex !== previousSnapIndex) {\n      swiper.snapIndex = snapIndex;\n      swiper.emit('snapIndexChange');\n    }\n    if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n      swiper.realIndex = getVirtualRealIndex(activeIndex);\n    }\n    return;\n  }\n  // Get real index\n  let realIndex;\n  if (swiper.virtual && params.virtual.enabled && params.loop) {\n    realIndex = getVirtualRealIndex(activeIndex);\n  } else if (swiper.slides[activeIndex]) {\n    realIndex = parseInt(swiper.slides[activeIndex].getAttribute('data-swiper-slide-index') || activeIndex, 10);\n  } else {\n    realIndex = activeIndex;\n  }\n  Object.assign(swiper, {\n    previousSnapIndex,\n    snapIndex,\n    previousRealIndex,\n    realIndex,\n    previousIndex,\n    activeIndex\n  });\n  if (swiper.initialized) {\n    (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_0__.preload)(swiper);\n  }\n  swiper.emit('activeIndexChange');\n  swiper.emit('snapIndexChange');\n  if (previousRealIndex !== realIndex) {\n    swiper.emit('realIndexChange');\n  }\n  if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n    swiper.emit('slideChange');\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateActiveIndex.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateAutoHeight.js":
    /*!**********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateAutoHeight.js ***!
      \**********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ updateAutoHeight)\n/* harmony export */ });\nfunction updateAutoHeight(speed) {\n  const swiper = this;\n  const activeSlides = [];\n  const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n  let newHeight = 0;\n  let i;\n  if (typeof speed === 'number') {\n    swiper.setTransition(speed);\n  } else if (speed === true) {\n    swiper.setTransition(swiper.params.speed);\n  }\n  const getSlideByIndex = index => {\n    if (isVirtual) {\n      return swiper.slides[swiper.getSlideIndexByData(index)];\n    }\n    return swiper.slides[index];\n  };\n  // Find slides currently in view\n  if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n    if (swiper.params.centeredSlides) {\n      (swiper.visibleSlides || []).forEach(slide => {\n        activeSlides.push(slide);\n      });\n    } else {\n      for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n        const index = swiper.activeIndex + i;\n        if (index > swiper.slides.length && !isVirtual) break;\n        activeSlides.push(getSlideByIndex(index));\n      }\n    }\n  } else {\n    activeSlides.push(getSlideByIndex(swiper.activeIndex));\n  }\n\n  // Find new height from highest slide in view\n  for (i = 0; i < activeSlides.length; i += 1) {\n    if (typeof activeSlides[i] !== 'undefined') {\n      const height = activeSlides[i].offsetHeight;\n      newHeight = height > newHeight ? height : newHeight;\n    }\n  }\n\n  // Update Height\n  if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`;\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateAutoHeight.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateClickedSlide.js":
    /*!************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateClickedSlide.js ***!
      \************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ updateClickedSlide)\n/* harmony export */ });\nfunction updateClickedSlide(e) {\n  const swiper = this;\n  const params = swiper.params;\n  const slide = e.closest(`.${params.slideClass}, swiper-slide`);\n  let slideFound = false;\n  let slideIndex;\n  if (slide) {\n    for (let i = 0; i < swiper.slides.length; i += 1) {\n      if (swiper.slides[i] === slide) {\n        slideFound = true;\n        slideIndex = i;\n        break;\n      }\n    }\n  }\n  if (slide && slideFound) {\n    swiper.clickedSlide = slide;\n    if (swiper.virtual && swiper.params.virtual.enabled) {\n      swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10);\n    } else {\n      swiper.clickedIndex = slideIndex;\n    }\n  } else {\n    swiper.clickedSlide = undefined;\n    swiper.clickedIndex = undefined;\n    return;\n  }\n  if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n    swiper.slideToClickedSlide();\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateClickedSlide.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateProgress.js":
    /*!********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateProgress.js ***!
      \********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ updateProgress)\n/* harmony export */ });\nfunction updateProgress(translate) {\n  const swiper = this;\n  if (typeof translate === 'undefined') {\n    const multiplier = swiper.rtlTranslate ? -1 : 1;\n    // eslint-disable-next-line\n    translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n  }\n  const params = swiper.params;\n  const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n  let {\n    progress,\n    isBeginning,\n    isEnd,\n    progressLoop\n  } = swiper;\n  const wasBeginning = isBeginning;\n  const wasEnd = isEnd;\n  if (translatesDiff === 0) {\n    progress = 0;\n    isBeginning = true;\n    isEnd = true;\n  } else {\n    progress = (translate - swiper.minTranslate()) / translatesDiff;\n    const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1;\n    const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1;\n    isBeginning = isBeginningRounded || progress <= 0;\n    isEnd = isEndRounded || progress >= 1;\n    if (isBeginningRounded) progress = 0;\n    if (isEndRounded) progress = 1;\n  }\n  if (params.loop) {\n    const firstSlideIndex = swiper.getSlideIndexByData(0);\n    const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1);\n    const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex];\n    const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex];\n    const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1];\n    const translateAbs = Math.abs(translate);\n    if (translateAbs >= firstSlideTranslate) {\n      progressLoop = (translateAbs - firstSlideTranslate) / translateMax;\n    } else {\n      progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax;\n    }\n    if (progressLoop > 1) progressLoop -= 1;\n  }\n  Object.assign(swiper, {\n    progress,\n    progressLoop,\n    isBeginning,\n    isEnd\n  });\n  if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n  if (isBeginning && !wasBeginning) {\n    swiper.emit('reachBeginning toEdge');\n  }\n  if (isEnd && !wasEnd) {\n    swiper.emit('reachEnd toEdge');\n  }\n  if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n    swiper.emit('fromEdge');\n  }\n  swiper.emit('progress', progress);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateProgress.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSize.js":
    /*!****************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSize.js ***!
      \****************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ updateSize)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction updateSize() {\n  const swiper = this;\n  let width;\n  let height;\n  const el = swiper.el;\n  if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n    width = swiper.params.width;\n  } else {\n    width = el.clientWidth;\n  }\n  if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n    height = swiper.params.height;\n  } else {\n    height = el.clientHeight;\n  }\n  if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n    return;\n  }\n\n  // Subtract paddings\n  width = width - parseInt((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementStyle)(el, 'padding-left') || 0, 10) - parseInt((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementStyle)(el, 'padding-right') || 0, 10);\n  height = height - parseInt((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementStyle)(el, 'padding-top') || 0, 10) - parseInt((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementStyle)(el, 'padding-bottom') || 0, 10);\n  if (Number.isNaN(width)) width = 0;\n  if (Number.isNaN(height)) height = 0;\n  Object.assign(swiper, {\n    width,\n    height,\n    size: swiper.isHorizontal() ? width : height\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSize.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlides.js":
    /*!******************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlides.js ***!
      \******************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ updateSlides)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction updateSlides() {\n  const swiper = this;\n  function getDirectionLabel(property) {\n    if (swiper.isHorizontal()) {\n      return property;\n    }\n    // prettier-ignore\n    return {\n      'width': 'height',\n      'margin-top': 'margin-left',\n      'margin-bottom ': 'margin-right',\n      'margin-left': 'margin-top',\n      'margin-right': 'margin-bottom',\n      'padding-left': 'padding-top',\n      'padding-right': 'padding-bottom',\n      'marginRight': 'marginBottom'\n    }[property];\n  }\n  function getDirectionPropertyValue(node, label) {\n    return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n  }\n  const params = swiper.params;\n  const {\n    wrapperEl,\n    slidesEl,\n    size: swiperSize,\n    rtlTranslate: rtl,\n    wrongRTL\n  } = swiper;\n  const isVirtual = swiper.virtual && params.virtual.enabled;\n  const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n  const slides = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(slidesEl, `.${swiper.params.slideClass}, swiper-slide`);\n  const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n  let snapGrid = [];\n  const slidesGrid = [];\n  const slidesSizesGrid = [];\n  let offsetBefore = params.slidesOffsetBefore;\n  if (typeof offsetBefore === 'function') {\n    offsetBefore = params.slidesOffsetBefore.call(swiper);\n  }\n  let offsetAfter = params.slidesOffsetAfter;\n  if (typeof offsetAfter === 'function') {\n    offsetAfter = params.slidesOffsetAfter.call(swiper);\n  }\n  const previousSnapGridLength = swiper.snapGrid.length;\n  const previousSlidesGridLength = swiper.slidesGrid.length;\n  let spaceBetween = params.spaceBetween;\n  let slidePosition = -offsetBefore;\n  let prevSlideSize = 0;\n  let index = 0;\n  if (typeof swiperSize === 'undefined') {\n    return;\n  }\n  if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n    spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n  } else if (typeof spaceBetween === 'string') {\n    spaceBetween = parseFloat(spaceBetween);\n  }\n  swiper.virtualSize = -spaceBetween;\n\n  // reset margins\n  slides.forEach(slideEl => {\n    if (rtl) {\n      slideEl.style.marginLeft = '';\n    } else {\n      slideEl.style.marginRight = '';\n    }\n    slideEl.style.marginBottom = '';\n    slideEl.style.marginTop = '';\n  });\n\n  // reset cssMode offsets\n  if (params.centeredSlides && params.cssMode) {\n    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(wrapperEl, '--swiper-centered-offset-before', '');\n    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(wrapperEl, '--swiper-centered-offset-after', '');\n  }\n  const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n  if (gridEnabled) {\n    swiper.grid.initSlides(slidesLength);\n  }\n\n  // Calc slides\n  let slideSize;\n  const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {\n    return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n  }).length > 0;\n  for (let i = 0; i < slidesLength; i += 1) {\n    slideSize = 0;\n    let slide;\n    if (slides[i]) slide = slides[i];\n    if (gridEnabled) {\n      swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel);\n    }\n    if (slides[i] && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementStyle)(slide, 'display') === 'none') continue; // eslint-disable-line\n\n    if (params.slidesPerView === 'auto') {\n      if (shouldResetSlideSize) {\n        slides[i].style[getDirectionLabel('width')] = ``;\n      }\n      const slideStyles = getComputedStyle(slide);\n      const currentTransform = slide.style.transform;\n      const currentWebKitTransform = slide.style.webkitTransform;\n      if (currentTransform) {\n        slide.style.transform = 'none';\n      }\n      if (currentWebKitTransform) {\n        slide.style.webkitTransform = 'none';\n      }\n      if (params.roundLengths) {\n        slideSize = swiper.isHorizontal() ? (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementOuterSize)(slide, 'width', true) : (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementOuterSize)(slide, 'height', true);\n      } else {\n        // eslint-disable-next-line\n        const width = getDirectionPropertyValue(slideStyles, 'width');\n        const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n        const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n        const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n        const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n        const boxSizing = slideStyles.getPropertyValue('box-sizing');\n        if (boxSizing && boxSizing === 'border-box') {\n          slideSize = width + marginLeft + marginRight;\n        } else {\n          const {\n            clientWidth,\n            offsetWidth\n          } = slide;\n          slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n        }\n      }\n      if (currentTransform) {\n        slide.style.transform = currentTransform;\n      }\n      if (currentWebKitTransform) {\n        slide.style.webkitTransform = currentWebKitTransform;\n      }\n      if (params.roundLengths) slideSize = Math.floor(slideSize);\n    } else {\n      slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n      if (params.roundLengths) slideSize = Math.floor(slideSize);\n      if (slides[i]) {\n        slides[i].style[getDirectionLabel('width')] = `${slideSize}px`;\n      }\n    }\n    if (slides[i]) {\n      slides[i].swiperSlideSize = slideSize;\n    }\n    slidesSizesGrid.push(slideSize);\n    if (params.centeredSlides) {\n      slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n      if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n      if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n      if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n      if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n      if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n      slidesGrid.push(slidePosition);\n    } else {\n      if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n      if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n      slidesGrid.push(slidePosition);\n      slidePosition = slidePosition + slideSize + spaceBetween;\n    }\n    swiper.virtualSize += slideSize + spaceBetween;\n    prevSlideSize = slideSize;\n    index += 1;\n  }\n  swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n  if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n    wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`;\n  }\n  if (params.setWrapperSize) {\n    wrapperEl.style[getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;\n  }\n  if (gridEnabled) {\n    swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);\n  }\n\n  // Remove last grid elements depending on width\n  if (!params.centeredSlides) {\n    const newSlidesGrid = [];\n    for (let i = 0; i < snapGrid.length; i += 1) {\n      let slidesGridItem = snapGrid[i];\n      if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n      if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n        newSlidesGrid.push(slidesGridItem);\n      }\n    }\n    snapGrid = newSlidesGrid;\n    if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n      snapGrid.push(swiper.virtualSize - swiperSize);\n    }\n  }\n  if (isVirtual && params.loop) {\n    const size = slidesSizesGrid[0] + spaceBetween;\n    if (params.slidesPerGroup > 1) {\n      const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup);\n      const groupSize = size * params.slidesPerGroup;\n      for (let i = 0; i < groups; i += 1) {\n        snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize);\n      }\n    }\n    for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) {\n      if (params.slidesPerGroup === 1) {\n        snapGrid.push(snapGrid[snapGrid.length - 1] + size);\n      }\n      slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size);\n      swiper.virtualSize += size;\n    }\n  }\n  if (snapGrid.length === 0) snapGrid = [0];\n  if (spaceBetween !== 0) {\n    const key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n    slides.filter((_, slideIndex) => {\n      if (!params.cssMode || params.loop) return true;\n      if (slideIndex === slides.length - 1) {\n        return false;\n      }\n      return true;\n    }).forEach(slideEl => {\n      slideEl.style[key] = `${spaceBetween}px`;\n    });\n  }\n  if (params.centeredSlides && params.centeredSlidesBounds) {\n    let allSlidesSize = 0;\n    slidesSizesGrid.forEach(slideSizeValue => {\n      allSlidesSize += slideSizeValue + (spaceBetween || 0);\n    });\n    allSlidesSize -= spaceBetween;\n    const maxSnap = allSlidesSize - swiperSize;\n    snapGrid = snapGrid.map(snap => {\n      if (snap <= 0) return -offsetBefore;\n      if (snap > maxSnap) return maxSnap + offsetAfter;\n      return snap;\n    });\n  }\n  if (params.centerInsufficientSlides) {\n    let allSlidesSize = 0;\n    slidesSizesGrid.forEach(slideSizeValue => {\n      allSlidesSize += slideSizeValue + (spaceBetween || 0);\n    });\n    allSlidesSize -= spaceBetween;\n    if (allSlidesSize < swiperSize) {\n      const allSlidesOffset = (swiperSize - allSlidesSize) / 2;\n      snapGrid.forEach((snap, snapIndex) => {\n        snapGrid[snapIndex] = snap - allSlidesOffset;\n      });\n      slidesGrid.forEach((snap, snapIndex) => {\n        slidesGrid[snapIndex] = snap + allSlidesOffset;\n      });\n    }\n  }\n  Object.assign(swiper, {\n    slides,\n    snapGrid,\n    slidesGrid,\n    slidesSizesGrid\n  });\n  if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);\n    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);\n    const addToSnapGrid = -swiper.snapGrid[0];\n    const addToSlidesGrid = -swiper.slidesGrid[0];\n    swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);\n    swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);\n  }\n  if (slidesLength !== previousSlidesLength) {\n    swiper.emit('slidesLengthChange');\n  }\n  if (snapGrid.length !== previousSnapGridLength) {\n    if (swiper.params.watchOverflow) swiper.checkOverflow();\n    swiper.emit('snapGridLengthChange');\n  }\n  if (slidesGrid.length !== previousSlidesGridLength) {\n    swiper.emit('slidesGridLengthChange');\n  }\n  if (params.watchSlidesProgress) {\n    swiper.updateSlidesOffset();\n  }\n  if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n    const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n    const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass);\n    if (slidesLength <= params.maxBackfaceHiddenSlides) {\n      if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass);\n    } else if (hasClassBackfaceClassAdded) {\n      swiper.el.classList.remove(backFaceHiddenClass);\n    }\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlides.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlidesClasses.js":
    /*!*************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlidesClasses.js ***!
      \*************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ updateSlidesClasses)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction updateSlidesClasses() {\n  const swiper = this;\n  const {\n    slides,\n    params,\n    slidesEl,\n    activeIndex\n  } = swiper;\n  const isVirtual = swiper.virtual && params.virtual.enabled;\n  const getFilteredSlide = selector => {\n    return (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0];\n  };\n  slides.forEach(slideEl => {\n    slideEl.classList.remove(params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n  });\n  let activeSlide;\n  if (isVirtual) {\n    if (params.loop) {\n      let slideIndex = activeIndex - swiper.virtual.slidesBefore;\n      if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex;\n      if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length;\n      activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${slideIndex}\"]`);\n    } else {\n      activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${activeIndex}\"]`);\n    }\n  } else {\n    activeSlide = slides[activeIndex];\n  }\n  if (activeSlide) {\n    // Active classes\n    activeSlide.classList.add(params.slideActiveClass);\n\n    // Next Slide\n    let nextSlide = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementNextAll)(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n    if (params.loop && !nextSlide) {\n      nextSlide = slides[0];\n    }\n    if (nextSlide) {\n      nextSlide.classList.add(params.slideNextClass);\n    }\n    // Prev Slide\n    let prevSlide = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementPrevAll)(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n    if (params.loop && !prevSlide === 0) {\n      prevSlide = slides[slides.length - 1];\n    }\n    if (prevSlide) {\n      prevSlide.classList.add(params.slidePrevClass);\n    }\n  }\n  swiper.emitSlidesClasses();\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlidesClasses.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlidesOffset.js":
    /*!************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlidesOffset.js ***!
      \************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ updateSlidesOffset)\n/* harmony export */ });\nfunction updateSlidesOffset() {\n  const swiper = this;\n  const slides = swiper.slides;\n  // eslint-disable-next-line\n  const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0;\n  for (let i = 0; i < slides.length; i += 1) {\n    slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment();\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlidesOffset.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlidesProgress.js":
    /*!**************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlidesProgress.js ***!
      \**************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ updateSlidesProgress)\n/* harmony export */ });\nfunction updateSlidesProgress(translate = this && this.translate || 0) {\n  const swiper = this;\n  const params = swiper.params;\n  const {\n    slides,\n    rtlTranslate: rtl,\n    snapGrid\n  } = swiper;\n  if (slides.length === 0) return;\n  if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n  let offsetCenter = -translate;\n  if (rtl) offsetCenter = translate;\n\n  // Visible Slides\n  slides.forEach(slideEl => {\n    slideEl.classList.remove(params.slideVisibleClass);\n  });\n  swiper.visibleSlidesIndexes = [];\n  swiper.visibleSlides = [];\n  let spaceBetween = params.spaceBetween;\n  if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n    spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;\n  } else if (typeof spaceBetween === 'string') {\n    spaceBetween = parseFloat(spaceBetween);\n  }\n  for (let i = 0; i < slides.length; i += 1) {\n    const slide = slides[i];\n    let slideOffset = slide.swiperSlideOffset;\n    if (params.cssMode && params.centeredSlides) {\n      slideOffset -= slides[0].swiperSlideOffset;\n    }\n    const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n    const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n    const slideBefore = -(offsetCenter - slideOffset);\n    const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n    const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n    if (isVisible) {\n      swiper.visibleSlides.push(slide);\n      swiper.visibleSlidesIndexes.push(i);\n      slides[i].classList.add(params.slideVisibleClass);\n    }\n    slide.progress = rtl ? -slideProgress : slideProgress;\n    slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/update/updateSlidesProgress.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/a11y/a11y.js":
    /*!***********************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/a11y/a11y.js ***!
      \***********************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ A11y)\n/* harmony export */ });\n/* harmony import */ var _shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/classes-to-selector.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/classes-to-selector.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\n\nfunction A11y({\n  swiper,\n  extendParams,\n  on\n}) {\n  extendParams({\n    a11y: {\n      enabled: true,\n      notificationClass: 'swiper-notification',\n      prevSlideMessage: 'Previous slide',\n      nextSlideMessage: 'Next slide',\n      firstSlideMessage: 'This is the first slide',\n      lastSlideMessage: 'This is the last slide',\n      paginationBulletMessage: 'Go to slide {{index}}',\n      slideLabelMessage: '{{index}} / {{slidesLength}}',\n      containerMessage: null,\n      containerRoleDescriptionMessage: null,\n      itemRoleDescriptionMessage: null,\n      slideRole: 'group',\n      id: null\n    }\n  });\n  swiper.a11y = {\n    clicked: false\n  };\n  let liveRegion = null;\n  function notify(message) {\n    const notification = liveRegion;\n    if (notification.length === 0) return;\n    notification.innerHTML = '';\n    notification.innerHTML = message;\n  }\n  const makeElementsArray = el => {\n    if (!Array.isArray(el)) el = [el].filter(e => !!e);\n    return el;\n  };\n  function getRandomNumber(size = 16) {\n    const randomChar = () => Math.round(16 * Math.random()).toString(16);\n    return 'x'.repeat(size).replace(/x/g, randomChar);\n  }\n  function makeElFocusable(el) {\n    el = makeElementsArray(el);\n    el.forEach(subEl => {\n      subEl.setAttribute('tabIndex', '0');\n    });\n  }\n  function makeElNotFocusable(el) {\n    el = makeElementsArray(el);\n    el.forEach(subEl => {\n      subEl.setAttribute('tabIndex', '-1');\n    });\n  }\n  function addElRole(el, role) {\n    el = makeElementsArray(el);\n    el.forEach(subEl => {\n      subEl.setAttribute('role', role);\n    });\n  }\n  function addElRoleDescription(el, description) {\n    el = makeElementsArray(el);\n    el.forEach(subEl => {\n      subEl.setAttribute('aria-roledescription', description);\n    });\n  }\n  function addElControls(el, controls) {\n    el = makeElementsArray(el);\n    el.forEach(subEl => {\n      subEl.setAttribute('aria-controls', controls);\n    });\n  }\n  function addElLabel(el, label) {\n    el = makeElementsArray(el);\n    el.forEach(subEl => {\n      subEl.setAttribute('aria-label', label);\n    });\n  }\n  function addElId(el, id) {\n    el = makeElementsArray(el);\n    el.forEach(subEl => {\n      subEl.setAttribute('id', id);\n    });\n  }\n  function addElLive(el, live) {\n    el = makeElementsArray(el);\n    el.forEach(subEl => {\n      subEl.setAttribute('aria-live', live);\n    });\n  }\n  function disableEl(el) {\n    el = makeElementsArray(el);\n    el.forEach(subEl => {\n      subEl.setAttribute('aria-disabled', true);\n    });\n  }\n  function enableEl(el) {\n    el = makeElementsArray(el);\n    el.forEach(subEl => {\n      subEl.setAttribute('aria-disabled', false);\n    });\n  }\n  function onEnterOrSpaceKey(e) {\n    if (e.keyCode !== 13 && e.keyCode !== 32) return;\n    const params = swiper.params.a11y;\n    const targetEl = e.target;\n    if (swiper.pagination && swiper.pagination.el && (targetEl === swiper.pagination.el || swiper.pagination.el.contains(e.target))) {\n      if (!e.target.matches((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiper.params.pagination.bulletClass))) return;\n    }\n    if (swiper.navigation && swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl) {\n      if (!(swiper.isEnd && !swiper.params.loop)) {\n        swiper.slideNext();\n      }\n      if (swiper.isEnd) {\n        notify(params.lastSlideMessage);\n      } else {\n        notify(params.nextSlideMessage);\n      }\n    }\n    if (swiper.navigation && swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl) {\n      if (!(swiper.isBeginning && !swiper.params.loop)) {\n        swiper.slidePrev();\n      }\n      if (swiper.isBeginning) {\n        notify(params.firstSlideMessage);\n      } else {\n        notify(params.prevSlideMessage);\n      }\n    }\n    if (swiper.pagination && targetEl.matches((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiper.params.pagination.bulletClass))) {\n      targetEl.click();\n    }\n  }\n  function updateNavigation() {\n    if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;\n    const {\n      nextEl,\n      prevEl\n    } = swiper.navigation;\n    if (prevEl) {\n      if (swiper.isBeginning) {\n        disableEl(prevEl);\n        makeElNotFocusable(prevEl);\n      } else {\n        enableEl(prevEl);\n        makeElFocusable(prevEl);\n      }\n    }\n    if (nextEl) {\n      if (swiper.isEnd) {\n        disableEl(nextEl);\n        makeElNotFocusable(nextEl);\n      } else {\n        enableEl(nextEl);\n        makeElFocusable(nextEl);\n      }\n    }\n  }\n  function hasPagination() {\n    return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;\n  }\n  function hasClickablePagination() {\n    return hasPagination() && swiper.params.pagination.clickable;\n  }\n  function updatePagination() {\n    const params = swiper.params.a11y;\n    if (!hasPagination()) return;\n    swiper.pagination.bullets.forEach(bulletEl => {\n      if (swiper.params.pagination.clickable) {\n        makeElFocusable(bulletEl);\n        if (!swiper.params.pagination.renderBullet) {\n          addElRole(bulletEl, 'button');\n          addElLabel(bulletEl, params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementIndex)(bulletEl) + 1));\n        }\n      }\n      if (bulletEl.matches((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiper.params.pagination.bulletActiveClass))) {\n        bulletEl.setAttribute('aria-current', 'true');\n      } else {\n        bulletEl.removeAttribute('aria-current');\n      }\n    });\n  }\n  const initNavEl = (el, wrapperId, message) => {\n    makeElFocusable(el);\n    if (el.tagName !== 'BUTTON') {\n      addElRole(el, 'button');\n      el.addEventListener('keydown', onEnterOrSpaceKey);\n    }\n    addElLabel(el, message);\n    addElControls(el, wrapperId);\n  };\n  const handlePointerDown = () => {\n    swiper.a11y.clicked = true;\n  };\n  const handlePointerUp = () => {\n    requestAnimationFrame(() => {\n      requestAnimationFrame(() => {\n        if (!swiper.destroyed) {\n          swiper.a11y.clicked = false;\n        }\n      });\n    });\n  };\n  const handleFocus = e => {\n    if (swiper.a11y.clicked) return;\n    const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);\n    if (!slideEl || !swiper.slides.includes(slideEl)) return;\n    const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;\n    const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);\n    if (isActive || isVisible) return;\n    if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;\n    if (swiper.isHorizontal()) {\n      swiper.el.scrollLeft = 0;\n    } else {\n      swiper.el.scrollTop = 0;\n    }\n    swiper.slideTo(swiper.slides.indexOf(slideEl), 0);\n  };\n  const initSlides = () => {\n    const params = swiper.params.a11y;\n    if (params.itemRoleDescriptionMessage) {\n      addElRoleDescription(swiper.slides, params.itemRoleDescriptionMessage);\n    }\n    if (params.slideRole) {\n      addElRole(swiper.slides, params.slideRole);\n    }\n    const slidesLength = swiper.slides.length;\n    if (params.slideLabelMessage) {\n      swiper.slides.forEach((slideEl, index) => {\n        const slideIndex = swiper.params.loop ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10) : index;\n        const ariaLabelMessage = params.slideLabelMessage.replace(/\\{\\{index\\}\\}/, slideIndex + 1).replace(/\\{\\{slidesLength\\}\\}/, slidesLength);\n        addElLabel(slideEl, ariaLabelMessage);\n      });\n    }\n  };\n  const init = () => {\n    const params = swiper.params.a11y;\n    if (swiper.isElement) {\n      swiper.el.shadowEl.append(liveRegion);\n    } else {\n      swiper.el.append(liveRegion);\n    }\n\n    // Container\n    const containerEl = swiper.el;\n    if (params.containerRoleDescriptionMessage) {\n      addElRoleDescription(containerEl, params.containerRoleDescriptionMessage);\n    }\n    if (params.containerMessage) {\n      addElLabel(containerEl, params.containerMessage);\n    }\n\n    // Wrapper\n    const wrapperEl = swiper.wrapperEl;\n    const wrapperId = params.id || wrapperEl.getAttribute('id') || `swiper-wrapper-${getRandomNumber(16)}`;\n    const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';\n    addElId(wrapperEl, wrapperId);\n    addElLive(wrapperEl, live);\n\n    // Slide\n    initSlides();\n\n    // Navigation\n    let {\n      nextEl,\n      prevEl\n    } = swiper.navigation ? swiper.navigation : {};\n    nextEl = makeElementsArray(nextEl);\n    prevEl = makeElementsArray(prevEl);\n    if (nextEl) {\n      nextEl.forEach(el => initNavEl(el, wrapperId, params.nextSlideMessage));\n    }\n    if (prevEl) {\n      prevEl.forEach(el => initNavEl(el, wrapperId, params.prevSlideMessage));\n    }\n\n    // Pagination\n    if (hasClickablePagination()) {\n      const paginationEl = Array.isArray(swiper.pagination.el) ? swiper.pagination.el : [swiper.pagination.el];\n      paginationEl.forEach(el => {\n        el.addEventListener('keydown', onEnterOrSpaceKey);\n      });\n    }\n\n    // Tab focus\n    swiper.el.addEventListener('focus', handleFocus, true);\n    swiper.el.addEventListener('pointerdown', handlePointerDown, true);\n    swiper.el.addEventListener('pointerup', handlePointerUp, true);\n  };\n  function destroy() {\n    if (liveRegion) liveRegion.remove();\n    let {\n      nextEl,\n      prevEl\n    } = swiper.navigation ? swiper.navigation : {};\n    nextEl = makeElementsArray(nextEl);\n    prevEl = makeElementsArray(prevEl);\n    if (nextEl) {\n      nextEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));\n    }\n    if (prevEl) {\n      prevEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));\n    }\n\n    // Pagination\n    if (hasClickablePagination()) {\n      const paginationEl = Array.isArray(swiper.pagination.el) ? swiper.pagination.el : [swiper.pagination.el];\n      paginationEl.forEach(el => {\n        el.removeEventListener('keydown', onEnterOrSpaceKey);\n      });\n    }\n\n    // Tab focus\n    swiper.el.removeEventListener('focus', handleFocus, true);\n    swiper.el.removeEventListener('pointerdown', handlePointerDown, true);\n    swiper.el.removeEventListener('pointerup', handlePointerUp, true);\n  }\n  on('beforeInit', () => {\n    liveRegion = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('span', swiper.params.a11y.notificationClass);\n    liveRegion.setAttribute('aria-live', 'assertive');\n    liveRegion.setAttribute('aria-atomic', 'true');\n  });\n  on('afterInit', () => {\n    if (!swiper.params.a11y.enabled) return;\n    init();\n  });\n  on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => {\n    if (!swiper.params.a11y.enabled) return;\n    initSlides();\n  });\n  on('fromEdge toEdge afterInit lock unlock', () => {\n    if (!swiper.params.a11y.enabled) return;\n    updateNavigation();\n  });\n  on('paginationUpdate', () => {\n    if (!swiper.params.a11y.enabled) return;\n    updatePagination();\n  });\n  on('destroy', () => {\n    if (!swiper.params.a11y.enabled) return;\n    destroy();\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/a11y/a11y.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/autoplay/autoplay.js":
    /*!*******************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/autoplay/autoplay.js ***!
      \*******************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Autoplay)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n/* eslint no-underscore-dangle: \"off\" */\n/* eslint no-use-before-define: \"off\" */\n\nfunction Autoplay({\n  swiper,\n  extendParams,\n  on,\n  emit,\n  params\n}) {\n  swiper.autoplay = {\n    running: false,\n    paused: false,\n    timeLeft: 0\n  };\n  extendParams({\n    autoplay: {\n      enabled: false,\n      delay: 3000,\n      waitForTransition: true,\n      disableOnInteraction: true,\n      stopOnLastSlide: false,\n      reverseDirection: false,\n      pauseOnMouseEnter: false\n    }\n  });\n  let timeout;\n  let raf;\n  let autoplayDelayTotal = params && params.autoplay ? params.autoplay.delay : 3000;\n  let autoplayDelayCurrent = params && params.autoplay ? params.autoplay.delay : 3000;\n  let autoplayTimeLeft;\n  let autoplayStartTime = new Date().getTime;\n  let wasPaused;\n  let isTouched;\n  let pausedByTouch;\n  let touchStartTimeout;\n  let slideChanged;\n  let pausedByInteraction;\n  function onTransitionEnd(e) {\n    if (!swiper || swiper.destroyed || !swiper.wrapperEl) return;\n    if (e.target !== swiper.wrapperEl) return;\n    swiper.wrapperEl.removeEventListener('transitionend', onTransitionEnd);\n    resume();\n  }\n  const calcTimeLeft = () => {\n    if (swiper.destroyed || !swiper.autoplay.running) return;\n    if (swiper.autoplay.paused) {\n      wasPaused = true;\n    } else if (wasPaused) {\n      autoplayDelayCurrent = autoplayTimeLeft;\n      wasPaused = false;\n    }\n    const timeLeft = swiper.autoplay.paused ? autoplayTimeLeft : autoplayStartTime + autoplayDelayCurrent - new Date().getTime();\n    swiper.autoplay.timeLeft = timeLeft;\n    emit('autoplayTimeLeft', timeLeft, timeLeft / autoplayDelayTotal);\n    raf = requestAnimationFrame(() => {\n      calcTimeLeft();\n    });\n  };\n  const getSlideDelay = () => {\n    let activeSlideEl;\n    if (swiper.virtual && swiper.params.virtual.enabled) {\n      activeSlideEl = swiper.slides.filter(slideEl => slideEl.classList.contains('swiper-slide-active'))[0];\n    } else {\n      activeSlideEl = swiper.slides[swiper.activeIndex];\n    }\n    if (!activeSlideEl) return undefined;\n    const currentSlideDelay = parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'), 10);\n    return currentSlideDelay;\n  };\n  const run = delayForce => {\n    if (swiper.destroyed || !swiper.autoplay.running) return;\n    cancelAnimationFrame(raf);\n    calcTimeLeft();\n    let delay = typeof delayForce === 'undefined' ? swiper.params.autoplay.delay : delayForce;\n    autoplayDelayTotal = swiper.params.autoplay.delay;\n    autoplayDelayCurrent = swiper.params.autoplay.delay;\n    const currentSlideDelay = getSlideDelay();\n    if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0 && typeof delayForce === 'undefined') {\n      delay = currentSlideDelay;\n      autoplayDelayTotal = currentSlideDelay;\n      autoplayDelayCurrent = currentSlideDelay;\n    }\n    autoplayTimeLeft = delay;\n    const speed = swiper.params.speed;\n    const proceed = () => {\n      if (!swiper || swiper.destroyed) return;\n      if (swiper.params.autoplay.reverseDirection) {\n        if (!swiper.isBeginning || swiper.params.loop || swiper.params.rewind) {\n          swiper.slidePrev(speed, true, true);\n          emit('autoplay');\n        } else if (!swiper.params.autoplay.stopOnLastSlide) {\n          swiper.slideTo(swiper.slides.length - 1, speed, true, true);\n          emit('autoplay');\n        }\n      } else {\n        if (!swiper.isEnd || swiper.params.loop || swiper.params.rewind) {\n          swiper.slideNext(speed, true, true);\n          emit('autoplay');\n        } else if (!swiper.params.autoplay.stopOnLastSlide) {\n          swiper.slideTo(0, speed, true, true);\n          emit('autoplay');\n        }\n      }\n      if (swiper.params.cssMode) {\n        autoplayStartTime = new Date().getTime();\n        requestAnimationFrame(() => {\n          run();\n        });\n      }\n    };\n    if (delay > 0) {\n      clearTimeout(timeout);\n      timeout = setTimeout(() => {\n        proceed();\n      }, delay);\n    } else {\n      requestAnimationFrame(() => {\n        proceed();\n      });\n    }\n\n    // eslint-disable-next-line\n    return delay;\n  };\n  const start = () => {\n    swiper.autoplay.running = true;\n    run();\n    emit('autoplayStart');\n  };\n  const stop = () => {\n    swiper.autoplay.running = false;\n    clearTimeout(timeout);\n    cancelAnimationFrame(raf);\n    emit('autoplayStop');\n  };\n  const pause = (internal, reset) => {\n    if (swiper.destroyed || !swiper.autoplay.running) return;\n    clearTimeout(timeout);\n    if (!internal) {\n      pausedByInteraction = true;\n    }\n    const proceed = () => {\n      emit('autoplayPause');\n      if (swiper.params.autoplay.waitForTransition) {\n        swiper.wrapperEl.addEventListener('transitionend', onTransitionEnd);\n      } else {\n        resume();\n      }\n    };\n    swiper.autoplay.paused = true;\n    if (reset) {\n      if (slideChanged) {\n        autoplayTimeLeft = swiper.params.autoplay.delay;\n      }\n      slideChanged = false;\n      proceed();\n      return;\n    }\n    const delay = autoplayTimeLeft || swiper.params.autoplay.delay;\n    autoplayTimeLeft = delay - (new Date().getTime() - autoplayStartTime);\n    if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop) return;\n    if (autoplayTimeLeft < 0) autoplayTimeLeft = 0;\n    proceed();\n  };\n  const resume = () => {\n    if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop || swiper.destroyed || !swiper.autoplay.running) return;\n    autoplayStartTime = new Date().getTime();\n    if (pausedByInteraction) {\n      pausedByInteraction = false;\n      run(autoplayTimeLeft);\n    } else {\n      run();\n    }\n    swiper.autoplay.paused = false;\n    emit('autoplayResume');\n  };\n  const onVisibilityChange = () => {\n    if (swiper.destroyed || !swiper.autoplay.running) return;\n    const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();\n    if (document.visibilityState === 'hidden') {\n      pausedByInteraction = true;\n      pause(true);\n    }\n    if (document.visibilityState === 'visible') {\n      resume();\n    }\n  };\n  const onPointerEnter = e => {\n    if (e.pointerType !== 'mouse') return;\n    pausedByInteraction = true;\n    pause(true);\n  };\n  const onPointerLeave = e => {\n    if (e.pointerType !== 'mouse') return;\n    if (swiper.autoplay.paused) {\n      resume();\n    }\n  };\n  const attachMouseEvents = () => {\n    if (swiper.params.autoplay.pauseOnMouseEnter) {\n      swiper.el.addEventListener('pointerenter', onPointerEnter);\n      swiper.el.addEventListener('pointerleave', onPointerLeave);\n    }\n  };\n  const detachMouseEvents = () => {\n    swiper.el.removeEventListener('pointerenter', onPointerEnter);\n    swiper.el.removeEventListener('pointerleave', onPointerLeave);\n  };\n  const attachDocumentEvents = () => {\n    const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();\n    document.addEventListener('visibilitychange', onVisibilityChange);\n  };\n  const detachDocumentEvents = () => {\n    const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();\n    document.removeEventListener('visibilitychange', onVisibilityChange);\n  };\n  on('init', () => {\n    if (swiper.params.autoplay.enabled) {\n      attachMouseEvents();\n      attachDocumentEvents();\n      autoplayStartTime = new Date().getTime();\n      start();\n    }\n  });\n  on('destroy', () => {\n    detachMouseEvents();\n    detachDocumentEvents();\n    if (swiper.autoplay.running) {\n      stop();\n    }\n  });\n  on('beforeTransitionStart', (_s, speed, internal) => {\n    if (swiper.destroyed || !swiper.autoplay.running) return;\n    if (internal || !swiper.params.autoplay.disableOnInteraction) {\n      pause(true, true);\n    } else {\n      stop();\n    }\n  });\n  on('sliderFirstMove', () => {\n    if (swiper.destroyed || !swiper.autoplay.running) return;\n    if (swiper.params.autoplay.disableOnInteraction) {\n      stop();\n      return;\n    }\n    isTouched = true;\n    pausedByTouch = false;\n    pausedByInteraction = false;\n    touchStartTimeout = setTimeout(() => {\n      pausedByInteraction = true;\n      pausedByTouch = true;\n      pause(true);\n    }, 200);\n  });\n  on('touchEnd', () => {\n    if (swiper.destroyed || !swiper.autoplay.running || !isTouched) return;\n    clearTimeout(touchStartTimeout);\n    clearTimeout(timeout);\n    if (swiper.params.autoplay.disableOnInteraction) {\n      pausedByTouch = false;\n      isTouched = false;\n      return;\n    }\n    if (pausedByTouch && swiper.params.cssMode) resume();\n    pausedByTouch = false;\n    isTouched = false;\n  });\n  on('slideChange', () => {\n    if (swiper.destroyed || !swiper.autoplay.running) return;\n    slideChanged = true;\n  });\n  Object.assign(swiper.autoplay, {\n    start,\n    stop,\n    pause,\n    resume\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/autoplay/autoplay.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/controller/controller.js":
    /*!***********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/controller/controller.js ***!
      \***********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Controller)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n/* eslint no-bitwise: [\"error\", { \"allow\": [\">>\"] }] */\n\nfunction Controller({\n  swiper,\n  extendParams,\n  on\n}) {\n  extendParams({\n    controller: {\n      control: undefined,\n      inverse: false,\n      by: 'slide' // or 'container'\n    }\n  });\n\n  swiper.controller = {\n    control: undefined\n  };\n  function LinearSpline(x, y) {\n    const binarySearch = function search() {\n      let maxIndex;\n      let minIndex;\n      let guess;\n      return (array, val) => {\n        minIndex = -1;\n        maxIndex = array.length;\n        while (maxIndex - minIndex > 1) {\n          guess = maxIndex + minIndex >> 1;\n          if (array[guess] <= val) {\n            minIndex = guess;\n          } else {\n            maxIndex = guess;\n          }\n        }\n        return maxIndex;\n      };\n    }();\n    this.x = x;\n    this.y = y;\n    this.lastIndex = x.length - 1;\n    // Given an x value (x2), return the expected y2 value:\n    // (x1,y1) is the known point before given value,\n    // (x3,y3) is the known point after given value.\n    let i1;\n    let i3;\n    this.interpolate = function interpolate(x2) {\n      if (!x2) return 0;\n\n      // Get the indexes of x1 and x3 (the array indexes before and after given x2):\n      i3 = binarySearch(this.x, x2);\n      i1 = i3 - 1;\n\n      // We have our indexes i1 & i3, so we can calculate already:\n      // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\n      return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];\n    };\n    return this;\n  }\n  function getInterpolateFunction(c) {\n    swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid);\n  }\n  function setTranslate(_t, byController) {\n    const controlled = swiper.controller.control;\n    let multiplier;\n    let controlledTranslate;\n    const Swiper = swiper.constructor;\n    function setControlledTranslate(c) {\n      if (c.destroyed) return;\n\n      // this will create an Interpolate function based on the snapGrids\n      // x is the Grid of the scrolled scroller and y will be the controlled scroller\n      // it makes sense to create this only once and recall it for the interpolation\n      // the function does a lot of value caching for performance\n      const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\n      if (swiper.params.controller.by === 'slide') {\n        getInterpolateFunction(c);\n        // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\n        // but it did not work out\n        controlledTranslate = -swiper.controller.spline.interpolate(-translate);\n      }\n      if (!controlledTranslate || swiper.params.controller.by === 'container') {\n        multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\n        if (Number.isNaN(multiplier) || !Number.isFinite(multiplier)) {\n          multiplier = 1;\n        }\n        controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();\n      }\n      if (swiper.params.controller.inverse) {\n        controlledTranslate = c.maxTranslate() - controlledTranslate;\n      }\n      c.updateProgress(controlledTranslate);\n      c.setTranslate(controlledTranslate, swiper);\n      c.updateActiveIndex();\n      c.updateSlidesClasses();\n    }\n    if (Array.isArray(controlled)) {\n      for (let i = 0; i < controlled.length; i += 1) {\n        if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n          setControlledTranslate(controlled[i]);\n        }\n      }\n    } else if (controlled instanceof Swiper && byController !== controlled) {\n      setControlledTranslate(controlled);\n    }\n  }\n  function setTransition(duration, byController) {\n    const Swiper = swiper.constructor;\n    const controlled = swiper.controller.control;\n    let i;\n    function setControlledTransition(c) {\n      if (c.destroyed) return;\n      c.setTransition(duration, swiper);\n      if (duration !== 0) {\n        c.transitionStart();\n        if (c.params.autoHeight) {\n          (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {\n            c.updateAutoHeight();\n          });\n        }\n        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementTransitionEnd)(c.wrapperEl, () => {\n          if (!controlled) return;\n          c.transitionEnd();\n        });\n      }\n    }\n    if (Array.isArray(controlled)) {\n      for (i = 0; i < controlled.length; i += 1) {\n        if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n          setControlledTransition(controlled[i]);\n        }\n      }\n    } else if (controlled instanceof Swiper && byController !== controlled) {\n      setControlledTransition(controlled);\n    }\n  }\n  function removeSpline() {\n    if (!swiper.controller.control) return;\n    if (swiper.controller.spline) {\n      swiper.controller.spline = undefined;\n      delete swiper.controller.spline;\n    }\n  }\n  on('beforeInit', () => {\n    if (typeof window !== 'undefined' && (\n    // eslint-disable-line\n    typeof swiper.params.controller.control === 'string' || swiper.params.controller.control instanceof HTMLElement)) {\n      const controlElement = document.querySelector(swiper.params.controller.control);\n      if (controlElement && controlElement.swiper) {\n        swiper.controller.control = controlElement.swiper;\n      } else if (controlElement) {\n        const onControllerSwiper = e => {\n          swiper.controller.control = e.detail[0];\n          swiper.update();\n          controlElement.removeEventListener('init', onControllerSwiper);\n        };\n        controlElement.addEventListener('init', onControllerSwiper);\n      }\n      return;\n    }\n    swiper.controller.control = swiper.params.controller.control;\n  });\n  on('update', () => {\n    removeSpline();\n  });\n  on('resize', () => {\n    removeSpline();\n  });\n  on('observerUpdate', () => {\n    removeSpline();\n  });\n  on('setTranslate', (_s, translate, byController) => {\n    if (!swiper.controller.control || swiper.controller.control.destroyed) return;\n    swiper.controller.setTranslate(translate, byController);\n  });\n  on('setTransition', (_s, duration, byController) => {\n    if (!swiper.controller.control || swiper.controller.control.destroyed) return;\n    swiper.controller.setTransition(duration, byController);\n  });\n  Object.assign(swiper.controller, {\n    setTranslate,\n    setTransition\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/controller/controller.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-cards/effect-cards.js":
    /*!***************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-cards/effect-cards.js ***!
      \***************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ EffectCards)\n/* harmony export */ });\n/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/create-shadow.js\");\n/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-init.js\");\n/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-target.js\");\n/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-virtual-transition-end.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\n\n\n\n\nfunction EffectCards({\n  swiper,\n  extendParams,\n  on\n}) {\n  extendParams({\n    cardsEffect: {\n      slideShadows: true,\n      rotate: true,\n      perSlideRotate: 2,\n      perSlideOffset: 8\n    }\n  });\n  const setTranslate = () => {\n    const {\n      slides,\n      activeIndex,\n      rtlTranslate: rtl\n    } = swiper;\n    const params = swiper.params.cardsEffect;\n    const {\n      startTranslate,\n      isTouched\n    } = swiper.touchEventsData;\n    const currentTranslate = rtl ? -swiper.translate : swiper.translate;\n    for (let i = 0; i < slides.length; i += 1) {\n      const slideEl = slides[i];\n      const slideProgress = slideEl.progress;\n      const progress = Math.min(Math.max(slideProgress, -4), 4);\n      let offset = slideEl.swiperSlideOffset;\n      if (swiper.params.centeredSlides && !swiper.params.cssMode) {\n        swiper.wrapperEl.style.transform = `translateX(${swiper.minTranslate()}px)`;\n      }\n      if (swiper.params.centeredSlides && swiper.params.cssMode) {\n        offset -= slides[0].swiperSlideOffset;\n      }\n      let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset;\n      let tY = 0;\n      const tZ = -100 * Math.abs(progress);\n      let scale = 1;\n      let rotate = -params.perSlideRotate * progress;\n      let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75;\n      const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i;\n      const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate;\n      const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate;\n      if (isSwipeToNext || isSwipeToPrev) {\n        const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5;\n        rotate += -28 * progress * subProgress;\n        scale += -0.5 * subProgress;\n        tXAdd += 96 * subProgress;\n        tY = `${-25 * subProgress * Math.abs(progress)}%`;\n      }\n      if (progress < 0) {\n        // next\n        tX = `calc(${tX}px ${rtl ? '-' : '+'} (${tXAdd * Math.abs(progress)}%))`;\n      } else if (progress > 0) {\n        // prev\n        tX = `calc(${tX}px ${rtl ? '-' : '+'} (-${tXAdd * Math.abs(progress)}%))`;\n      } else {\n        tX = `${tX}px`;\n      }\n      if (!swiper.isHorizontal()) {\n        const prevY = tY;\n        tY = tX;\n        tX = prevY;\n      }\n      const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`;\n\n      /* eslint-disable */\n      const transform = `\n        translate3d(${tX}, ${tY}, ${tZ}px)\n        rotateZ(${params.rotate ? rtl ? -rotate : rotate : 0}deg)\n        scale(${scaleString})\n      `;\n      /* eslint-enable */\n\n      if (params.slideShadows) {\n        // Set shadows\n        let shadowEl = slideEl.querySelector('.swiper-slide-shadow');\n        if (!shadowEl) {\n          shadowEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params, slideEl);\n        }\n        if (shadowEl) shadowEl.style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1);\n      }\n      slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n      const targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(params, slideEl);\n      targetEl.style.transform = transform;\n    }\n  };\n  const setTransition = duration => {\n    const transformElements = swiper.slides.map(slideEl => (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_4__.getSlideTransformEl)(slideEl));\n    transformElements.forEach(el => {\n      el.style.transitionDuration = `${duration}ms`;\n      el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => {\n        shadowEl.style.transitionDuration = `${duration}ms`;\n      });\n    });\n    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n      swiper,\n      duration,\n      transformElements\n    });\n  };\n  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n    effect: 'cards',\n    swiper,\n    on,\n    setTranslate,\n    setTransition,\n    perspective: () => true,\n    overwriteParams: () => ({\n      watchSlidesProgress: true,\n      virtualTranslate: !swiper.params.cssMode\n    })\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-cards/effect-cards.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-coverflow/effect-coverflow.js":
    /*!***********************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-coverflow/effect-coverflow.js ***!
      \***********************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ EffectCoverflow)\n/* harmony export */ });\n/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/create-shadow.js\");\n/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-init.js\");\n/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-target.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\n\n\n\nfunction EffectCoverflow({\n  swiper,\n  extendParams,\n  on\n}) {\n  extendParams({\n    coverflowEffect: {\n      rotate: 50,\n      stretch: 0,\n      depth: 100,\n      scale: 1,\n      modifier: 1,\n      slideShadows: true\n    }\n  });\n  const setTranslate = () => {\n    const {\n      width: swiperWidth,\n      height: swiperHeight,\n      slides,\n      slidesSizesGrid\n    } = swiper;\n    const params = swiper.params.coverflowEffect;\n    const isHorizontal = swiper.isHorizontal();\n    const transform = swiper.translate;\n    const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\n    const rotate = isHorizontal ? params.rotate : -params.rotate;\n    const translate = params.depth;\n    // Each slide offset from center\n    for (let i = 0, length = slides.length; i < length; i += 1) {\n      const slideEl = slides[i];\n      const slideSize = slidesSizesGrid[i];\n      const slideOffset = slideEl.swiperSlideOffset;\n      const centerOffset = (center - slideOffset - slideSize / 2) / slideSize;\n      const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier;\n      let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n      let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier;\n      // var rotateZ = 0\n      let translateZ = -translate * Math.abs(offsetMultiplier);\n      let stretch = params.stretch;\n      // Allow percentage to make a relative stretch for responsive sliders\n      if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {\n        stretch = parseFloat(params.stretch) / 100 * slideSize;\n      }\n      let translateY = isHorizontal ? 0 : stretch * offsetMultiplier;\n      let translateX = isHorizontal ? stretch * offsetMultiplier : 0;\n      let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier);\n\n      // Fix for ultra small values\n      if (Math.abs(translateX) < 0.001) translateX = 0;\n      if (Math.abs(translateY) < 0.001) translateY = 0;\n      if (Math.abs(translateZ) < 0.001) translateZ = 0;\n      if (Math.abs(rotateY) < 0.001) rotateY = 0;\n      if (Math.abs(rotateX) < 0.001) rotateX = 0;\n      if (Math.abs(scale) < 0.001) scale = 0;\n      const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px)  rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;\n      const targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(params, slideEl);\n      targetEl.style.transform = slideTransform;\n      slideEl.style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n      if (params.slideShadows) {\n        // Set shadows\n        let shadowBeforeEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');\n        let shadowAfterEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');\n        if (!shadowBeforeEl) {\n          shadowBeforeEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params, slideEl, isHorizontal ? 'left' : 'top');\n        }\n        if (!shadowAfterEl) {\n          shadowAfterEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params, slideEl, isHorizontal ? 'right' : 'bottom');\n        }\n        if (shadowBeforeEl) shadowBeforeEl.style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n        if (shadowAfterEl) shadowAfterEl.style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n      }\n    }\n  };\n  const setTransition = duration => {\n    const transformElements = swiper.slides.map(slideEl => (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_3__.getSlideTransformEl)(slideEl));\n    transformElements.forEach(el => {\n      el.style.transitionDuration = `${duration}ms`;\n      el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => {\n        shadowEl.style.transitionDuration = `${duration}ms`;\n      });\n    });\n  };\n  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n    effect: 'coverflow',\n    swiper,\n    on,\n    setTranslate,\n    setTransition,\n    perspective: () => true,\n    overwriteParams: () => ({\n      watchSlidesProgress: true\n    })\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-coverflow/effect-coverflow.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-creative/effect-creative.js":
    /*!*********************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-creative/effect-creative.js ***!
      \*********************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ EffectCreative)\n/* harmony export */ });\n/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/create-shadow.js\");\n/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-init.js\");\n/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-target.js\");\n/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-virtual-transition-end.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\n\n\n\n\nfunction EffectCreative({\n  swiper,\n  extendParams,\n  on\n}) {\n  extendParams({\n    creativeEffect: {\n      limitProgress: 1,\n      shadowPerProgress: false,\n      progressMultiplier: 1,\n      perspective: true,\n      prev: {\n        translate: [0, 0, 0],\n        rotate: [0, 0, 0],\n        opacity: 1,\n        scale: 1\n      },\n      next: {\n        translate: [0, 0, 0],\n        rotate: [0, 0, 0],\n        opacity: 1,\n        scale: 1\n      }\n    }\n  });\n  const getTranslateValue = value => {\n    if (typeof value === 'string') return value;\n    return `${value}px`;\n  };\n  const setTranslate = () => {\n    const {\n      slides,\n      wrapperEl,\n      slidesSizesGrid\n    } = swiper;\n    const params = swiper.params.creativeEffect;\n    const {\n      progressMultiplier: multiplier\n    } = params;\n    const isCenteredSlides = swiper.params.centeredSlides;\n    if (isCenteredSlides) {\n      const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0;\n      wrapperEl.style.transform = `translateX(calc(50% - ${margin}px))`;\n    }\n    for (let i = 0; i < slides.length; i += 1) {\n      const slideEl = slides[i];\n      const slideProgress = slideEl.progress;\n      const progress = Math.min(Math.max(slideEl.progress, -params.limitProgress), params.limitProgress);\n      let originalProgress = progress;\n      if (!isCenteredSlides) {\n        originalProgress = Math.min(Math.max(slideEl.originalProgress, -params.limitProgress), params.limitProgress);\n      }\n      const offset = slideEl.swiperSlideOffset;\n      const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0];\n      const r = [0, 0, 0];\n      let custom = false;\n      if (!swiper.isHorizontal()) {\n        t[1] = t[0];\n        t[0] = 0;\n      }\n      let data = {\n        translate: [0, 0, 0],\n        rotate: [0, 0, 0],\n        scale: 1,\n        opacity: 1\n      };\n      if (progress < 0) {\n        data = params.next;\n        custom = true;\n      } else if (progress > 0) {\n        data = params.prev;\n        custom = true;\n      }\n      // set translate\n      t.forEach((value, index) => {\n        t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`;\n      });\n      // set rotates\n      r.forEach((value, index) => {\n        r[index] = data.rotate[index] * Math.abs(progress * multiplier);\n      });\n      slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n      const translateString = t.join(', ');\n      const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`;\n      const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;\n      const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier;\n      const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`;\n\n      // Set shadows\n      if (custom && data.shadow || !custom) {\n        let shadowEl = slideEl.querySelector('.swiper-slide-shadow');\n        if (!shadowEl && data.shadow) {\n          shadowEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params, slideEl);\n        }\n        if (shadowEl) {\n          const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress;\n          shadowEl.style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1);\n        }\n      }\n      const targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(params, slideEl);\n      targetEl.style.transform = transform;\n      targetEl.style.opacity = opacityString;\n      if (data.origin) {\n        targetEl.style.transformOrigin = data.origin;\n      }\n    }\n  };\n  const setTransition = duration => {\n    const transformElements = swiper.slides.map(slideEl => (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_4__.getSlideTransformEl)(slideEl));\n    transformElements.forEach(el => {\n      el.style.transitionDuration = `${duration}ms`;\n      el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => {\n        shadowEl.style.transitionDuration = `${duration}ms`;\n      });\n    });\n    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n      swiper,\n      duration,\n      transformElements,\n      allSlides: true\n    });\n  };\n  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n    effect: 'creative',\n    swiper,\n    on,\n    setTranslate,\n    setTransition,\n    perspective: () => swiper.params.creativeEffect.perspective,\n    overwriteParams: () => ({\n      watchSlidesProgress: true,\n      virtualTranslate: !swiper.params.cssMode\n    })\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-creative/effect-creative.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-cube/effect-cube.js":
    /*!*************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-cube/effect-cube.js ***!
      \*************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ EffectCube)\n/* harmony export */ });\n/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/effect-init.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-init.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\n\nfunction EffectCube({\n  swiper,\n  extendParams,\n  on\n}) {\n  extendParams({\n    cubeEffect: {\n      slideShadows: true,\n      shadow: true,\n      shadowOffset: 20,\n      shadowScale: 0.94\n    }\n  });\n  const createSlideShadows = (slideEl, progress, isHorizontal) => {\n    let shadowBefore = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');\n    let shadowAfter = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');\n    if (!shadowBefore) {\n      shadowBefore = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', `swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}`);\n      slideEl.append(shadowBefore);\n    }\n    if (!shadowAfter) {\n      shadowAfter = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', `swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}`);\n      slideEl.append(shadowAfter);\n    }\n    if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0);\n    if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0);\n  };\n  const recreateShadows = () => {\n    // create new ones\n    const isHorizontal = swiper.isHorizontal();\n    swiper.slides.forEach(slideEl => {\n      const progress = Math.max(Math.min(slideEl.progress, 1), -1);\n      createSlideShadows(slideEl, progress, isHorizontal);\n    });\n  };\n  const setTranslate = () => {\n    const {\n      el,\n      wrapperEl,\n      slides,\n      width: swiperWidth,\n      height: swiperHeight,\n      rtlTranslate: rtl,\n      size: swiperSize,\n      browser\n    } = swiper;\n    const params = swiper.params.cubeEffect;\n    const isHorizontal = swiper.isHorizontal();\n    const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n    let wrapperRotate = 0;\n    let cubeShadowEl;\n    if (params.shadow) {\n      if (isHorizontal) {\n        cubeShadowEl = swiper.slidesEl.querySelector('.swiper-cube-shadow');\n        if (!cubeShadowEl) {\n          cubeShadowEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', 'swiper-cube-shadow');\n          swiper.slidesEl.append(cubeShadowEl);\n        }\n        cubeShadowEl.style.height = `${swiperWidth}px`;\n      } else {\n        cubeShadowEl = el.querySelector('.swiper-cube-shadow');\n        if (!cubeShadowEl) {\n          cubeShadowEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', 'swiper-cube-shadow');\n          el.append(cubeShadowEl);\n        }\n      }\n    }\n    for (let i = 0; i < slides.length; i += 1) {\n      const slideEl = slides[i];\n      let slideIndex = i;\n      if (isVirtual) {\n        slideIndex = parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10);\n      }\n      let slideAngle = slideIndex * 90;\n      let round = Math.floor(slideAngle / 360);\n      if (rtl) {\n        slideAngle = -slideAngle;\n        round = Math.floor(-slideAngle / 360);\n      }\n      const progress = Math.max(Math.min(slideEl.progress, 1), -1);\n      let tx = 0;\n      let ty = 0;\n      let tz = 0;\n      if (slideIndex % 4 === 0) {\n        tx = -round * 4 * swiperSize;\n        tz = 0;\n      } else if ((slideIndex - 1) % 4 === 0) {\n        tx = 0;\n        tz = -round * 4 * swiperSize;\n      } else if ((slideIndex - 2) % 4 === 0) {\n        tx = swiperSize + round * 4 * swiperSize;\n        tz = swiperSize;\n      } else if ((slideIndex - 3) % 4 === 0) {\n        tx = -swiperSize;\n        tz = 3 * swiperSize + swiperSize * 4 * round;\n      }\n      if (rtl) {\n        tx = -tx;\n      }\n      if (!isHorizontal) {\n        ty = tx;\n        tx = 0;\n      }\n      const transform = `rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${isHorizontal ? slideAngle : 0}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;\n      if (progress <= 1 && progress > -1) {\n        wrapperRotate = slideIndex * 90 + progress * 90;\n        if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;\n      }\n      slideEl.style.transform = transform;\n      if (params.slideShadows) {\n        createSlideShadows(slideEl, progress, isHorizontal);\n      }\n    }\n    wrapperEl.style.transformOrigin = `50% 50% -${swiperSize / 2}px`;\n    wrapperEl.style['-webkit-transform-origin'] = `50% 50% -${swiperSize / 2}px`;\n    if (params.shadow) {\n      if (isHorizontal) {\n        cubeShadowEl.style.transform = `translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(90deg) rotateZ(0deg) scale(${params.shadowScale})`;\n      } else {\n        const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\n        const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);\n        const scale1 = params.shadowScale;\n        const scale2 = params.shadowScale / multiplier;\n        const offset = params.shadowOffset;\n        cubeShadowEl.style.transform = `scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-90deg)`;\n      }\n    }\n    const zFactor = (browser.isSafari || browser.isWebView) && browser.needPerspectiveFix ? -swiperSize / 2 : 0;\n    wrapperEl.style.transform = `translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0 : wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`;\n    wrapperEl.style.setProperty('--swiper-cube-translate-z', `${zFactor}px`);\n  };\n  const setTransition = duration => {\n    const {\n      el,\n      slides\n    } = swiper;\n    slides.forEach(slideEl => {\n      slideEl.style.transitionDuration = `${duration}ms`;\n      slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(subEl => {\n        subEl.style.transitionDuration = `${duration}ms`;\n      });\n    });\n    if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\n      const shadowEl = el.querySelector('.swiper-cube-shadow');\n      if (shadowEl) shadowEl.style.transitionDuration = `${duration}ms`;\n    }\n  };\n  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n    effect: 'cube',\n    swiper,\n    on,\n    setTranslate,\n    setTransition,\n    recreateShadows,\n    getEffectParams: () => swiper.params.cubeEffect,\n    perspective: () => true,\n    overwriteParams: () => ({\n      slidesPerView: 1,\n      slidesPerGroup: 1,\n      watchSlidesProgress: true,\n      resistanceRatio: 0,\n      spaceBetween: 0,\n      centeredSlides: false,\n      virtualTranslate: true\n    })\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-cube/effect-cube.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-fade/effect-fade.js":
    /*!*************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-fade/effect-fade.js ***!
      \*************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ EffectFade)\n/* harmony export */ });\n/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/effect-init.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-init.js\");\n/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-target.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-target.js\");\n/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-virtual-transition-end.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\n\n\n\nfunction EffectFade({\n  swiper,\n  extendParams,\n  on\n}) {\n  extendParams({\n    fadeEffect: {\n      crossFade: false\n    }\n  });\n  const setTranslate = () => {\n    const {\n      slides\n    } = swiper;\n    const params = swiper.params.fadeEffect;\n    for (let i = 0; i < slides.length; i += 1) {\n      const slideEl = swiper.slides[i];\n      const offset = slideEl.swiperSlideOffset;\n      let tx = -offset;\n      if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n      let ty = 0;\n      if (!swiper.isHorizontal()) {\n        ty = tx;\n        tx = 0;\n      }\n      const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(slideEl.progress), 0) : 1 + Math.min(Math.max(slideEl.progress, -1), 0);\n      const targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(params, slideEl);\n      targetEl.style.opacity = slideOpacity;\n      targetEl.style.transform = `translate3d(${tx}px, ${ty}px, 0px)`;\n    }\n  };\n  const setTransition = duration => {\n    const transformElements = swiper.slides.map(slideEl => (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_3__.getSlideTransformEl)(slideEl));\n    transformElements.forEach(el => {\n      el.style.transitionDuration = `${duration}ms`;\n    });\n    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n      swiper,\n      duration,\n      transformElements,\n      allSlides: true\n    });\n  };\n  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n    effect: 'fade',\n    swiper,\n    on,\n    setTranslate,\n    setTransition,\n    overwriteParams: () => ({\n      slidesPerView: 1,\n      slidesPerGroup: 1,\n      watchSlidesProgress: true,\n      spaceBetween: 0,\n      virtualTranslate: !swiper.params.cssMode\n    })\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-fade/effect-fade.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-flip/effect-flip.js":
    /*!*************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-flip/effect-flip.js ***!
      \*************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ EffectFlip)\n/* harmony export */ });\n/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/create-shadow.js\");\n/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-init.js\");\n/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-target.js\");\n/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-virtual-transition-end.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\n\n\n\n\nfunction EffectFlip({\n  swiper,\n  extendParams,\n  on\n}) {\n  extendParams({\n    flipEffect: {\n      slideShadows: true,\n      limitRotation: true\n    }\n  });\n  const createSlideShadows = (slideEl, progress, params) => {\n    let shadowBefore = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');\n    let shadowAfter = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');\n    if (!shadowBefore) {\n      shadowBefore = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params, slideEl, swiper.isHorizontal() ? 'left' : 'top');\n    }\n    if (!shadowAfter) {\n      shadowAfter = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params, slideEl, swiper.isHorizontal() ? 'right' : 'bottom');\n    }\n    if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0);\n    if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0);\n  };\n  const recreateShadows = () => {\n    // Set shadows\n    const params = swiper.params.flipEffect;\n    swiper.slides.forEach(slideEl => {\n      let progress = slideEl.progress;\n      if (swiper.params.flipEffect.limitRotation) {\n        progress = Math.max(Math.min(slideEl.progress, 1), -1);\n      }\n      createSlideShadows(slideEl, progress, params);\n    });\n  };\n  const setTranslate = () => {\n    const {\n      slides,\n      rtlTranslate: rtl\n    } = swiper;\n    const params = swiper.params.flipEffect;\n    for (let i = 0; i < slides.length; i += 1) {\n      const slideEl = slides[i];\n      let progress = slideEl.progress;\n      if (swiper.params.flipEffect.limitRotation) {\n        progress = Math.max(Math.min(slideEl.progress, 1), -1);\n      }\n      const offset = slideEl.swiperSlideOffset;\n      const rotate = -180 * progress;\n      let rotateY = rotate;\n      let rotateX = 0;\n      let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset;\n      let ty = 0;\n      if (!swiper.isHorizontal()) {\n        ty = tx;\n        tx = 0;\n        rotateX = -rotateY;\n        rotateY = 0;\n      } else if (rtl) {\n        rotateY = -rotateY;\n      }\n      slideEl.style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\n      if (params.slideShadows) {\n        createSlideShadows(slideEl, progress, params);\n      }\n      const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`;\n      const targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(params, slideEl);\n      targetEl.style.transform = transform;\n    }\n  };\n  const setTransition = duration => {\n    const transformElements = swiper.slides.map(slideEl => (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_4__.getSlideTransformEl)(slideEl));\n    transformElements.forEach(el => {\n      el.style.transitionDuration = `${duration}ms`;\n      el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => {\n        shadowEl.style.transitionDuration = `${duration}ms`;\n      });\n    });\n    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n      swiper,\n      duration,\n      transformElements\n    });\n  };\n  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n    effect: 'flip',\n    swiper,\n    on,\n    setTranslate,\n    setTransition,\n    recreateShadows,\n    getEffectParams: () => swiper.params.flipEffect,\n    perspective: () => true,\n    overwriteParams: () => ({\n      slidesPerView: 1,\n      slidesPerGroup: 1,\n      watchSlidesProgress: true,\n      spaceBetween: 0,\n      virtualTranslate: !swiper.params.cssMode\n    })\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-flip/effect-flip.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/free-mode/free-mode.js":
    /*!*********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/free-mode/free-mode.js ***!
      \*********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ freeMode)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction freeMode({\n  swiper,\n  extendParams,\n  emit,\n  once\n}) {\n  extendParams({\n    freeMode: {\n      enabled: false,\n      momentum: true,\n      momentumRatio: 1,\n      momentumBounce: true,\n      momentumBounceRatio: 1,\n      momentumVelocityRatio: 1,\n      sticky: false,\n      minimumVelocity: 0.02\n    }\n  });\n  function onTouchStart() {\n    if (swiper.params.cssMode) return;\n    const translate = swiper.getTranslate();\n    swiper.setTranslate(translate);\n    swiper.setTransition(0);\n    swiper.touchEventsData.velocities.length = 0;\n    swiper.freeMode.onTouchEnd({\n      currentPos: swiper.rtl ? swiper.translate : -swiper.translate\n    });\n  }\n  function onTouchMove() {\n    if (swiper.params.cssMode) return;\n    const {\n      touchEventsData: data,\n      touches\n    } = swiper;\n    // Velocity\n    if (data.velocities.length === 0) {\n      data.velocities.push({\n        position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n        time: data.touchStartTime\n      });\n    }\n    data.velocities.push({\n      position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n      time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)()\n    });\n  }\n  function onTouchEnd({\n    currentPos\n  }) {\n    if (swiper.params.cssMode) return;\n    const {\n      params,\n      wrapperEl,\n      rtlTranslate: rtl,\n      snapGrid,\n      touchEventsData: data\n    } = swiper;\n    // Time diff\n    const touchEndTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)();\n    const timeDiff = touchEndTime - data.touchStartTime;\n    if (currentPos < -swiper.minTranslate()) {\n      swiper.slideTo(swiper.activeIndex);\n      return;\n    }\n    if (currentPos > -swiper.maxTranslate()) {\n      if (swiper.slides.length < snapGrid.length) {\n        swiper.slideTo(snapGrid.length - 1);\n      } else {\n        swiper.slideTo(swiper.slides.length - 1);\n      }\n      return;\n    }\n    if (params.freeMode.momentum) {\n      if (data.velocities.length > 1) {\n        const lastMoveEvent = data.velocities.pop();\n        const velocityEvent = data.velocities.pop();\n        const distance = lastMoveEvent.position - velocityEvent.position;\n        const time = lastMoveEvent.time - velocityEvent.time;\n        swiper.velocity = distance / time;\n        swiper.velocity /= 2;\n        if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {\n          swiper.velocity = 0;\n        }\n        // this implies that the user stopped moving a finger then released.\n        // There would be no events with distance zero, so the last event is stale.\n        if (time > 150 || (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)() - lastMoveEvent.time > 300) {\n          swiper.velocity = 0;\n        }\n      } else {\n        swiper.velocity = 0;\n      }\n      swiper.velocity *= params.freeMode.momentumVelocityRatio;\n      data.velocities.length = 0;\n      let momentumDuration = 1000 * params.freeMode.momentumRatio;\n      const momentumDistance = swiper.velocity * momentumDuration;\n      let newPosition = swiper.translate + momentumDistance;\n      if (rtl) newPosition = -newPosition;\n      let doBounce = false;\n      let afterBouncePosition;\n      const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;\n      let needsLoopFix;\n      if (newPosition < swiper.maxTranslate()) {\n        if (params.freeMode.momentumBounce) {\n          if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n            newPosition = swiper.maxTranslate() - bounceAmount;\n          }\n          afterBouncePosition = swiper.maxTranslate();\n          doBounce = true;\n          data.allowMomentumBounce = true;\n        } else {\n          newPosition = swiper.maxTranslate();\n        }\n        if (params.loop && params.centeredSlides) needsLoopFix = true;\n      } else if (newPosition > swiper.minTranslate()) {\n        if (params.freeMode.momentumBounce) {\n          if (newPosition - swiper.minTranslate() > bounceAmount) {\n            newPosition = swiper.minTranslate() + bounceAmount;\n          }\n          afterBouncePosition = swiper.minTranslate();\n          doBounce = true;\n          data.allowMomentumBounce = true;\n        } else {\n          newPosition = swiper.minTranslate();\n        }\n        if (params.loop && params.centeredSlides) needsLoopFix = true;\n      } else if (params.freeMode.sticky) {\n        let nextSlide;\n        for (let j = 0; j < snapGrid.length; j += 1) {\n          if (snapGrid[j] > -newPosition) {\n            nextSlide = j;\n            break;\n          }\n        }\n        if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n          newPosition = snapGrid[nextSlide];\n        } else {\n          newPosition = snapGrid[nextSlide - 1];\n        }\n        newPosition = -newPosition;\n      }\n      if (needsLoopFix) {\n        once('transitionEnd', () => {\n          swiper.loopFix();\n        });\n      }\n      // Fix duration\n      if (swiper.velocity !== 0) {\n        if (rtl) {\n          momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n        } else {\n          momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n        }\n        if (params.freeMode.sticky) {\n          // If freeMode.sticky is active and the user ends a swipe with a slow-velocity\n          // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n          // It's easy to see this when simulating touch with mouse events. To fix this,\n          // limit single-slide swipes to the default slide duration. This also has the\n          // nice side effect of matching slide speed if the user stopped moving before\n          // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n          // For faster swipes, also apply limits (albeit higher ones).\n          const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n          const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n          if (moveDistance < currentSlideSize) {\n            momentumDuration = params.speed;\n          } else if (moveDistance < 2 * currentSlideSize) {\n            momentumDuration = params.speed * 1.5;\n          } else {\n            momentumDuration = params.speed * 2.5;\n          }\n        }\n      } else if (params.freeMode.sticky) {\n        swiper.slideToClosest();\n        return;\n      }\n      if (params.freeMode.momentumBounce && doBounce) {\n        swiper.updateProgress(afterBouncePosition);\n        swiper.setTransition(momentumDuration);\n        swiper.setTranslate(newPosition);\n        swiper.transitionStart(true, swiper.swipeDirection);\n        swiper.animating = true;\n        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementTransitionEnd)(wrapperEl, () => {\n          if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n          emit('momentumBounce');\n          swiper.setTransition(params.speed);\n          setTimeout(() => {\n            swiper.setTranslate(afterBouncePosition);\n            (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementTransitionEnd)(wrapperEl, () => {\n              if (!swiper || swiper.destroyed) return;\n              swiper.transitionEnd();\n            });\n          }, 0);\n        });\n      } else if (swiper.velocity) {\n        emit('_freeModeNoMomentumRelease');\n        swiper.updateProgress(newPosition);\n        swiper.setTransition(momentumDuration);\n        swiper.setTranslate(newPosition);\n        swiper.transitionStart(true, swiper.swipeDirection);\n        if (!swiper.animating) {\n          swiper.animating = true;\n          (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementTransitionEnd)(wrapperEl, () => {\n            if (!swiper || swiper.destroyed) return;\n            swiper.transitionEnd();\n          });\n        }\n      } else {\n        swiper.updateProgress(newPosition);\n      }\n      swiper.updateActiveIndex();\n      swiper.updateSlidesClasses();\n    } else if (params.freeMode.sticky) {\n      swiper.slideToClosest();\n      return;\n    } else if (params.freeMode) {\n      emit('_freeModeNoMomentumRelease');\n    }\n    if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {\n      swiper.updateProgress();\n      swiper.updateActiveIndex();\n      swiper.updateSlidesClasses();\n    }\n  }\n  Object.assign(swiper, {\n    freeMode: {\n      onTouchStart,\n      onTouchMove,\n      onTouchEnd\n    }\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/free-mode/free-mode.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/grid/grid.js":
    /*!***********************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/grid/grid.js ***!
      \***********************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Grid)\n/* harmony export */ });\nfunction Grid({\n  swiper,\n  extendParams\n}) {\n  extendParams({\n    grid: {\n      rows: 1,\n      fill: 'column'\n    }\n  });\n  let slidesNumberEvenToRows;\n  let slidesPerRow;\n  let numFullColumns;\n  const getSpaceBetween = () => {\n    let spaceBetween = swiper.params.spaceBetween;\n    if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n      spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;\n    } else if (typeof spaceBetween === 'string') {\n      spaceBetween = parseFloat(spaceBetween);\n    }\n    return spaceBetween;\n  };\n  const initSlides = slidesLength => {\n    const {\n      slidesPerView\n    } = swiper.params;\n    const {\n      rows,\n      fill\n    } = swiper.params.grid;\n    numFullColumns = Math.floor(slidesLength / rows);\n    if (Math.floor(slidesLength / rows) === slidesLength / rows) {\n      slidesNumberEvenToRows = slidesLength;\n    } else {\n      slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;\n    }\n    if (slidesPerView !== 'auto' && fill === 'row') {\n      slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);\n    }\n    slidesPerRow = slidesNumberEvenToRows / rows;\n  };\n  const updateSlide = (i, slide, slidesLength, getDirectionLabel) => {\n    const {\n      slidesPerGroup\n    } = swiper.params;\n    const spaceBetween = getSpaceBetween();\n    const {\n      rows,\n      fill\n    } = swiper.params.grid;\n    // Set slides order\n    let newSlideOrderIndex;\n    let column;\n    let row;\n    if (fill === 'row' && slidesPerGroup > 1) {\n      const groupIndex = Math.floor(i / (slidesPerGroup * rows));\n      const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;\n      const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup);\n      row = Math.floor(slideIndexInGroup / columnsInGroup);\n      column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;\n      newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows;\n      slide.style.order = newSlideOrderIndex;\n    } else if (fill === 'column') {\n      column = Math.floor(i / rows);\n      row = i - column * rows;\n      if (column > numFullColumns || column === numFullColumns && row === rows - 1) {\n        row += 1;\n        if (row >= rows) {\n          row = 0;\n          column += 1;\n        }\n      }\n    } else {\n      row = Math.floor(i / slidesPerRow);\n      column = i - row * slidesPerRow;\n    }\n    slide.row = row;\n    slide.column = column;\n    slide.style[getDirectionLabel('margin-top')] = row !== 0 ? spaceBetween && `${spaceBetween}px` : '';\n  };\n  const updateWrapperSize = (slideSize, snapGrid, getDirectionLabel) => {\n    const {\n      centeredSlides,\n      roundLengths\n    } = swiper.params;\n    const spaceBetween = getSpaceBetween();\n    const {\n      rows\n    } = swiper.params.grid;\n    swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;\n    swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;\n    swiper.wrapperEl.style[getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;\n    if (centeredSlides) {\n      const newSlidesGrid = [];\n      for (let i = 0; i < snapGrid.length; i += 1) {\n        let slidesGridItem = snapGrid[i];\n        if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n        if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n      }\n      snapGrid.splice(0, snapGrid.length);\n      snapGrid.push(...newSlidesGrid);\n    }\n  };\n  swiper.grid = {\n    initSlides,\n    updateSlide,\n    updateWrapperSize\n  };\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/grid/grid.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/hash-navigation/hash-navigation.js":
    /*!*********************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/hash-navigation/hash-navigation.js ***!
      \*********************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ HashNavigation)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\n\nfunction HashNavigation({\n  swiper,\n  extendParams,\n  emit,\n  on\n}) {\n  let initialized = false;\n  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  extendParams({\n    hashNavigation: {\n      enabled: false,\n      replaceState: false,\n      watchState: false,\n      getSlideIndex(_s, hash) {\n        if (swiper.virtual && swiper.params.virtual.enabled) {\n          const slideWithHash = swiper.slides.filter(slideEl => slideEl.getAttribute('data-hash') === hash)[0];\n          if (!slideWithHash) return 0;\n          const index = parseInt(slideWithHash.getAttribute('data-swiper-slide-index'), 10);\n          return index;\n        }\n        return swiper.getSlideIndex((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(swiper.slidesEl, `.${swiper.params.slideClass}[data-hash=\"${hash}\"], swiper-slide[data-hash=\"${hash}\"]`)[0]);\n      }\n    }\n  });\n  const onHashChange = () => {\n    emit('hashChange');\n    const newHash = document.location.hash.replace('#', '');\n    const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index=\"${swiper.activeIndex}\"]`) : swiper.slides[swiper.activeIndex];\n    const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') : '';\n    if (newHash !== activeSlideHash) {\n      const newIndex = swiper.params.hashNavigation.getSlideIndex(swiper, newHash);\n      if (typeof newIndex === 'undefined' || Number.isNaN(newIndex)) return;\n      swiper.slideTo(newIndex);\n    }\n  };\n  const setHash = () => {\n    if (!initialized || !swiper.params.hashNavigation.enabled) return;\n    const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index=\"${swiper.activeIndex}\"]`) : swiper.slides[swiper.activeIndex];\n    const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') || activeSlideEl.getAttribute('data-history') : '';\n    if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) {\n      window.history.replaceState(null, null, `#${activeSlideHash}` || '');\n      emit('hashSet');\n    } else {\n      document.location.hash = activeSlideHash || '';\n      emit('hashSet');\n    }\n  };\n  const init = () => {\n    if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return;\n    initialized = true;\n    const hash = document.location.hash.replace('#', '');\n    if (hash) {\n      const speed = 0;\n      const index = swiper.params.hashNavigation.getSlideIndex(swiper, hash);\n      swiper.slideTo(index || 0, speed, swiper.params.runCallbacksOnInit, true);\n    }\n    if (swiper.params.hashNavigation.watchState) {\n      window.addEventListener('hashchange', onHashChange);\n    }\n  };\n  const destroy = () => {\n    if (swiper.params.hashNavigation.watchState) {\n      window.removeEventListener('hashchange', onHashChange);\n    }\n  };\n  on('init', () => {\n    if (swiper.params.hashNavigation.enabled) {\n      init();\n    }\n  });\n  on('destroy', () => {\n    if (swiper.params.hashNavigation.enabled) {\n      destroy();\n    }\n  });\n  on('transitionEnd _freeModeNoMomentumRelease', () => {\n    if (initialized) {\n      setHash();\n    }\n  });\n  on('slideChange', () => {\n    if (initialized && swiper.params.cssMode) {\n      setHash();\n    }\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/hash-navigation/hash-navigation.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/history/history.js":
    /*!*****************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/history/history.js ***!
      \*****************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ History)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n\nfunction History({\n  swiper,\n  extendParams,\n  on\n}) {\n  extendParams({\n    history: {\n      enabled: false,\n      root: '',\n      replaceState: false,\n      key: 'slides',\n      keepQuery: false\n    }\n  });\n  let initialized = false;\n  let paths = {};\n  const slugify = text => {\n    return text.toString().replace(/\\s+/g, '-').replace(/[^\\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, '');\n  };\n  const getPathValues = urlOverride => {\n    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n    let location;\n    if (urlOverride) {\n      location = new URL(urlOverride);\n    } else {\n      location = window.location;\n    }\n    const pathArray = location.pathname.slice(1).split('/').filter(part => part !== '');\n    const total = pathArray.length;\n    const key = pathArray[total - 2];\n    const value = pathArray[total - 1];\n    return {\n      key,\n      value\n    };\n  };\n  const setHistory = (key, index) => {\n    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n    if (!initialized || !swiper.params.history.enabled) return;\n    let location;\n    if (swiper.params.url) {\n      location = new URL(swiper.params.url);\n    } else {\n      location = window.location;\n    }\n    const slide = swiper.slides[index];\n    let value = slugify(slide.getAttribute('data-history'));\n    if (swiper.params.history.root.length > 0) {\n      let root = swiper.params.history.root;\n      if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1);\n      value = `${root}/${key ? `${key}/` : ''}${value}`;\n    } else if (!location.pathname.includes(key)) {\n      value = `${key ? `${key}/` : ''}${value}`;\n    }\n    if (swiper.params.history.keepQuery) {\n      value += location.search;\n    }\n    const currentState = window.history.state;\n    if (currentState && currentState.value === value) {\n      return;\n    }\n    if (swiper.params.history.replaceState) {\n      window.history.replaceState({\n        value\n      }, null, value);\n    } else {\n      window.history.pushState({\n        value\n      }, null, value);\n    }\n  };\n  const scrollToSlide = (speed, value, runCallbacks) => {\n    if (value) {\n      for (let i = 0, length = swiper.slides.length; i < length; i += 1) {\n        const slide = swiper.slides[i];\n        const slideHistory = slugify(slide.getAttribute('data-history'));\n        if (slideHistory === value) {\n          const index = swiper.getSlideIndex(slide);\n          swiper.slideTo(index, speed, runCallbacks);\n        }\n      }\n    } else {\n      swiper.slideTo(0, speed, runCallbacks);\n    }\n  };\n  const setHistoryPopState = () => {\n    paths = getPathValues(swiper.params.url);\n    scrollToSlide(swiper.params.speed, paths.value, false);\n  };\n  const init = () => {\n    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n    if (!swiper.params.history) return;\n    if (!window.history || !window.history.pushState) {\n      swiper.params.history.enabled = false;\n      swiper.params.hashNavigation.enabled = true;\n      return;\n    }\n    initialized = true;\n    paths = getPathValues(swiper.params.url);\n    if (!paths.key && !paths.value) {\n      if (!swiper.params.history.replaceState) {\n        window.addEventListener('popstate', setHistoryPopState);\n      }\n      return;\n    }\n    scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit);\n    if (!swiper.params.history.replaceState) {\n      window.addEventListener('popstate', setHistoryPopState);\n    }\n  };\n  const destroy = () => {\n    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n    if (!swiper.params.history.replaceState) {\n      window.removeEventListener('popstate', setHistoryPopState);\n    }\n  };\n  on('init', () => {\n    if (swiper.params.history.enabled) {\n      init();\n    }\n  });\n  on('destroy', () => {\n    if (swiper.params.history.enabled) {\n      destroy();\n    }\n  });\n  on('transitionEnd _freeModeNoMomentumRelease', () => {\n    if (initialized) {\n      setHistory(swiper.params.history.key, swiper.activeIndex);\n    }\n  });\n  on('slideChange', () => {\n    if (initialized && swiper.params.cssMode) {\n      setHistory(swiper.params.history.key, swiper.activeIndex);\n    }\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/history/history.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/keyboard/keyboard.js":
    /*!*******************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/keyboard/keyboard.js ***!
      \*******************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Keyboard)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n/* eslint-disable consistent-return */\n\n\nfunction Keyboard({\n  swiper,\n  extendParams,\n  on,\n  emit\n}) {\n  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  swiper.keyboard = {\n    enabled: false\n  };\n  extendParams({\n    keyboard: {\n      enabled: false,\n      onlyInViewport: true,\n      pageUpDown: true\n    }\n  });\n  function handle(event) {\n    if (!swiper.enabled) return;\n    const {\n      rtlTranslate: rtl\n    } = swiper;\n    let e = event;\n    if (e.originalEvent) e = e.originalEvent; // jquery fix\n    const kc = e.keyCode || e.charCode;\n    const pageUpDown = swiper.params.keyboard.pageUpDown;\n    const isPageUp = pageUpDown && kc === 33;\n    const isPageDown = pageUpDown && kc === 34;\n    const isArrowLeft = kc === 37;\n    const isArrowRight = kc === 39;\n    const isArrowUp = kc === 38;\n    const isArrowDown = kc === 40;\n    // Directions locks\n    if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {\n      return false;\n    }\n    if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {\n      return false;\n    }\n    if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\n      return undefined;\n    }\n    if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {\n      return undefined;\n    }\n    if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {\n      let inView = false;\n      // Check that swiper should be inside of visible area of window\n      if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(swiper.el, `.${swiper.params.slideClass}, swiper-slide`).length > 0 && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(swiper.el, `.${swiper.params.slideActiveClass}`).length === 0) {\n        return undefined;\n      }\n      const el = swiper.el;\n      const swiperWidth = el.clientWidth;\n      const swiperHeight = el.clientHeight;\n      const windowWidth = window.innerWidth;\n      const windowHeight = window.innerHeight;\n      const swiperOffset = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementOffset)(el);\n      if (rtl) swiperOffset.left -= el.scrollLeft;\n      const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];\n      for (let i = 0; i < swiperCoord.length; i += 1) {\n        const point = swiperCoord[i];\n        if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {\n          if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n          inView = true;\n        }\n      }\n      if (!inView) return undefined;\n    }\n    if (swiper.isHorizontal()) {\n      if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {\n        if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n      }\n      if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();\n      if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();\n    } else {\n      if (isPageUp || isPageDown || isArrowUp || isArrowDown) {\n        if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n      }\n      if (isPageDown || isArrowDown) swiper.slideNext();\n      if (isPageUp || isArrowUp) swiper.slidePrev();\n    }\n    emit('keyPress', kc);\n    return undefined;\n  }\n  function enable() {\n    if (swiper.keyboard.enabled) return;\n    document.addEventListener('keydown', handle);\n    swiper.keyboard.enabled = true;\n  }\n  function disable() {\n    if (!swiper.keyboard.enabled) return;\n    document.removeEventListener('keydown', handle);\n    swiper.keyboard.enabled = false;\n  }\n  on('init', () => {\n    if (swiper.params.keyboard.enabled) {\n      enable();\n    }\n  });\n  on('destroy', () => {\n    if (swiper.keyboard.enabled) {\n      disable();\n    }\n  });\n  Object.assign(swiper.keyboard, {\n    enable,\n    disable\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/keyboard/keyboard.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/manipulation.js":
    /*!***************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/manipulation.js ***!
      \***************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Manipulation)\n/* harmony export */ });\n/* harmony import */ var _methods_appendSlide_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./methods/appendSlide.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/appendSlide.js\");\n/* harmony import */ var _methods_prependSlide_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./methods/prependSlide.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/prependSlide.js\");\n/* harmony import */ var _methods_addSlide_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./methods/addSlide.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/addSlide.js\");\n/* harmony import */ var _methods_removeSlide_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./methods/removeSlide.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/removeSlide.js\");\n/* harmony import */ var _methods_removeAllSlides_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./methods/removeAllSlides.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/removeAllSlides.js\");\n\n\n\n\n\nfunction Manipulation({\n  swiper\n}) {\n  Object.assign(swiper, {\n    appendSlide: _methods_appendSlide_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].bind(swiper),\n    prependSlide: _methods_prependSlide_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].bind(swiper),\n    addSlide: _methods_addSlide_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].bind(swiper),\n    removeSlide: _methods_removeSlide_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].bind(swiper),\n    removeAllSlides: _methods_removeAllSlides_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].bind(swiper)\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/manipulation.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/addSlide.js":
    /*!*******************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/addSlide.js ***!
      \*******************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ addSlide)\n/* harmony export */ });\nfunction addSlide(index, slides) {\n  const swiper = this;\n  const {\n    params,\n    activeIndex,\n    slidesEl\n  } = swiper;\n  let activeIndexBuffer = activeIndex;\n  if (params.loop) {\n    activeIndexBuffer -= swiper.loopedSlides;\n    swiper.loopDestroy();\n    swiper.recalcSlides();\n  }\n  const baseLength = swiper.slides.length;\n  if (index <= 0) {\n    swiper.prependSlide(slides);\n    return;\n  }\n  if (index >= baseLength) {\n    swiper.appendSlide(slides);\n    return;\n  }\n  let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n  const slidesBuffer = [];\n  for (let i = baseLength - 1; i >= index; i -= 1) {\n    const currentSlide = swiper.slides[i];\n    currentSlide.remove();\n    slidesBuffer.unshift(currentSlide);\n  }\n  if (typeof slides === 'object' && 'length' in slides) {\n    for (let i = 0; i < slides.length; i += 1) {\n      if (slides[i]) slidesEl.append(slides[i]);\n    }\n    newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n  } else {\n    slidesEl.append(slides);\n  }\n  for (let i = 0; i < slidesBuffer.length; i += 1) {\n    slidesEl.append(slidesBuffer[i]);\n  }\n  swiper.recalcSlides();\n  if (params.loop) {\n    swiper.loopCreate();\n  }\n  if (!params.observer || swiper.isElement) {\n    swiper.update();\n  }\n  if (params.loop) {\n    swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n  } else {\n    swiper.slideTo(newActiveIndex, 0, false);\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/addSlide.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/appendSlide.js":
    /*!**********************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/appendSlide.js ***!
      \**********************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ appendSlide)\n/* harmony export */ });\nfunction appendSlide(slides) {\n  const swiper = this;\n  const {\n    params,\n    slidesEl\n  } = swiper;\n  if (params.loop) {\n    swiper.loopDestroy();\n  }\n  const appendElement = slideEl => {\n    if (typeof slideEl === 'string') {\n      const tempDOM = document.createElement('div');\n      tempDOM.innerHTML = slideEl;\n      slidesEl.append(tempDOM.children[0]);\n      tempDOM.innerHTML = '';\n    } else {\n      slidesEl.append(slideEl);\n    }\n  };\n  if (typeof slides === 'object' && 'length' in slides) {\n    for (let i = 0; i < slides.length; i += 1) {\n      if (slides[i]) appendElement(slides[i]);\n    }\n  } else {\n    appendElement(slides);\n  }\n  swiper.recalcSlides();\n  if (params.loop) {\n    swiper.loopCreate();\n  }\n  if (!params.observer || swiper.isElement) {\n    swiper.update();\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/appendSlide.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/prependSlide.js":
    /*!***********************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/prependSlide.js ***!
      \***********************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ prependSlide)\n/* harmony export */ });\nfunction prependSlide(slides) {\n  const swiper = this;\n  const {\n    params,\n    activeIndex,\n    slidesEl\n  } = swiper;\n  if (params.loop) {\n    swiper.loopDestroy();\n  }\n  let newActiveIndex = activeIndex + 1;\n  const prependElement = slideEl => {\n    if (typeof slideEl === 'string') {\n      const tempDOM = document.createElement('div');\n      tempDOM.innerHTML = slideEl;\n      slidesEl.prepend(tempDOM.children[0]);\n      tempDOM.innerHTML = '';\n    } else {\n      slidesEl.prepend(slideEl);\n    }\n  };\n  if (typeof slides === 'object' && 'length' in slides) {\n    for (let i = 0; i < slides.length; i += 1) {\n      if (slides[i]) prependElement(slides[i]);\n    }\n    newActiveIndex = activeIndex + slides.length;\n  } else {\n    prependElement(slides);\n  }\n  swiper.recalcSlides();\n  if (params.loop) {\n    swiper.loopCreate();\n  }\n  if (!params.observer || swiper.isElement) {\n    swiper.update();\n  }\n  swiper.slideTo(newActiveIndex, 0, false);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/prependSlide.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/removeAllSlides.js":
    /*!**************************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/removeAllSlides.js ***!
      \**************************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ removeAllSlides)\n/* harmony export */ });\nfunction removeAllSlides() {\n  const swiper = this;\n  const slidesIndexes = [];\n  for (let i = 0; i < swiper.slides.length; i += 1) {\n    slidesIndexes.push(i);\n  }\n  swiper.removeSlide(slidesIndexes);\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/removeAllSlides.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/removeSlide.js":
    /*!**********************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/removeSlide.js ***!
      \**********************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ removeSlide)\n/* harmony export */ });\nfunction removeSlide(slidesIndexes) {\n  const swiper = this;\n  const {\n    params,\n    activeIndex\n  } = swiper;\n  let activeIndexBuffer = activeIndex;\n  if (params.loop) {\n    activeIndexBuffer -= swiper.loopedSlides;\n    swiper.loopDestroy();\n  }\n  let newActiveIndex = activeIndexBuffer;\n  let indexToRemove;\n  if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\n    for (let i = 0; i < slidesIndexes.length; i += 1) {\n      indexToRemove = slidesIndexes[i];\n      if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();\n      if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n    }\n    newActiveIndex = Math.max(newActiveIndex, 0);\n  } else {\n    indexToRemove = slidesIndexes;\n    if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();\n    if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n    newActiveIndex = Math.max(newActiveIndex, 0);\n  }\n  swiper.recalcSlides();\n  if (params.loop) {\n    swiper.loopCreate();\n  }\n  if (!params.observer || swiper.isElement) {\n    swiper.update();\n  }\n  if (params.loop) {\n    swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n  } else {\n    swiper.slideTo(newActiveIndex, 0, false);\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/methods/removeSlide.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/mousewheel/mousewheel.js":
    /*!***********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/mousewheel/mousewheel.js ***!
      \***********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Mousewheel)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n/* eslint-disable consistent-return */\n\n\nfunction Mousewheel({\n  swiper,\n  extendParams,\n  on,\n  emit\n}) {\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  extendParams({\n    mousewheel: {\n      enabled: false,\n      releaseOnEdges: false,\n      invert: false,\n      forceToAxis: false,\n      sensitivity: 1,\n      eventsTarget: 'container',\n      thresholdDelta: null,\n      thresholdTime: null,\n      noMousewheelClass: 'swiper-no-mousewheel'\n    }\n  });\n  swiper.mousewheel = {\n    enabled: false\n  };\n  let timeout;\n  let lastScrollTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)();\n  let lastEventBeforeSnap;\n  const recentWheelEvents = [];\n  function normalize(e) {\n    // Reasonable defaults\n    const PIXEL_STEP = 10;\n    const LINE_HEIGHT = 40;\n    const PAGE_HEIGHT = 800;\n    let sX = 0;\n    let sY = 0; // spinX, spinY\n    let pX = 0;\n    let pY = 0; // pixelX, pixelY\n\n    // Legacy\n    if ('detail' in e) {\n      sY = e.detail;\n    }\n    if ('wheelDelta' in e) {\n      sY = -e.wheelDelta / 120;\n    }\n    if ('wheelDeltaY' in e) {\n      sY = -e.wheelDeltaY / 120;\n    }\n    if ('wheelDeltaX' in e) {\n      sX = -e.wheelDeltaX / 120;\n    }\n\n    // side scrolling on FF with DOMMouseScroll\n    if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {\n      sX = sY;\n      sY = 0;\n    }\n    pX = sX * PIXEL_STEP;\n    pY = sY * PIXEL_STEP;\n    if ('deltaY' in e) {\n      pY = e.deltaY;\n    }\n    if ('deltaX' in e) {\n      pX = e.deltaX;\n    }\n    if (e.shiftKey && !pX) {\n      // if user scrolls with shift he wants horizontal scroll\n      pX = pY;\n      pY = 0;\n    }\n    if ((pX || pY) && e.deltaMode) {\n      if (e.deltaMode === 1) {\n        // delta in LINE units\n        pX *= LINE_HEIGHT;\n        pY *= LINE_HEIGHT;\n      } else {\n        // delta in PAGE units\n        pX *= PAGE_HEIGHT;\n        pY *= PAGE_HEIGHT;\n      }\n    }\n\n    // Fall-back if spin cannot be determined\n    if (pX && !sX) {\n      sX = pX < 1 ? -1 : 1;\n    }\n    if (pY && !sY) {\n      sY = pY < 1 ? -1 : 1;\n    }\n    return {\n      spinX: sX,\n      spinY: sY,\n      pixelX: pX,\n      pixelY: pY\n    };\n  }\n  function handleMouseEnter() {\n    if (!swiper.enabled) return;\n    swiper.mouseEntered = true;\n  }\n  function handleMouseLeave() {\n    if (!swiper.enabled) return;\n    swiper.mouseEntered = false;\n  }\n  function animateSlider(newEvent) {\n    if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) {\n      // Prevent if delta of wheel scroll delta is below configured threshold\n      return false;\n    }\n    if (swiper.params.mousewheel.thresholdTime && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)() - lastScrollTime < swiper.params.mousewheel.thresholdTime) {\n      // Prevent if time between scrolls is below configured threshold\n      return false;\n    }\n\n    // If the movement is NOT big enough and\n    // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):\n    //   Don't go any further (avoid insignificant scroll movement).\n    if (newEvent.delta >= 6 && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)() - lastScrollTime < 60) {\n      // Return false as a default\n      return true;\n    }\n    // If user is scrolling towards the end:\n    //   If the slider hasn't hit the latest slide or\n    //   if the slider is a loop and\n    //   if the slider isn't moving right now:\n    //     Go to next slide and\n    //     emit a scroll event.\n    // Else (the user is scrolling towards the beginning) and\n    // if the slider hasn't hit the first slide or\n    // if the slider is a loop and\n    // if the slider isn't moving right now:\n    //   Go to prev slide and\n    //   emit a scroll event.\n    if (newEvent.direction < 0) {\n      if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {\n        swiper.slideNext();\n        emit('scroll', newEvent.raw);\n      }\n    } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {\n      swiper.slidePrev();\n      emit('scroll', newEvent.raw);\n    }\n    // If you got here is because an animation has been triggered so store the current time\n    lastScrollTime = new window.Date().getTime();\n    // Return false as a default\n    return false;\n  }\n  function releaseScroll(newEvent) {\n    const params = swiper.params.mousewheel;\n    if (newEvent.direction < 0) {\n      if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {\n        // Return true to animate scroll on edges\n        return true;\n      }\n    } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {\n      // Return true to animate scroll on edges\n      return true;\n    }\n    return false;\n  }\n  function handle(event) {\n    let e = event;\n    let disableParentSwiper = true;\n    if (!swiper.enabled) return;\n\n    // Ignore event if the target or its parents have the swiper-no-mousewheel class\n    if (event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`)) return;\n    const params = swiper.params.mousewheel;\n    if (swiper.params.cssMode) {\n      e.preventDefault();\n    }\n    let targetEl = swiper.el;\n    if (swiper.params.mousewheel.eventsTarget !== 'container') {\n      targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);\n    }\n    const targetElContainsTarget = targetEl && targetEl.contains(e.target);\n    if (!swiper.mouseEntered && !targetElContainsTarget && !params.releaseOnEdges) return true;\n    if (e.originalEvent) e = e.originalEvent; // jquery fix\n    let delta = 0;\n    const rtlFactor = swiper.rtlTranslate ? -1 : 1;\n    const data = normalize(e);\n    if (params.forceToAxis) {\n      if (swiper.isHorizontal()) {\n        if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;\n      } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;\n    } else {\n      delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;\n    }\n    if (delta === 0) return true;\n    if (params.invert) delta = -delta;\n\n    // Get the scroll positions\n    let positions = swiper.getTranslate() + delta * params.sensitivity;\n    if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();\n    if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate();\n\n    // When loop is true:\n    //     the disableParentSwiper will be true.\n    // When loop is false:\n    //     if the scroll positions is not on edge,\n    //     then the disableParentSwiper will be true.\n    //     if the scroll on edge positions,\n    //     then the disableParentSwiper will be false.\n    disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());\n    if (disableParentSwiper && swiper.params.nested) e.stopPropagation();\n    if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {\n      // Register the new event in a variable which stores the relevant data\n      const newEvent = {\n        time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)(),\n        delta: Math.abs(delta),\n        direction: Math.sign(delta),\n        raw: event\n      };\n\n      // Keep the most recent events\n      if (recentWheelEvents.length >= 2) {\n        recentWheelEvents.shift(); // only store the last N events\n      }\n\n      const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;\n      recentWheelEvents.push(newEvent);\n\n      // If there is at least one previous recorded event:\n      //   If direction has changed or\n      //   if the scroll is quicker than the previous one:\n      //     Animate the slider.\n      // Else (this is the first time the wheel is moved):\n      //     Animate the slider.\n      if (prevEvent) {\n        if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {\n          animateSlider(newEvent);\n        }\n      } else {\n        animateSlider(newEvent);\n      }\n\n      // If it's time to release the scroll:\n      //   Return now so you don't hit the preventDefault.\n      if (releaseScroll(newEvent)) {\n        return true;\n      }\n    } else {\n      // Freemode or scrollContainer:\n\n      // If we recently snapped after a momentum scroll, then ignore wheel events\n      // to give time for the deceleration to finish. Stop ignoring after 500 msecs\n      // or if it's a new scroll (larger delta or inverse sign as last event before\n      // an end-of-momentum snap).\n      const newEvent = {\n        time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)(),\n        delta: Math.abs(delta),\n        direction: Math.sign(delta)\n      };\n      const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction;\n      if (!ignoreWheelEvents) {\n        lastEventBeforeSnap = undefined;\n        let position = swiper.getTranslate() + delta * params.sensitivity;\n        const wasBeginning = swiper.isBeginning;\n        const wasEnd = swiper.isEnd;\n        if (position >= swiper.minTranslate()) position = swiper.minTranslate();\n        if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();\n        swiper.setTransition(0);\n        swiper.setTranslate(position);\n        swiper.updateProgress();\n        swiper.updateActiveIndex();\n        swiper.updateSlidesClasses();\n        if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {\n          swiper.updateSlidesClasses();\n        }\n        if (swiper.params.loop) {\n          swiper.loopFix({\n            direction: newEvent.direction < 0 ? 'next' : 'prev',\n            byMousewheel: true\n          });\n        }\n        if (swiper.params.freeMode.sticky) {\n          // When wheel scrolling starts with sticky (aka snap) enabled, then detect\n          // the end of a momentum scroll by storing recent (N=15?) wheel events.\n          // 1. do all N events have decreasing or same (absolute value) delta?\n          // 2. did all N events arrive in the last M (M=500?) msecs?\n          // 3. does the earliest event have an (absolute value) delta that's\n          //    at least P (P=1?) larger than the most recent event's delta?\n          // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?\n          // If 1-4 are \"yes\" then we're near the end of a momentum scroll deceleration.\n          // Snap immediately and ignore remaining wheel events in this scroll.\n          // See comment above for \"remaining wheel events in this scroll\" determination.\n          // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.\n          clearTimeout(timeout);\n          timeout = undefined;\n          if (recentWheelEvents.length >= 15) {\n            recentWheelEvents.shift(); // only store the last N events\n          }\n\n          const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;\n          const firstEvent = recentWheelEvents[0];\n          recentWheelEvents.push(newEvent);\n          if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) {\n            // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.\n            recentWheelEvents.splice(0);\n          } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) {\n            // We're at the end of the deceleration of a momentum scroll, so there's no need\n            // to wait for more events. Snap ASAP on the next tick.\n            // Also, because there's some remaining momentum we'll bias the snap in the\n            // direction of the ongoing scroll because it's better UX for the scroll to snap\n            // in the same direction as the scroll instead of reversing to snap.  Therefore,\n            // if it's already scrolled more than 20% in the current direction, keep going.\n            const snapToThreshold = delta > 0 ? 0.8 : 0.2;\n            lastEventBeforeSnap = newEvent;\n            recentWheelEvents.splice(0);\n            timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {\n              swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n            }, 0); // no delay; move on next tick\n          }\n\n          if (!timeout) {\n            // if we get here, then we haven't detected the end of a momentum scroll, so\n            // we'll consider a scroll \"complete\" when there haven't been any wheel events\n            // for 500ms.\n            timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {\n              const snapToThreshold = 0.5;\n              lastEventBeforeSnap = newEvent;\n              recentWheelEvents.splice(0);\n              swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n            }, 500);\n          }\n        }\n\n        // Emit event\n        if (!ignoreWheelEvents) emit('scroll', e);\n\n        // Stop autoplay\n        if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop();\n        // Return page scroll on edge positions\n        if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;\n      }\n    }\n    if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n    return false;\n  }\n  function events(method) {\n    let targetEl = swiper.el;\n    if (swiper.params.mousewheel.eventsTarget !== 'container') {\n      targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);\n    }\n    targetEl[method]('mouseenter', handleMouseEnter);\n    targetEl[method]('mouseleave', handleMouseLeave);\n    targetEl[method]('wheel', handle);\n  }\n  function enable() {\n    if (swiper.params.cssMode) {\n      swiper.wrapperEl.removeEventListener('wheel', handle);\n      return true;\n    }\n    if (swiper.mousewheel.enabled) return false;\n    events('addEventListener');\n    swiper.mousewheel.enabled = true;\n    return true;\n  }\n  function disable() {\n    if (swiper.params.cssMode) {\n      swiper.wrapperEl.addEventListener(event, handle);\n      return true;\n    }\n    if (!swiper.mousewheel.enabled) return false;\n    events('removeEventListener');\n    swiper.mousewheel.enabled = false;\n    return true;\n  }\n  on('init', () => {\n    if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {\n      disable();\n    }\n    if (swiper.params.mousewheel.enabled) enable();\n  });\n  on('destroy', () => {\n    if (swiper.params.cssMode) {\n      enable();\n    }\n    if (swiper.mousewheel.enabled) disable();\n  });\n  Object.assign(swiper.mousewheel, {\n    enable,\n    disable\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/mousewheel/mousewheel.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/navigation/navigation.js":
    /*!***********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/navigation/navigation.js ***!
      \***********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Navigation)\n/* harmony export */ });\n/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/create-element-if-not-defined.js\");\n\nfunction Navigation({\n  swiper,\n  extendParams,\n  on,\n  emit\n}) {\n  extendParams({\n    navigation: {\n      nextEl: null,\n      prevEl: null,\n      hideOnClick: false,\n      disabledClass: 'swiper-button-disabled',\n      hiddenClass: 'swiper-button-hidden',\n      lockClass: 'swiper-button-lock',\n      navigationDisabledClass: 'swiper-navigation-disabled'\n    }\n  });\n  swiper.navigation = {\n    nextEl: null,\n    prevEl: null\n  };\n  const makeElementsArray = el => {\n    if (!Array.isArray(el)) el = [el].filter(e => !!e);\n    return el;\n  };\n  function getEl(el) {\n    let res;\n    if (el && typeof el === 'string' && swiper.isElement) {\n      res = swiper.el.shadowRoot.querySelector(el);\n      if (res) return res;\n    }\n    if (el) {\n      if (typeof el === 'string') res = [...document.querySelectorAll(el)];\n      if (swiper.params.uniqueNavElements && typeof el === 'string' && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) {\n        res = swiper.el.querySelector(el);\n      }\n    }\n    if (el && !res) return el;\n    // if (Array.isArray(res) && res.length === 1) res = res[0];\n    return res;\n  }\n  function toggleEl(el, disabled) {\n    const params = swiper.params.navigation;\n    el = makeElementsArray(el);\n    el.forEach(subEl => {\n      if (subEl) {\n        subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' '));\n        if (subEl.tagName === 'BUTTON') subEl.disabled = disabled;\n        if (swiper.params.watchOverflow && swiper.enabled) {\n          subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n        }\n      }\n    });\n  }\n  function update() {\n    // Update Navigation Buttons\n    const {\n      nextEl,\n      prevEl\n    } = swiper.navigation;\n    if (swiper.params.loop) {\n      toggleEl(prevEl, false);\n      toggleEl(nextEl, false);\n      return;\n    }\n    toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind);\n    toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind);\n  }\n  function onPrevClick(e) {\n    e.preventDefault();\n    if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n    swiper.slidePrev();\n    emit('navigationPrev');\n  }\n  function onNextClick(e) {\n    e.preventDefault();\n    if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n    swiper.slideNext();\n    emit('navigationNext');\n  }\n  function init() {\n    const params = swiper.params.navigation;\n    swiper.params.navigation = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiper, swiper.originalParams.navigation, swiper.params.navigation, {\n      nextEl: 'swiper-button-next',\n      prevEl: 'swiper-button-prev'\n    });\n    if (!(params.nextEl || params.prevEl)) return;\n    let nextEl = getEl(params.nextEl);\n    let prevEl = getEl(params.prevEl);\n    Object.assign(swiper.navigation, {\n      nextEl,\n      prevEl\n    });\n    nextEl = makeElementsArray(nextEl);\n    prevEl = makeElementsArray(prevEl);\n    const initButton = (el, dir) => {\n      if (el) {\n        el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n      }\n      if (!swiper.enabled && el) {\n        el.classList.add(...params.lockClass.split(' '));\n      }\n    };\n    nextEl.forEach(el => initButton(el, 'next'));\n    prevEl.forEach(el => initButton(el, 'prev'));\n  }\n  function destroy() {\n    let {\n      nextEl,\n      prevEl\n    } = swiper.navigation;\n    nextEl = makeElementsArray(nextEl);\n    prevEl = makeElementsArray(prevEl);\n    const destroyButton = (el, dir) => {\n      el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n      el.classList.remove(...swiper.params.navigation.disabledClass.split(' '));\n    };\n    nextEl.forEach(el => destroyButton(el, 'next'));\n    prevEl.forEach(el => destroyButton(el, 'prev'));\n  }\n  on('init', () => {\n    if (swiper.params.navigation.enabled === false) {\n      // eslint-disable-next-line\n      disable();\n    } else {\n      init();\n      update();\n    }\n  });\n  on('toEdge fromEdge lock unlock', () => {\n    update();\n  });\n  on('destroy', () => {\n    destroy();\n  });\n  on('enable disable', () => {\n    let {\n      nextEl,\n      prevEl\n    } = swiper.navigation;\n    nextEl = makeElementsArray(nextEl);\n    prevEl = makeElementsArray(prevEl);\n    [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.navigation.lockClass));\n  });\n  on('click', (_s, e) => {\n    let {\n      nextEl,\n      prevEl\n    } = swiper.navigation;\n    nextEl = makeElementsArray(nextEl);\n    prevEl = makeElementsArray(prevEl);\n    const targetEl = e.target;\n    if (swiper.params.navigation.hideOnClick && !prevEl.includes(targetEl) && !nextEl.includes(targetEl)) {\n      if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n      let isHidden;\n      if (nextEl.length) {\n        isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n      } else if (prevEl.length) {\n        isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n      }\n      if (isHidden === true) {\n        emit('navigationShow');\n      } else {\n        emit('navigationHide');\n      }\n      [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass));\n    }\n  });\n  const enable = () => {\n    swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' '));\n    init();\n    update();\n  };\n  const disable = () => {\n    swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' '));\n    destroy();\n  };\n  Object.assign(swiper.navigation, {\n    enable,\n    disable,\n    update,\n    init,\n    destroy\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/navigation/navigation.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/pagination/pagination.js":
    /*!***********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/pagination/pagination.js ***!
      \***********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Pagination)\n/* harmony export */ });\n/* harmony import */ var _shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/classes-to-selector.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/classes-to-selector.js\");\n/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/create-element-if-not-defined.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\n\n\nfunction Pagination({\n  swiper,\n  extendParams,\n  on,\n  emit\n}) {\n  const pfx = 'swiper-pagination';\n  extendParams({\n    pagination: {\n      el: null,\n      bulletElement: 'span',\n      clickable: false,\n      hideOnClick: false,\n      renderBullet: null,\n      renderProgressbar: null,\n      renderFraction: null,\n      renderCustom: null,\n      progressbarOpposite: false,\n      type: 'bullets',\n      // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n      dynamicBullets: false,\n      dynamicMainBullets: 1,\n      formatFractionCurrent: number => number,\n      formatFractionTotal: number => number,\n      bulletClass: `${pfx}-bullet`,\n      bulletActiveClass: `${pfx}-bullet-active`,\n      modifierClass: `${pfx}-`,\n      currentClass: `${pfx}-current`,\n      totalClass: `${pfx}-total`,\n      hiddenClass: `${pfx}-hidden`,\n      progressbarFillClass: `${pfx}-progressbar-fill`,\n      progressbarOppositeClass: `${pfx}-progressbar-opposite`,\n      clickableClass: `${pfx}-clickable`,\n      lockClass: `${pfx}-lock`,\n      horizontalClass: `${pfx}-horizontal`,\n      verticalClass: `${pfx}-vertical`,\n      paginationDisabledClass: `${pfx}-disabled`\n    }\n  });\n  swiper.pagination = {\n    el: null,\n    bullets: []\n  };\n  let bulletSize;\n  let dynamicBulletIndex = 0;\n  const makeElementsArray = el => {\n    if (!Array.isArray(el)) el = [el].filter(e => !!e);\n    return el;\n  };\n  function isPaginationDisabled() {\n    return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0;\n  }\n  function setSideBullets(bulletEl, position) {\n    const {\n      bulletActiveClass\n    } = swiper.params.pagination;\n    if (!bulletEl) return;\n    bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n    if (bulletEl) {\n      bulletEl.classList.add(`${bulletActiveClass}-${position}`);\n      bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n      if (bulletEl) {\n        bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`);\n      }\n    }\n  }\n  function onBulletClick(e) {\n    const bulletEl = e.target.closest((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiper.params.pagination.bulletClass));\n    if (!bulletEl) {\n      return;\n    }\n    e.preventDefault();\n    const index = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.elementIndex)(bulletEl) * swiper.params.slidesPerGroup;\n    if (swiper.params.loop) {\n      if (swiper.realIndex === index) return;\n      const newSlideIndex = swiper.getSlideIndexByData(index);\n      const currentSlideIndex = swiper.getSlideIndexByData(swiper.realIndex);\n      if (newSlideIndex > swiper.slides.length - swiper.loopedSlides) {\n        swiper.loopFix({\n          direction: newSlideIndex > currentSlideIndex ? 'next' : 'prev',\n          activeSlideIndex: newSlideIndex,\n          slideTo: false\n        });\n      }\n      swiper.slideToLoop(index);\n    } else {\n      swiper.slideTo(index);\n    }\n  }\n  function update() {\n    // Render || Update Pagination bullets/items\n    const rtl = swiper.rtl;\n    const params = swiper.params.pagination;\n    if (isPaginationDisabled()) return;\n    let el = swiper.pagination.el;\n    el = makeElementsArray(el);\n    // Current/Total\n    let current;\n    let previousIndex;\n    const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n    const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n    if (swiper.params.loop) {\n      previousIndex = swiper.previousRealIndex || 0;\n      current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex;\n    } else if (typeof swiper.snapIndex !== 'undefined') {\n      current = swiper.snapIndex;\n      previousIndex = swiper.previousSnapIndex;\n    } else {\n      previousIndex = swiper.previousIndex || 0;\n      current = swiper.activeIndex || 0;\n    }\n    // Types\n    if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n      const bullets = swiper.pagination.bullets;\n      let firstIndex;\n      let lastIndex;\n      let midIndex;\n      if (params.dynamicBullets) {\n        bulletSize = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.elementOuterSize)(bullets[0], swiper.isHorizontal() ? 'width' : 'height', true);\n        el.forEach(subEl => {\n          subEl.style[swiper.isHorizontal() ? 'width' : 'height'] = `${bulletSize * (params.dynamicMainBullets + 4)}px`;\n        });\n        if (params.dynamicMainBullets > 1 && previousIndex !== undefined) {\n          dynamicBulletIndex += current - (previousIndex || 0);\n          if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n            dynamicBulletIndex = params.dynamicMainBullets - 1;\n          } else if (dynamicBulletIndex < 0) {\n            dynamicBulletIndex = 0;\n          }\n        }\n        firstIndex = Math.max(current - dynamicBulletIndex, 0);\n        lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n        midIndex = (lastIndex + firstIndex) / 2;\n      }\n      bullets.forEach(bulletEl => {\n        const classesToRemove = [...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`)].map(s => typeof s === 'string' && s.includes(' ') ? s.split(' ') : s).flat();\n        bulletEl.classList.remove(...classesToRemove);\n      });\n      if (el.length > 1) {\n        bullets.forEach(bullet => {\n          const bulletIndex = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.elementIndex)(bullet);\n          if (bulletIndex === current) {\n            bullet.classList.add(...params.bulletActiveClass.split(' '));\n          } else if (swiper.isElement) {\n            bullet.setAttribute('part', 'bullet');\n          }\n          if (params.dynamicBullets) {\n            if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n              bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' '));\n            }\n            if (bulletIndex === firstIndex) {\n              setSideBullets(bullet, 'prev');\n            }\n            if (bulletIndex === lastIndex) {\n              setSideBullets(bullet, 'next');\n            }\n          }\n        });\n      } else {\n        const bullet = bullets[current];\n        if (bullet) {\n          bullet.classList.add(...params.bulletActiveClass.split(' '));\n        }\n        if (swiper.isElement) {\n          bullets.forEach((bulletEl, bulletIndex) => {\n            bulletEl.setAttribute('part', bulletIndex === current ? 'bullet-active' : 'bullet');\n          });\n        }\n        if (params.dynamicBullets) {\n          const firstDisplayedBullet = bullets[firstIndex];\n          const lastDisplayedBullet = bullets[lastIndex];\n          for (let i = firstIndex; i <= lastIndex; i += 1) {\n            if (bullets[i]) {\n              bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' '));\n            }\n          }\n          setSideBullets(firstDisplayedBullet, 'prev');\n          setSideBullets(lastDisplayedBullet, 'next');\n        }\n      }\n      if (params.dynamicBullets) {\n        const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n        const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n        const offsetProp = rtl ? 'right' : 'left';\n        bullets.forEach(bullet => {\n          bullet.style[swiper.isHorizontal() ? offsetProp : 'top'] = `${bulletsOffset}px`;\n        });\n      }\n    }\n    el.forEach((subEl, subElIndex) => {\n      if (params.type === 'fraction') {\n        subEl.querySelectorAll((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params.currentClass)).forEach(fractionEl => {\n          fractionEl.textContent = params.formatFractionCurrent(current + 1);\n        });\n        subEl.querySelectorAll((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params.totalClass)).forEach(totalEl => {\n          totalEl.textContent = params.formatFractionTotal(total);\n        });\n      }\n      if (params.type === 'progressbar') {\n        let progressbarDirection;\n        if (params.progressbarOpposite) {\n          progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n        } else {\n          progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n        }\n        const scale = (current + 1) / total;\n        let scaleX = 1;\n        let scaleY = 1;\n        if (progressbarDirection === 'horizontal') {\n          scaleX = scale;\n        } else {\n          scaleY = scale;\n        }\n        subEl.querySelectorAll((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params.progressbarFillClass)).forEach(progressEl => {\n          progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;\n          progressEl.style.transitionDuration = `${swiper.params.speed}ms`;\n        });\n      }\n      if (params.type === 'custom' && params.renderCustom) {\n        subEl.innerHTML = params.renderCustom(swiper, current + 1, total);\n        if (subElIndex === 0) emit('paginationRender', subEl);\n      } else {\n        if (subElIndex === 0) emit('paginationRender', subEl);\n        emit('paginationUpdate', subEl);\n      }\n      if (swiper.params.watchOverflow && swiper.enabled) {\n        subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n      }\n    });\n  }\n  function render() {\n    // Render Container\n    const params = swiper.params.pagination;\n    if (isPaginationDisabled()) return;\n    const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n    let el = swiper.pagination.el;\n    el = makeElementsArray(el);\n    let paginationHTML = '';\n    if (params.type === 'bullets') {\n      let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n      if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) {\n        numberOfBullets = slidesLength;\n      }\n      for (let i = 0; i < numberOfBullets; i += 1) {\n        if (params.renderBullet) {\n          paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n        } else {\n          // prettier-ignore\n          paginationHTML += `<${params.bulletElement} ${swiper.isElement ? 'part=\"bullet\"' : ''} class=\"${params.bulletClass}\"></${params.bulletElement}>`;\n        }\n      }\n    }\n    if (params.type === 'fraction') {\n      if (params.renderFraction) {\n        paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n      } else {\n        paginationHTML = `<span class=\"${params.currentClass}\"></span>` + ' / ' + `<span class=\"${params.totalClass}\"></span>`;\n      }\n    }\n    if (params.type === 'progressbar') {\n      if (params.renderProgressbar) {\n        paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n      } else {\n        paginationHTML = `<span class=\"${params.progressbarFillClass}\"></span>`;\n      }\n    }\n    swiper.pagination.bullets = [];\n    el.forEach(subEl => {\n      if (params.type !== 'custom') {\n        subEl.innerHTML = paginationHTML || '';\n      }\n      if (params.type === 'bullets') {\n        swiper.pagination.bullets.push(...subEl.querySelectorAll((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params.bulletClass)));\n      }\n    });\n    if (params.type !== 'custom') {\n      emit('paginationRender', el[0]);\n    }\n  }\n  function init() {\n    swiper.params.pagination = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(swiper, swiper.originalParams.pagination, swiper.params.pagination, {\n      el: 'swiper-pagination'\n    });\n    const params = swiper.params.pagination;\n    if (!params.el) return;\n    let el;\n    if (typeof params.el === 'string' && swiper.isElement) {\n      el = swiper.el.shadowRoot.querySelector(params.el);\n    }\n    if (!el && typeof params.el === 'string') {\n      el = [...document.querySelectorAll(params.el)];\n    }\n    if (!el) {\n      el = params.el;\n    }\n    if (!el || el.length === 0) return;\n    if (swiper.params.uniqueNavElements && typeof params.el === 'string' && Array.isArray(el) && el.length > 1) {\n      el = [...swiper.el.querySelectorAll(params.el)];\n      // check if it belongs to another nested Swiper\n      if (el.length > 1) {\n        el = el.filter(subEl => {\n          if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.elementParents)(subEl, '.swiper')[0] !== swiper.el) return false;\n          return true;\n        })[0];\n      }\n    }\n    if (Array.isArray(el) && el.length === 1) el = el[0];\n    Object.assign(swiper.pagination, {\n      el\n    });\n    el = makeElementsArray(el);\n    el.forEach(subEl => {\n      if (params.type === 'bullets' && params.clickable) {\n        subEl.classList.add(params.clickableClass);\n      }\n      subEl.classList.add(params.modifierClass + params.type);\n      subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n      if (params.type === 'bullets' && params.dynamicBullets) {\n        subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);\n        dynamicBulletIndex = 0;\n        if (params.dynamicMainBullets < 1) {\n          params.dynamicMainBullets = 1;\n        }\n      }\n      if (params.type === 'progressbar' && params.progressbarOpposite) {\n        subEl.classList.add(params.progressbarOppositeClass);\n      }\n      if (params.clickable) {\n        subEl.addEventListener('click', onBulletClick);\n      }\n      if (!swiper.enabled) {\n        subEl.classList.add(params.lockClass);\n      }\n    });\n  }\n  function destroy() {\n    const params = swiper.params.pagination;\n    if (isPaginationDisabled()) return;\n    let el = swiper.pagination.el;\n    if (el) {\n      el = makeElementsArray(el);\n      el.forEach(subEl => {\n        subEl.classList.remove(params.hiddenClass);\n        subEl.classList.remove(params.modifierClass + params.type);\n        subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n        if (params.clickable) {\n          subEl.removeEventListener('click', onBulletClick);\n        }\n      });\n    }\n    if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(...params.bulletActiveClass.split(' ')));\n  }\n  on('changeDirection', () => {\n    if (!swiper.pagination || !swiper.pagination.el) return;\n    const params = swiper.params.pagination;\n    let {\n      el\n    } = swiper.pagination;\n    el = makeElementsArray(el);\n    el.forEach(subEl => {\n      subEl.classList.remove(params.horizontalClass, params.verticalClass);\n      subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n    });\n  });\n  on('init', () => {\n    if (swiper.params.pagination.enabled === false) {\n      // eslint-disable-next-line\n      disable();\n    } else {\n      init();\n      render();\n      update();\n    }\n  });\n  on('activeIndexChange', () => {\n    if (typeof swiper.snapIndex === 'undefined') {\n      update();\n    }\n  });\n  on('snapIndexChange', () => {\n    update();\n  });\n  on('snapGridLengthChange', () => {\n    render();\n    update();\n  });\n  on('destroy', () => {\n    destroy();\n  });\n  on('enable disable', () => {\n    let {\n      el\n    } = swiper.pagination;\n    if (el) {\n      el = makeElementsArray(el);\n      el.forEach(subEl => subEl.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.pagination.lockClass));\n    }\n  });\n  on('lock unlock', () => {\n    update();\n  });\n  on('click', (_s, e) => {\n    const targetEl = e.target;\n    let {\n      el\n    } = swiper.pagination;\n    if (!Array.isArray(el)) el = [el].filter(element => !!element);\n    if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) {\n      if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n      const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass);\n      if (isHidden === true) {\n        emit('paginationShow');\n      } else {\n        emit('paginationHide');\n      }\n      el.forEach(subEl => subEl.classList.toggle(swiper.params.pagination.hiddenClass));\n    }\n  });\n  const enable = () => {\n    swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);\n    let {\n      el\n    } = swiper.pagination;\n    if (el) {\n      el = makeElementsArray(el);\n      el.forEach(subEl => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass));\n    }\n    init();\n    render();\n    update();\n  };\n  const disable = () => {\n    swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);\n    let {\n      el\n    } = swiper.pagination;\n    if (el) {\n      el = makeElementsArray(el);\n      el.forEach(subEl => subEl.classList.add(swiper.params.pagination.paginationDisabledClass));\n    }\n    destroy();\n  };\n  Object.assign(swiper.pagination, {\n    enable,\n    disable,\n    render,\n    update,\n    init,\n    destroy\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/pagination/pagination.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/parallax/parallax.js":
    /*!*******************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/parallax/parallax.js ***!
      \*******************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Parallax)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction Parallax({\n  swiper,\n  extendParams,\n  on\n}) {\n  extendParams({\n    parallax: {\n      enabled: false\n    }\n  });\n  const setTransform = (el, progress) => {\n    const {\n      rtl\n    } = swiper;\n    const rtlFactor = rtl ? -1 : 1;\n    const p = el.getAttribute('data-swiper-parallax') || '0';\n    let x = el.getAttribute('data-swiper-parallax-x');\n    let y = el.getAttribute('data-swiper-parallax-y');\n    const scale = el.getAttribute('data-swiper-parallax-scale');\n    const opacity = el.getAttribute('data-swiper-parallax-opacity');\n    const rotate = el.getAttribute('data-swiper-parallax-rotate');\n    if (x || y) {\n      x = x || '0';\n      y = y || '0';\n    } else if (swiper.isHorizontal()) {\n      x = p;\n      y = '0';\n    } else {\n      y = p;\n      x = '0';\n    }\n    if (x.indexOf('%') >= 0) {\n      x = `${parseInt(x, 10) * progress * rtlFactor}%`;\n    } else {\n      x = `${x * progress * rtlFactor}px`;\n    }\n    if (y.indexOf('%') >= 0) {\n      y = `${parseInt(y, 10) * progress}%`;\n    } else {\n      y = `${y * progress}px`;\n    }\n    if (typeof opacity !== 'undefined' && opacity !== null) {\n      const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));\n      el.style.opacity = currentOpacity;\n    }\n    let transform = `translate3d(${x}, ${y}, 0px)`;\n    if (typeof scale !== 'undefined' && scale !== null) {\n      const currentScale = scale - (scale - 1) * (1 - Math.abs(progress));\n      transform += ` scale(${currentScale})`;\n    }\n    if (rotate && typeof rotate !== 'undefined' && rotate !== null) {\n      const currentRotate = rotate * progress * -1;\n      transform += ` rotate(${currentRotate}deg)`;\n    }\n    el.style.transform = transform;\n  };\n  const setTranslate = () => {\n    const {\n      el,\n      slides,\n      progress,\n      snapGrid\n    } = swiper;\n    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(el, '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').forEach(subEl => {\n      setTransform(subEl, progress);\n    });\n    slides.forEach((slideEl, slideIndex) => {\n      let slideProgress = slideEl.progress;\n      if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\n        slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);\n      }\n      slideProgress = Math.min(Math.max(slideProgress, -1), 1);\n      slideEl.querySelectorAll('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale], [data-swiper-parallax-rotate]').forEach(subEl => {\n        setTransform(subEl, slideProgress);\n      });\n    });\n  };\n  const setTransition = (duration = swiper.params.speed) => {\n    const {\n      el\n    } = swiper;\n    el.querySelectorAll('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').forEach(parallaxEl => {\n      let parallaxDuration = parseInt(parallaxEl.getAttribute('data-swiper-parallax-duration'), 10) || duration;\n      if (duration === 0) parallaxDuration = 0;\n      parallaxEl.style.transitionDuration = `${parallaxDuration}ms`;\n    });\n  };\n  on('beforeInit', () => {\n    if (!swiper.params.parallax.enabled) return;\n    swiper.params.watchSlidesProgress = true;\n    swiper.originalParams.watchSlidesProgress = true;\n  });\n  on('init', () => {\n    if (!swiper.params.parallax.enabled) return;\n    setTranslate();\n  });\n  on('setTranslate', () => {\n    if (!swiper.params.parallax.enabled) return;\n    setTranslate();\n  });\n  on('setTransition', (_swiper, duration) => {\n    if (!swiper.params.parallax.enabled) return;\n    setTransition(duration);\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/parallax/parallax.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/scrollbar/scrollbar.js":
    /*!*********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/scrollbar/scrollbar.js ***!
      \*********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Scrollbar)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/create-element-if-not-defined.js\");\n\n\n\nfunction Scrollbar({\n  swiper,\n  extendParams,\n  on,\n  emit\n}) {\n  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();\n  let isTouched = false;\n  let timeout = null;\n  let dragTimeout = null;\n  let dragStartPos;\n  let dragSize;\n  let trackSize;\n  let divider;\n  extendParams({\n    scrollbar: {\n      el: null,\n      dragSize: 'auto',\n      hide: false,\n      draggable: false,\n      snapOnRelease: true,\n      lockClass: 'swiper-scrollbar-lock',\n      dragClass: 'swiper-scrollbar-drag',\n      scrollbarDisabledClass: 'swiper-scrollbar-disabled',\n      horizontalClass: `swiper-scrollbar-horizontal`,\n      verticalClass: `swiper-scrollbar-vertical`\n    }\n  });\n  swiper.scrollbar = {\n    el: null,\n    dragEl: null\n  };\n  function setTranslate() {\n    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n    const {\n      scrollbar,\n      rtlTranslate: rtl\n    } = swiper;\n    const {\n      dragEl,\n      el\n    } = scrollbar;\n    const params = swiper.params.scrollbar;\n    const progress = swiper.params.loop ? swiper.progressLoop : swiper.progress;\n    let newSize = dragSize;\n    let newPos = (trackSize - dragSize) * progress;\n    if (rtl) {\n      newPos = -newPos;\n      if (newPos > 0) {\n        newSize = dragSize - newPos;\n        newPos = 0;\n      } else if (-newPos + dragSize > trackSize) {\n        newSize = trackSize + newPos;\n      }\n    } else if (newPos < 0) {\n      newSize = dragSize + newPos;\n      newPos = 0;\n    } else if (newPos + dragSize > trackSize) {\n      newSize = trackSize - newPos;\n    }\n    if (swiper.isHorizontal()) {\n      dragEl.style.transform = `translate3d(${newPos}px, 0, 0)`;\n      dragEl.style.width = `${newSize}px`;\n    } else {\n      dragEl.style.transform = `translate3d(0px, ${newPos}px, 0)`;\n      dragEl.style.height = `${newSize}px`;\n    }\n    if (params.hide) {\n      clearTimeout(timeout);\n      el.style.opacity = 1;\n      timeout = setTimeout(() => {\n        el.style.opacity = 0;\n        el.style.transitionDuration = '400ms';\n      }, 1000);\n    }\n  }\n  function setTransition(duration) {\n    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n    swiper.scrollbar.dragEl.style.transitionDuration = `${duration}ms`;\n  }\n  function updateSize() {\n    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n    const {\n      scrollbar\n    } = swiper;\n    const {\n      dragEl,\n      el\n    } = scrollbar;\n    dragEl.style.width = '';\n    dragEl.style.height = '';\n    trackSize = swiper.isHorizontal() ? el.offsetWidth : el.offsetHeight;\n    divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));\n    if (swiper.params.scrollbar.dragSize === 'auto') {\n      dragSize = trackSize * divider;\n    } else {\n      dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n    }\n    if (swiper.isHorizontal()) {\n      dragEl.style.width = `${dragSize}px`;\n    } else {\n      dragEl.style.height = `${dragSize}px`;\n    }\n    if (divider >= 1) {\n      el.style.display = 'none';\n    } else {\n      el.style.display = '';\n    }\n    if (swiper.params.scrollbar.hide) {\n      el.style.opacity = 0;\n    }\n    if (swiper.params.watchOverflow && swiper.enabled) {\n      scrollbar.el.classList[swiper.isLocked ? 'add' : 'remove'](swiper.params.scrollbar.lockClass);\n    }\n  }\n  function getPointerPosition(e) {\n    return swiper.isHorizontal() ? e.clientX : e.clientY;\n  }\n  function setDragPosition(e) {\n    const {\n      scrollbar,\n      rtlTranslate: rtl\n    } = swiper;\n    const {\n      el\n    } = scrollbar;\n    let positionRatio;\n    positionRatio = (getPointerPosition(e) - (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementOffset)(el)[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\n    positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n    if (rtl) {\n      positionRatio = 1 - positionRatio;\n    }\n    const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n    swiper.updateProgress(position);\n    swiper.setTranslate(position);\n    swiper.updateActiveIndex();\n    swiper.updateSlidesClasses();\n  }\n  function onDragStart(e) {\n    const params = swiper.params.scrollbar;\n    const {\n      scrollbar,\n      wrapperEl\n    } = swiper;\n    const {\n      el,\n      dragEl\n    } = scrollbar;\n    isTouched = true;\n    dragStartPos = e.target === dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;\n    e.preventDefault();\n    e.stopPropagation();\n    wrapperEl.style.transitionDuration = '100ms';\n    dragEl.style.transitionDuration = '100ms';\n    setDragPosition(e);\n    clearTimeout(dragTimeout);\n    el.style.transitionDuration = '0ms';\n    if (params.hide) {\n      el.style.opacity = 1;\n    }\n    if (swiper.params.cssMode) {\n      swiper.wrapperEl.style['scroll-snap-type'] = 'none';\n    }\n    emit('scrollbarDragStart', e);\n  }\n  function onDragMove(e) {\n    const {\n      scrollbar,\n      wrapperEl\n    } = swiper;\n    const {\n      el,\n      dragEl\n    } = scrollbar;\n    if (!isTouched) return;\n    if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n    setDragPosition(e);\n    wrapperEl.style.transitionDuration = '0ms';\n    el.style.transitionDuration = '0ms';\n    dragEl.style.transitionDuration = '0ms';\n    emit('scrollbarDragMove', e);\n  }\n  function onDragEnd(e) {\n    const params = swiper.params.scrollbar;\n    const {\n      scrollbar,\n      wrapperEl\n    } = swiper;\n    const {\n      el\n    } = scrollbar;\n    if (!isTouched) return;\n    isTouched = false;\n    if (swiper.params.cssMode) {\n      swiper.wrapperEl.style['scroll-snap-type'] = '';\n      wrapperEl.style.transitionDuration = '';\n    }\n    if (params.hide) {\n      clearTimeout(dragTimeout);\n      dragTimeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {\n        el.style.opacity = 0;\n        el.style.transitionDuration = '400ms';\n      }, 1000);\n    }\n    emit('scrollbarDragEnd', e);\n    if (params.snapOnRelease) {\n      swiper.slideToClosest();\n    }\n  }\n  function events(method) {\n    const {\n      scrollbar,\n      params\n    } = swiper;\n    const el = scrollbar.el;\n    if (!el) return;\n    const target = el;\n    const activeListener = params.passiveListeners ? {\n      passive: false,\n      capture: false\n    } : false;\n    const passiveListener = params.passiveListeners ? {\n      passive: true,\n      capture: false\n    } : false;\n    if (!target) return;\n    const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n    target[eventMethod]('pointerdown', onDragStart, activeListener);\n    document[eventMethod]('pointermove', onDragMove, activeListener);\n    document[eventMethod]('pointerup', onDragEnd, passiveListener);\n  }\n  function enableDraggable() {\n    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n    events('on');\n  }\n  function disableDraggable() {\n    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n    events('off');\n  }\n  function init() {\n    const {\n      scrollbar,\n      el: swiperEl\n    } = swiper;\n    swiper.params.scrollbar = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {\n      el: 'swiper-scrollbar'\n    });\n    const params = swiper.params.scrollbar;\n    if (!params.el) return;\n    let el;\n    if (typeof params.el === 'string' && swiper.isElement) {\n      el = swiper.el.shadowRoot.querySelector(params.el);\n    }\n    if (!el && typeof params.el === 'string') {\n      el = document.querySelectorAll(params.el);\n    } else if (!el) {\n      el = params.el;\n    }\n    if (swiper.params.uniqueNavElements && typeof params.el === 'string' && el.length > 1 && swiperEl.querySelectorAll(params.el).length === 1) {\n      el = swiperEl.querySelector(params.el);\n    }\n    if (el.length > 0) el = el[0];\n    el.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n    let dragEl;\n    if (el) {\n      dragEl = el.querySelector(`.${swiper.params.scrollbar.dragClass}`);\n      if (!dragEl) {\n        dragEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', swiper.params.scrollbar.dragClass);\n        el.append(dragEl);\n      }\n    }\n    Object.assign(scrollbar, {\n      el,\n      dragEl\n    });\n    if (params.draggable) {\n      enableDraggable();\n    }\n    if (el) {\n      el.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.scrollbar.lockClass);\n    }\n  }\n  function destroy() {\n    const params = swiper.params.scrollbar;\n    const el = swiper.scrollbar.el;\n    if (el) {\n      el.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n    }\n    disableDraggable();\n  }\n  on('init', () => {\n    if (swiper.params.scrollbar.enabled === false) {\n      // eslint-disable-next-line\n      disable();\n    } else {\n      init();\n      updateSize();\n      setTranslate();\n    }\n  });\n  on('update resize observerUpdate lock unlock', () => {\n    updateSize();\n  });\n  on('setTranslate', () => {\n    setTranslate();\n  });\n  on('setTransition', (_s, duration) => {\n    setTransition(duration);\n  });\n  on('enable disable', () => {\n    const {\n      el\n    } = swiper.scrollbar;\n    if (el) {\n      el.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.scrollbar.lockClass);\n    }\n  });\n  on('destroy', () => {\n    destroy();\n  });\n  const enable = () => {\n    swiper.el.classList.remove(swiper.params.scrollbar.scrollbarDisabledClass);\n    if (swiper.scrollbar.el) {\n      swiper.scrollbar.el.classList.remove(swiper.params.scrollbar.scrollbarDisabledClass);\n    }\n    init();\n    updateSize();\n    setTranslate();\n  };\n  const disable = () => {\n    swiper.el.classList.add(swiper.params.scrollbar.scrollbarDisabledClass);\n    if (swiper.scrollbar.el) {\n      swiper.scrollbar.el.classList.add(swiper.params.scrollbar.scrollbarDisabledClass);\n    }\n    destroy();\n  };\n  Object.assign(swiper.scrollbar, {\n    enable,\n    disable,\n    updateSize,\n    setTranslate,\n    init,\n    destroy\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/scrollbar/scrollbar.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/thumbs/thumbs.js":
    /*!***************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/thumbs/thumbs.js ***!
      \***************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Thumb)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\n\nfunction Thumb({\n  swiper,\n  extendParams,\n  on\n}) {\n  extendParams({\n    thumbs: {\n      swiper: null,\n      multipleActiveThumbs: true,\n      autoScrollOffset: 0,\n      slideThumbActiveClass: 'swiper-slide-thumb-active',\n      thumbsContainerClass: 'swiper-thumbs'\n    }\n  });\n  let initialized = false;\n  let swiperCreated = false;\n  swiper.thumbs = {\n    swiper: null\n  };\n  function onThumbClick() {\n    const thumbsSwiper = swiper.thumbs.swiper;\n    if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n    const clickedIndex = thumbsSwiper.clickedIndex;\n    const clickedSlide = thumbsSwiper.clickedSlide;\n    if (clickedSlide && clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass)) return;\n    if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;\n    let slideToIndex;\n    if (thumbsSwiper.params.loop) {\n      slideToIndex = parseInt(thumbsSwiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n    } else {\n      slideToIndex = clickedIndex;\n    }\n    if (swiper.params.loop) {\n      swiper.slideToLoop(slideToIndex);\n    } else {\n      swiper.slideTo(slideToIndex);\n    }\n  }\n  function init() {\n    const {\n      thumbs: thumbsParams\n    } = swiper.params;\n    if (initialized) return false;\n    initialized = true;\n    const SwiperClass = swiper.constructor;\n    if (thumbsParams.swiper instanceof SwiperClass) {\n      swiper.thumbs.swiper = thumbsParams.swiper;\n      Object.assign(swiper.thumbs.swiper.originalParams, {\n        watchSlidesProgress: true,\n        slideToClickedSlide: false\n      });\n      Object.assign(swiper.thumbs.swiper.params, {\n        watchSlidesProgress: true,\n        slideToClickedSlide: false\n      });\n      swiper.thumbs.swiper.update();\n    } else if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.isObject)(thumbsParams.swiper)) {\n      const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper);\n      Object.assign(thumbsSwiperParams, {\n        watchSlidesProgress: true,\n        slideToClickedSlide: false\n      });\n      swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams);\n      swiperCreated = true;\n    }\n    swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass);\n    swiper.thumbs.swiper.on('tap', onThumbClick);\n    return true;\n  }\n  function update(initial) {\n    const thumbsSwiper = swiper.thumbs.swiper;\n    if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n    const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;\n\n    // Activate thumbs\n    let thumbsToActivate = 1;\n    const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\n    if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\n      thumbsToActivate = swiper.params.slidesPerView;\n    }\n    if (!swiper.params.thumbs.multipleActiveThumbs) {\n      thumbsToActivate = 1;\n    }\n    thumbsToActivate = Math.floor(thumbsToActivate);\n    thumbsSwiper.slides.forEach(slideEl => slideEl.classList.remove(thumbActiveClass));\n    if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {\n      for (let i = 0; i < thumbsToActivate; i += 1) {\n        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(thumbsSwiper.slidesEl, `[data-swiper-slide-index=\"${swiper.realIndex + i}\"]`).forEach(slideEl => {\n          slideEl.classList.add(thumbActiveClass);\n        });\n      }\n    } else {\n      for (let i = 0; i < thumbsToActivate; i += 1) {\n        if (thumbsSwiper.slides[swiper.realIndex + i]) {\n          thumbsSwiper.slides[swiper.realIndex + i].classList.add(thumbActiveClass);\n        }\n      }\n    }\n    const autoScrollOffset = swiper.params.thumbs.autoScrollOffset;\n    const useOffset = autoScrollOffset && !thumbsSwiper.params.loop;\n    if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {\n      const currentThumbsIndex = thumbsSwiper.activeIndex;\n      let newThumbsIndex;\n      let direction;\n      if (thumbsSwiper.params.loop) {\n        const newThumbsSlide = thumbsSwiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') === `${swiper.realIndex}`)[0];\n        newThumbsIndex = thumbsSwiper.slides.indexOf(newThumbsSlide);\n        direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev';\n      } else {\n        newThumbsIndex = swiper.realIndex;\n        direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev';\n      }\n      if (useOffset) {\n        newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset;\n      }\n      if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {\n        if (thumbsSwiper.params.centeredSlides) {\n          if (newThumbsIndex > currentThumbsIndex) {\n            newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\n          } else {\n            newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\n          }\n        } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) {\n          // newThumbsIndex = newThumbsIndex - slidesPerView + 1;\n        }\n        thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\n      }\n    }\n  }\n  on('beforeInit', () => {\n    const {\n      thumbs\n    } = swiper.params;\n    if (!thumbs || !thumbs.swiper) return;\n    if (typeof thumbs.swiper === 'string' || thumbs.swiper instanceof HTMLElement) {\n      const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();\n      const getThumbsElementAndInit = () => {\n        const thumbsElement = typeof thumbs.swiper === 'string' ? document.querySelector(thumbs.swiper) : thumbs.swiper;\n        if (thumbsElement && thumbsElement.swiper) {\n          thumbs.swiper = thumbsElement.swiper;\n          init();\n          update(true);\n        } else if (thumbsElement) {\n          const onThumbsSwiper = e => {\n            thumbs.swiper = e.detail[0];\n            thumbsElement.removeEventListener('init', onThumbsSwiper);\n            init();\n            update(true);\n            thumbs.swiper.update();\n            swiper.update();\n          };\n          thumbsElement.addEventListener('init', onThumbsSwiper);\n        }\n        return thumbsElement;\n      };\n      const watchForThumbsToAppear = () => {\n        if (swiper.destroyed) return;\n        const thumbsElement = getThumbsElementAndInit();\n        if (!thumbsElement) {\n          requestAnimationFrame(watchForThumbsToAppear);\n        }\n      };\n      requestAnimationFrame(watchForThumbsToAppear);\n    } else {\n      init();\n      update(true);\n    }\n  });\n  on('slideChange update resize observerUpdate', () => {\n    update();\n  });\n  on('setTransition', (_s, duration) => {\n    const thumbsSwiper = swiper.thumbs.swiper;\n    if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n    thumbsSwiper.setTransition(duration);\n  });\n  on('beforeDestroy', () => {\n    const thumbsSwiper = swiper.thumbs.swiper;\n    if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n    if (swiperCreated) {\n      thumbsSwiper.destroy();\n    }\n  });\n  Object.assign(swiper.thumbs, {\n    init,\n    update\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/thumbs/thumbs.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/virtual/virtual.js":
    /*!*****************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/virtual/virtual.js ***!
      \*****************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Virtual)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\n\nfunction Virtual({\n  swiper,\n  extendParams,\n  on,\n  emit\n}) {\n  extendParams({\n    virtual: {\n      enabled: false,\n      slides: [],\n      cache: true,\n      renderSlide: null,\n      renderExternal: null,\n      renderExternalUpdate: true,\n      addSlidesBefore: 0,\n      addSlidesAfter: 0\n    }\n  });\n  let cssModeTimeout;\n  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();\n  swiper.virtual = {\n    cache: {},\n    from: undefined,\n    to: undefined,\n    slides: [],\n    offset: 0,\n    slidesGrid: []\n  };\n  const tempDOM = document.createElement('div');\n  function renderSlide(slide, index) {\n    const params = swiper.params.virtual;\n    if (params.cache && swiper.virtual.cache[index]) {\n      return swiper.virtual.cache[index];\n    }\n    // eslint-disable-next-line\n    let slideEl;\n    if (params.renderSlide) {\n      slideEl = params.renderSlide.call(swiper, slide, index);\n      if (typeof slideEl === 'string') {\n        tempDOM.innerHTML = slideEl;\n        slideEl = tempDOM.children[0];\n      }\n    } else if (swiper.isElement) {\n      slideEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('swiper-slide');\n    } else {\n      slideEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', swiper.params.slideClass);\n    }\n    slideEl.setAttribute('data-swiper-slide-index', index);\n    if (!params.renderSlide) {\n      slideEl.innerHTML = slide;\n    }\n    if (params.cache) swiper.virtual.cache[index] = slideEl;\n    return slideEl;\n  }\n  function update(force) {\n    const {\n      slidesPerView,\n      slidesPerGroup,\n      centeredSlides,\n      loop: isLoop\n    } = swiper.params;\n    const {\n      addSlidesBefore,\n      addSlidesAfter\n    } = swiper.params.virtual;\n    const {\n      from: previousFrom,\n      to: previousTo,\n      slides,\n      slidesGrid: previousSlidesGrid,\n      offset: previousOffset\n    } = swiper.virtual;\n    if (!swiper.params.cssMode) {\n      swiper.updateActiveIndex();\n    }\n    const activeIndex = swiper.activeIndex || 0;\n    let offsetProp;\n    if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';\n    let slidesAfter;\n    let slidesBefore;\n    if (centeredSlides) {\n      slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\n      slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\n    } else {\n      slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;\n      slidesBefore = (isLoop ? slidesPerView : slidesPerGroup) + addSlidesBefore;\n    }\n    let from = activeIndex - slidesBefore;\n    let to = activeIndex + slidesAfter;\n    if (!isLoop) {\n      from = Math.max(from, 0);\n      to = Math.min(to, slides.length - 1);\n    }\n    let offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\n    if (isLoop && activeIndex >= slidesBefore) {\n      from -= slidesBefore;\n      if (!centeredSlides) offset += swiper.slidesGrid[0];\n    } else if (isLoop && activeIndex < slidesBefore) {\n      from = -slidesBefore;\n      if (centeredSlides) offset += swiper.slidesGrid[0];\n    }\n    Object.assign(swiper.virtual, {\n      from,\n      to,\n      offset,\n      slidesGrid: swiper.slidesGrid,\n      slidesBefore,\n      slidesAfter\n    });\n    function onRendered() {\n      swiper.updateSlides();\n      swiper.updateProgress();\n      swiper.updateSlidesClasses();\n      emit('virtualUpdate');\n    }\n    if (previousFrom === from && previousTo === to && !force) {\n      if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\n        swiper.slides.forEach(slideEl => {\n          slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;\n        });\n      }\n      swiper.updateProgress();\n      emit('virtualUpdate');\n      return;\n    }\n    if (swiper.params.virtual.renderExternal) {\n      swiper.params.virtual.renderExternal.call(swiper, {\n        offset,\n        from,\n        to,\n        slides: function getSlides() {\n          const slidesToRender = [];\n          for (let i = from; i <= to; i += 1) {\n            slidesToRender.push(slides[i]);\n          }\n          return slidesToRender;\n        }()\n      });\n      if (swiper.params.virtual.renderExternalUpdate) {\n        onRendered();\n      } else {\n        emit('virtualUpdate');\n      }\n      return;\n    }\n    const prependIndexes = [];\n    const appendIndexes = [];\n    const getSlideIndex = index => {\n      let slideIndex = index;\n      if (index < 0) {\n        slideIndex = slides.length + index;\n      } else if (slideIndex >= slides.length) {\n        // eslint-disable-next-line\n        slideIndex = slideIndex - slides.length;\n      }\n      return slideIndex;\n    };\n    if (force) {\n      swiper.slidesEl.querySelectorAll(`.${swiper.params.slideClass}, swiper-slide`).forEach(slideEl => {\n        slideEl.remove();\n      });\n    } else {\n      for (let i = previousFrom; i <= previousTo; i += 1) {\n        if (i < from || i > to) {\n          const slideIndex = getSlideIndex(i);\n          swiper.slidesEl.querySelectorAll(`.${swiper.params.slideClass}[data-swiper-slide-index=\"${slideIndex}\"], swiper-slide[data-swiper-slide-index=\"${slideIndex}\"]`).forEach(slideEl => {\n            slideEl.remove();\n          });\n        }\n      }\n    }\n    const loopFrom = isLoop ? -slides.length : 0;\n    const loopTo = isLoop ? slides.length * 2 : slides.length;\n    for (let i = loopFrom; i < loopTo; i += 1) {\n      if (i >= from && i <= to) {\n        const slideIndex = getSlideIndex(i);\n        if (typeof previousTo === 'undefined' || force) {\n          appendIndexes.push(slideIndex);\n        } else {\n          if (i > previousTo) appendIndexes.push(slideIndex);\n          if (i < previousFrom) prependIndexes.push(slideIndex);\n        }\n      }\n    }\n    appendIndexes.forEach(index => {\n      swiper.slidesEl.append(renderSlide(slides[index], index));\n    });\n    if (isLoop) {\n      for (let i = prependIndexes.length - 1; i >= 0; i -= 1) {\n        const index = prependIndexes[i];\n        swiper.slidesEl.prepend(renderSlide(slides[index], index));\n      }\n    } else {\n      prependIndexes.sort((a, b) => b - a);\n      prependIndexes.forEach(index => {\n        swiper.slidesEl.prepend(renderSlide(slides[index], index));\n      });\n    }\n    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(swiper.slidesEl, '.swiper-slide, swiper-slide').forEach(slideEl => {\n      slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;\n    });\n    onRendered();\n  }\n  function appendSlide(slides) {\n    if (typeof slides === 'object' && 'length' in slides) {\n      for (let i = 0; i < slides.length; i += 1) {\n        if (slides[i]) swiper.virtual.slides.push(slides[i]);\n      }\n    } else {\n      swiper.virtual.slides.push(slides);\n    }\n    update(true);\n  }\n  function prependSlide(slides) {\n    const activeIndex = swiper.activeIndex;\n    let newActiveIndex = activeIndex + 1;\n    let numberOfNewSlides = 1;\n    if (Array.isArray(slides)) {\n      for (let i = 0; i < slides.length; i += 1) {\n        if (slides[i]) swiper.virtual.slides.unshift(slides[i]);\n      }\n      newActiveIndex = activeIndex + slides.length;\n      numberOfNewSlides = slides.length;\n    } else {\n      swiper.virtual.slides.unshift(slides);\n    }\n    if (swiper.params.virtual.cache) {\n      const cache = swiper.virtual.cache;\n      const newCache = {};\n      Object.keys(cache).forEach(cachedIndex => {\n        const cachedEl = cache[cachedIndex];\n        const cachedElIndex = cachedEl.getAttribute('data-swiper-slide-index');\n        if (cachedElIndex) {\n          cachedEl.setAttribute('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides);\n        }\n        newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cachedEl;\n      });\n      swiper.virtual.cache = newCache;\n    }\n    update(true);\n    swiper.slideTo(newActiveIndex, 0);\n  }\n  function removeSlide(slidesIndexes) {\n    if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;\n    let activeIndex = swiper.activeIndex;\n    if (Array.isArray(slidesIndexes)) {\n      for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {\n        swiper.virtual.slides.splice(slidesIndexes[i], 1);\n        if (swiper.params.virtual.cache) {\n          delete swiper.virtual.cache[slidesIndexes[i]];\n        }\n        if (slidesIndexes[i] < activeIndex) activeIndex -= 1;\n        activeIndex = Math.max(activeIndex, 0);\n      }\n    } else {\n      swiper.virtual.slides.splice(slidesIndexes, 1);\n      if (swiper.params.virtual.cache) {\n        delete swiper.virtual.cache[slidesIndexes];\n      }\n      if (slidesIndexes < activeIndex) activeIndex -= 1;\n      activeIndex = Math.max(activeIndex, 0);\n    }\n    update(true);\n    swiper.slideTo(activeIndex, 0);\n  }\n  function removeAllSlides() {\n    swiper.virtual.slides = [];\n    if (swiper.params.virtual.cache) {\n      swiper.virtual.cache = {};\n    }\n    update(true);\n    swiper.slideTo(0, 0);\n  }\n  on('beforeInit', () => {\n    if (!swiper.params.virtual.enabled) return;\n    let domSlidesAssigned;\n    if (typeof swiper.passedParams.virtual.slides === 'undefined') {\n      const slides = [...swiper.slidesEl.children].filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`));\n      if (slides && slides.length) {\n        swiper.virtual.slides = [...slides];\n        domSlidesAssigned = true;\n        slides.forEach((slideEl, slideIndex) => {\n          slideEl.setAttribute('data-swiper-slide-index', slideIndex);\n          swiper.virtual.cache[slideIndex] = slideEl;\n          slideEl.remove();\n        });\n      }\n    }\n    if (!domSlidesAssigned) {\n      swiper.virtual.slides = swiper.params.virtual.slides;\n    }\n    swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);\n    swiper.params.watchSlidesProgress = true;\n    swiper.originalParams.watchSlidesProgress = true;\n    if (!swiper.params.initialSlide) {\n      update();\n    }\n  });\n  on('setTranslate', () => {\n    if (!swiper.params.virtual.enabled) return;\n    if (swiper.params.cssMode && !swiper._immediateVirtual) {\n      clearTimeout(cssModeTimeout);\n      cssModeTimeout = setTimeout(() => {\n        update();\n      }, 100);\n    } else {\n      update();\n    }\n  });\n  on('init update resize', () => {\n    if (!swiper.params.virtual.enabled) return;\n    if (swiper.params.cssMode) {\n      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.setCSSProperty)(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`);\n    }\n  });\n  Object.assign(swiper.virtual, {\n    appendSlide,\n    prependSlide,\n    removeSlide,\n    removeAllSlides,\n    update\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/virtual/virtual.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/zoom/zoom.js":
    /*!***********************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/zoom/zoom.js ***!
      \***********************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Zoom)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\n\nfunction Zoom({\n  swiper,\n  extendParams,\n  on,\n  emit\n}) {\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  extendParams({\n    zoom: {\n      enabled: false,\n      maxRatio: 3,\n      minRatio: 1,\n      toggle: true,\n      containerClass: 'swiper-zoom-container',\n      zoomedSlideClass: 'swiper-slide-zoomed'\n    }\n  });\n  swiper.zoom = {\n    enabled: false\n  };\n  let currentScale = 1;\n  let isScaling = false;\n  let fakeGestureTouched;\n  let fakeGestureMoved;\n  const evCache = [];\n  const gesture = {\n    originX: 0,\n    originY: 0,\n    slideEl: undefined,\n    slideWidth: undefined,\n    slideHeight: undefined,\n    imageEl: undefined,\n    imageWrapEl: undefined,\n    maxRatio: 3\n  };\n  const image = {\n    isTouched: undefined,\n    isMoved: undefined,\n    currentX: undefined,\n    currentY: undefined,\n    minX: undefined,\n    minY: undefined,\n    maxX: undefined,\n    maxY: undefined,\n    width: undefined,\n    height: undefined,\n    startX: undefined,\n    startY: undefined,\n    touchesStart: {},\n    touchesCurrent: {}\n  };\n  const velocity = {\n    x: undefined,\n    y: undefined,\n    prevPositionX: undefined,\n    prevPositionY: undefined,\n    prevTime: undefined\n  };\n  let scale = 1;\n  Object.defineProperty(swiper.zoom, 'scale', {\n    get() {\n      return scale;\n    },\n    set(value) {\n      if (scale !== value) {\n        const imageEl = gesture.imageEl;\n        const slideEl = gesture.slideEl;\n        emit('zoomChange', value, imageEl, slideEl);\n      }\n      scale = value;\n    }\n  });\n  function getDistanceBetweenTouches() {\n    if (evCache.length < 2) return 1;\n    const x1 = evCache[0].pageX;\n    const y1 = evCache[0].pageY;\n    const x2 = evCache[1].pageX;\n    const y2 = evCache[1].pageY;\n    const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);\n    return distance;\n  }\n  function getScaleOrigin() {\n    if (evCache.length < 2) return {\n      x: null,\n      y: null\n    };\n    const box = gesture.imageEl.getBoundingClientRect();\n    return [(evCache[0].pageX + (evCache[1].pageX - evCache[0].pageX) / 2 - box.x) / currentScale, (evCache[0].pageY + (evCache[1].pageY - evCache[0].pageY) / 2 - box.y) / currentScale];\n  }\n  function getSlideSelector() {\n    return swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;\n  }\n  function eventWithinSlide(e) {\n    const slideSelector = getSlideSelector();\n    if (e.target.matches(slideSelector)) return true;\n    if (swiper.slides.filter(slideEl => slideEl.contains(e.target)).length > 0) return true;\n    return false;\n  }\n  function eventWithinZoomContainer(e) {\n    const selector = `.${swiper.params.zoom.containerClass}`;\n    if (e.target.matches(selector)) return true;\n    if ([...swiper.el.querySelectorAll(selector)].filter(containerEl => containerEl.contains(e.target)).length > 0) return true;\n    return false;\n  }\n\n  // Events\n  function onGestureStart(e) {\n    if (e.pointerType === 'mouse') {\n      evCache.splice(0, evCache.length);\n    }\n    if (!eventWithinSlide(e)) return;\n    const params = swiper.params.zoom;\n    fakeGestureTouched = false;\n    fakeGestureMoved = false;\n    evCache.push(e);\n    if (evCache.length < 2) {\n      return;\n    }\n    fakeGestureTouched = true;\n    gesture.scaleStart = getDistanceBetweenTouches();\n    if (!gesture.slideEl) {\n      gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);\n      if (!gesture.slideEl) gesture.slideEl = swiper.slides[swiper.activeIndex];\n      let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);\n      if (imageEl) {\n        imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];\n      }\n      gesture.imageEl = imageEl;\n      if (imageEl) {\n        gesture.imageWrapEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(gesture.imageEl, `.${params.containerClass}`)[0];\n      } else {\n        gesture.imageWrapEl = undefined;\n      }\n      if (!gesture.imageWrapEl) {\n        gesture.imageEl = undefined;\n        return;\n      }\n      gesture.maxRatio = gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio;\n    }\n    if (gesture.imageEl) {\n      const [originX, originY] = getScaleOrigin();\n      gesture.originX = originX;\n      gesture.originY = originY;\n      gesture.imageEl.style.transitionDuration = '0ms';\n    }\n    isScaling = true;\n  }\n  function onGestureChange(e) {\n    if (!eventWithinSlide(e)) return;\n    const params = swiper.params.zoom;\n    const zoom = swiper.zoom;\n    const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);\n    if (pointerIndex >= 0) evCache[pointerIndex] = e;\n    if (evCache.length < 2) {\n      return;\n    }\n    fakeGestureMoved = true;\n    gesture.scaleMove = getDistanceBetweenTouches();\n    if (!gesture.imageEl) {\n      return;\n    }\n    zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale;\n    if (zoom.scale > gesture.maxRatio) {\n      zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5;\n    }\n    if (zoom.scale < params.minRatio) {\n      zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5;\n    }\n    gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;\n  }\n  function onGestureEnd(e) {\n    if (!eventWithinSlide(e)) return;\n    if (e.pointerType === 'mouse' && e.type === 'pointerout') return;\n    const params = swiper.params.zoom;\n    const zoom = swiper.zoom;\n    const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);\n    if (pointerIndex >= 0) evCache.splice(pointerIndex, 1);\n    if (!fakeGestureTouched || !fakeGestureMoved) {\n      return;\n    }\n    fakeGestureTouched = false;\n    fakeGestureMoved = false;\n    if (!gesture.imageEl) return;\n    zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\n    gesture.imageEl.style.transitionDuration = `${swiper.params.speed}ms`;\n    gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;\n    currentScale = zoom.scale;\n    isScaling = false;\n    if (zoom.scale > 1 && gesture.slideEl) {\n      gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);\n    } else if (zoom.scale <= 1 && gesture.slideEl) {\n      gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);\n    }\n    if (zoom.scale === 1) {\n      gesture.originX = 0;\n      gesture.originY = 0;\n      gesture.slideEl = undefined;\n    }\n  }\n  function onTouchStart(e) {\n    const device = swiper.device;\n    if (!gesture.imageEl) return;\n    if (image.isTouched) return;\n    if (device.android && e.cancelable) e.preventDefault();\n    image.isTouched = true;\n    const event = evCache.length > 0 ? evCache[0] : e;\n    image.touchesStart.x = event.pageX;\n    image.touchesStart.y = event.pageY;\n  }\n  function onTouchMove(e) {\n    if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) return;\n    const zoom = swiper.zoom;\n    if (!gesture.imageEl) return;\n    if (!image.isTouched || !gesture.slideEl) return;\n    if (!image.isMoved) {\n      image.width = gesture.imageEl.offsetWidth;\n      image.height = gesture.imageEl.offsetHeight;\n      image.startX = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.getTranslate)(gesture.imageWrapEl, 'x') || 0;\n      image.startY = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.getTranslate)(gesture.imageWrapEl, 'y') || 0;\n      gesture.slideWidth = gesture.slideEl.offsetWidth;\n      gesture.slideHeight = gesture.slideEl.offsetHeight;\n      gesture.imageWrapEl.style.transitionDuration = '0ms';\n    }\n    // Define if we need image drag\n    const scaledWidth = image.width * zoom.scale;\n    const scaledHeight = image.height * zoom.scale;\n    if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;\n    image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n    image.maxX = -image.minX;\n    image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n    image.maxY = -image.minY;\n    image.touchesCurrent.x = evCache.length > 0 ? evCache[0].pageX : e.pageX;\n    image.touchesCurrent.y = evCache.length > 0 ? evCache[0].pageY : e.pageY;\n    const touchesDiff = Math.max(Math.abs(image.touchesCurrent.x - image.touchesStart.x), Math.abs(image.touchesCurrent.y - image.touchesStart.y));\n    if (touchesDiff > 5) {\n      swiper.allowClick = false;\n    }\n    if (!image.isMoved && !isScaling) {\n      if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {\n        image.isTouched = false;\n        return;\n      }\n      if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {\n        image.isTouched = false;\n        return;\n      }\n    }\n    if (e.cancelable) {\n      e.preventDefault();\n    }\n    e.stopPropagation();\n    image.isMoved = true;\n    const scaleRatio = (zoom.scale - currentScale) / (gesture.maxRatio - swiper.params.zoom.minRatio);\n    const {\n      originX,\n      originY\n    } = gesture;\n    image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX + scaleRatio * (image.width - originX * 2);\n    image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY + scaleRatio * (image.height - originY * 2);\n    if (image.currentX < image.minX) {\n      image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8;\n    }\n    if (image.currentX > image.maxX) {\n      image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8;\n    }\n    if (image.currentY < image.minY) {\n      image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8;\n    }\n    if (image.currentY > image.maxY) {\n      image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8;\n    }\n\n    // Velocity\n    if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;\n    if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;\n    if (!velocity.prevTime) velocity.prevTime = Date.now();\n    velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\n    velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\n    if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;\n    if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;\n    velocity.prevPositionX = image.touchesCurrent.x;\n    velocity.prevPositionY = image.touchesCurrent.y;\n    velocity.prevTime = Date.now();\n    gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`;\n  }\n  function onTouchEnd() {\n    const zoom = swiper.zoom;\n    if (!gesture.imageEl) return;\n    if (!image.isTouched || !image.isMoved) {\n      image.isTouched = false;\n      image.isMoved = false;\n      return;\n    }\n    image.isTouched = false;\n    image.isMoved = false;\n    let momentumDurationX = 300;\n    let momentumDurationY = 300;\n    const momentumDistanceX = velocity.x * momentumDurationX;\n    const newPositionX = image.currentX + momentumDistanceX;\n    const momentumDistanceY = velocity.y * momentumDurationY;\n    const newPositionY = image.currentY + momentumDistanceY;\n\n    // Fix duration\n    if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\n    if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\n    const momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n    image.currentX = newPositionX;\n    image.currentY = newPositionY;\n    // Define if we need image drag\n    const scaledWidth = image.width * zoom.scale;\n    const scaledHeight = image.height * zoom.scale;\n    image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n    image.maxX = -image.minX;\n    image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n    image.maxY = -image.minY;\n    image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\n    image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\n    gesture.imageWrapEl.style.transitionDuration = `${momentumDuration}ms`;\n    gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`;\n  }\n  function onTransitionEnd() {\n    const zoom = swiper.zoom;\n    if (gesture.slideEl && swiper.activeIndex !== swiper.slides.indexOf(gesture.slideEl)) {\n      if (gesture.imageEl) {\n        gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)';\n      }\n      if (gesture.imageWrapEl) {\n        gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)';\n      }\n      gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`);\n      zoom.scale = 1;\n      currentScale = 1;\n      gesture.slideEl = undefined;\n      gesture.imageEl = undefined;\n      gesture.imageWrapEl = undefined;\n      gesture.originX = 0;\n      gesture.originY = 0;\n    }\n  }\n  function zoomIn(e) {\n    const zoom = swiper.zoom;\n    const params = swiper.params.zoom;\n    if (!gesture.slideEl) {\n      if (e && e.target) {\n        gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);\n      }\n      if (!gesture.slideEl) {\n        if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n          gesture.slideEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];\n        } else {\n          gesture.slideEl = swiper.slides[swiper.activeIndex];\n        }\n      }\n      let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);\n      if (imageEl) {\n        imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];\n      }\n      gesture.imageEl = imageEl;\n      if (imageEl) {\n        gesture.imageWrapEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(gesture.imageEl, `.${params.containerClass}`)[0];\n      } else {\n        gesture.imageWrapEl = undefined;\n      }\n    }\n    if (!gesture.imageEl || !gesture.imageWrapEl) return;\n    if (swiper.params.cssMode) {\n      swiper.wrapperEl.style.overflow = 'hidden';\n      swiper.wrapperEl.style.touchAction = 'none';\n    }\n    gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);\n    let touchX;\n    let touchY;\n    let offsetX;\n    let offsetY;\n    let diffX;\n    let diffY;\n    let translateX;\n    let translateY;\n    let imageWidth;\n    let imageHeight;\n    let scaledWidth;\n    let scaledHeight;\n    let translateMinX;\n    let translateMinY;\n    let translateMaxX;\n    let translateMaxY;\n    let slideWidth;\n    let slideHeight;\n    if (typeof image.touchesStart.x === 'undefined' && e) {\n      touchX = e.pageX;\n      touchY = e.pageY;\n    } else {\n      touchX = image.touchesStart.x;\n      touchY = image.touchesStart.y;\n    }\n    const forceZoomRatio = typeof e === 'number' ? e : null;\n    if (currentScale === 1 && forceZoomRatio) {\n      touchX = undefined;\n      touchY = undefined;\n    }\n    zoom.scale = forceZoomRatio || gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio;\n    currentScale = forceZoomRatio || gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio;\n    if (e && !(currentScale === 1 && forceZoomRatio)) {\n      slideWidth = gesture.slideEl.offsetWidth;\n      slideHeight = gesture.slideEl.offsetHeight;\n      offsetX = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementOffset)(gesture.slideEl).left + window.scrollX;\n      offsetY = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementOffset)(gesture.slideEl).top + window.scrollY;\n      diffX = offsetX + slideWidth / 2 - touchX;\n      diffY = offsetY + slideHeight / 2 - touchY;\n      imageWidth = gesture.imageEl.offsetWidth;\n      imageHeight = gesture.imageEl.offsetHeight;\n      scaledWidth = imageWidth * zoom.scale;\n      scaledHeight = imageHeight * zoom.scale;\n      translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\n      translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\n      translateMaxX = -translateMinX;\n      translateMaxY = -translateMinY;\n      translateX = diffX * zoom.scale;\n      translateY = diffY * zoom.scale;\n      if (translateX < translateMinX) {\n        translateX = translateMinX;\n      }\n      if (translateX > translateMaxX) {\n        translateX = translateMaxX;\n      }\n      if (translateY < translateMinY) {\n        translateY = translateMinY;\n      }\n      if (translateY > translateMaxY) {\n        translateY = translateMaxY;\n      }\n    } else {\n      translateX = 0;\n      translateY = 0;\n    }\n    if (forceZoomRatio && zoom.scale === 1) {\n      gesture.originX = 0;\n      gesture.originY = 0;\n    }\n    gesture.imageWrapEl.style.transitionDuration = '300ms';\n    gesture.imageWrapEl.style.transform = `translate3d(${translateX}px, ${translateY}px,0)`;\n    gesture.imageEl.style.transitionDuration = '300ms';\n    gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;\n  }\n  function zoomOut() {\n    const zoom = swiper.zoom;\n    const params = swiper.params.zoom;\n    if (!gesture.slideEl) {\n      if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n        gesture.slideEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];\n      } else {\n        gesture.slideEl = swiper.slides[swiper.activeIndex];\n      }\n      let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);\n      if (imageEl) {\n        imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];\n      }\n      gesture.imageEl = imageEl;\n      if (imageEl) {\n        gesture.imageWrapEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(gesture.imageEl, `.${params.containerClass}`)[0];\n      } else {\n        gesture.imageWrapEl = undefined;\n      }\n    }\n    if (!gesture.imageEl || !gesture.imageWrapEl) return;\n    if (swiper.params.cssMode) {\n      swiper.wrapperEl.style.overflow = '';\n      swiper.wrapperEl.style.touchAction = '';\n    }\n    zoom.scale = 1;\n    currentScale = 1;\n    gesture.imageWrapEl.style.transitionDuration = '300ms';\n    gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)';\n    gesture.imageEl.style.transitionDuration = '300ms';\n    gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)';\n    gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);\n    gesture.slideEl = undefined;\n    gesture.originX = 0;\n    gesture.originY = 0;\n  }\n\n  // Toggle Zoom\n  function zoomToggle(e) {\n    const zoom = swiper.zoom;\n    if (zoom.scale && zoom.scale !== 1) {\n      // Zoom Out\n      zoomOut();\n    } else {\n      // Zoom In\n      zoomIn(e);\n    }\n  }\n  function getListeners() {\n    const passiveListener = swiper.params.passiveListeners ? {\n      passive: true,\n      capture: false\n    } : false;\n    const activeListenerWithCapture = swiper.params.passiveListeners ? {\n      passive: false,\n      capture: true\n    } : true;\n    return {\n      passiveListener,\n      activeListenerWithCapture\n    };\n  }\n\n  // Attach/Detach Events\n  function enable() {\n    const zoom = swiper.zoom;\n    if (zoom.enabled) return;\n    zoom.enabled = true;\n    const {\n      passiveListener,\n      activeListenerWithCapture\n    } = getListeners();\n\n    // Scale image\n    swiper.wrapperEl.addEventListener('pointerdown', onGestureStart, passiveListener);\n    swiper.wrapperEl.addEventListener('pointermove', onGestureChange, activeListenerWithCapture);\n    ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => {\n      swiper.wrapperEl.addEventListener(eventName, onGestureEnd, passiveListener);\n    });\n\n    // Move image\n    swiper.wrapperEl.addEventListener('pointermove', onTouchMove, activeListenerWithCapture);\n  }\n  function disable() {\n    const zoom = swiper.zoom;\n    if (!zoom.enabled) return;\n    zoom.enabled = false;\n    const {\n      passiveListener,\n      activeListenerWithCapture\n    } = getListeners();\n\n    // Scale image\n    swiper.wrapperEl.removeEventListener('pointerdown', onGestureStart, passiveListener);\n    swiper.wrapperEl.removeEventListener('pointermove', onGestureChange, activeListenerWithCapture);\n    ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => {\n      swiper.wrapperEl.removeEventListener(eventName, onGestureEnd, passiveListener);\n    });\n\n    // Move image\n    swiper.wrapperEl.removeEventListener('pointermove', onTouchMove, activeListenerWithCapture);\n  }\n  on('init', () => {\n    if (swiper.params.zoom.enabled) {\n      enable();\n    }\n  });\n  on('destroy', () => {\n    disable();\n  });\n  on('touchStart', (_s, e) => {\n    if (!swiper.zoom.enabled) return;\n    onTouchStart(e);\n  });\n  on('touchEnd', (_s, e) => {\n    if (!swiper.zoom.enabled) return;\n    onTouchEnd(e);\n  });\n  on('doubleTap', (_s, e) => {\n    if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {\n      zoomToggle(e);\n    }\n  });\n  on('transitionEnd', () => {\n    if (swiper.zoom.enabled && swiper.params.zoom.enabled) {\n      onTransitionEnd();\n    }\n  });\n  on('slideChange', () => {\n    if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {\n      onTransitionEnd();\n    }\n  });\n  Object.assign(swiper.zoom, {\n    enable,\n    disable,\n    in: zoomIn,\n    out: zoomOut,\n    toggle: zoomToggle\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/zoom/zoom.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/classes-to-selector.js":
    /*!********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/classes-to-selector.js ***!
      \********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ classesToSelector)\n/* harmony export */ });\nfunction classesToSelector(classes = '') {\n  return `.${classes.trim().replace(/([\\.:!+\\/])/g, '\\\\$1') // eslint-disable-line\n  .replace(/ /g, '.')}`;\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/classes-to-selector.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/create-element-if-not-defined.js":
    /*!******************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/create-element-if-not-defined.js ***!
      \******************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ createElementIfNotDefined)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n  if (swiper.params.createElements) {\n    Object.keys(checkProps).forEach(key => {\n      if (!params[key] && params.auto === true) {\n        let element = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(swiper.el, `.${checkProps[key]}`)[0];\n        if (!element) {\n          element = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', checkProps[key]);\n          element.className = checkProps[key];\n          swiper.el.append(element);\n        }\n        params[key] = element;\n        originalParams[key] = element;\n      }\n    });\n  }\n  return params;\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/create-element-if-not-defined.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/create-shadow.js":
    /*!**************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/create-shadow.js ***!
      \**************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ createShadow)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction createShadow(params, slideEl, side) {\n  const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}`;\n  const shadowContainer = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getSlideTransformEl)(slideEl);\n  let shadowEl = shadowContainer.querySelector(`.${shadowClass}`);\n  if (!shadowEl) {\n    shadowEl = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', `swiper-slide-shadow${side ? `-${side}` : ''}`);\n    shadowContainer.append(shadowEl);\n  }\n  return shadowEl;\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/create-shadow.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-init.js":
    /*!************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-init.js ***!
      \************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ effectInit)\n/* harmony export */ });\nfunction effectInit(params) {\n  const {\n    effect,\n    swiper,\n    on,\n    setTranslate,\n    setTransition,\n    overwriteParams,\n    perspective,\n    recreateShadows,\n    getEffectParams\n  } = params;\n  on('beforeInit', () => {\n    if (swiper.params.effect !== effect) return;\n    swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);\n    if (perspective && perspective()) {\n      swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);\n    }\n    const overwriteParamsResult = overwriteParams ? overwriteParams() : {};\n    Object.assign(swiper.params, overwriteParamsResult);\n    Object.assign(swiper.originalParams, overwriteParamsResult);\n  });\n  on('setTranslate', () => {\n    if (swiper.params.effect !== effect) return;\n    setTranslate();\n  });\n  on('setTransition', (_s, duration) => {\n    if (swiper.params.effect !== effect) return;\n    setTransition(duration);\n  });\n  on('transitionEnd', () => {\n    if (swiper.params.effect !== effect) return;\n    if (recreateShadows) {\n      if (!getEffectParams || !getEffectParams().slideShadows) return;\n      // remove shadows\n      swiper.slides.forEach(slideEl => {\n        slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => shadowEl.remove());\n      });\n      // create new one\n      recreateShadows();\n    }\n  });\n  let requireUpdateOnVirtual;\n  on('virtualUpdate', () => {\n    if (swiper.params.effect !== effect) return;\n    if (!swiper.slides.length) {\n      requireUpdateOnVirtual = true;\n    }\n    requestAnimationFrame(() => {\n      if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) {\n        setTranslate();\n        requireUpdateOnVirtual = false;\n      }\n    });\n  });\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-init.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-target.js":
    /*!**************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-target.js ***!
      \**************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ effectTarget)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction effectTarget(effectParams, slideEl) {\n  const transformEl = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getSlideTransformEl)(slideEl);\n  if (transformEl !== slideEl) {\n    transformEl.style.backfaceVisibility = 'hidden';\n    transformEl.style['-webkit-backface-visibility'] = 'hidden';\n  }\n  return transformEl;\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-target.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-virtual-transition-end.js":
    /*!******************************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-virtual-transition-end.js ***!
      \******************************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ effectVirtualTransitionEnd)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js\");\n\nfunction effectVirtualTransitionEnd({\n  swiper,\n  duration,\n  transformElements,\n  allSlides\n}) {\n  const {\n    activeIndex\n  } = swiper;\n  const getSlide = el => {\n    if (!el.parentElement) {\n      // assume shadow root\n      const slide = swiper.slides.filter(slideEl => slideEl.shadowEl && slideEl.shadowEl === el.parentNode)[0];\n      return slide;\n    }\n    return el.parentElement;\n  };\n  if (swiper.params.virtualTranslate && duration !== 0) {\n    let eventTriggered = false;\n    let transitionEndTarget;\n    if (allSlides) {\n      transitionEndTarget = transformElements;\n    } else {\n      transitionEndTarget = transformElements.filter(transformEl => {\n        const el = transformEl.classList.contains('swiper-slide-transform') ? getSlide(transformEl) : transformEl;\n        return swiper.getSlideIndex(el) === activeIndex;\n      });\n    }\n    transitionEndTarget.forEach(el => {\n      (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementTransitionEnd)(el, () => {\n        if (eventTriggered) return;\n        if (!swiper || swiper.destroyed) return;\n        eventTriggered = true;\n        swiper.animating = false;\n        const evt = new window.CustomEvent('transitionend', {\n          bubbles: true,\n          cancelable: true\n        });\n        swiper.wrapperEl.dispatchEvent(evt);\n      });\n    });\n  }\n}\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/effect-virtual-transition-end.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/get-browser.js":
    /*!************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/get-browser.js ***!
      \************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   getBrowser: () => (/* binding */ getBrowser)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n\nlet browser;\nfunction calcBrowser() {\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  let needPerspectiveFix = false;\n  function isSafari() {\n    const ua = window.navigator.userAgent.toLowerCase();\n    return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n  }\n  if (isSafari()) {\n    const ua = String(window.navigator.userAgent);\n    if (ua.includes('Version/')) {\n      const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num));\n      needPerspectiveFix = major < 16 || major === 16 && minor < 2;\n    }\n  }\n  return {\n    isSafari: needPerspectiveFix || isSafari(),\n    needPerspectiveFix,\n    isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\n  };\n}\nfunction getBrowser() {\n  if (!browser) {\n    browser = calcBrowser();\n  }\n  return browser;\n}\n\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/get-browser.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/get-device.js":
    /*!***********************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/get-device.js ***!
      \***********************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   getDevice: () => (/* binding */ getDevice)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n/* harmony import */ var _get_support_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-support.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/get-support.js\");\n\n\nlet deviceCached;\nfunction calcDevice({\n  userAgent\n} = {}) {\n  const support = (0,_get_support_js__WEBPACK_IMPORTED_MODULE_1__.getSupport)();\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  const platform = window.navigator.platform;\n  const ua = userAgent || window.navigator.userAgent;\n  const device = {\n    ios: false,\n    android: false\n  };\n  const screenWidth = window.screen.width;\n  const screenHeight = window.screen.height;\n  const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n  let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n  const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n  const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n  const windows = platform === 'Win32';\n  let macos = platform === 'MacIntel';\n\n  // iPadOs 13 fix\n  const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n  if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {\n    ipad = ua.match(/(Version)\\/([\\d.]+)/);\n    if (!ipad) ipad = [0, 1, '13_0_0'];\n    macos = false;\n  }\n\n  // Android\n  if (android && !windows) {\n    device.os = 'android';\n    device.android = true;\n  }\n  if (ipad || iphone || ipod) {\n    device.os = 'ios';\n    device.ios = true;\n  }\n\n  // Export object\n  return device;\n}\nfunction getDevice(overrides = {}) {\n  if (!deviceCached) {\n    deviceCached = calcDevice(overrides);\n  }\n  return deviceCached;\n}\n\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/get-device.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/get-support.js":
    /*!************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/get-support.js ***!
      \************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   getSupport: () => (/* binding */ getSupport)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n\nlet support;\nfunction calcSupport() {\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();\n  return {\n    smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style,\n    touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch)\n  };\n}\nfunction getSupport() {\n  if (!support) {\n    support = calcSupport();\n  }\n  return support;\n}\n\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/get-support.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/process-lazy-preloader.js":
    /*!***********************************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/process-lazy-preloader.js ***!
      \***********************************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   preload: () => (/* binding */ preload),\n/* harmony export */   processLazyPreloader: () => (/* binding */ processLazyPreloader)\n/* harmony export */ });\nconst processLazyPreloader = (swiper, imageEl) => {\n  if (!swiper || swiper.destroyed || !swiper.params) return;\n  const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;\n  const slideEl = imageEl.closest(slideSelector());\n  if (slideEl) {\n    const lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n    if (lazyEl) lazyEl.remove();\n  }\n};\nconst unlazy = (swiper, index) => {\n  if (!swiper.slides[index]) return;\n  const imageEl = swiper.slides[index].querySelector('[loading=\"lazy\"]');\n  if (imageEl) imageEl.removeAttribute('loading');\n};\nconst preload = swiper => {\n  if (!swiper || swiper.destroyed || !swiper.params) return;\n  let amount = swiper.params.lazyPreloadPrevNext;\n  const len = swiper.slides.length;\n  if (!len || !amount || amount < 0) return;\n  amount = Math.min(amount, len);\n  const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView);\n  const activeIndex = swiper.activeIndex;\n  if (swiper.params.grid && swiper.params.grid.rows > 1) {\n    const activeColumn = activeIndex;\n    const preloadColumns = [activeColumn - amount];\n    preloadColumns.push(...Array.from({\n      length: amount\n    }).map((_, i) => {\n      return activeColumn + slidesPerView + i;\n    }));\n    swiper.slides.forEach((slideEl, i) => {\n      if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i);\n    });\n    return;\n  }\n  const slideIndexLastInView = activeIndex + slidesPerView - 1;\n  if (swiper.params.rewind || swiper.params.loop) {\n    for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) {\n      const realIndex = (i % len + len) % len;\n      if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex);\n    }\n  } else {\n    for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) {\n      if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) {\n        unlazy(swiper, i);\n      }\n    }\n  }\n};\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/process-lazy-preloader.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js":
    /*!******************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js ***!
      \******************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   animateCSSModeScroll: () => (/* binding */ animateCSSModeScroll),\n/* harmony export */   createElement: () => (/* binding */ createElement),\n/* harmony export */   deleteProps: () => (/* binding */ deleteProps),\n/* harmony export */   elementChildren: () => (/* binding */ elementChildren),\n/* harmony export */   elementIndex: () => (/* binding */ elementIndex),\n/* harmony export */   elementNextAll: () => (/* binding */ elementNextAll),\n/* harmony export */   elementOffset: () => (/* binding */ elementOffset),\n/* harmony export */   elementOuterSize: () => (/* binding */ elementOuterSize),\n/* harmony export */   elementParents: () => (/* binding */ elementParents),\n/* harmony export */   elementPrevAll: () => (/* binding */ elementPrevAll),\n/* harmony export */   elementStyle: () => (/* binding */ elementStyle),\n/* harmony export */   elementTransitionEnd: () => (/* binding */ elementTransitionEnd),\n/* harmony export */   extend: () => (/* binding */ extend),\n/* harmony export */   findElementsInElements: () => (/* binding */ findElementsInElements),\n/* harmony export */   getComputedStyle: () => (/* binding */ getComputedStyle),\n/* harmony export */   getSlideTransformEl: () => (/* binding */ getSlideTransformEl),\n/* harmony export */   getTranslate: () => (/* binding */ getTranslate),\n/* harmony export */   isObject: () => (/* binding */ isObject),\n/* harmony export */   nextTick: () => (/* binding */ nextTick),\n/* harmony export */   now: () => (/* binding */ now),\n/* harmony export */   setCSSProperty: () => (/* binding */ setCSSProperty)\n/* harmony export */ });\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/.store/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js\");\n\nfunction deleteProps(obj) {\n  const object = obj;\n  Object.keys(object).forEach(key => {\n    try {\n      object[key] = null;\n    } catch (e) {\n      // no getter for object\n    }\n    try {\n      delete object[key];\n    } catch (e) {\n      // something got wrong\n    }\n  });\n}\nfunction nextTick(callback, delay = 0) {\n  return setTimeout(callback, delay);\n}\nfunction now() {\n  return Date.now();\n}\nfunction getComputedStyle(el) {\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  let style;\n  if (window.getComputedStyle) {\n    style = window.getComputedStyle(el, null);\n  }\n  if (!style && el.currentStyle) {\n    style = el.currentStyle;\n  }\n  if (!style) {\n    style = el.style;\n  }\n  return style;\n}\nfunction getTranslate(el, axis = 'x') {\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  let matrix;\n  let curTransform;\n  let transformMatrix;\n  const curStyle = getComputedStyle(el, null);\n  if (window.WebKitCSSMatrix) {\n    curTransform = curStyle.transform || curStyle.webkitTransform;\n    if (curTransform.split(',').length > 6) {\n      curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');\n    }\n    // Some old versions of Webkit choke when 'none' is passed; pass\n    // empty string instead in this case\n    transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n  } else {\n    transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n    matrix = transformMatrix.toString().split(',');\n  }\n  if (axis === 'x') {\n    // Latest Chrome and webkits Fix\n    if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n    // Crazy IE10 Matrix\n    else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n    // Normal Browsers\n    else curTransform = parseFloat(matrix[4]);\n  }\n  if (axis === 'y') {\n    // Latest Chrome and webkits Fix\n    if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n    // Crazy IE10 Matrix\n    else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n    // Normal Browsers\n    else curTransform = parseFloat(matrix[5]);\n  }\n  return curTransform || 0;\n}\nfunction isObject(o) {\n  return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\nfunction isNode(node) {\n  // eslint-disable-next-line\n  if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n    return node instanceof HTMLElement;\n  }\n  return node && (node.nodeType === 1 || node.nodeType === 11);\n}\nfunction extend(...args) {\n  const to = Object(args[0]);\n  const noExtend = ['__proto__', 'constructor', 'prototype'];\n  for (let i = 1; i < args.length; i += 1) {\n    const nextSource = args[i];\n    if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n      const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);\n      for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n        const nextKey = keysArray[nextIndex];\n        const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n        if (desc !== undefined && desc.enumerable) {\n          if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n            if (nextSource[nextKey].__swiper__) {\n              to[nextKey] = nextSource[nextKey];\n            } else {\n              extend(to[nextKey], nextSource[nextKey]);\n            }\n          } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n            to[nextKey] = {};\n            if (nextSource[nextKey].__swiper__) {\n              to[nextKey] = nextSource[nextKey];\n            } else {\n              extend(to[nextKey], nextSource[nextKey]);\n            }\n          } else {\n            to[nextKey] = nextSource[nextKey];\n          }\n        }\n      }\n    }\n  }\n  return to;\n}\nfunction setCSSProperty(el, varName, varValue) {\n  el.style.setProperty(varName, varValue);\n}\nfunction animateCSSModeScroll({\n  swiper,\n  targetPosition,\n  side\n}) {\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  const startPosition = -swiper.translate;\n  let startTime = null;\n  let time;\n  const duration = swiper.params.speed;\n  swiper.wrapperEl.style.scrollSnapType = 'none';\n  window.cancelAnimationFrame(swiper.cssModeFrameID);\n  const dir = targetPosition > startPosition ? 'next' : 'prev';\n  const isOutOfBound = (current, target) => {\n    return dir === 'next' && current >= target || dir === 'prev' && current <= target;\n  };\n  const animate = () => {\n    time = new Date().getTime();\n    if (startTime === null) {\n      startTime = time;\n    }\n    const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n    const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n    let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n    if (isOutOfBound(currentPosition, targetPosition)) {\n      currentPosition = targetPosition;\n    }\n    swiper.wrapperEl.scrollTo({\n      [side]: currentPosition\n    });\n    if (isOutOfBound(currentPosition, targetPosition)) {\n      swiper.wrapperEl.style.overflow = 'hidden';\n      swiper.wrapperEl.style.scrollSnapType = '';\n      setTimeout(() => {\n        swiper.wrapperEl.style.overflow = '';\n        swiper.wrapperEl.scrollTo({\n          [side]: currentPosition\n        });\n      });\n      window.cancelAnimationFrame(swiper.cssModeFrameID);\n      return;\n    }\n    swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n  };\n  animate();\n}\nfunction getSlideTransformEl(slideEl) {\n  return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowEl && slideEl.shadowEl.querySelector('.swiper-slide-transform') || slideEl;\n}\nfunction findElementsInElements(elements = [], selector = '') {\n  const found = [];\n  elements.forEach(el => {\n    found.push(...el.querySelectorAll(selector));\n  });\n  return found;\n}\nfunction elementChildren(element, selector = '') {\n  return [...element.children].filter(el => el.matches(selector));\n}\nfunction createElement(tag, classes = []) {\n  const el = document.createElement(tag);\n  el.classList.add(...(Array.isArray(classes) ? classes : [classes]));\n  return el;\n}\nfunction elementOffset(el) {\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();\n  const box = el.getBoundingClientRect();\n  const body = document.body;\n  const clientTop = el.clientTop || body.clientTop || 0;\n  const clientLeft = el.clientLeft || body.clientLeft || 0;\n  const scrollTop = el === window ? window.scrollY : el.scrollTop;\n  const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n  return {\n    top: box.top + scrollTop - clientTop,\n    left: box.left + scrollLeft - clientLeft\n  };\n}\nfunction elementPrevAll(el, selector) {\n  const prevEls = [];\n  while (el.previousElementSibling) {\n    const prev = el.previousElementSibling; // eslint-disable-line\n    if (selector) {\n      if (prev.matches(selector)) prevEls.push(prev);\n    } else prevEls.push(prev);\n    el = prev;\n  }\n  return prevEls;\n}\nfunction elementNextAll(el, selector) {\n  const nextEls = [];\n  while (el.nextElementSibling) {\n    const next = el.nextElementSibling; // eslint-disable-line\n    if (selector) {\n      if (next.matches(selector)) nextEls.push(next);\n    } else nextEls.push(next);\n    el = next;\n  }\n  return nextEls;\n}\nfunction elementStyle(el, prop) {\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  return window.getComputedStyle(el, null).getPropertyValue(prop);\n}\nfunction elementIndex(el) {\n  let child = el;\n  let i;\n  if (child) {\n    i = 0;\n    // eslint-disable-next-line\n    while ((child = child.previousSibling) !== null) {\n      if (child.nodeType === 1) i += 1;\n    }\n    return i;\n  }\n  return undefined;\n}\nfunction elementParents(el, selector) {\n  const parents = []; // eslint-disable-line\n  let parent = el.parentElement; // eslint-disable-line\n  while (parent) {\n    if (selector) {\n      if (parent.matches(selector)) parents.push(parent);\n    } else {\n      parents.push(parent);\n    }\n    parent = parent.parentElement;\n  }\n  return parents;\n}\nfunction elementTransitionEnd(el, callback) {\n  function fireCallBack(e) {\n    if (e.target !== el) return;\n    callback.call(el, e);\n    el.removeEventListener('transitionend', fireCallBack);\n  }\n  if (callback) {\n    el.addEventListener('transitionend', fireCallBack);\n  }\n}\nfunction elementOuterSize(el, size, includeMargins) {\n  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();\n  if (includeMargins) {\n    return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom'));\n  }\n  return el.offsetWidth;\n}\n\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/shared/utils.js?");
    
    /***/ }),
    
    /***/ "./node_modules/.store/swiper@9.4.1/node_modules/swiper/swiper.esm.js":
    /*!****************************************************************************!*\
      !*** ./node_modules/.store/swiper@9.4.1/node_modules/swiper/swiper.esm.js ***!
      \****************************************************************************/
    /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
    
    "use strict";
    eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   A11y: () => (/* reexport safe */ _modules_a11y_a11y_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]),\n/* harmony export */   Autoplay: () => (/* reexport safe */ _modules_autoplay_autoplay_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]),\n/* harmony export */   Controller: () => (/* reexport safe */ _modules_controller_controller_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]),\n/* harmony export */   EffectCards: () => (/* reexport safe */ _modules_effect_cards_effect_cards_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]),\n/* harmony export */   EffectCoverflow: () => (/* reexport safe */ _modules_effect_coverflow_effect_coverflow_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]),\n/* harmony export */   EffectCreative: () => (/* reexport safe */ _modules_effect_creative_effect_creative_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]),\n/* harmony export */   EffectCube: () => (/* reexport safe */ _modules_effect_cube_effect_cube_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]),\n/* harmony export */   EffectFade: () => (/* reexport safe */ _modules_effect_fade_effect_fade_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]),\n/* harmony export */   EffectFlip: () => (/* reexport safe */ _modules_effect_flip_effect_flip_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]),\n/* harmony export */   FreeMode: () => (/* reexport safe */ _modules_free_mode_free_mode_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]),\n/* harmony export */   Grid: () => (/* reexport safe */ _modules_grid_grid_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]),\n/* harmony export */   HashNavigation: () => (/* reexport safe */ _modules_hash_navigation_hash_navigation_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]),\n/* harmony export */   History: () => (/* reexport safe */ _modules_history_history_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]),\n/* harmony export */   Keyboard: () => (/* reexport safe */ _modules_keyboard_keyboard_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n/* harmony export */   Manipulation: () => (/* reexport safe */ _modules_manipulation_manipulation_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]),\n/* harmony export */   Mousewheel: () => (/* reexport safe */ _modules_mousewheel_mousewheel_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]),\n/* harmony export */   Navigation: () => (/* reexport safe */ _modules_navigation_navigation_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]),\n/* harmony export */   Pagination: () => (/* reexport safe */ _modules_pagination_pagination_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]),\n/* harmony export */   Parallax: () => (/* reexport safe */ _modules_parallax_parallax_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]),\n/* harmony export */   Scrollbar: () => (/* reexport safe */ _modules_scrollbar_scrollbar_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]),\n/* harmony export */   Swiper: () => (/* reexport safe */ _core_core_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]),\n/* harmony export */   Thumbs: () => (/* reexport safe */ _modules_thumbs_thumbs_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]),\n/* harmony export */   Virtual: () => (/* reexport safe */ _modules_virtual_virtual_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n/* harmony export */   Zoom: () => (/* reexport safe */ _modules_zoom_zoom_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]),\n/* harmony export */   \"default\": () => (/* reexport safe */ _core_core_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _core_core_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/core.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/core/core.js\");\n/* harmony import */ var _modules_virtual_virtual_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/virtual/virtual.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/virtual/virtual.js\");\n/* harmony import */ var _modules_keyboard_keyboard_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/keyboard/keyboard.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/keyboard/keyboard.js\");\n/* harmony import */ var _modules_mousewheel_mousewheel_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/mousewheel/mousewheel.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/mousewheel/mousewheel.js\");\n/* harmony import */ var _modules_navigation_navigation_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/navigation/navigation.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/navigation/navigation.js\");\n/* harmony import */ var _modules_pagination_pagination_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/pagination/pagination.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/pagination/pagination.js\");\n/* harmony import */ var _modules_scrollbar_scrollbar_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/scrollbar/scrollbar.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/scrollbar/scrollbar.js\");\n/* harmony import */ var _modules_parallax_parallax_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/parallax/parallax.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/parallax/parallax.js\");\n/* harmony import */ var _modules_zoom_zoom_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/zoom/zoom.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/zoom/zoom.js\");\n/* harmony import */ var _modules_controller_controller_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/controller/controller.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/controller/controller.js\");\n/* harmony import */ var _modules_a11y_a11y_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modules/a11y/a11y.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/a11y/a11y.js\");\n/* harmony import */ var _modules_history_history_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./modules/history/history.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/history/history.js\");\n/* harmony import */ var _modules_hash_navigation_hash_navigation_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modules/hash-navigation/hash-navigation.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/hash-navigation/hash-navigation.js\");\n/* harmony import */ var _modules_autoplay_autoplay_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./modules/autoplay/autoplay.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/autoplay/autoplay.js\");\n/* harmony import */ var _modules_thumbs_thumbs_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./modules/thumbs/thumbs.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/thumbs/thumbs.js\");\n/* harmony import */ var _modules_free_mode_free_mode_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./modules/free-mode/free-mode.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/free-mode/free-mode.js\");\n/* harmony import */ var _modules_grid_grid_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./modules/grid/grid.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/grid/grid.js\");\n/* harmony import */ var _modules_manipulation_manipulation_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./modules/manipulation/manipulation.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/manipulation/manipulation.js\");\n/* harmony import */ var _modules_effect_fade_effect_fade_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./modules/effect-fade/effect-fade.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-fade/effect-fade.js\");\n/* harmony import */ var _modules_effect_cube_effect_cube_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./modules/effect-cube/effect-cube.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-cube/effect-cube.js\");\n/* harmony import */ var _modules_effect_flip_effect_flip_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./modules/effect-flip/effect-flip.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-flip/effect-flip.js\");\n/* harmony import */ var _modules_effect_coverflow_effect_coverflow_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./modules/effect-coverflow/effect-coverflow.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-coverflow/effect-coverflow.js\");\n/* harmony import */ var _modules_effect_creative_effect_creative_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./modules/effect-creative/effect-creative.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-creative/effect-creative.js\");\n/* harmony import */ var _modules_effect_cards_effect_cards_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./modules/effect-cards/effect-cards.js */ \"./node_modules/.store/swiper@9.4.1/node_modules/swiper/modules/effect-cards/effect-cards.js\");\n/**\n * Swiper 9.4.1\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2023 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: June 13, 2023\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://empty-project/./node_modules/.store/swiper@9.4.1/node_modules/swiper/swiper.esm.js?");
    
    /***/ })
    
    /******/ 	});
    /************************************************************************/
    /******/ 	// The module cache
    /******/ 	var __webpack_module_cache__ = {};
    /******/ 	
    /******/ 	// The require function
    /******/ 	function __webpack_require__(moduleId) {
    /******/ 		// Check if module is in cache
    /******/ 		var cachedModule = __webpack_module_cache__[moduleId];
    /******/ 		if (cachedModule !== undefined) {
    /******/ 			return cachedModule.exports;
    /******/ 		}
    /******/ 		// Create a new module (and put it into the cache)
    /******/ 		var module = __webpack_module_cache__[moduleId] = {
    /******/ 			// no module.id needed
    /******/ 			// no module.loaded needed
    /******/ 			exports: {}
    /******/ 		};
    /******/ 	
    /******/ 		// Execute the module function
    /******/ 		__webpack_modules__[moduleId].call(module.exports, 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 });
    /******/ 		};
    /******/ 	})();
    /******/ 	
    /************************************************************************/
    /******/ 	
    /******/ 	// startup
    /******/ 	// Load entry module and return exports
    /******/ 	// This entry module can't be inlined because the eval devtool is used.
    /******/ 	__webpack_require__("./src/Injects/XPath/index.ts");
    /******/ 	__webpack_require__("./src/Injects/Search/index.ts");
    /******/ 	__webpack_require__("./src/Injects/NineOne/index.ts");
    /******/ 	__webpack_require__("./src/Injects/Mid/index.ts");
    /******/ 	__webpack_require__("./src/Injects/ManWa/index.ts");
    /******/ 	__webpack_require__("./src/Injects/Magnet/index.ts");
    /******/ 	__webpack_require__("./src/Injects/M3U8/index.ts");
    /******/ 	__webpack_require__("./src/Injects/Highlight/index.ts");
    /******/ 	__webpack_require__("./src/Injects/EmbyTags/index.ts");
    /******/ 	__webpack_require__("./src/Injects/Emby/index.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/index.ts");
    /******/ 	__webpack_require__("./src/Injects/Search/UI/UISearch.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/pages/PageActorFollow/UI/UIActorVideos.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIZh.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIVideos.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIValue.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UITrailer.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UITop.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UITitle.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UITags.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UISubs.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIStudio.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIStat.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UISeries.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIScore.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIReleaseDate.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIProgress.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIPreview.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIMagnet.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIIntroduce.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIImages.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIImage.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIGenres.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIEmby.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIDuration.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIDirector.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIDesc.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UICover.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIComment.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UICollect.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UICode.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIButtons.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIActors.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UIActor.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/UI/UCodes.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/Code/UnCode2.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/Code/UnCode.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/Code/CodeBase.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/Code/Code.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/SyncUU.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/SyncJavDB.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/SyncFC2Msin.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/SyncFC2.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/SyncAVPreview.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Video/SyncThisAV.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Video/SyncSuper.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Video/SyncNetFlav.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Video/SyncJavFC2.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Video/SyncJable.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Video/SyncEmby.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Trailer/SyncTrailer.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Magnet/SyncU3C3.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Magnet/SyncSukebei.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Magnet/SyncBTSOW.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Info/SyncSubtitles.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Info/SyncQB.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Info/SyncAirAv.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Info/Sync115.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Image/SyncMemoJav.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Image/Sync3X.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Comment/SyncJavLib.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Comment/SyncFCComment.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Comment/SyncComment.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Actor/XSlist.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Actor/SyncMsin.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Actor/SyncMissAV.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Actor/SyncActorMsin.ts");
    /******/ 	__webpack_require__("./src/Injects/CodeFind/API/Actor/SyncActorCodes.ts");
    /******/ 	__webpack_require__("./src/Injects/Search/Sync/Video/SyncTBS.ts");
    /******/ 	__webpack_require__("./src/Injects/Search/Sync/Video/SyncDouBan.ts");
    /******/ 	__webpack_require__("./src/Injects/Search/Sync/Video/SyncCable.ts");
    /******/ 	__webpack_require__("./src/Injects/Search/Sync/Video/Sync91.ts");
    /******/ 	__webpack_require__("./src/Injects/Search/Sync/Magnet/SyncSolid.ts");
    /******/ 	var __webpack_exports__ = __webpack_require__("./src/index.dev.ts");
    /******/ 	
    /******/ })()
    ;