Greasy Fork

Greasy Fork is available in English.

115不大助手 (full)

Make 115 taerg again!

// ==UserScript==
// @name         115不大助手 (full)
// @namespace    com.cloud115.enhancer
// @version      0.7.75
// @author       生瓜太保
// @description  Make 115 taerg again!
// @license      GPLv3
// @icon         https://cdnres.115.com/site/static/style_v11.2/frame/images/logo.svg
// @homepage     http://greasyfork.icu/zh-CN/scripts/474231-115不大助手?locale_override=1
// @supportURL   http://greasyfork.icu/zh-CN/scripts/474231-115不大助手?locale_override=1
// @match        https://*.115.com/*
// @match        https://115.com/*
// @match        https://v.anxia.com/*
// @match        https://anxia.com/*
// @match        https://115cdn.com/*
// @match        https://115vod.com/*
// @exclude      https://q.115.com/*
// @exclude      https://cdnassets.115.com/*
// @connect      *
// @grant        GM_addStyle
// @grant        GM_deleteValue
// @grant        GM_getValue
// @grant        GM_info
// @grant        GM_openInTab
// @grant        GM_registerMenuCommand
// @grant        GM_setClipboard
// @grant        GM_setValue
// @grant        GM_xmlhttpRequest
// @grant        unsafeWindow
// @run-at       document-body
// ==/UserScript==

(e=>{if(typeof GM_addStyle=="function"){GM_addStyle(e);return}const o=document.createElement("style");o.textContent=e,document.head.append(o)})(` @charset "UTF-8";.pure-button{display:inline-block;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;box-sizing:border-box}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-group{letter-spacing:-.31em;text-rendering:optimizespeed}.opera-only :-o-prefocus,.pure-button-group{word-spacing:-.43em}.pure-button-group .pure-button{letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:#000c;border:none transparent;background-color:#e6e6e6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:focus,.pure-button:hover{background-image:linear-gradient(transparent,#0000000d 40%,#0000001a)}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{box-shadow:0 0 0 1px #00000026 inset,0 0 6px #0003 inset;border-color:#000}.pure-button-disabled,.pure-button-disabled:active,.pure-button-disabled:focus,.pure-button-disabled:hover,.pure-button[disabled]{border:none;background-image:none;opacity:.4;cursor:not-allowed;box-shadow:none;pointer-events:none}.pure-button-hidden{display:none}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-button-group .pure-button{margin:0;border-radius:0;border-right:1px solid rgba(0,0,0,.2)}.pure-button-group .pure-button:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.pure-button-group .pure-button:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px;border-right:none}.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0}/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;vertical-align:middle;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;box-sizing:border-box}.pure-form input[type=color]{padding:.2em .5em}.pure-form input[type=color]:focus,.pure-form input[type=date]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=email]:focus,.pure-form input[type=month]:focus,.pure-form input[type=number]:focus,.pure-form input[type=password]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=text]:focus,.pure-form input[type=time]:focus,.pure-form input[type=url]:focus,.pure-form input[type=week]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;border-color:#129fea}.pure-form input:not([type]):focus{outline:0;border-color:#129fea}.pure-form input[type=checkbox]:focus,.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus{outline:thin solid #129FEA;outline:1px auto #129FEA}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=color][disabled],.pure-form input[type=date][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=email][disabled],.pure-form input[type=month][disabled],.pure-form input[type=number][disabled],.pure-form input[type=password][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=text][disabled],.pure-form input[type=time][disabled],.pure-form input[type=url][disabled],.pure-form input[type=week][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background-color:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form select:focus:invalid,.pure-form textarea:focus:invalid{color:#b94a48;border-color:#e9322d}.pure-form input[type=checkbox]:focus:invalid:focus,.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{height:2.25em;border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=color],.pure-form-stacked input[type=date],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=email],.pure-form-stacked input[type=file],.pure-form-stacked input[type=month],.pure-form-stacked input[type=number],.pure-form-stacked input[type=password],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=text],.pure-form-stacked input[type=time],.pure-form-stacked input[type=url],.pure-form-stacked input[type=week],.pure-form-stacked label,.pure-form-stacked select,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-stacked input:not([type]){display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned select,.pure-form-aligned textarea,.pure-form-message-inline{display:inline-block;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 11em}.pure-form .pure-input-rounded,.pure-form input.pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input,.pure-form .pure-group textarea{display:block;padding:10px;margin:0 0 -1px;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus,.pure-form .pure-group textarea:focus{z-index:3}.pure-form .pure-group input:first-child,.pure-form .pure-group textarea:first-child{top:1px;border-radius:4px 4px 0 0;margin:0}.pure-form .pure-group input:first-child:last-child,.pure-form .pure-group textarea:first-child:last-child{top:1px;border-radius:4px;margin:0}.pure-form .pure-group input:last-child,.pure-form .pure-group textarea:last-child{top:-2px;border-radius:0 0 4px 4px;margin:0}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-3-4{width:75%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=color],.pure-group input[type=date],.pure-group input[type=datetime-local],.pure-group input[type=datetime],.pure-group input[type=email],.pure-group input[type=month],.pure-group input[type=number],.pure-group input[type=password],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=text],.pure-group input[type=time],.pure-group input[type=url],.pure-group input[type=week]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0}.pure-form-message,.pure-form-message-inline{display:block;font-size:.75em;padding:.2em 0 .8em}}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:#000c;color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.text-center{text-align:center}.text-bold{font-weight:700}.text-cross{text-decoration:line-through}.text-ul{text-decoration:underline}.text-ul-dot{text-decoration:underline dotted}.text-primary{color:#1890ff}.text-success{color:#13ce66}.text-warning{color:#ffba00}.text-danger{color:#ff4949}.text-info{color:#909399}.ce-label{padding:2px 4px;background:#909399;color:#fff;border-radius:4px}.ce-label.ce-label-primary{background:#1890ff}.ce-label.ce-label-warning{background:#ffba00}.ce-label.ce-label-danger{background:#ff4949}.ce-label.ce-label-success{background:#13ce66}.ce-label.ce-label-primary-plain{color:#409eff;background:#ecf5ff}.ce-tag-plain{padding:1px 4px;border:1px solid #1890ff;border-radius:4px}input.ce-checkbox{width:20px;height:20px;cursor:pointer}.ce-hidden{display:none!important}.tabs-component .tabs-component-tabs{border:solid 1px #ddd;border-radius:6px;margin-bottom:5px}@media (min-width: 700px){.tabs-component .tabs-component-tabs{border:0;align-items:stretch;display:flex;justify-content:flex-start;margin-bottom:1px}}.tabs-component .tabs-component-tabs .tabs-component-tab{color:#999;font-size:14px;font-weight:600;margin-right:0;list-style:none;border-bottom:dotted 1px #ddd}.tabs-component .tabs-component-tabs .tabs-component-tab:hover{color:#666}.tabs-component .tabs-component-tabs .tabs-component-tab.is-disabled *{color:#cdcdcd;cursor:not-allowed!important}.tabs-component .tabs-component-tabs .tabs-component-tab.is-active{color:#000}.tabs-component .tabs-component-tabs .tabs-component-tab .tabs-component-tab-a{align-items:center;color:inherit;display:flex;padding:.75em 1em;text-decoration:none}@media (min-width: 700px){.tabs-component .tabs-component-tabs .tabs-component-tab{background-color:#fff;border:solid 1px #ddd;border-radius:3px 3px 0 0;margin-right:.5em;transform:translateY(2px);transition:transform .3s ease}.tabs-component .tabs-component-tabs .tabs-component-tab.is-active{border-bottom:solid 1px #fff;z-index:2;transform:translateY(2px)}}.tabs-component .tabs-component-panels{padding:1em 0}@media (min-width: 700px){.tabs-component .tabs-component-panels{background-color:#fff;border:solid 1px #ddd;border-radius:0 6px 6px;box-shadow:0 0 10px #0000000d;padding:1em}}.tabs-component .tabs-component-btn{cursor:pointer;background:#e1ecf4;border-radius:3px;border:1px solid #7aa7c7;padding:4px 8px;color:#39739d}.tabs-component .tabs-component-btn:hover{background-color:#b3d3ea;color:#2c5777}.tabs-component .tabs-component-btn:active{background-color:#a0c7e4;box-shadow:none;color:#2c5777}.ce-tips{background:#eee;border-radius:4px;padding:4px;font-size:12px;color:#595959;margin-bottom:10px}.ce-hr{border:0;height:1px;background-image:linear-gradient(to right,#0000,#ccc,#0000)}.ce-config input[type=checkbox]{width:18px;height:18px;cursor:pointer}.ce-config legend{font-size:16px;color:#1890ff}.ce-config-help{font-size:11px;cursor:pointer}.ce-ec-detail{text-align:left;font-size:14px}.ce-ec-detail span{color:#1890ff;display:inline-block;width:90px;text-align:right}.swal2-container{z-index:99999999!important}.ce-swal-text-left .swal2-html-container{text-align:left!important}.swal2-checkbox input{width:20px;height:20px;cursor:pointer}div[class^=fp-].hidden-watermark{display:none!important}div.list-header[rel=list_header]{display:flex!important}.ce-custom-url-help{position:fixed;top:0;left:0;z-index:10000;width:430px;height:100%;background:#fff;font-size:12px}.ce-custom-url-help .ce-custom-url-help-body{height:80%;overflow-y:auto;padding:20px 20px 300px}.ce-custom-url-help h1 a{float:right;color:#1e87f0;font-size:14px}.ce-custom-url-help h1 a:hover{color:#1e87f0;text-decoration:underline}.ce-custom-url-help table{width:100%;margin-bottom:20px}.ce-custom-url-help .ce-variable{cursor:pointer;color:#1e87f0;font-size:14px}.ce-custom-url-help .ce-variable:hover{color:#093d71}.ce-menu:not(.sub-item){background:#fffcea}.ce-menu img.ce-menu-icon{float:left;width:12px;height:12px;margin-right:4px}.ce-menu.list-item-hover-menu i.ce-menu-icon.icon-operate{scale:.75;margin-top:-4px}.ce-menu.list-item-hover-menu.ce-menu-parent{position:relative;float:left;cursor:pointer}.ce-menu.list-item-hover-menu.ce-menu-parent:after{content:"";position:absolute;top:50%;right:0;width:1px;height:14px;margin-top:-7px;background:#2777f8cc;pointer-events:none}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-trigger{padding:0 12px;color:#2777f8}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-trigger:before{content:"\u2228";margin-right:4px;font-size:12px}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;left:0;padding:4px;border-radius:4px;display:none;text-align:center;width:160px}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown .list-item-hover-menu-sub{margin:2px 0;background:#eee;color:#2877f8;width:100%;border-radius:4px;padding:6px 12px;line-height:12px;box-sizing:border-box}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown .list-item-hover-menu-sub:hover{background-color:#f3e882}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown .list-item-hover-menu-sub:after{display:none}.ce-menu.selection-menu.ce-menu-parent{position:relative;float:left;cursor:pointer}.ce-menu.selection-menu.ce-menu-parent:after{content:"";position:absolute;top:50%;right:0;width:1px;height:14px;margin-top:-7px;background:#2777f8cc;pointer-events:none}.ce-menu.selection-menu.ce-menu-parent .ce-menu-trigger{color:#2777f8}.ce-menu.selection-menu.ce-menu-parent .ce-menu-trigger:before{content:"\u2228";margin-right:4px;font-size:12px}.ce-menu.selection-menu.ce-menu-parent.ce-menu-dropdown-opened .ce-menu-trigger{color:#fff}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;top:30px;left:0;width:160px;padding:4px;border-radius:4px;display:none;text-align:left}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub{color:#2877f8;border-radius:4px;text-align:left;display:block;width:100%;box-sizing:border-box;padding-left:4px;padding-right:4px;font-size:12px;background:transparent;cursor:pointer}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub span{font-weight:400;float:inherit}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub .ce-menu-icon{float:unset}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub:hover{background-color:#f3e882}.ce-menu.dir-context-menu>a img.ce-menu-icon{float:none;width:18px;height:18px;position:absolute;top:50%;left:14px;margin-top:-10px}.ce-menu.dir-context-menu>img.ce-menu-icon{position:absolute;left:14px;top:8px}.ce-menu.dir-context-menu.ce-menu-parent{position:relative;cursor:pointer;padding:6px 0}.ce-menu.dir-context-menu.ce-menu-parent:after{content:">";position:absolute;opacity:.5;right:10px;pointer-events:none}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-trigger{margin-left:43px;color:#2777f8}.ce-menu.dir-context-menu.ce-menu-parent.ce-menu-dropdown-opened{background:#f3e882}.ce-menu.dir-context-menu.ce-menu-parent.ce-menu-dropdown-opened .ce-menu-trigger{color:#1c0ccf}.ce-menu.dir-context-menu.ce-menu-parent.ce-menu-dropdown-opened:after{opacity:0}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;top:0;left:100%;width:160px;padding:4px;border-radius:4px;display:none;text-align:left}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown .dir-context-menu-sub{color:#2877f8;border-radius:4px;text-align:left;display:block;width:100%;box-sizing:border-box;padding:4px 8px;font-size:12px;background:transparent;cursor:pointer}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown .dir-context-menu-sub span{font-weight:400;float:inherit}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown .dir-context-menu-sub:hover{background-color:#f3e882}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-icon{width:18px;height:18px;margin-right:8px}.ce-menu.list-item-context-menu.ce-menu-parent{position:relative;cursor:pointer;padding:6px 0}.ce-menu.list-item-context-menu.ce-menu-parent:after{content:">";position:absolute;opacity:.5;right:10px;pointer-events:none}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-trigger{margin-left:43px;color:#2777f8}.ce-menu.list-item-context-menu.ce-menu-parent.ce-menu-dropdown-opened{background:#f3e882}.ce-menu.list-item-context-menu.ce-menu-parent.ce-menu-dropdown-opened .ce-menu-trigger{color:#1c0ccf}.ce-menu.list-item-context-menu.ce-menu-parent.ce-menu-dropdown-opened:after{opacity:0}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;top:0;left:100%;width:160px;padding:4px;border-radius:4px;display:none;text-align:left}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown .list-item-context-menu-sub{color:#2877f8;border-radius:4px;text-align:left;display:block;width:100%;box-sizing:border-box;padding:4px 8px;font-size:12px;background:transparent;cursor:pointer}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown .list-item-context-menu-sub span{font-weight:400;float:inherit}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown .list-item-context-menu-sub:hover{background-color:#f3e882}.ce-menu-divider{height:1px!important;display:block!important;background-color:#edeeef!important}.ce-menu-divider:after{display:none!important}.list-item-hover-menu .ce-menu-divider{height:6px!important;background-color:transparent!important}div#js_operate_box.only-icon li[menu] span{display:none}div#js_operate_box.only-icon [menu=delete] i.icon-operate{filter:hue-rotate(120deg)}.list-contents{padding-bottom:300px}.header-name a.ce-open-dir-context-menu{cursor:pointer;background:#f2f4f8;border-radius:4px;padding:0 6px;color:#1890ff;margin-left:10px;line-height:32px}.header-name .ce-btn-create-dir{cursor:pointer;color:#4622ff;margin-left:10px;line-height:32px}.header-name .ce-btn-create-dir i{width:16px;height:16px;margin-right:4px;vertical-align:sub}.header-size a.ce-size-sort{cursor:pointer;background:#f2f4f8;border-radius:4px;padding:0 6px;color:#8c97a0;margin-left:10px}.header-size a.ce-size-sort i{display:none}.header-size a.ce-size-sort.by-desc{background-color:#fdc94a;color:#1a2734}.header-size a.ce-size-sort.by-desc i.icon-sort-desc{display:inline-block}.header-size a.ce-size-sort.by-asc{background-color:#fdc94a;color:#1a2734}.header-size a.ce-size-sort.by-asc i.icon-sort-asc{display:inline-block}.header-size a.ce-size-sort.ce-size-sort-ing{cursor:no-drop}.ce-label-open-cfg i{opacity:.5}.ce-label-open-cfg:hover i{opacity:1}.ce-offline-config{max-height:70vh;overflow-y:auto}.ce-offline-config .ce-tips{margin-top:20px;margin-left:56px}.ce-offline-config .pure-form-message{margin-left:56px}.ce-offline-exporter{position:absolute;left:140px;top:62px;background:#f4f2ff;padding:6px 10px;border-radius:4px}.ce-offline-exporter button{margin-right:6px}.offline-exporter-config-form{width:550px;padding:10px}.swal2-input#swalDeleteFile{width:20px;padding:0;height:20px;margin:0;vertical-align:sub;cursor:pointer}body.ce-list-s #js-main{padding-top:40px}body.ce-list-s .ce-offline-exporter{top:92px}.ce-offline-searcher{position:absolute;left:140px;top:58px;background:#f4f2ff;padding:4px 10px;border-radius:4px}.ce-offline-searcher.loading form{opacity:.5;pointer-events:none;cursor:wait}.ce-offline-searcher fieldset{padding:0}.ce-offline-searcher .clearable-wrap{position:relative;width:320px}.ce-offline-searcher .clearable-wrap.is-empty .btn-clear{display:none}.ce-offline-searcher .clearable-wrap input{width:300px;padding-right:35px!important}.ce-offline-searcher .clearable-wrap .btn-clear{position:absolute;right:30px;top:4px;display:block}.ce-offline-searcher .form-item{display:inline-block;margin-right:10px;vertical-align:middle}.ce-offline-searcher .form-item input{padding:.3em}.ce-offline-searcher .form-item select{height:2em;padding:.1em .3em}.ce-offline-searcher .form-item label{margin-right:5px}.ce-offline-searcher .help-trigger{font-size:12px}.ce-offline-searcher .list{display:none}.ce-offline-searcher .stop-on-found{width:16px;height:16px;vertical-align:middle;cursor:pointer}.ce-offline-searcher .search-tips{position:fixed;top:146px;bottom:30px;left:0;width:100%;background:#fff;z-index:9999}.ce-offline-searcher .search-tips .tips-body{padding:20px;position:absolute;top:70px;left:50%;transform:translate(-50%,-50%);background:#f4f2ff;width:80%;border-radius:6px}.cloud115-page-offline.ce-list-m .list-contents .file-name-wrap .desc-tips{left:75px}.cloud115-page-offline.ce-list-m li.ce-task-trouble .info-hash{left:210px!important}.cloud115-page-offline li .ce-buttons{float:left;margin-right:6px}.cloud115-page-offline .ce-checkbox{width:30px}.cloud115-page-offline .ce-checkbox input{display:block!important;width:20px;height:20px;cursor:pointer}.cloud115-page-offline #js-warp .info-hash{position:absolute;left:47px;top:25px;color:#ababab;cursor:pointer}.cloud115-page-offline #js-warp .info-hash.hover{color:#6ab2ff}.cloud115-page-offline #js-warp li.ce-selected:before{background:#ffe296!important}.cloud115-page-offline #js-warp li.ce-show-checkbox .info-hash{left:60px}.cloud115-page-offline #js-warp li.ce-show-checkbox .file-name{margin-left:15px}.cloud115-page-offline #js-warp li.ce-show-checkbox .file-type{left:25px!important}.cloud115-page-offline #js-warp li .ce-checkbox{width:30px;position:absolute;left:0}.cloud115-page-offline #js-warp li .ce-checkbox input{display:block!important;width:20px;height:20px;cursor:pointer}.cloud115-page-offline #js-warp li .desc-tips{position:absolute;left:60px;top:25px}.cloud115-eh-cleaner-trigger .btn-open{padding:0 6px;vertical-align:text-top;line-height:30px;border-radius:4px;background:#4faa4f}.ce-drawer{visibility:hidden}.ce-drawer.is-visible{visibility:visible}.ce-drawer.is-open .ce-drawer__overlay{opacity:.5}.ce-drawer.is-open .ce-drawer__content{transform:translate(0)}.ce-drawer__overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;z-index:200;opacity:0;transition-property:opacity;background-color:#000;user-select:none}.ce-drawer__content{position:fixed;top:0;right:0;bottom:0;height:100%;width:100%;z-index:9999;overflow:auto;transition-property:transform;display:flex;flex-direction:column;transform:translate(100%);box-shadow:0 2px 6px #777}.k-p-e{font-size:12px}.v-popper.v-popper--theme-dropdown{display:inline-block}.group-manager{width:750px;padding-top:8px}.group-manager a{font-size:12px;padding:0 4px;margin-right:8px}.group-manager .group-label{color:#fff;font-size:12px;margin-right:10px;border-radius:4px;padding:2px 8px;background:#66acf9}.group-manager .label-readonly{background:#c93c3c;color:#fff;padding:0 4px;border-radius:4px;vertical-align:middle;margin-right:6px}.append-form{background:#fff;width:350px;padding:10px;border-radius:4px}.append-form input,.append-form textarea{width:100%}.group-form{background:#fff;padding:10px;border-radius:4px}.group-form .pure-control-group{margin-bottom:10px}.group-form input,.group-form textarea{width:80%}.group-form .filter-label{cursor:pointer;padding:0 4px;text-decoration:underline}.group-form input#groupLabel,.group-form input#groupUrl{display:inline-block}.group-form #groupValues{resize:vertical}.group-form .values{display:flex}.group-form .values textarea{width:98%;font-size:12px;line-height:22px}.group-form .values .v-input{flex:6}.group-form .values .v-help{flex:4}.groups-list{background:#fff;width:565px;padding:10px;border-radius:4px;box-shadow:0 0 4px #d8d8d8}.groups-list table th,.groups-list table td{padding:4px 6px}.groups-list ul li{border-bottom:1px solid #eee;padding:4px}.groups-list ul li:nth-last-child(1){border-bottom:none}.groups-list span{display:inline-block}.groups-list .p-index{width:30px}.groups-list .p-label{width:120px}.groups-list .p-actions button{margin-right:8px}.group-confirm-delete{padding:20px}.cloud115-eh-cleaner-help{font-size:12px;position:absolute;top:0;right:0;width:360px;padding:10px 10px 150px 8px;background:#fdffdf;overflow-y:auto}.cloud115-eh-cleaner-help ul{list-style:decimal}.pagination-container{margin:8px 0}.pagination-container li{margin-right:10px}.pagination-container li .paginate-buttons{padding:4px 8px;width:46px;text-align:center}.pagination-container li .paginate-buttons.active-page{color:#411cc8;font-weight:700}ul#componentContainer{padding-inline-start:0;list-style-type:none;display:inline-flex}ul#componentContainer a{text-decoration:none;display:flex;justify-content:center;align-items:center}.ce-file-list[data-v-89339f2e]{padding:20px 10px 50px 20px}.ce-file-list table[data-v-89339f2e]{font-size:12px}.ce-file-list table td[data-v-89339f2e]{word-break:break-all}.v-popper__arrow-container{display:none}.ce-cleaner-x .btn-open{padding:0 6px;vertical-align:text-top;line-height:30px;border-radius:4px;background:#4faa4f;display:none}.ce-cleaner-x .actions-bar{padding-bottom:10px;width:72%}.ce-cleaner-x .actions-bar .title{font-size:18px;font-weight:700;color:#15110c}.ce-cleaner-x .actions-bar .close{margin-left:20px;margin-right:10px;color:#f40}.ce-cleaner-x .actions-bar i.tp-folder{width:18px;height:18px;vertical-align:sub}.ce-cleaner-x .actions-bar .ce-path{font-size:14px;margin-top:4px}.ce-cleaner-x .actions-bar .ce-path a:hover{text-decoration:underline}.ce-button-group button{border:none;padding:2px 6px;border-radius:0;vertical-align:baseline}.ce-button-group button:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.ce-button-group button:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.ce-button-group button:not(:last-child){border-right:1px solid #f6f6f6}#cloud115Cleaner{margin-left:10px}.cloud115-eh-cleaner{position:relative}.cloud115-eh-cleaner-drawer{background:#fff;padding:10px 20px 200px;overflow-y:auto}.cloud115-eh-cleaner-drawer.loading{cursor:wait}.cloud115-eh-cleaner-drawer.loading button,.cloud115-eh-cleaner-drawer.loading input{cursor:no-drop;pointer-events:none}.cloud115-eh-cleaner-drawer .config-toggle{display:inline-block;background:#eee;border-radius:4px;opacity:.2;padding:2px 4px;cursor:pointer}.cloud115-eh-cleaner-drawer .config-toggle.hover{opacity:.7}.cloud115-eh-cleaner-drawer .by-box .by-header{padding-bottom:10px}.cloud115-eh-cleaner-drawer .by-box .by-header .title{font-size:16px;margin-right:8px;color:#0078e6;font-weight:400}.cloud115-eh-cleaner-drawer .by-box .by-header .filter-size{width:100px;font-size:14px;font-weight:700;color:#0078e6;text-indent:6px}.cloud115-eh-cleaner-drawer .by-box .pure-button-group{display:inline-block}.cloud115-eh-cleaner-drawer .by-box .pure-button-group .pure-button{vertical-align:inherit}.cloud115-eh-cleaner-drawer .by-box .pattern-groups{width:750px;text-align:right}.cloud115-eh-cleaner-drawer .by-box .pattern-groups a{font-size:12px;padding:0 4px;margin-right:8px}.cloud115-eh-cleaner-drawer .by-box table tr.active{background:#f7ffc3}.cloud115-eh-cleaner-drawer .by-box table tr.is-dir .pattern{color:#f40}.cloud115-eh-cleaner-drawer .by-box table tr th,.cloud115-eh-cleaner-drawer .by-box table tr td{padding:.5em;font-size:12px}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta{font-size:11px}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta .ce-label{background:#e6e6e6;color:#818181;margin:0 2px;font-size:10px}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta .ce-label.ce-label-danger{background:#cbc8ff;color:#fff}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta .ce-label:first-child{margin-left:4px}.cloud115-eh-cleaner-drawer .by-box table td button:not(:last-child){margin-right:8px}.cloud115-eh-cleaner-drawer .by-box table td a{color:#2877f8}.cloud115-eh-cleaner-drawer .by-box table td .tp-folder{width:16px;height:16px;vertical-align:sub}.cloud115-eh-cleaner-drawer .by-box table.table-matched tr.item-unmatched,.cloud115-eh-cleaner-drawer .by-box table.table-unmatched tr.item-matched{display:none}.by-keyword.kw-cate-dir tbody tr:not(.is-dir),.by-keyword.kw-cate-file tbody tr.is-dir{opacity:.5;pointer-events:none;cursor:no-drop}.fixed-header-table{width:68%;border-collapse:collapse}.fixed-header-table thead{position:sticky;top:0;background-color:#f2f2f2;z-index:1}.fixed-header-table tbody{display:block;max-height:450px;overflow-y:auto;overflow-x:hidden}.fixed-header-table thead,.fixed-header-table tbody tr{display:table;width:100%;table-layout:fixed}.fixed-header-table th,.fixed-header-table td{padding:10px;border:1px solid #ddd}td.item-index{width:29px}td.item-val{width:308px}td.item-num{width:106px}td.item-size{width:89px}td.item-actions{width:166px}td.item-status{width:204px}.ce-empty-cleaner-trigger .btn-open{padding:0 6px;vertical-align:text-top;line-height:30px;border-radius:4px;background:#4faa4f}.ce-empty-cleaner-help[data-v-ce900ab5]{font-size:12px;position:absolute;top:0;right:0;width:360px;padding:10px 10px 150px 8px;background:#fdffdf;overflow-y:auto}.ce-empty-cleaner-help ul[data-v-ce900ab5]{list-style:decimal}#cloud115EmptyCleaner{margin-left:10px}.ce-empty-cleaner{position:relative}.ce-empty-cleaner .top-actions .pure-control-group label{width:auto;text-align:left}.ce-empty-cleaner .ec-logs{max-height:250px;overflow-y:auto;max-width:72%;background:#f4f4f4;padding:10px;line-height:22px;font-size:12px;margin-bottom:20px}.ce-empty-cleaner .ec-items{margin-bottom:30px}.ce-empty-cleaner .ec-items table{font-size:12px;width:72%}.ce-empty-cleaner .ec-items table .tr-deleted>td:not(:last-child){text-decoration:line-through}.ce-empty-cleaner .btn-global-clear{float:right}.ce-empty-cleaner-drawer{background:#fff;padding:10px 20px 200px;overflow-y:auto}.ce-empty-cleaner-drawer.loading{cursor:wait}.ce-empty-cleaner-drawer.loading button,.ce-empty-cleaner-drawer.loading input{cursor:no-drop;pointer-events:none}.button-xsmall,.button-mini{font-size:12px;padding:.2em .5em}.button-small{font-size:85%}.button-large{font-size:110%}.button-xlarge{font-size:125%}.button-success,.button-error,.button-warning,.button-secondary{color:#fff;border-radius:2px;text-shadow:0 1px 1px rgba(0,0,0,.2)}.button-success{background:#1cb841}.button-error{background:#ca3c3c}.button-warning{background:#df7514}.button-secondary{background:#42b8dd}.pure-form select{height:2.5em;font-size:12px}.pure-form input:not([type]){padding:4px 6px}.pure-form input[type=number]{min-width:100px}.ce-basic-config .pure-form-message{margin-left:82px}.ce-basic-config .avatar-preview{display:inline-block;vertical-align:middle;margin-left:10px}.ce-basic-config .pure-control-group input.input-small{padding:2px 4px;width:auto}.ce-clouddrive-config-item{margin-bottom:20px;border:1px solid #cbcbcb;border-radius:0;padding:4px}.ce-clouddrive-config-item.active{background:#fefcea}.ce-clouddrive-config-item input:not([type]){font-size:12px}.ce-clouddrive-config-item .button-error{float:right}.ce-clouddrive-config .cd-tips a{text-decoration:underline}.ce-clouddrive-config .cd-code{font-size:110%;cursor:pointer;user-select:none}.ce-list-config .pure-control-group label{width:16em}.ce-list-config .pure-form-message{margin-left:3em}.ce-search-config .pure-control-group label{width:15em}.ce-search-config .pure-form-message{margin-left:3em}.ce-tools-config{padding-bottom:100px}.ce-tools-config .pure-control-group label{width:15em}.ce-tools-config .pure-form-message{margin-left:3em}.menu-basic-config .pure-control-group label,.official-menu-config .pure-form label{width:170px!important}.official-menu-config .pure-form label small{color:#999}.official-menu-config .pure-form legend .ce-label{cursor:pointer;font-size:12px;float:right}.official-menu-config .pure-form .ce-toggle{font-size:12px;cursor:pointer;color:#909399}.official-menu-config .pure-form .menu-key{opacity:0}.official-menu-config .pure-form .menu-item:hover .menu-key{opacity:1}.official-menu-config .pure-form .hidden .ce-toggle{color:#1890ff}.ce-field{background:#fff;margin-bottom:1px;padding:4px}.ce-field:hover{background:#fefcea}.ce-field input[type=checkbox],.ce-field input[type=radio]{width:18px;height:18px;cursor:pointer;vertical-align:middle}.ce-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.menu-name-path-block{width:250px;max-height:380px;overflow-y:auto}.menu-name-path-block legend{text-align:center}.menu-name-path-block .ce-field label{width:180px}.menu-config-block .ce-search-sub{padding-left:20px;color:#909399}.menu-config-block span.btn-toggle-top{margin-left:8px;cursor:pointer;opacity:.3}.menu-config-block span.btn-toggle-top.active{opacity:1}.ce-menu-config input[type=checkbox]{margin-right:10px;width:18px;height:18px;cursor:pointer;vertical-align:middle}.ce-menu-config .btn-view-info{display:inline-block;margin-right:6px;vertical-align:middle;cursor:help}.menu-config-block{display:inline-block;border-radius:6px;margin:4px;vertical-align:top;padding:0 6px;background:#f9f9f9}.menu-config-block>form>legend{border:none;text-align:center;font-size:14px;color:#5092ff;padding:4px;margin-bottom:0}.menu-config-block>form>fieldset>div{background:#fff;margin-bottom:1px;padding:4px}.menu-config-block>form>fieldset>div:hover{background:#fefcea}.menu-config-block label{display:inline-block;width:120px;font-size:12px;line-height:20px;vertical-align:middle;cursor:pointer}.ce-custom-url{border-radius:4px;box-shadow:0 0 5px #eee;border:1px solid #eee;margin-bottom:20px;padding:0 10px;background:#fff}.ce-custom-url label{cursor:pointer}.ce-custom-url input:not([type]){font-size:12px}.ce-custom-url textarea{font-size:12px;resize:vertical}.ce-custom-url input[type=checkbox]{width:18px;height:18px;cursor:pointer}.ce-custom-url .ce-custom-url-index{font-size:14px;font-weight:700;margin-right:20px}.ce-custom-url legend .button-error{float:right}.ce-custom-url fieldset>div{margin-bottom:1px;padding:4px}.ce-custom-url fieldset>div:hover{background:#fefcea}.ce-custom-urls{padding-bottom:100px}.ce-custom-urls .item-icon img{vertical-align:middle}.ce-custom-urls .item-memo{display:inline-block;width:320px}.ce-play-urls{padding-bottom:100px}.ce-play-urls .item-icon img{vertical-align:middle}.ce-play-urls .item-memo{display:inline-block;width:340px}.ce-play-urls .extra-memo{font-size:12px;margin-left:10px}.ce-play-urls .extra-memo a{text-decoration:underline;color:#337ab7}.ce-anxia-config .pure-control-group label{width:9em}.ce-anxia-config .pure-form-message{margin-left:3em}.ce-share-config .pure-control-group label{width:15em}.ce-share-config .pure-form-message,.ce-share-config .ce-share-tool .pure-control-group{margin-left:3em}.ce-config-main .ce-intro{margin-left:35%;color:#7676ff}.ce-config-main .ce-intro small{color:#999}.ce-config-main .ce-config-main-body{padding:10px}.ce-config-main .ce-config-main-header{padding:10px;position:sticky;top:0;background:#fff;z-index:100000;box-shadow:0 1px 2px #e9e9e9}.ce-config-main .ce-config-main-header h1{display:inline;font-size:18px}.ce-config-main .ce-config-main-header .ce-config-main-close{float:right;vertical-align:top;color:#89929b;cursor:pointer;padding:2px 20px;border-radius:6px}.ce-config-main .ce-config-main-header .ce-config-main-close:hover{background:#fefcea;color:#0275ff}.ce-config-main .ce-offline-config{max-height:unset}.ce-login-page a.ce-entry{display:inline-block;background:#fefcea;padding:2px 6px;border-radius:4px;border:1px solid #234888;margin:0 4px}.ce-list-page .header-name div.desc{line-height:32px}.list-contents ul li .ce-btn-folder-size{background:#f2f4f8;border-radius:6px;padding:4px;cursor:pointer}.list-contents ul li .ce-s-d{font-size:11px;color:#8f8f8f}.list-contents ul li .ce-file-sha1{position:absolute;top:20px;color:#999;cursor:pointer;font-size:90%}.list-contents ul li.ce-show-sha1 .file-name{height:40px}.list-contents ul li.ce-size-got .ce-btn-folder-size{opacity:.6;margin-left:6px}.list-contents ul li.ce-size-got .ce-btn-folder-size:hover{opacity:1}#js_top_header_file_path_box .ce-path-btn{background-color:#f4f6fc;height:32px}#js_top_header_file_path_box .ce-path-btn#ceGotoPath{margin-right:6px}#js_top_header_file_path_box.ce-goto-path-active{height:60px}#js_top_header_file_path_box.ce-goto-path-active div#js_path_add_dir{height:32px}#js_top_header_file_path_box #ceGotoPathApp{position:absolute;top:40px}#js_top_panel_box #js_operate_box.ce-show-quick-entry{display:none!important;animation:ce-hide-hint .3s ease-in-out}.ce-goto-main{position:relative;margin-right:5px}.ce-goto-main.ce-goto-sug-shown .ce-goto-input-wrap{border-radius:6px 6px 0 0}.ce-goto-main.ce-goto-sug-shown .ce-goto-sug{display:block}.ce-goto-main .ce-goto-input-wrap{position:relative;overflow:hidden;border:1px solid #cfcccc;border-radius:6px}.ce-goto-main .ce-goto-input-wrap .ce-goto-input{border-radius:6px 6px 0 0;border:none;padding:4px 10px;width:100%;box-sizing:border-box;color:#2877f8;border-bottom:none}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn{position:absolute;border:none}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn:hover{color:#ff723e}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd]{top:5px;font-size:12px;background:#aeaeae;color:#fff;padding:0 4px;border-radius:4px;cursor:pointer}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd]:hover{background:#ff723e}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd][disabled]{background:#d7d7d7;cursor:not-allowed}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd=clear]{right:10px}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd=toggle]{right:50px}.ce-goto-main .ce-goto-sug{display:none;position:absolute;background:#fff;width:100%;padding:10px 10px 10px 8px;max-height:250px;z-index:999999;overflow-y:auto;box-shadow:0 5px 8px #ededed;border-radius:0 0 6px 6px;border:1px solid #cfcccc;box-sizing:border-box;border-top:none}.ce-goto-main .ce-goto-sug .ce-goto-sug-item{padding:4px 10px;background:#f4f6fc;margin-bottom:4px;cursor:pointer;border-radius:4px;font-size:12px;color:#353535}.ce-goto-main .ce-goto-sug .ce-goto-sug-item:hover{background:#d7d7d7}.ce-goto-main .ce-goto-sug .ce-goto-sug-item.active{background:#f4e1cf;color:#2877f8}.ce-goto-main .ce-goto-sug .ce-goto-sug-item span.ce-goto-sug-prefix,.ce-goto-main .ce-goto-sug .ce-goto-sug-item span.ce-goto-sep{color:#a4a4a4}.ce-goto-main .ce-goto-sug .ce-goto-sug-item span.ce-goto-sug-index{display:inline-block;background:#6ab2ff;font-size:10px;min-width:20px;color:#fff;border-radius:4px;text-align:center;padding:0 2px;margin-right:4px}.ce-search-page .top-file-path .file-path{float:left}.ce-search-page .dir-tab.ce-btn-select{background:#fffcea;color:#2877f8;display:inline-block;height:32px;line-height:24px;font-size:12px;padding:4px 8px;box-sizing:border-box;border:1px solid #2877f8;border-radius:4px}.ce-search-page .dir-tab.ce-btn-select:hover{background:#ff0}.ce-share-page.ce-share-fresh .sharing-banner,.ce-share-page.ce-share-fresh .promptbar-caution{display:none!important}.ce-share-page .sharing-banner{max-width:1000px;margin:0 auto}.ce-share-page .ce-list-summary{background:#fefcea;color:#a37958;border-radius:4px;padding:0 6px;margin-left:10px} `);

(function () {
  'use strict';

  var zw=Object.defineProperty;var qw=(e,t,n)=>t in e?zw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var ve=(e,t,n)=>qw(e,typeof t!="symbol"?t+"":t,n);var Ww=typeof GM_addStyle<"u"?GM_addStyle:void 0,Kw=typeof GM_deleteValue<"u"?GM_deleteValue:void 0,eu=typeof GM_getValue<"u"?GM_getValue:void 0,Gw=typeof GM_info<"u"?GM_info:void 0,wr=typeof GM_openInTab<"u"?GM_openInTab:void 0,oi=typeof GM_registerMenuCommand<"u"?GM_registerMenuCommand:void 0,Jw=typeof GM_setClipboard<"u"?GM_setClipboard:void 0,ll=typeof GM_setValue<"u"?GM_setValue:void 0,tu=typeof GM_xmlhttpRequest<"u"?GM_xmlhttpRequest:void 0,Yw={name:"115不大助手",version:"0.7.75",author:{name:"生瓜太保",email:"[email protected]"},greasyforkUrl:"http://greasyfork.icu/zh-CN/scripts/474231-115%E4%B8%8D%E5%A4%A7%E5%8A%A9%E6%89%8B-full?locale_override=1"},gt=(e=>(e.basic="basic_config",e.anxia="anxia_config",e.clouddrive="clouddrive_configs",e.list="list_config",e.enabledCustomUrlsForSearch="enabled_custom_urls_for_search",e.enabledCustomUrlsForPlay="enabled_custom_urls_for_play",e.menuCustomUrlsForSearch="menu_custom_urls_for_search",e.menuCustomUrlsForPlay="menu_custom_urls_for_play",e.menu="ce_menu_config",e.hiddenOfficialMenuKeys="hidden_official_menu_keys",e.offline="offlineExporterConfig",e.search="search_config",e.tools="tools_config",e.cleanerConfig="cleanerConfig",e.cleanerSuffixGroups="suffixGroups",e.cleanerKeywordGroups="keywordGroups",e.emptyCleanerConfig="emptyCleanerConfig",e.share="share",e))(gt||{});const nu=Object.values(gt),If=async(e,t)=>eu(e,t),Qw=async(e,t)=>ll(e,t),Df=async e=>Kw(e),Xw=async()=>{for(const e of nu)await Df(e);},Tf=async()=>{const e={};for(const t of nu)e[t]=await If(t,{});return e};async function Zw(){const e=await Tf(),t=Yw;e._meta={name:t.name,version:t.version,time:new Date().toLocaleString(),browser:navigator.userAgent},e._schema="pan115_enhancer_configs";const n=document.createElement("a");n.href=URL.createObjectURL(new Blob([JSON.stringify(e,null,2)],{type:"application/json"})),n.download=`${t.name}-v${t.version}-配置.json`,n.click();}async function eb(){return new Promise((e,t)=>{const n=document.createElement("input");n.type="file",n.accept="application/json",n.oncancel=()=>{t("取消选择文件!");},n.onchange=async()=>{const o=n.files&&n.files[0];if(!o){t("未选择文件!");return}const s=await new Promise((r,a)=>{const l=new FileReader;l.onload=()=>{try{r(JSON.parse(l.result));}catch(c){a(c);}},l.onerror=()=>{a(l.error);},l.readAsText(o);});if(s._schema!=="pan115_enhancer_configs"){t("这不是一个脚本配置文件!");return}const i=[];for(const r of nu)i.push(r),s[r]&&await tt.set(r,s[r]);e({data:s,importedKeys:i});},n.click();})}const tt={get:If,set:Qw,remove:Df,clear:Xw,getAll:Tf};function Hr(e,...t){return new e(t[0])}async function Eo(e,t,n){return new Promise(async(o,s)=>{if(typeof e!="function"){s("提供的参数`fulfill`不是一个Function!");return}let i=!1;e(l=>{i=!0,o(l);});let r=setInterval(async()=>{if(i){clearTimeout(a),clearInterval(r);return}e(l=>{clearTimeout(a),clearInterval(r),o(l);});},t),a=setTimeout(()=>{clearInterval(r),s("超时");},n);})}async function Yt(e){return new Promise(t=>{setTimeout(t,e);})}function wt(e,t,n){let o;return function(...s){const i=()=>{o=void 0,e.apply(this,s);};clearTimeout(o),o=setTimeout(i,t);}}function Wo(e,t){t=t||window,t.postMessage(e);}function Vr(e,t=location.href){const n=new RegExp("(\\?|#|&)"+e+"=([^&#]*)(&|#|$)"),o=t.match(n);return o?o[2]:""}function xs(){return Math.floor(Date.now()/1e3)}function Of(e){const t=e.target;e.key==="a"&&(e.ctrlKey||e.metaKey)&&t.select();}function Mf(e){return e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement}function tb(e){e.addEventListener("keydown",t=>{const n=t.target;Mf(n)&&Of(t);});}function Lf(e,t=.2,n=.5){e.style.transition=`opacity ${n}s`,e.style.opacity=t.toString(),setTimeout(()=>{e.remove();},500);}function nb(e,t){let n=document.querySelector(e);return n||(n=st(t)),n}function st(e){const t=document.createElement("div");if(t.innerHTML=e.trim(),t.childNodes.length!==1||!(t.firstChild instanceof HTMLElement))throw new Error("Invalid HTML string. It must contain exactly one root element.");return t.firstChild}function Bf(e,t=document,n=XPathResult.ORDERED_NODE_SNAPSHOT_TYPE){const o=[],s=document.evaluate(e,t,null,n,null);for(let i=0;i<s.snapshotLength;i++){const r=s.snapshotItem(i);r&&o.push(r);}return o}async function lt(e,t=100,n=12e4,o=document){const s=await ou(e,t,n,o);if(s.length)return s[0];throw new Error(`未找到元素:${e}`)}async function ou(e,t=100,n=12e4,o=document){const s=e.indexOf("//")===0;function i(r){if(s){const a=Bf(e);a.length>0&&r(a);}else {const a=o.querySelectorAll(e);a.length&&r(Array.from(a));}}try{return await Eo(i,t,n)}catch(r){throw console.warn("[find]",r),new Error(`查找元素超时:${e}`)}}async function po(e,t=100,n=12e4){const o=e.indexOf("//")===0;function s(i){if(o){const r=Bf(e);r.length>0&&i(unsafeWindow.$(r));}else {const r=unsafeWindow.$(e);r.length&&i(r);}}try{return await Eo(s,t,n)}catch(i){throw console.warn("[findWithJQuery]",i),new Error(`查找元素超时:${e}`)}}async function ob(e,t,n){const o=await lt(e),s=new MutationObserver(t);return n={attributes:!1,childList:!0,subtree:!1,...n},s.observe(o,n),s}function Qe(e){return document.querySelector(e)}function sb(e){return Array.from(document.querySelectorAll(e))}const ib=["ts","wmv","3pg","mp4","mpg","m4v","iso","mkv","avi","dvd","wmv","i00","i01","i02","i03","i04","i05","i06","i07","i08","i09","i10","i11","i12","mpeg","mov","m2ts","bup","vob","rmvb","md0","md1","md2","md3","md4","md5","mdf","mds","nrg","flv"],rb=["jpg","jpeg","png","gif","bmp","svg"],ab=["mp3","wav","wma","ogg","ape","flac","aac"];function br(e,t,n="text/plain"){const o=document.createElement("a");document.body.appendChild(o),o.setAttribute("style","display:none");const s=new Blob([e],{type:n}),i=window.URL.createObjectURL(s);o.href=i,o.download=t,o.click(),window.URL.revokeObjectURL(i);}function ks(e,t=2){if(Number.isNaN(e)||(e=typeof e=="string"?parseInt(e):e,!e))return "0";const n=1024,o=t,s=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],i=Math.floor(Math.log(e)/Math.log(n));return parseFloat((e/Math.pow(n,i)).toFixed(o))+" "+s[i]}function Rc(e){const t=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],n=new RegExp(`^(\\d+(?:\\.\\d+)?)(${t.join("|")})$`,"i"),o=e.match(n);if(!o)throw new Error(`无效的文件大小!${e}`);const s=parseFloat(o[1]),i=o[2].toUpperCase(),r=t.indexOf(i);if(r<0)throw new Error(`无效的文件大小!${e}`);return s*Math.pow(1024,r)}function lb(e){return e?ib.indexOf(e.toLowerCase())>-1:!1}function ub(e){return e?rb.indexOf(e.toLowerCase())>-1:!1}function cb(e){return e?ab.indexOf(e.toLowerCase())>-1:!1}var mt=(e=>(e.openConfig="openConfig",e.closeConfig="closeConfig",e.basicConfigChange="basicConfigChange",e.listConfigChange="listConfigChange",e.searchConfigChange="searchConfigChange",e.toolsConfigChange="toolsConfigChange",e.listRendered="listRendered",e.shareConfigChange="shareConfigChange",e.topDomChanged="topDomChange",e.officialMenuStyleChange="officialMenuStyleChange",e.renderMenus="renderMenus",e))(mt||{}),Ct=(e=>(e.basic="basic",e.clouddrive="clouddrive",e.list="list",e.search="search",e.menus="menus",e.searchMenus="searchMenus",e.playMenus="playMenus",e.offline="offline",e.tools="tools",e.anxia="anxia",e.share="share",e.about="about",e))(Ct||{});const pn={basic:"基础设置",clouddrive:"CloudDrive",list:"列表增强",search:"搜索增强",menus:"菜单设置",searchMenus:"搜索菜单",playMenus:"播放菜单",offline:"离线管理",tools:"工具",anxia:"在线播放",share:"分享增强",about:"关于"},jr=class jr{constructor(t){ve(this,"menuType",Ue.listItemHover);ve(this,"injectDecider");ve(this,"keyAttributeName","id");ve(this,"key","");ve(this,"label","");ve(this,"icon","");ve(this,"showIcon",!0);ve(this,"title","");ve(this,"onClick",async(t,n)=>{});ve(this,"onMouseOver");ve(this,"onMouseOut");ve(this,"subItems",[]);ve(this,"subItemsLocator");ve(this,"isDivider",!1);ve(this,"menuItemTemplates",{[Ue.dirContext]:{body:`<li id="{key}" class="ce-menu dir-context-menu">
        <a href="javascript:;">{icon}<span>{label}</span></a>
      </li>`,bodyForMulti:`<li id="{key}" class="ce-menu ce-menu-parent dir-context-menu">
        {icon}<span class="ce-menu-trigger">{label}</span>
        <div class="ce-menu-dropdown sub-items"></div>
        </span>`,divider:'<li class="ce-menu-divider"></li>'},[Ue.dirContextSub]:{body:`<span id="{key}" class="ce-menu dir-context-menu-sub sub-item">
        {icon}<span>{label}</span>
      </span>`,divider:'<span class="ce-menu-divider"></span>'},[Ue.listItemContext]:{body:`<li id="{key}" class="ce-menu list-item-context-menu">
        <a href="javascript:;">{icon}<span>{label}</span></a>
      </li>`,bodyForMulti:`<li id="{key}" class="ce-menu ce-menu-parent list-item-context-menu">
        {icon}<span class="ce-menu-trigger">{label}</span>
        <div class="ce-menu-dropdown sub-items"></div>
        </span>`,divider:'<li class="ce-menu-divider"></li>'},[Ue.listItemContextSub]:{body:'<span id="{key}" class="ce-menu list-item-context-menu-sub sub-item">{label}</span>',divider:'<span class="ce-menu-divider"></span>'},[Ue.listItemHover]:{body:`<a href="javascript:;" id="{key}" class="ce-menu list-item-hover-menu" style="">
        {icon}<span>{label}</span>
      </a>`,bodyForMulti:`<span class="ce-menu ce-menu-parent list-item-hover-menu">
        {icon}<span class="ce-menu-trigger">{label}</span>
        <div class="ce-menu-dropdown sub-items"></div>
        </span>`,divider:'<a class="ce-menu-divider"></a>'},[Ue.listItemHoverSub]:{body:`<a href="javascript:;" id="{key}" class="ce-menu list-item-hover-menu-sub" style="">
        {icon}<span>{label}</span>
      </a>`,divider:'<a class="ce-menu-divider"></a>'},[Ue.selection]:{body:'<li id="{key}" class="ce-menu selection-menu">{icon}<span>{label}</span></li>',bodyForMulti:`<li class="ce-menu ce-menu-parent selection-menu">
        {icon}<span class="ce-menu-trigger">{label}</span>
        <div class="ce-menu-dropdown sub-items"></div>
        </li>`,divider:'<li class="ce-menu-divider"></li>'},[Ue.selectionSub]:{body:`<a href="javascript:;" id="{key}" class="ce-menu selection-menu-sub" style="">
        {icon}<span>{label}</span>
      </a>`,divider:'<a class="ce-menu-divider"></a>'},[Ue.shareListItemHover]:{body:`<a href="javascript:;" id="{key}" class="ce-menu share-list-item-hover-menu list-item-hover-menu" style="">
        {icon}<span>{label}</span>
      </a>`,bodyForMulti:`<span class="ce-menu ce-menu-parent share-list-item-hover-menu list-item-hover-menu">
        {icon}<span class="ce-menu-trigger">{label}</span>
        <div class="ce-menu-dropdown sub-items"></div>
        </span>`,divider:'<a class="ce-menu-divider"></a>'},[Ue.shareListItemHoverSub]:{body:`<a href="javascript:;" id="{key}" class="ce-menu share-list-item-hover-menu-sub list-item-hover-menu-sub" style="">
        {icon}<span>{label}</span>
      </a>`,divider:'<a class="ce-menu-divider"></a>'}});Object.assign(this,t);}async decideInject(t){return this.injectDecider?await this.injectDecider(this,t):!0}async render(){if(!this.menuType)throw new Error("未指定菜单类型");const t=this.menuItemTemplates[this.menuType];if(!t)throw new Error(`未找到菜单模板:${this.menuType}`);if(this.isDivider){if(!t.divider)throw new Error("未定义模版的divider内容!");const r=document.createElement("div");return r.innerHTML=t.divider,r.firstElementChild}let n=t.body;if(this.subItems&&this.subItems.length>0){if(!t.bodyForMulti)throw new Error("未找到 bodyFormMulti 模版");n=t.bodyForMulti;}const o=document.createElement("div");let s="";this.icon&&this.showIcon&&(this.icon.match(/^(http|https|data:image)/)?s=`<img class="ce-menu-icon" src="${this.icon}" referrerpolicy="no-referrer" />`:this.icon.match(/^data-text:/)?s=`<i class="ce-menu-icon">${this.icon.replace(/^data-text:/,"")}</i>`:s=`<i class="ce-menu-icon ${this.icon}"></i>`),o.innerHTML=n.replace(/{key}/g,this.key).replace(/{label}/g,this.label).replace(/{icon}/g,s);const i=o.firstElementChild;if(i.setAttribute("title",this.title||""),this.onClick&&(i.addEventListener("click",async r=>{this.onClick&&this.onClick(this,r);}),i.addEventListener("mousedown",r=>{r.stopPropagation();})),this.onMouseOver&&i.addEventListener("mouseover",async r=>{this.onMouseOver&&this.onMouseOver(this,r);}),this.onMouseOut&&i.addEventListener("mouseout",async r=>{this.onMouseOut&&this.onMouseOut(this,r);}),this.subItems&&this.subItems.length>0){const r=i.querySelector(".sub-items"),a=[];for(const l of this.subItems){const c=await l.render();a.push(c);}r==null||r.append(...a);}return i}async closeMenu(){try{unsafeWindow.Core.FileMenu.HideRight();}catch(t){console.warn('[MenuItem.closeMenu] Failed to call "unsafeWindow.Core.FileMenu.HideRight()"',t);}document.dispatchEvent(new CustomEvent(jr.EVENT_CLOSE_MENU,{detail:{menu:this}}));}async decorateContainer(t){t.setAttribute("ce-done","");}};ve(jr,"EVENT_CLOSE_MENU","__closeMenu");let fn=jr;async function zr(e,t){t.stopPropagation(),t.preventDefault();const n=t.target,o=$(n).closest(".ce-menu-parent"),s=o.find(".ce-menu-dropdown");o.addClass("ce-menu-dropdown-opened"),s.addClass("ce-menu-dropdown-active");}async function qr(e,t){t.stopPropagation(),t.preventDefault();const n=t.target,o=$(n).closest(".ce-menu-parent"),s=o.find(".ce-menu-dropdown");o.removeClass("ce-menu-dropdown-opened"),s.removeClass("ce-menu-dropdown-active");}class db extends fn{constructor(){super(...arguments);ve(this,"isDivider",!0);}}class Ti{constructor(t){ve(this,"items",[]);ve(this,"siblingSelector","");ve(this,"position",eo.after);ve(this,"useObserver",!0);ve(this,"observeTarget",document.body);ve(this,"disposeObserverAfterInjection",!0);ve(this,"menuType");ve(this,"_observer");ve(this,"injectDecider");Object.assign(this,t),this.handleMessage();}async createObserver(){return new MutationObserver(async([n])=>{n.type==="childList"&&await this.handleChildListMutation(n);})}handleMessage(){window.addEventListener("message",async t=>{const{event:n,body:o={}}=t.data;if(n===mt.renderMenus&&o.type===this.menuType){const s=[];document.querySelectorAll("#js_data_list .list-contents > ul > li .file-opr:not([ce-done])").forEach(i=>{s.push(i);}),s.length&&await this.perform(s);}},!1);}async observe(){if(this._observer=await this.createObserver(),!this._observer)return;const t=await this.getObserveTarget();t&&this.startObserver(t);}async startObserver(t){this._observer&&this._observer.observe(t,{childList:!0});}async disposeObserver(){this.disposeObserverAfterInjection&&this._observer&&this._observer.disconnect();}async getObserveTarget(){return typeof this.observeTarget=="string"?await lt(this.observeTarget,800,864e5*7):this.observeTarget}async isMutationMatch(t){const n=t.addedNodes[0];if(n&&n.nodeType!==Node.ELEMENT_NODE)return !1;switch(this.menuType,Ue.dirContext,this.menuType){case Ue.listItemHover:case Ue.shareListItemHover:return !0;case Ue.listItemContext:return n&&n.classList.contains("context-menu")&&!!n.querySelector('[val="report"]');case Ue.selection:return !0;case Ue.dirContext:return n&&n.classList.contains("context-menu")&&!!n.querySelector('[val="upload"]');default:return !1}}async handleChildListMutation(t){if(!await this.isMutationMatch(t))return;const n=await this.getContainersByMutation(t);await this.perform(n);}async perform(t){for(const n of t)await this.injectToContainer(n);}async getSibling(t){return t.querySelector(this.siblingSelector)}async getContainersByMutation(t){const n=t.addedNodes[0];return await this.getContainersByElement(n)}async getContainersByElement(t){let n=[];switch(this.menuType){case Ue.listItemHover:document.querySelectorAll("#js_data_list .list-contents > ul:not([ce-done]) > li .file-opr").forEach(o=>{n.push(o);});break;case Ue.shareListItemHover:document.querySelectorAll("ul#js-list:not([ce-done]) > li .file-opr").forEach(o=>{n.push(o);});break;case Ue.listItemContext:n=[t];break;case Ue.selection:document.querySelectorAll("#js_top_panel_box #js_operate_box").forEach(o=>{n.push(o);});break;case Ue.dirContext:n=[t];break}return n}async shouldInjectMenuItem(t,n){return await n.decideInject(t)?await this.decideInject(n,t):!1}async decideInject(t,n){return this.injectDecider?await this.injectDecider(t,n):!0}async injectToContainer(t){const n=await this.getSibling(t);if(!n)return;let o=this.items.slice();this.position===eo.after&&(o=o.reverse());for(let s=0;s<o.length;s++){const i=o[s];if(!await this.shouldInjectMenuItem(t,i))continue;const r=await i.render();this.position===eo.before?n.insertAdjacentElement("beforebegin",r):n.insertAdjacentElement("afterend",r),await i.decorateContainer(t);}}async isFileContainer(t){return !!t.getAttribute("file_id")}async isDirContainer(t){return !!t.getAttribute("cate_id")}async inject(){if(!(!this.menuType||!this.items.length||!this.siblingSelector))if(this.useObserver)await this.observe();else {const t=await this.getObserveTarget();if(!t)return;await this.injectToContainer(t);}}}async function fb(e,t){return !!$(t).closest("li").attr("file_id")}async function pb(e,t){return !!$(t).closest("li").attr("cate_id")}async function hb(e,t){const n=$(t).closest("li");if(n.attr("cate_id")||n.attr("iv")==="1")return !0;const o=n.attr("ico");return o?lb(o)||cb(o)||ub(o):!1}function Oi(e){return {copyFullName:!0,copyPureName:!0,copySha1:!0,copySha1WithName:!0,copyUnixPath:!0,copyWinPath:!0,copyParentUnixPath:!0,copyParentWinPath:!0,viewInCloudDrive:!0,...e}}function mb(e){return {enabled:!0,rename:!0,delete:!0,play:!0,copyNames:!0,namePathConfig:Oi(),move:!0,copy:!0,copyTo:!0,viewProp:!0,showSubFolderSize:!0,showSubFolderSizeAndSort:!1,exportList:!1,viewInCloudDrive:!0,topLevelMenus:["rename","delete","play"],...e}}class Xt extends fn{constructor(n){super(n);ve(this,"menuType",Ue.dirContext);this.onMouseOver=zr,this.onMouseOut=qr;}}class gb extends fn{constructor(){super(...arguments);ve(this,"menuType",Ue.dirContextSub);}}class yb extends Ti{constructor(){super(...arguments);ve(this,"menuType",Ue.dirContext);ve(this,"useObserver",!0);ve(this,"observeTarget",document.body);ve(this,"disposeObserverAfterInjection",!0);}}function wb(e){return {enabled:!0,copyNames:!0,namePathConfig:Oi(),viewInCloudDrive:!0,...e}}class Mi extends fn{constructor(n){var a;super(n);ve(this,"menuType",Ue.listItemContext);let o;const s=(l,c)=>{c.stopPropagation(),c.preventDefault(),clearTimeout(o);const u=c.target,p=$(u).closest(".ce-menu-parent"),m=p.find(".ce-menu-dropdown");p.addClass("ce-menu-dropdown-opened"),m.addClass("ce-menu-dropdown-active"),l.subItems&&l.subItemsLocator&&l.subItemsLocator(l,c);},i=(l,c)=>{c.stopPropagation(),c.preventDefault();const u=c.target;o=setTimeout(()=>{const p=$(u).closest(".ce-menu-parent"),m=p.find(".ce-menu-dropdown");p.removeClass("ce-menu-dropdown-opened"),m.removeClass("ce-menu-dropdown-active");},350);},r=(l,c)=>{const u=c.target;if(u.classList.contains("ce-menu-dropdown"))return;const p=$(u).closest(".ce-menu-parent"),m=p.find(".ce-menu-dropdown"),w=p[0].getBoundingClientRect();m.css({position:"fixed",left:w.right,top:w.top});};(a=this.subItems)!=null&&a.length&&(this.onMouseOver=s,this.onMouseOut=i,this.subItemsLocator=r);}}class bb extends Ti{constructor(){super(...arguments);ve(this,"menuType",Ue.listItemContext);}}var sn=(e=>(e[e.any=-999]="any",e[e.failed=-1]="failed",e[e.illegal=0]="illegal",e[e.ing=1]="ing",e[e.success=2]="success",e))(sn||{});const vb={[-1]:"失败",0:"违规",1:"下载中",2:"成功"};var nn=(e=>(e.all="all",e.failed="failed",e.success="success",e.magnet="magnet",e.magnetEd2k="magnetEd2k",e))(nn||{}),su=(e=>(e[e.true=1]="true",e[e.false=0]="false",e))(su||{}),kn=(e=>(e[e.all=0]="all",e[e.video=4]="video",e[e.audio=3]="audio",e[e.image=2]="image",e[e.doc=1]="doc",e[e.app=6]="app",e[e.archive=5]="archive",e[e.file=99]="file",e))(kn||{}),on=(e=>(e.all="全部",e.video="视频",e.audio="音频",e.image="图片",e.doc="文档",e.app="应用",e.archive="压缩包",e.file="仅文件",e))(on||{}),Rf=(e=>(e.userPtime="user_ptime",e.fileName="file_name",e.fileSize="file_size",e.fileType="file_type",e))(Rf||{});function Cb(e){return {offset:0,limit:1150,aid:1,cid:"",format:"json",o:"user_ptime",asc:0,search_value:"",...e}}function Ho(e){return {aid:1,cid:"",o:"user_ptime",asc:0,offset:0,show_dir:1,limit:115,natsort:0,format:"json",...e}}var ul=(e=>(e[e.normal=0]="normal",e[e.violation=1]="violation",e[e.auditing=2]="auditing",e))(ul||{});function Ff(e={}){return {share_code:"",offset:0,limit:1150,receive_code:"",cid:"",...e}}class Nf extends Error{}class iu extends Nf{constructor(t="搜索失败!"){super(t);}}class Uf extends iu{constructor(t="搜索请求响应内容为空!"){super(t);}}class ru extends Nf{constructor(t="目录不存在!"){super(t);}}var jf=(e=>(e[e.exist=20004]="exist",e))(jf||{});const _b={10013:"超出任务大小限制",10018:"审核中...",10016:"文件内含违规内容"};class St{constructor(){this._dataLength=0,this._bufferLength=0,this._state=new Int32Array(4),this._buffer=new ArrayBuffer(68),this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start();}static hashStr(t,n=!1){return this.onePassHasher.start().appendStr(t).end(n)}static hashAsciiStr(t,n=!1){return this.onePassHasher.start().appendAsciiStr(t).end(n)}static _hex(t){const n=St.hexChars,o=St.hexOut;let s,i,r,a;for(a=0;a<4;a+=1)for(i=a*8,s=t[a],r=0;r<8;r+=2)o[i+1+r]=n.charAt(s&15),s>>>=4,o[i+0+r]=n.charAt(s&15),s>>>=4;return o.join("")}static _md5cycle(t,n){let o=t[0],s=t[1],i=t[2],r=t[3];o+=(s&i|~s&r)+n[0]-680876936|0,o=(o<<7|o>>>25)+s|0,r+=(o&s|~o&i)+n[1]-389564586|0,r=(r<<12|r>>>20)+o|0,i+=(r&o|~r&s)+n[2]+606105819|0,i=(i<<17|i>>>15)+r|0,s+=(i&r|~i&o)+n[3]-1044525330|0,s=(s<<22|s>>>10)+i|0,o+=(s&i|~s&r)+n[4]-176418897|0,o=(o<<7|o>>>25)+s|0,r+=(o&s|~o&i)+n[5]+1200080426|0,r=(r<<12|r>>>20)+o|0,i+=(r&o|~r&s)+n[6]-1473231341|0,i=(i<<17|i>>>15)+r|0,s+=(i&r|~i&o)+n[7]-45705983|0,s=(s<<22|s>>>10)+i|0,o+=(s&i|~s&r)+n[8]+1770035416|0,o=(o<<7|o>>>25)+s|0,r+=(o&s|~o&i)+n[9]-1958414417|0,r=(r<<12|r>>>20)+o|0,i+=(r&o|~r&s)+n[10]-42063|0,i=(i<<17|i>>>15)+r|0,s+=(i&r|~i&o)+n[11]-1990404162|0,s=(s<<22|s>>>10)+i|0,o+=(s&i|~s&r)+n[12]+1804603682|0,o=(o<<7|o>>>25)+s|0,r+=(o&s|~o&i)+n[13]-40341101|0,r=(r<<12|r>>>20)+o|0,i+=(r&o|~r&s)+n[14]-1502002290|0,i=(i<<17|i>>>15)+r|0,s+=(i&r|~i&o)+n[15]+1236535329|0,s=(s<<22|s>>>10)+i|0,o+=(s&r|i&~r)+n[1]-165796510|0,o=(o<<5|o>>>27)+s|0,r+=(o&i|s&~i)+n[6]-1069501632|0,r=(r<<9|r>>>23)+o|0,i+=(r&s|o&~s)+n[11]+643717713|0,i=(i<<14|i>>>18)+r|0,s+=(i&o|r&~o)+n[0]-373897302|0,s=(s<<20|s>>>12)+i|0,o+=(s&r|i&~r)+n[5]-701558691|0,o=(o<<5|o>>>27)+s|0,r+=(o&i|s&~i)+n[10]+38016083|0,r=(r<<9|r>>>23)+o|0,i+=(r&s|o&~s)+n[15]-660478335|0,i=(i<<14|i>>>18)+r|0,s+=(i&o|r&~o)+n[4]-405537848|0,s=(s<<20|s>>>12)+i|0,o+=(s&r|i&~r)+n[9]+568446438|0,o=(o<<5|o>>>27)+s|0,r+=(o&i|s&~i)+n[14]-1019803690|0,r=(r<<9|r>>>23)+o|0,i+=(r&s|o&~s)+n[3]-187363961|0,i=(i<<14|i>>>18)+r|0,s+=(i&o|r&~o)+n[8]+1163531501|0,s=(s<<20|s>>>12)+i|0,o+=(s&r|i&~r)+n[13]-1444681467|0,o=(o<<5|o>>>27)+s|0,r+=(o&i|s&~i)+n[2]-51403784|0,r=(r<<9|r>>>23)+o|0,i+=(r&s|o&~s)+n[7]+1735328473|0,i=(i<<14|i>>>18)+r|0,s+=(i&o|r&~o)+n[12]-1926607734|0,s=(s<<20|s>>>12)+i|0,o+=(s^i^r)+n[5]-378558|0,o=(o<<4|o>>>28)+s|0,r+=(o^s^i)+n[8]-2022574463|0,r=(r<<11|r>>>21)+o|0,i+=(r^o^s)+n[11]+1839030562|0,i=(i<<16|i>>>16)+r|0,s+=(i^r^o)+n[14]-35309556|0,s=(s<<23|s>>>9)+i|0,o+=(s^i^r)+n[1]-1530992060|0,o=(o<<4|o>>>28)+s|0,r+=(o^s^i)+n[4]+1272893353|0,r=(r<<11|r>>>21)+o|0,i+=(r^o^s)+n[7]-155497632|0,i=(i<<16|i>>>16)+r|0,s+=(i^r^o)+n[10]-1094730640|0,s=(s<<23|s>>>9)+i|0,o+=(s^i^r)+n[13]+681279174|0,o=(o<<4|o>>>28)+s|0,r+=(o^s^i)+n[0]-358537222|0,r=(r<<11|r>>>21)+o|0,i+=(r^o^s)+n[3]-722521979|0,i=(i<<16|i>>>16)+r|0,s+=(i^r^o)+n[6]+76029189|0,s=(s<<23|s>>>9)+i|0,o+=(s^i^r)+n[9]-640364487|0,o=(o<<4|o>>>28)+s|0,r+=(o^s^i)+n[12]-421815835|0,r=(r<<11|r>>>21)+o|0,i+=(r^o^s)+n[15]+530742520|0,i=(i<<16|i>>>16)+r|0,s+=(i^r^o)+n[2]-995338651|0,s=(s<<23|s>>>9)+i|0,o+=(i^(s|~r))+n[0]-198630844|0,o=(o<<6|o>>>26)+s|0,r+=(s^(o|~i))+n[7]+1126891415|0,r=(r<<10|r>>>22)+o|0,i+=(o^(r|~s))+n[14]-1416354905|0,i=(i<<15|i>>>17)+r|0,s+=(r^(i|~o))+n[5]-57434055|0,s=(s<<21|s>>>11)+i|0,o+=(i^(s|~r))+n[12]+1700485571|0,o=(o<<6|o>>>26)+s|0,r+=(s^(o|~i))+n[3]-1894986606|0,r=(r<<10|r>>>22)+o|0,i+=(o^(r|~s))+n[10]-1051523|0,i=(i<<15|i>>>17)+r|0,s+=(r^(i|~o))+n[1]-2054922799|0,s=(s<<21|s>>>11)+i|0,o+=(i^(s|~r))+n[8]+1873313359|0,o=(o<<6|o>>>26)+s|0,r+=(s^(o|~i))+n[15]-30611744|0,r=(r<<10|r>>>22)+o|0,i+=(o^(r|~s))+n[6]-1560198380|0,i=(i<<15|i>>>17)+r|0,s+=(r^(i|~o))+n[13]+1309151649|0,s=(s<<21|s>>>11)+i|0,o+=(i^(s|~r))+n[4]-145523070|0,o=(o<<6|o>>>26)+s|0,r+=(s^(o|~i))+n[11]-1120210379|0,r=(r<<10|r>>>22)+o|0,i+=(o^(r|~s))+n[2]+718787259|0,i=(i<<15|i>>>17)+r|0,s+=(r^(i|~o))+n[9]-343485551|0,s=(s<<21|s>>>11)+i|0,t[0]=o+t[0]|0,t[1]=s+t[1]|0,t[2]=i+t[2]|0,t[3]=r+t[3]|0;}start(){return this._dataLength=0,this._bufferLength=0,this._state.set(St.stateIdentity),this}appendStr(t){const n=this._buffer8,o=this._buffer32;let s=this._bufferLength,i,r;for(r=0;r<t.length;r+=1){if(i=t.charCodeAt(r),i<128)n[s++]=i;else if(i<2048)n[s++]=(i>>>6)+192,n[s++]=i&63|128;else if(i<55296||i>56319)n[s++]=(i>>>12)+224,n[s++]=i>>>6&63|128,n[s++]=i&63|128;else {if(i=(i-55296)*1024+(t.charCodeAt(++r)-56320)+65536,i>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");n[s++]=(i>>>18)+240,n[s++]=i>>>12&63|128,n[s++]=i>>>6&63|128,n[s++]=i&63|128;}s>=64&&(this._dataLength+=64,St._md5cycle(this._state,o),s-=64,o[0]=o[16]);}return this._bufferLength=s,this}appendAsciiStr(t){const n=this._buffer8,o=this._buffer32;let s=this._bufferLength,i,r=0;for(;;){for(i=Math.min(t.length-r,64-s);i--;)n[s++]=t.charCodeAt(r++);if(s<64)break;this._dataLength+=64,St._md5cycle(this._state,o),s=0;}return this._bufferLength=s,this}appendByteArray(t){const n=this._buffer8,o=this._buffer32;let s=this._bufferLength,i,r=0;for(;;){for(i=Math.min(t.length-r,64-s);i--;)n[s++]=t[r++];if(s<64)break;this._dataLength+=64,St._md5cycle(this._state,o),s=0;}return this._bufferLength=s,this}getState(){const t=this._state;return {buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[t[0],t[1],t[2],t[3]]}}setState(t){const n=t.buffer,o=t.state,s=this._state;let i;for(this._dataLength=t.length,this._bufferLength=t.buflen,s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],i=0;i<n.length;i+=1)this._buffer8[i]=n.charCodeAt(i);}end(t=!1){const n=this._bufferLength,o=this._buffer8,s=this._buffer32,i=(n>>2)+1;this._dataLength+=n;const r=this._dataLength*8;if(o[n]=128,o[n+1]=o[n+2]=o[n+3]=0,s.set(St.buffer32Identity.subarray(i),i),n>55&&(St._md5cycle(this._state,s),s.set(St.buffer32Identity)),r<=4294967295)s[14]=r;else {const a=r.toString(16).match(/(.*?)(.{0,8})$/);if(a===null)return;const l=parseInt(a[2],16),c=parseInt(a[1],16)||0;s[14]=l,s[15]=c;}return St._md5cycle(this._state,s),t?this._state:St._hex(this._state)}}St.stateIdentity=new Int32Array([1732584193,-271733879,-1732584194,271733878]);St.buffer32Identity=new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);St.hexChars="0123456789abcdef";St.hexOut=[];St.onePassHasher=new St;if(St.hashStr("hello")!=="5d41402abc4b2a76b9719d911017c592")throw new Error("Md5 self test failed.");var io=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function au(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Hf={exports:{}};(function(e){var t=function(n){var o=1e7,s=7,i=9007199254740992,r=b(i),a="0123456789abcdefghijklmnopqrstuvwxyz",l=typeof BigInt=="function";function c(g,v,k,P){return typeof g>"u"?c[0]:typeof v<"u"?+v==10&&!k?Y(g):J(g,v,k,P):Y(g)}function u(g,v){this.value=g,this.sign=v,this.isSmall=!1;}u.prototype=Object.create(c.prototype);function p(g){this.value=g,this.sign=g<0,this.isSmall=!0;}p.prototype=Object.create(c.prototype);function m(g){this.value=g;}m.prototype=Object.create(c.prototype);function w(g){return -i<g&&g<i}function b(g){return g<1e7?[g]:g<1e14?[g%1e7,Math.floor(g/1e7)]:[g%1e7,Math.floor(g/1e7)%1e7,Math.floor(g/1e14)]}function C(g){F(g);var v=g.length;if(v<4&&nt(g,r)<0)switch(v){case 0:return 0;case 1:return g[0];case 2:return g[0]+g[1]*o;default:return g[0]+(g[1]+g[2]*o)*o}return g}function F(g){for(var v=g.length;g[--v]===0;);g.length=v+1;}function O(g){for(var v=new Array(g),k=-1;++k<g;)v[k]=0;return v}function R(g){return g>0?Math.floor(g):Math.ceil(g)}function T(g,v){var k=g.length,P=v.length,V=new Array(k),A=0,te=o,X,fe;for(fe=0;fe<P;fe++)X=g[fe]+v[fe]+A,A=X>=te?1:0,V[fe]=X-A*te;for(;fe<k;)X=g[fe]+A,A=X===te?1:0,V[fe++]=X-A*te;return A>0&&V.push(A),V}function D(g,v){return g.length>=v.length?T(g,v):T(v,g)}function N(g,v){var k=g.length,P=new Array(k),V=o,A,te;for(te=0;te<k;te++)A=g[te]-V+v,v=Math.floor(A/V),P[te]=A-v*V,v+=1;for(;v>0;)P[te++]=v%V,v=Math.floor(v/V);return P}u.prototype.add=function(g){var v=Y(g);if(this.sign!==v.sign)return this.subtract(v.negate());var k=this.value,P=v.value;return v.isSmall?new u(N(k,Math.abs(P)),this.sign):new u(D(k,P),this.sign)},u.prototype.plus=u.prototype.add,p.prototype.add=function(g){var v=Y(g),k=this.value;if(k<0!==v.sign)return this.subtract(v.negate());var P=v.value;if(v.isSmall){if(w(k+P))return new p(k+P);P=b(Math.abs(P));}return new u(N(P,Math.abs(k)),k<0)},p.prototype.plus=p.prototype.add,m.prototype.add=function(g){return new m(this.value+Y(g).value)},m.prototype.plus=m.prototype.add;function z(g,v){var k=g.length,P=v.length,V=new Array(k),A=0,te=o,X,fe;for(X=0;X<P;X++)fe=g[X]-A-v[X],fe<0?(fe+=te,A=1):A=0,V[X]=fe;for(X=P;X<k;X++){if(fe=g[X]-A,fe<0)fe+=te;else {V[X++]=fe;break}V[X]=fe;}for(;X<k;X++)V[X]=g[X];return F(V),V}function G(g,v,k){var P;return nt(g,v)>=0?P=z(g,v):(P=z(v,g),k=!k),P=C(P),typeof P=="number"?(k&&(P=-P),new p(P)):new u(P,k)}function ge(g,v,k){var P=g.length,V=new Array(P),A=-v,te=o,X,fe;for(X=0;X<P;X++)fe=g[X]+A,A=Math.floor(fe/te),fe%=te,V[X]=fe<0?fe+te:fe;return V=C(V),typeof V=="number"?(k&&(V=-V),new p(V)):new u(V,k)}u.prototype.subtract=function(g){var v=Y(g);if(this.sign!==v.sign)return this.add(v.negate());var k=this.value,P=v.value;return v.isSmall?ge(k,Math.abs(P),this.sign):G(k,P,this.sign)},u.prototype.minus=u.prototype.subtract,p.prototype.subtract=function(g){var v=Y(g),k=this.value;if(k<0!==v.sign)return this.add(v.negate());var P=v.value;return v.isSmall?new p(k-P):ge(P,Math.abs(k),k>=0)},p.prototype.minus=p.prototype.subtract,m.prototype.subtract=function(g){return new m(this.value-Y(g).value)},m.prototype.minus=m.prototype.subtract,u.prototype.negate=function(){return new u(this.value,!this.sign)},p.prototype.negate=function(){var g=this.sign,v=new p(-this.value);return v.sign=!g,v},m.prototype.negate=function(){return new m(-this.value)},u.prototype.abs=function(){return new u(this.value,!1)},p.prototype.abs=function(){return new p(Math.abs(this.value))},m.prototype.abs=function(){return new m(this.value>=0?this.value:-this.value)};function we(g,v){var k=g.length,P=v.length,V=k+P,A=O(V),te=o,X,fe,Fe,Be,Ee;for(Fe=0;Fe<k;++Fe){Be=g[Fe];for(var Ke=0;Ke<P;++Ke)Ee=v[Ke],X=Be*Ee+A[Fe+Ke],fe=Math.floor(X/te),A[Fe+Ke]=X-fe*te,A[Fe+Ke+1]+=fe;}return F(A),A}function ce(g,v){var k=g.length,P=new Array(k),V=o,A=0,te,X;for(X=0;X<k;X++)te=g[X]*v+A,A=Math.floor(te/V),P[X]=te-A*V;for(;A>0;)P[X++]=A%V,A=Math.floor(A/V);return P}function H(g,v){for(var k=[];v-- >0;)k.push(0);return k.concat(g)}function j(g,v){var k=Math.max(g.length,v.length);if(k<=30)return we(g,v);k=Math.ceil(k/2);var P=g.slice(k),V=g.slice(0,k),A=v.slice(k),te=v.slice(0,k),X=j(V,te),fe=j(P,A),Fe=j(D(V,P),D(te,A)),Be=D(D(X,H(z(z(Fe,X),fe),k)),H(fe,2*k));return F(Be),Be}function ee(g,v){return -.012*g-.012*v+15e-6*g*v>0}u.prototype.multiply=function(g){var v=Y(g),k=this.value,P=v.value,V=this.sign!==v.sign,A;if(v.isSmall){if(P===0)return c[0];if(P===1)return this;if(P===-1)return this.negate();if(A=Math.abs(P),A<o)return new u(ce(k,A),V);P=b(A);}return ee(k.length,P.length)?new u(j(k,P),V):new u(we(k,P),V)},u.prototype.times=u.prototype.multiply;function de(g,v,k){return g<o?new u(ce(v,g),k):new u(we(v,b(g)),k)}p.prototype._multiplyBySmall=function(g){return w(g.value*this.value)?new p(g.value*this.value):de(Math.abs(g.value),b(Math.abs(this.value)),this.sign!==g.sign)},u.prototype._multiplyBySmall=function(g){return g.value===0?c[0]:g.value===1?this:g.value===-1?this.negate():de(Math.abs(g.value),this.value,this.sign!==g.sign)},p.prototype.multiply=function(g){return Y(g)._multiplyBySmall(this)},p.prototype.times=p.prototype.multiply,m.prototype.multiply=function(g){return new m(this.value*Y(g).value)},m.prototype.times=m.prototype.multiply;function Ce(g){var v=g.length,k=O(v+v),P=o,V,A,te,X,fe;for(te=0;te<v;te++){X=g[te],A=0-X*X;for(var Fe=te;Fe<v;Fe++)fe=g[Fe],V=2*(X*fe)+k[te+Fe]+A,A=Math.floor(V/P),k[te+Fe]=V-A*P;k[te+v]=A;}return F(k),k}u.prototype.square=function(){return new u(Ce(this.value),!1)},p.prototype.square=function(){var g=this.value*this.value;return w(g)?new p(g):new u(Ce(b(Math.abs(this.value))),!1)},m.prototype.square=function(g){return new m(this.value*this.value)};function Se(g,v){var k=g.length,P=v.length,V=o,A=O(v.length),te=v[P-1],X=Math.ceil(V/(2*te)),fe=ce(g,X),Fe=ce(v,X),Be,Ee,Ke,zt,Nt,Vs,zs;for(fe.length<=k&&fe.push(0),Fe.push(0),te=Fe[P-1],Ee=k-P;Ee>=0;Ee--){for(Be=V-1,fe[Ee+P]!==te&&(Be=Math.floor((fe[Ee+P]*V+fe[Ee+P-1])/te)),Ke=0,zt=0,Vs=Fe.length,Nt=0;Nt<Vs;Nt++)Ke+=Be*Fe[Nt],zs=Math.floor(Ke/V),zt+=fe[Ee+Nt]-(Ke-zs*V),Ke=zs,zt<0?(fe[Ee+Nt]=zt+V,zt=-1):(fe[Ee+Nt]=zt,zt=0);for(;zt!==0;){for(Be-=1,Ke=0,Nt=0;Nt<Vs;Nt++)Ke+=fe[Ee+Nt]-V+Fe[Nt],Ke<0?(fe[Ee+Nt]=Ke+V,Ke=0):(fe[Ee+Nt]=Ke,Ke=1);zt+=Ke;}A[Ee]=Be;}return fe=$e(fe,X)[0],[C(A),C(fe)]}function Pe(g,v){for(var k=g.length,P=v.length,V=[],A=[],te=o,X,fe,Fe,Be,Ee;k;){if(A.unshift(g[--k]),F(A),nt(A,v)<0){V.push(0);continue}fe=A.length,Fe=A[fe-1]*te+A[fe-2],Be=v[P-1]*te+v[P-2],fe>P&&(Fe=(Fe+1)*te),X=Math.ceil(Fe/Be);do{if(Ee=ce(v,X),nt(Ee,A)<=0)break;X--;}while(X);V.push(X),A=z(A,Ee);}return V.reverse(),[C(V),C(A)]}function $e(g,v){var k=g.length,P=O(k),V=o,A,te,X,fe;for(X=0,A=k-1;A>=0;--A)fe=X*V+g[A],te=R(fe/v),X=fe-te*v,P[A]=te|0;return [P,X|0]}function Ve(g,v){var k,P=Y(v);if(l)return [new m(g.value/P.value),new m(g.value%P.value)];var V=g.value,A=P.value,te;if(A===0)throw new Error("Cannot divide by zero");if(g.isSmall)return P.isSmall?[new p(R(V/A)),new p(V%A)]:[c[0],g];if(P.isSmall){if(A===1)return [g,c[0]];if(A==-1)return [g.negate(),c[0]];var X=Math.abs(A);if(X<o){k=$e(V,X),te=C(k[0]);var fe=k[1];return g.sign&&(fe=-fe),typeof te=="number"?(g.sign!==P.sign&&(te=-te),[new p(te),new p(fe)]):[new u(te,g.sign!==P.sign),new p(fe)]}A=b(X);}var Fe=nt(V,A);if(Fe===-1)return [c[0],g];if(Fe===0)return [c[g.sign===P.sign?1:-1],c[0]];V.length+A.length<=200?k=Se(V,A):k=Pe(V,A),te=k[0];var Be=g.sign!==P.sign,Ee=k[1],Ke=g.sign;return typeof te=="number"?(Be&&(te=-te),te=new p(te)):te=new u(te,Be),typeof Ee=="number"?(Ke&&(Ee=-Ee),Ee=new p(Ee)):Ee=new u(Ee,Ke),[te,Ee]}u.prototype.divmod=function(g){var v=Ve(this,g);return {quotient:v[0],remainder:v[1]}},m.prototype.divmod=p.prototype.divmod=u.prototype.divmod,u.prototype.divide=function(g){return Ve(this,g)[0]},m.prototype.over=m.prototype.divide=function(g){return new m(this.value/Y(g).value)},p.prototype.over=p.prototype.divide=u.prototype.over=u.prototype.divide,u.prototype.mod=function(g){return Ve(this,g)[1]},m.prototype.mod=m.prototype.remainder=function(g){return new m(this.value%Y(g).value)},p.prototype.remainder=p.prototype.mod=u.prototype.remainder=u.prototype.mod,u.prototype.pow=function(g){var v=Y(g),k=this.value,P=v.value,V,A,te;if(P===0)return c[1];if(k===0)return c[0];if(k===1)return c[1];if(k===-1)return v.isEven()?c[1]:c[-1];if(v.sign)return c[0];if(!v.isSmall)throw new Error("The exponent "+v.toString()+" is too large.");if(this.isSmall&&w(V=Math.pow(k,P)))return new p(R(V));for(A=this,te=c[1];P&!0&&(te=te.times(A),--P),P!==0;)P/=2,A=A.square();return te},p.prototype.pow=u.prototype.pow,m.prototype.pow=function(g){var v=Y(g),k=this.value,P=v.value,V=BigInt(0),A=BigInt(1),te=BigInt(2);if(P===V)return c[1];if(k===V)return c[0];if(k===A)return c[1];if(k===BigInt(-1))return v.isEven()?c[1]:c[-1];if(v.isNegative())return new m(V);for(var X=this,fe=c[1];(P&A)===A&&(fe=fe.times(X),--P),P!==V;)P/=te,X=X.square();return fe},u.prototype.modPow=function(g,v){if(g=Y(g),v=Y(v),v.isZero())throw new Error("Cannot take modPow with modulus 0");var k=c[1],P=this.mod(v);for(g.isNegative()&&(g=g.multiply(c[-1]),P=P.modInv(v));g.isPositive();){if(P.isZero())return c[0];g.isOdd()&&(k=k.multiply(P).mod(v)),g=g.divide(2),P=P.square().mod(v);}return k},m.prototype.modPow=p.prototype.modPow=u.prototype.modPow;function nt(g,v){if(g.length!==v.length)return g.length>v.length?1:-1;for(var k=g.length-1;k>=0;k--)if(g[k]!==v[k])return g[k]>v[k]?1:-1;return 0}u.prototype.compareAbs=function(g){var v=Y(g),k=this.value,P=v.value;return v.isSmall?1:nt(k,P)},p.prototype.compareAbs=function(g){var v=Y(g),k=Math.abs(this.value),P=v.value;return v.isSmall?(P=Math.abs(P),k===P?0:k>P?1:-1):-1},m.prototype.compareAbs=function(g){var v=this.value,k=Y(g).value;return v=v>=0?v:-v,k=k>=0?k:-k,v===k?0:v>k?1:-1},u.prototype.compare=function(g){if(g===1/0)return -1;if(g===-1/0)return 1;var v=Y(g),k=this.value,P=v.value;return this.sign!==v.sign?v.sign?1:-1:v.isSmall?this.sign?-1:1:nt(k,P)*(this.sign?-1:1)},u.prototype.compareTo=u.prototype.compare,p.prototype.compare=function(g){if(g===1/0)return -1;if(g===-1/0)return 1;var v=Y(g),k=this.value,P=v.value;return v.isSmall?k==P?0:k>P?1:-1:k<0!==v.sign?k<0?-1:1:k<0?1:-1},p.prototype.compareTo=p.prototype.compare,m.prototype.compare=function(g){if(g===1/0)return -1;if(g===-1/0)return 1;var v=this.value,k=Y(g).value;return v===k?0:v>k?1:-1},m.prototype.compareTo=m.prototype.compare,u.prototype.equals=function(g){return this.compare(g)===0},m.prototype.eq=m.prototype.equals=p.prototype.eq=p.prototype.equals=u.prototype.eq=u.prototype.equals,u.prototype.notEquals=function(g){return this.compare(g)!==0},m.prototype.neq=m.prototype.notEquals=p.prototype.neq=p.prototype.notEquals=u.prototype.neq=u.prototype.notEquals,u.prototype.greater=function(g){return this.compare(g)>0},m.prototype.gt=m.prototype.greater=p.prototype.gt=p.prototype.greater=u.prototype.gt=u.prototype.greater,u.prototype.lesser=function(g){return this.compare(g)<0},m.prototype.lt=m.prototype.lesser=p.prototype.lt=p.prototype.lesser=u.prototype.lt=u.prototype.lesser,u.prototype.greaterOrEquals=function(g){return this.compare(g)>=0},m.prototype.geq=m.prototype.greaterOrEquals=p.prototype.geq=p.prototype.greaterOrEquals=u.prototype.geq=u.prototype.greaterOrEquals,u.prototype.lesserOrEquals=function(g){return this.compare(g)<=0},m.prototype.leq=m.prototype.lesserOrEquals=p.prototype.leq=p.prototype.lesserOrEquals=u.prototype.leq=u.prototype.lesserOrEquals,u.prototype.isEven=function(){return (this.value[0]&1)===0},p.prototype.isEven=function(){return (this.value&1)===0},m.prototype.isEven=function(){return (this.value&BigInt(1))===BigInt(0)},u.prototype.isOdd=function(){return (this.value[0]&1)===1},p.prototype.isOdd=function(){return (this.value&1)===1},m.prototype.isOdd=function(){return (this.value&BigInt(1))===BigInt(1)},u.prototype.isPositive=function(){return !this.sign},p.prototype.isPositive=function(){return this.value>0},m.prototype.isPositive=p.prototype.isPositive,u.prototype.isNegative=function(){return this.sign},p.prototype.isNegative=function(){return this.value<0},m.prototype.isNegative=p.prototype.isNegative,u.prototype.isUnit=function(){return !1},p.prototype.isUnit=function(){return Math.abs(this.value)===1},m.prototype.isUnit=function(){return this.abs().value===BigInt(1)},u.prototype.isZero=function(){return !1},p.prototype.isZero=function(){return this.value===0},m.prototype.isZero=function(){return this.value===BigInt(0)},u.prototype.isDivisibleBy=function(g){var v=Y(g);return v.isZero()?!1:v.isUnit()?!0:v.compareAbs(2)===0?this.isEven():this.mod(v).isZero()},m.prototype.isDivisibleBy=p.prototype.isDivisibleBy=u.prototype.isDivisibleBy;function _e(g){var v=g.abs();if(v.isUnit())return !1;if(v.equals(2)||v.equals(3)||v.equals(5))return !0;if(v.isEven()||v.isDivisibleBy(3)||v.isDivisibleBy(5))return !1;if(v.lesser(49))return !0}function M(g,v){for(var k=g.prev(),P=k,V=0,A,te,X;P.isEven();)P=P.divide(2),V++;e:for(te=0;te<v.length;te++)if(!g.lesser(v[te])&&(X=t(v[te]).modPow(P,g),!(X.isUnit()||X.equals(k)))){for(A=V-1;A!=0;A--){if(X=X.square().mod(g),X.isUnit())return !1;if(X.equals(k))continue e}return !1}return !0}u.prototype.isPrime=function(g){var v=_e(this);if(v!==n)return v;var k=this.abs(),P=k.bitLength();if(P<=64)return M(k,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var V=Math.log(2)*P.toJSNumber(),A=Math.ceil(g===!0?2*Math.pow(V,2):V),te=[],X=0;X<A;X++)te.push(t(X+2));return M(k,te)},m.prototype.isPrime=p.prototype.isPrime=u.prototype.isPrime,u.prototype.isProbablePrime=function(g,v){var k=_e(this);if(k!==n)return k;for(var P=this.abs(),V=g===n?5:g,A=[],te=0;te<V;te++)A.push(t.randBetween(2,P.minus(2),v));return M(P,A)},m.prototype.isProbablePrime=p.prototype.isProbablePrime=u.prototype.isProbablePrime,u.prototype.modInv=function(g){for(var v=t.zero,k=t.one,P=Y(g),V=this.abs(),A,te,X;!V.isZero();)A=P.divide(V),te=v,X=P,v=k,P=V,k=te.subtract(A.multiply(k)),V=X.subtract(A.multiply(V));if(!P.isUnit())throw new Error(this.toString()+" and "+g.toString()+" are not co-prime");return v.compare(0)===-1&&(v=v.add(g)),this.isNegative()?v.negate():v},m.prototype.modInv=p.prototype.modInv=u.prototype.modInv,u.prototype.next=function(){var g=this.value;return this.sign?ge(g,1,this.sign):new u(N(g,1),this.sign)},p.prototype.next=function(){var g=this.value;return g+1<i?new p(g+1):new u(r,!1)},m.prototype.next=function(){return new m(this.value+BigInt(1))},u.prototype.prev=function(){var g=this.value;return this.sign?new u(N(g,1),!0):ge(g,1,this.sign)},p.prototype.prev=function(){var g=this.value;return g-1>-i?new p(g-1):new u(r,!0)},m.prototype.prev=function(){return new m(this.value-BigInt(1))};for(var ze=[1];2*ze[ze.length-1]<=o;)ze.push(2*ze[ze.length-1]);var pt=ze.length,Ie=ze[pt-1];function ht(g){return Math.abs(g)<=o}u.prototype.shiftLeft=function(g){var v=Y(g).toJSNumber();if(!ht(v))throw new Error(String(v)+" is too large for shifting.");if(v<0)return this.shiftRight(-v);var k=this;if(k.isZero())return k;for(;v>=pt;)k=k.multiply(Ie),v-=pt-1;return k.multiply(ze[v])},m.prototype.shiftLeft=p.prototype.shiftLeft=u.prototype.shiftLeft,u.prototype.shiftRight=function(g){var v,k=Y(g).toJSNumber();if(!ht(k))throw new Error(String(k)+" is too large for shifting.");if(k<0)return this.shiftLeft(-k);for(var P=this;k>=pt;){if(P.isZero()||P.isNegative()&&P.isUnit())return P;v=Ve(P,Ie),P=v[1].isNegative()?v[0].prev():v[0],k-=pt-1;}return v=Ve(P,ze[k]),v[1].isNegative()?v[0].prev():v[0]},m.prototype.shiftRight=p.prototype.shiftRight=u.prototype.shiftRight;function xt(g,v,k){v=Y(v);for(var P=g.isNegative(),V=v.isNegative(),A=P?g.not():g,te=V?v.not():v,X=0,fe=0,Fe=null,Be=null,Ee=[];!A.isZero()||!te.isZero();)Fe=Ve(A,Ie),X=Fe[1].toJSNumber(),P&&(X=Ie-1-X),Be=Ve(te,Ie),fe=Be[1].toJSNumber(),V&&(fe=Ie-1-fe),A=Fe[0],te=Be[0],Ee.push(k(X,fe));for(var Ke=k(P?1:0,V?1:0)!==0?t(-1):t(0),zt=Ee.length-1;zt>=0;zt-=1)Ke=Ke.multiply(Ie).add(t(Ee[zt]));return Ke}u.prototype.not=function(){return this.negate().prev()},m.prototype.not=p.prototype.not=u.prototype.not,u.prototype.and=function(g){return xt(this,g,function(v,k){return v&k})},m.prototype.and=p.prototype.and=u.prototype.and,u.prototype.or=function(g){return xt(this,g,function(v,k){return v|k})},m.prototype.or=p.prototype.or=u.prototype.or,u.prototype.xor=function(g){return xt(this,g,function(v,k){return v^k})},m.prototype.xor=p.prototype.xor=u.prototype.xor;var Ft=1<<30,kt=(o&-o)*(o&-o)|Ft;function Q(g){var v=g.value,k=typeof v=="number"?v|Ft:typeof v=="bigint"?v|BigInt(Ft):v[0]+v[1]*o|kt;return k&-k}function B(g,v){if(v.compareTo(g)<=0){var k=B(g,v.square(v)),P=k.p,V=k.e,A=P.multiply(v);return A.compareTo(g)<=0?{p:A,e:V*2+1}:{p:P,e:V*2}}return {p:t(1),e:0}}u.prototype.bitLength=function(){var g=this;return g.compareTo(t(0))<0&&(g=g.negate().subtract(t(1))),g.compareTo(t(0))===0?t(0):t(B(g,t(2)).e).add(t(1))},m.prototype.bitLength=p.prototype.bitLength=u.prototype.bitLength;function W(g,v){return g=Y(g),v=Y(v),g.greater(v)?g:v}function _(g,v){return g=Y(g),v=Y(v),g.lesser(v)?g:v}function E(g,v){if(g=Y(g).abs(),v=Y(v).abs(),g.equals(v))return g;if(g.isZero())return v;if(v.isZero())return g;for(var k=c[1],P,V;g.isEven()&&v.isEven();)P=_(Q(g),Q(v)),g=g.divide(P),v=v.divide(P),k=k.multiply(P);for(;g.isEven();)g=g.divide(Q(g));do{for(;v.isEven();)v=v.divide(Q(v));g.greater(v)&&(V=v,v=g,g=V),v=v.subtract(g);}while(!v.isZero());return k.isUnit()?g:g.multiply(k)}function U(g,v){return g=Y(g).abs(),v=Y(v).abs(),g.divide(E(g,v)).multiply(v)}function q(g,v,k){g=Y(g),v=Y(v);var P=k||Math.random,V=_(g,v),A=W(g,v),te=A.subtract(V).add(1);if(te.isSmall)return V.add(Math.floor(P()*te));for(var X=ue(te,o).value,fe=[],Fe=!0,Be=0;Be<X.length;Be++){var Ee=Fe?X[Be]+(Be+1<X.length?X[Be+1]/o:0):o,Ke=R(P()*Ee);fe.push(Ke),Ke<X[Be]&&(Fe=!1);}return V.add(c.fromArray(fe,o,!1))}var J=function(g,v,k,P){k=k||a,g=String(g),P||(g=g.toLowerCase(),k=k.toLowerCase());var V=g.length,A,te=Math.abs(v),X={};for(A=0;A<k.length;A++)X[k[A]]=A;for(A=0;A<V;A++){var fe=g[A];if(fe!=="-"&&fe in X&&X[fe]>=te){if(fe==="1"&&te===1)continue;throw new Error(fe+" is not a valid digit in base "+v+".")}}v=Y(v);var Fe=[],Be=g[0]==="-";for(A=Be?1:0;A<g.length;A++){var fe=g[A];if(fe in X)Fe.push(Y(X[fe]));else if(fe==="<"){var Ee=A;do A++;while(g[A]!==">"&&A<g.length);Fe.push(Y(g.slice(Ee+1,A)));}else throw new Error(fe+" is not a valid character")}return ie(Fe,v,Be)};function ie(g,v,k){var P=c[0],V=c[1],A;for(A=g.length-1;A>=0;A--)P=P.add(g[A].times(V)),V=V.times(v);return k?P.negate():P}function ye(g,v){return v=v||a,g<v.length?v[g]:"<"+g+">"}function ue(g,v){if(v=t(v),v.isZero()){if(g.isZero())return {value:[0],isNegative:!1};throw new Error("Cannot convert nonzero numbers to base 0.")}if(v.equals(-1)){if(g.isZero())return {value:[0],isNegative:!1};if(g.isNegative())return {value:[].concat.apply([],Array.apply(null,Array(-g.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:!1};var k=Array.apply(null,Array(g.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return k.unshift([1]),{value:[].concat.apply([],k),isNegative:!1}}var P=!1;if(g.isNegative()&&v.isPositive()&&(P=!0,g=g.abs()),v.isUnit())return g.isZero()?{value:[0],isNegative:!1}:{value:Array.apply(null,Array(g.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:P};for(var V=[],A=g,te;A.isNegative()||A.compareAbs(v)>=0;){te=A.divmod(v),A=te.quotient;var X=te.remainder;X.isNegative()&&(X=v.minus(X).abs(),A=A.next()),V.push(X.toJSNumber());}return V.push(A.toJSNumber()),{value:V.reverse(),isNegative:P}}function pe(g,v,k){var P=ue(g,v);return (P.isNegative?"-":"")+P.value.map(function(V){return ye(V,k)}).join("")}u.prototype.toArray=function(g){return ue(this,g)},p.prototype.toArray=function(g){return ue(this,g)},m.prototype.toArray=function(g){return ue(this,g)},u.prototype.toString=function(g,v){if(g===n&&(g=10),g!==10)return pe(this,g,v);for(var k=this.value,P=k.length,V=String(k[--P]),A="0000000",te;--P>=0;)te=String(k[P]),V+=A.slice(te.length)+te;var X=this.sign?"-":"";return X+V},p.prototype.toString=function(g,v){return g===n&&(g=10),g!=10?pe(this,g,v):String(this.value)},m.prototype.toString=p.prototype.toString,m.prototype.toJSON=u.prototype.toJSON=p.prototype.toJSON=function(){return this.toString()},u.prototype.valueOf=function(){return parseInt(this.toString(),10)},u.prototype.toJSNumber=u.prototype.valueOf,p.prototype.valueOf=function(){return this.value},p.prototype.toJSNumber=p.prototype.valueOf,m.prototype.valueOf=m.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};function he(g){if(w(+g)){var v=+g;if(v===R(v))return l?new m(BigInt(v)):new p(v);throw new Error("Invalid integer: "+g)}var k=g[0]==="-";k&&(g=g.slice(1));var P=g.split(/e/i);if(P.length>2)throw new Error("Invalid integer: "+P.join("e"));if(P.length===2){var V=P[1];if(V[0]==="+"&&(V=V.slice(1)),V=+V,V!==R(V)||!w(V))throw new Error("Invalid integer: "+V+" is not a valid exponent.");var A=P[0],te=A.indexOf(".");if(te>=0&&(V-=A.length-te-1,A=A.slice(0,te)+A.slice(te+1)),V<0)throw new Error("Cannot include negative exponent part for integers");A+=new Array(V+1).join("0"),g=A;}var X=/^([0-9][0-9]*)$/.test(g);if(!X)throw new Error("Invalid integer: "+g);if(l)return new m(BigInt(k?"-"+g:g));for(var fe=[],Fe=g.length,Be=s,Ee=Fe-Be;Fe>0;)fe.push(+g.slice(Ee,Fe)),Ee-=Be,Ee<0&&(Ee=0),Fe-=Be;return F(fe),new u(fe,k)}function De(g){if(l)return new m(BigInt(g));if(w(g)){if(g!==R(g))throw new Error(g+" is not an integer.");return new p(g)}return he(g.toString())}function Y(g){return typeof g=="number"?De(g):typeof g=="string"?he(g):typeof g=="bigint"?new m(g):g}for(var ke=0;ke<1e3;ke++)c[ke]=Y(ke),ke>0&&(c[-ke]=Y(-ke));return c.one=c[1],c.zero=c[0],c.minusOne=c[-1],c.max=W,c.min=_,c.gcd=E,c.lcm=U,c.isInstance=function(g){return g instanceof u||g instanceof p||g instanceof m},c.randBetween=q,c.fromArray=function(g,v,k){return ie(g.map(Y),Y(v||10),k)},c}();e.hasOwnProperty("exports")&&(e.exports=t);})(Hf);var xb=Hf.exports;const Gi=au(xb);class kb{constructor(){ve(this,"n");ve(this,"e");this.n=Gi("8686980c0f5a24c4b9d43020cd2c22703ff3f450756529058b1cf88f09b8602136477198a6e2683149659bd122c33592fdb5ad47944ad1ea4d36c6b172aad6338c3bb6ac6227502d010993ac967d1aef00f0c8e038de2e4d3bc2ec368af2e9f10a6f1eda4f7262f136420c07c331b871bf139f74f3010e3c4fe57df3afb71683",16),this.e=Gi("10001",16);}a2hex(t){let n="",o;for(let s=0;s<t.length;s++)o=t[s].toString(16),o.length<2&&(o="0"+o),n+=o;return n}hex2a(t){let n="";for(let o=0;o<t.length;o+=2)n+=String.fromCharCode(parseInt(t.substr(o,2),16));return n}pkcs1pad2(t,n){if(n<t.length+11)return null;let o=[],s=t.length-1;for(;s>=0&&n>0;)o[--n]=t.charCodeAt(s--);for(o[--n]=0;n>2;)o[--n]=255;o[--n]=2,o[--n]=0;let i=this.a2hex(o);return Gi(i,16)}pkcs1unpad2(t){let n=t.toString(16);n.length%2!==0&&(n="0"+n);let o=this.hex2a(n),s=1;for(;o.charCodeAt(s)!==0;)s++;return o.slice(s+1)}encrypt(t){let n=this.pkcs1pad2(t,128),o=n==null?void 0:n.modPow(this.e,this.n),s=(o==null?void 0:o.toString(16))||"";for(;s.length<128*2;)s="0"+s;return s}decrypt(t){const n=[];let o=0;for(;o<t.length;)n[o]=t.charCodeAt(o),o+=1;const i=Gi(this.a2hex(n),16).modPow(this.e,this.n);return this.pkcs1unpad2(i)}}class Sb{constructor(){ve(this,"rsa");ve(this,"kts");ve(this,"keyS");ve(this,"keyL");this.rsa=new kb,this.kts=[240,229,105,174,191,220,191,138,26,69,232,190,125,166,115,184,222,143,231,196,69,218,134,196,155,100,139,20,106,180,241,170,56,1,53,158,38,105,44,134,0,107,79,165,54,52,98,166,42,150,104,24,242,74,253,189,107,151,143,77,143,137,19,183,108,142,147,237,14,13,72,62,215,47,136,216,254,254,126,134,80,149,79,209,235,131,38,52,219,102,123,156,126,157,122,129,50,234,182,51,222,58,169,89,52,102,59,170,186,129,96,72,185,213,129,156,248,108,132,119,255,84,120,38,95,190,232,30,54,159,52,128,92,69,44,155,118,213,27,143,204,195,184,245],this.keyS=[41,35,33,94],this.keyL=[120,6,173,76,51,134,93,24,76,1,63,70];}xor115Enc(t,n,o,s){let i,r,a,l,c,u,p,m;if(l=n%4,m=[],l!==0)for(i=r=0,c=l;c>=0?r<c:r>c;i=c>=0?++r:--r)m.push(t[i]^o[i%s]);for(i=a=u=l,p=n;u<=p?a<p:a>p;i=u<=p?++a:--a)m.push(t[i]^o[(i-l)%s]);return m}getkey(t,n){let o;return n!=null?(()=>{let s,i,r;for(r=[],o=s=0,i=t;i>=0?s<i:s>i;o=i>=0?++s:--s)r.push(n[o]+this.kts[t*o]&255^this.kts[t*(t-1-o)]);return r})():t===12?this.keyL.slice(0):this.keyS.slice(0)}asymEncode(t,n){let o,s,i,r,a;for(i=117,a="",o=s=0,r=Math.floor((n+i-1)/i);r>=0?s<r:s>r;o=r>=0?++s:--s)a+=this.rsa.encrypt(this.bytesToString(t.slice(o*i,Math.min((o+1)*i,n))));return window.btoa(this.rsa.hex2a(a))}asymDecode(t,n){let o,s,i,r,a;for(i=128,a="",o=s=0,r=Math.floor((n+i-1)/i);r>=0?s<r:s>r;o=r>=0?++s:--s)a+=this.rsa.decrypt(this.bytesToString(t.slice(o*i,Math.min((o+1)*i,n))));return this.stringToBytes(a)}symEncode(t,n,o,s){let i,r,a;return i=this.getkey(4,o),r=this.getkey(12,s),a=this.xor115Enc(t,n,i,4),a.reverse(),a=this.xor115Enc(a,n,r,12),a}symDecode(t,n,o,s){let i,r,a;return i=this.getkey(4,o),r=this.getkey(12,s),a=this.xor115Enc(t,n,r,12),a.reverse(),a=this.xor115Enc(a,n,i,4),a}bytesToString(t){let n,o,s,i;for(i="",o=0,s=t.length;o<s;o++)n=t[o],i+=String.fromCharCode(n);return i}stringToBytes(t){let n,o,s;for(s=[],n=0,o=t.length;n<o;n++)s.push(t.charCodeAt(n));return s}encode(t,n){const o=this.stringToBytes(St.hashStr(`!@###@#${n}DFDR@#@#`));let s=this.stringToBytes(t);return s=this.symEncode(s,s.length,o,null),s=o.slice(0,16).concat(s),{data:this.asymEncode(s,s.length),key:o}}decode(t,n){let o=this.stringToBytes(window.atob(t));return o=this.asymDecode(o,o.length),this.bytesToString(this.symDecode(o.slice(16),o.length-16,n,o.slice(0,16)))}}let Vf;function $b(e){Vf=e;}function Rt(){return Vf}var zf={exports:{}};/*!
  * sweetalert2 v11.7.2
  * Released under the MIT License.
  */(function(e,t){((function(n,o){e.exports=o();}))(io,function(){var n={awaitingPromise:new WeakMap,promise:new WeakMap,innerParams:new WeakMap,domCache:new WeakMap};const o="swal2-",s=f=>{const h={};for(const y in f)h[f[y]]=o+f[y];return h},i=s(["container","shown","height-auto","iosfix","popup","modal","no-backdrop","no-transition","toast","toast-shown","show","hide","close","title","html-container","actions","confirm","deny","cancel","default-outline","footer","icon","icon-content","image","input","file","range","select","radio","checkbox","label","textarea","inputerror","input-label","validation-message","progress-steps","active-progress-step","progress-step","progress-step-line","loader","loading","styled","top","top-start","top-end","top-left","top-right","center","center-start","center-end","center-left","center-right","bottom","bottom-start","bottom-end","bottom-left","bottom-right","grow-row","grow-column","grow-fullscreen","rtl","timer-progress-bar","timer-progress-bar-container","scrollbar-measure","icon-success","icon-warning","icon-info","icon-question","icon-error"]),r=s(["success","warning","info","question","error"]),a="SweetAlert2:",l=f=>{const h=[];for(let y=0;y<f.length;y++)h.indexOf(f[y])===-1&&h.push(f[y]);return h},c=f=>f.charAt(0).toUpperCase()+f.slice(1),u=f=>{console.warn(`${a} ${typeof f=="object"?f.join(" "):f}`);},p=f=>{console.error(`${a} ${f}`);},m=[],w=f=>{m.includes(f)||(m.push(f),u(f));},b=(f,h)=>{w(`"${f}" is deprecated and will be removed in the next major release. Please use "${h}" instead.`);},C=f=>typeof f=="function"?f():f,F=f=>f&&typeof f.toPromise=="function",O=f=>F(f)?f.toPromise():Promise.resolve(f),R=f=>f&&Promise.resolve(f)===f,T=()=>document.body.querySelector(`.${i.container}`),D=f=>{const h=T();return h?h.querySelector(f):null},N=f=>D(`.${f}`),z=()=>N(i.popup),G=()=>N(i.icon),ge=()=>N(i["icon-content"]),we=()=>N(i.title),ce=()=>N(i["html-container"]),H=()=>N(i.image),j=()=>N(i["progress-steps"]),ee=()=>N(i["validation-message"]),de=()=>D(`.${i.actions} .${i.confirm}`),Ce=()=>D(`.${i.actions} .${i.cancel}`),Se=()=>D(`.${i.actions} .${i.deny}`),Pe=()=>N(i["input-label"]),$e=()=>D(`.${i.loader}`),Ve=()=>N(i.actions),nt=()=>N(i.footer),_e=()=>N(i["timer-progress-bar"]),M=()=>N(i.close),ze=`
  a[href],
  area[href],
  input:not([disabled]),
  select:not([disabled]),
  textarea:not([disabled]),
  button:not([disabled]),
  iframe,
  object,
  embed,
  [tabindex="0"],
  [contenteditable],
  audio[controls],
  video[controls],
  summary
`,pt=()=>{const f=Array.from(z().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')).sort((y,x)=>{const Z=parseInt(y.getAttribute("tabindex")),Oe=parseInt(x.getAttribute("tabindex"));return Z>Oe?1:Z<Oe?-1:0}),h=Array.from(z().querySelectorAll(ze)).filter(y=>y.getAttribute("tabindex")!=="-1");return l(f.concat(h)).filter(y=>Y(y))},Ie=()=>Q(document.body,i.shown)&&!Q(document.body,i["toast-shown"])&&!Q(document.body,i["no-backdrop"]),ht=()=>z()&&Q(z(),i.toast),xt=()=>z().hasAttribute("data-loading"),Ft={previousBodyPadding:null},kt=(f,h)=>{if(f.textContent="",h){const x=new DOMParser().parseFromString(h,"text/html");Array.from(x.querySelector("head").childNodes).forEach(Z=>{f.appendChild(Z);}),Array.from(x.querySelector("body").childNodes).forEach(Z=>{Z instanceof HTMLVideoElement||Z instanceof HTMLAudioElement?f.appendChild(Z.cloneNode(!0)):f.appendChild(Z);});}},Q=(f,h)=>{if(!h)return !1;const y=h.split(/\s+/);for(let x=0;x<y.length;x++)if(!f.classList.contains(y[x]))return !1;return !0},B=(f,h)=>{Array.from(f.classList).forEach(y=>{!Object.values(i).includes(y)&&!Object.values(r).includes(y)&&!Object.values(h.showClass).includes(y)&&f.classList.remove(y);});},W=(f,h,y)=>{if(B(f,h),h.customClass&&h.customClass[y]){if(typeof h.customClass[y]!="string"&&!h.customClass[y].forEach){u(`Invalid type of customClass.${y}! Expected string or iterable object, got "${typeof h.customClass[y]}"`);return}q(f,h.customClass[y]);}},_=(f,h)=>{if(!h)return null;switch(h){case"select":case"textarea":case"file":return f.querySelector(`.${i.popup} > .${i[h]}`);case"checkbox":return f.querySelector(`.${i.popup} > .${i.checkbox} input`);case"radio":return f.querySelector(`.${i.popup} > .${i.radio} input:checked`)||f.querySelector(`.${i.popup} > .${i.radio} input:first-child`);case"range":return f.querySelector(`.${i.popup} > .${i.range} input`);default:return f.querySelector(`.${i.popup} > .${i.input}`)}},E=f=>{if(f.focus(),f.type!=="file"){const h=f.value;f.value="",f.value=h;}},U=(f,h,y)=>{!f||!h||(typeof h=="string"&&(h=h.split(/\s+/).filter(Boolean)),h.forEach(x=>{Array.isArray(f)?f.forEach(Z=>{y?Z.classList.add(x):Z.classList.remove(x);}):y?f.classList.add(x):f.classList.remove(x);}));},q=(f,h)=>{U(f,h,!0);},J=(f,h)=>{U(f,h,!1);},ie=(f,h)=>{const y=Array.from(f.children);for(let x=0;x<y.length;x++){const Z=y[x];if(Z instanceof HTMLElement&&Q(Z,h))return Z}},ye=(f,h,y)=>{y===`${parseInt(y)}`&&(y=parseInt(y)),y||parseInt(y)===0?f.style[h]=typeof y=="number"?`${y}px`:y:f.style.removeProperty(h);},ue=function(f){let h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"flex";f.style.display=h;},pe=f=>{f.style.display="none";},he=(f,h,y,x)=>{const Z=f.querySelector(h);Z&&(Z.style[y]=x);},De=function(f,h){let y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"flex";h?ue(f,y):pe(f);},Y=f=>!!(f&&(f.offsetWidth||f.offsetHeight||f.getClientRects().length)),ke=()=>!Y(de())&&!Y(Se())&&!Y(Ce()),g=f=>f.scrollHeight>f.clientHeight,v=f=>{const h=window.getComputedStyle(f),y=parseFloat(h.getPropertyValue("animation-duration")||"0"),x=parseFloat(h.getPropertyValue("transition-duration")||"0");return y>0||x>0},k=function(f){let h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const y=_e();Y(y)&&(h&&(y.style.transition="none",y.style.width="100%"),setTimeout(()=>{y.style.transition=`width ${f/1e3}s linear`,y.style.width="0%";},10));},P=()=>{const f=_e(),h=parseInt(window.getComputedStyle(f).width);f.style.removeProperty("transition"),f.style.width="100%";const y=parseInt(window.getComputedStyle(f).width),x=h/y*100;f.style.width=`${x}%`;},V=100,A={},te=()=>{A.previousActiveElement instanceof HTMLElement?(A.previousActiveElement.focus(),A.previousActiveElement=null):document.body&&document.body.focus();},X=f=>new Promise(h=>{if(!f)return h();const y=window.scrollX,x=window.scrollY;A.restoreFocusTimeout=setTimeout(()=>{te(),h();},V),window.scrollTo(y,x);}),fe=()=>typeof window>"u"||typeof document>"u",Fe=`
 <div aria-labelledby="${i.title}" aria-describedby="${i["html-container"]}" class="${i.popup}" tabindex="-1">
   <button type="button" class="${i.close}"></button>
   <ul class="${i["progress-steps"]}"></ul>
   <div class="${i.icon}"></div>
   <img class="${i.image}" />
   <h2 class="${i.title}" id="${i.title}"></h2>
   <div class="${i["html-container"]}" id="${i["html-container"]}"></div>
   <input class="${i.input}" />
   <input type="file" class="${i.file}" />
   <div class="${i.range}">
     <input type="range" />
     <output></output>
   </div>
   <select class="${i.select}"></select>
   <div class="${i.radio}"></div>
   <label for="${i.checkbox}" class="${i.checkbox}">
     <input type="checkbox" />
     <span class="${i.label}"></span>
   </label>
   <textarea class="${i.textarea}"></textarea>
   <div class="${i["validation-message"]}" id="${i["validation-message"]}"></div>
   <div class="${i.actions}">
     <div class="${i.loader}"></div>
     <button type="button" class="${i.confirm}"></button>
     <button type="button" class="${i.deny}"></button>
     <button type="button" class="${i.cancel}"></button>
   </div>
   <div class="${i.footer}"></div>
   <div class="${i["timer-progress-bar-container"]}">
     <div class="${i["timer-progress-bar"]}"></div>
   </div>
 </div>
`.replace(/(^|\n)\s*/g,""),Be=()=>{const f=T();return f?(f.remove(),J([document.documentElement,document.body],[i["no-backdrop"],i["toast-shown"],i["has-column"]]),!0):!1},Ee=()=>{A.currentInstance.resetValidationMessage();},Ke=()=>{const f=z(),h=ie(f,i.input),y=ie(f,i.file),x=f.querySelector(`.${i.range} input`),Z=f.querySelector(`.${i.range} output`),Oe=ie(f,i.select),dt=f.querySelector(`.${i.checkbox} input`),ln=ie(f,i.textarea);h.oninput=Ee,y.onchange=Ee,Oe.onchange=Ee,dt.onchange=Ee,ln.oninput=Ee,x.oninput=()=>{Ee(),Z.value=x.value;},x.onchange=()=>{Ee(),Z.value=x.value;};},zt=f=>typeof f=="string"?document.querySelector(f):f,Nt=f=>{const h=z();h.setAttribute("role",f.toast?"alert":"dialog"),h.setAttribute("aria-live",f.toast?"polite":"assertive"),f.toast||h.setAttribute("aria-modal","true");},Vs=f=>{window.getComputedStyle(f).direction==="rtl"&&q(T(),i.rtl);},zs=f=>{const h=Be();if(fe()){p("SweetAlert2 requires document to initialize");return}const y=document.createElement("div");y.className=i.container,h&&q(y,i["no-transition"]),kt(y,Fe);const x=zt(f.target);x.appendChild(y),Nt(f),Vs(x),Ke();},$a=(f,h)=>{f instanceof HTMLElement?h.appendChild(f):typeof f=="object"?Cg(f,h):f&&kt(h,f);},Cg=(f,h)=>{f.jquery?_g(h,f):kt(h,f.toString());},_g=(f,h)=>{if(f.textContent="",0 in h)for(let y=0;y in h;y++)f.appendChild(h[y].cloneNode(!0));else f.appendChild(h.cloneNode(!0));},qs=(()=>{if(fe())return !1;const f=document.createElement("div"),h={WebkitAnimation:"webkitAnimationEnd",animation:"animationend"};for(const y in h)if(Object.prototype.hasOwnProperty.call(h,y)&&typeof f.style[y]<"u")return h[y];return !1})(),xg=()=>{const f=document.createElement("div");f.className=i["scrollbar-measure"],document.body.appendChild(f);const h=f.getBoundingClientRect().width-f.clientWidth;return document.body.removeChild(f),h},kg=(f,h)=>{const y=Ve(),x=$e();!h.showConfirmButton&&!h.showDenyButton&&!h.showCancelButton?pe(y):ue(y),W(y,h,"actions"),Sg(y,x,h),kt(x,h.loaderHtml),W(x,h,"loader");};function Sg(f,h,y){const x=de(),Z=Se(),Oe=Ce();Ea(x,"confirm",y),Ea(Z,"deny",y),Ea(Oe,"cancel",y),$g(x,Z,Oe,y),y.reverseButtons&&(y.toast?(f.insertBefore(Oe,x),f.insertBefore(Z,x)):(f.insertBefore(Oe,h),f.insertBefore(Z,h),f.insertBefore(x,h)));}function $g(f,h,y,x){if(!x.buttonsStyling){J([f,h,y],i.styled);return}q([f,h,y],i.styled),x.confirmButtonColor&&(f.style.backgroundColor=x.confirmButtonColor,q(f,i["default-outline"])),x.denyButtonColor&&(h.style.backgroundColor=x.denyButtonColor,q(h,i["default-outline"])),x.cancelButtonColor&&(y.style.backgroundColor=x.cancelButtonColor,q(y,i["default-outline"]));}function Ea(f,h,y){De(f,y[`show${c(h)}Button`],"inline-block"),kt(f,y[`${h}ButtonText`]),f.setAttribute("aria-label",y[`${h}ButtonAriaLabel`]),f.className=i[h],W(f,y,`${h}Button`),q(f,y[`${h}ButtonClass`]);}const Eg=(f,h)=>{const y=M();kt(y,h.closeButtonHtml),W(y,h,"closeButton"),De(y,h.showCloseButton),y.setAttribute("aria-label",h.closeButtonAriaLabel);},Pg=(f,h)=>{const y=T();y&&(Ag(y,h.backdrop),Ig(y,h.position),Dg(y,h.grow),W(y,h,"container"));};function Ag(f,h){typeof h=="string"?f.style.background=h:h||q([document.documentElement,document.body],i["no-backdrop"]);}function Ig(f,h){h in i?q(f,i[h]):(u('The "position" parameter is not valid, defaulting to "center"'),q(f,i.center));}function Dg(f,h){if(h&&typeof h=="string"){const y=`grow-${h}`;y in i&&q(f,i[y]);}}const Tg=["input","file","range","select","radio","checkbox","textarea"],Og=(f,h)=>{const y=z(),x=n.innerParams.get(f),Z=!x||h.input!==x.input;Tg.forEach(Oe=>{const dt=ie(y,i[Oe]);Bg(Oe,h.inputAttributes),dt.className=i[Oe],Z&&pe(dt);}),h.input&&(Z&&Mg(h),Rg(h));},Mg=f=>{if(!tn[f.input]){p(`Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "${f.input}"`);return}const h=ac(f.input),y=tn[f.input](h,f);ue(h),f.inputAutoFocus&&setTimeout(()=>{E(y);});},Lg=f=>{for(let h=0;h<f.attributes.length;h++){const y=f.attributes[h].name;["type","value","style"].includes(y)||f.removeAttribute(y);}},Bg=(f,h)=>{const y=_(z(),f);if(y){Lg(y);for(const x in h)y.setAttribute(x,h[x]);}},Rg=f=>{const h=ac(f.input);typeof f.customClass=="object"&&q(h,f.customClass.input);},Pa=(f,h)=>{(!f.placeholder||h.inputPlaceholder)&&(f.placeholder=h.inputPlaceholder);},Ws=(f,h,y)=>{if(y.inputLabel){f.id=i.input;const x=document.createElement("label"),Z=i["input-label"];x.setAttribute("for",f.id),x.className=Z,typeof y.customClass=="object"&&q(x,y.customClass.inputLabel),x.innerText=y.inputLabel,h.insertAdjacentElement("beforebegin",x);}},ac=f=>ie(z(),i[f]||i.input),zi=(f,h)=>{["string","number"].includes(typeof h)?f.value=`${h}`:R(h)||u(`Unexpected type of inputValue! Expected "string", "number" or "Promise", got "${typeof h}"`);},tn={};tn.text=tn.email=tn.password=tn.number=tn.tel=tn.url=(f,h)=>(zi(f,h.inputValue),Ws(f,f,h),Pa(f,h),f.type=h.input,f),tn.file=(f,h)=>(Ws(f,f,h),Pa(f,h),f),tn.range=(f,h)=>{const y=f.querySelector("input"),x=f.querySelector("output");return zi(y,h.inputValue),y.type=h.input,zi(x,h.inputValue),Ws(y,f,h),f},tn.select=(f,h)=>{if(f.textContent="",h.inputPlaceholder){const y=document.createElement("option");kt(y,h.inputPlaceholder),y.value="",y.disabled=!0,y.selected=!0,f.appendChild(y);}return Ws(f,f,h),f},tn.radio=f=>(f.textContent="",f),tn.checkbox=(f,h)=>{const y=_(z(),"checkbox");y.value="1",y.id=i.checkbox,y.checked=!!h.inputValue;const x=f.querySelector("span");return kt(x,h.inputPlaceholder),y},tn.textarea=(f,h)=>{zi(f,h.inputValue),Pa(f,h),Ws(f,f,h);const y=x=>parseInt(window.getComputedStyle(x).marginLeft)+parseInt(window.getComputedStyle(x).marginRight);return setTimeout(()=>{if("MutationObserver"in window){const x=parseInt(window.getComputedStyle(z()).width),Z=()=>{const Oe=f.offsetWidth+y(f);Oe>x?z().style.width=`${Oe}px`:z().style.width=null;};new MutationObserver(Z).observe(f,{attributes:!0,attributeFilter:["style"]});}}),f};const Fg=(f,h)=>{const y=ce();W(y,h,"htmlContainer"),h.html?($a(h.html,y),ue(y,"block")):h.text?(y.textContent=h.text,ue(y,"block")):pe(y),Og(f,h);},Ng=(f,h)=>{const y=nt();De(y,h.footer),h.footer&&$a(h.footer,y),W(y,h,"footer");},Ug=(f,h)=>{const y=n.innerParams.get(f),x=G();if(y&&h.icon===y.icon){uc(x,h),lc(x,h);return}if(!h.icon&&!h.iconHtml){pe(x);return}if(h.icon&&Object.keys(r).indexOf(h.icon)===-1){p(`Unknown icon! Expected "success", "error", "warning", "info" or "question", got "${h.icon}"`),pe(x);return}ue(x),uc(x,h),lc(x,h),q(x,h.showClass.icon);},lc=(f,h)=>{for(const y in r)h.icon!==y&&J(f,r[y]);q(f,r[h.icon]),zg(f,h),jg(),W(f,h,"icon");},jg=()=>{const f=z(),h=window.getComputedStyle(f).getPropertyValue("background-color"),y=f.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix");for(let x=0;x<y.length;x++)y[x].style.backgroundColor=h;},Hg=`
  <div class="swal2-success-circular-line-left"></div>
  <span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>
  <div class="swal2-success-ring"></div> <div class="swal2-success-fix"></div>
  <div class="swal2-success-circular-line-right"></div>
`,Vg=`
  <span class="swal2-x-mark">
    <span class="swal2-x-mark-line-left"></span>
    <span class="swal2-x-mark-line-right"></span>
  </span>
`,uc=(f,h)=>{let y=f.innerHTML,x;h.iconHtml?x=cc(h.iconHtml):h.icon==="success"?(x=Hg,y=y.replace(/ style=".*?"/g,"")):h.icon==="error"?x=Vg:x=cc({question:"?",warning:"!",info:"i"}[h.icon]),y.trim()!==x.trim()&&kt(f,x);},zg=(f,h)=>{if(h.iconColor){f.style.color=h.iconColor,f.style.borderColor=h.iconColor;for(const y of [".swal2-success-line-tip",".swal2-success-line-long",".swal2-x-mark-line-left",".swal2-x-mark-line-right"])he(f,y,"backgroundColor",h.iconColor);he(f,".swal2-success-ring","borderColor",h.iconColor);}},cc=f=>`<div class="${i["icon-content"]}">${f}</div>`,qg=(f,h)=>{const y=H();if(!h.imageUrl){pe(y);return}ue(y,""),y.setAttribute("src",h.imageUrl),y.setAttribute("alt",h.imageAlt),ye(y,"width",h.imageWidth),ye(y,"height",h.imageHeight),y.className=i.image,W(y,h,"image");},Wg=(f,h)=>{const y=T(),x=z();h.toast?(ye(y,"width",h.width),x.style.width="100%",x.insertBefore($e(),G())):ye(x,"width",h.width),ye(x,"padding",h.padding),h.color&&(x.style.color=h.color),h.background&&(x.style.background=h.background),pe(ee()),Kg(x,h);},Kg=(f,h)=>{f.className=`${i.popup} ${Y(f)?h.showClass.popup:""}`,h.toast?(q([document.documentElement,document.body],i["toast-shown"]),q(f,i.toast)):q(f,i.modal),W(f,h,"popup"),typeof h.customClass=="string"&&q(f,h.customClass),h.icon&&q(f,i[`icon-${h.icon}`]);},Gg=(f,h)=>{const y=j();if(!h.progressSteps||h.progressSteps.length===0){pe(y);return}ue(y),y.textContent="",h.currentProgressStep>=h.progressSteps.length&&u("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),h.progressSteps.forEach((x,Z)=>{const Oe=Jg(x);if(y.appendChild(Oe),Z===h.currentProgressStep&&q(Oe,i["active-progress-step"]),Z!==h.progressSteps.length-1){const dt=Yg(h);y.appendChild(dt);}});},Jg=f=>{const h=document.createElement("li");return q(h,i["progress-step"]),kt(h,f),h},Yg=f=>{const h=document.createElement("li");return q(h,i["progress-step-line"]),f.progressStepsDistance&&ye(h,"width",f.progressStepsDistance),h},Qg=(f,h)=>{const y=we();De(y,h.title||h.titleText,"block"),h.title&&$a(h.title,y),h.titleText&&(y.innerText=h.titleText),W(y,h,"title");},dc=(f,h)=>{Wg(f,h),Pg(f,h),Gg(f,h),Ug(f,h),qg(f,h),Qg(f,h),Eg(f,h),Fg(f,h),kg(f,h),Ng(f,h),typeof h.didRender=="function"&&h.didRender(z());};function fc(){const f=n.innerParams.get(this);if(!f)return;const h=n.domCache.get(this);pe(h.loader),ht()?f.icon&&ue(G()):Xg(h),J([h.popup,h.actions],i.loading),h.popup.removeAttribute("aria-busy"),h.popup.removeAttribute("data-loading"),h.confirmButton.disabled=!1,h.denyButton.disabled=!1,h.cancelButton.disabled=!1;}const Xg=f=>{const h=f.popup.getElementsByClassName(f.loader.getAttribute("data-button-to-replace"));h.length?ue(h[0],"inline-block"):ke()&&pe(f.actions);};function Zg(f){const h=n.innerParams.get(f||this),y=n.domCache.get(f||this);return y?_(y.popup,h.input):null}const ey=()=>Y(z()),pc=()=>de()&&de().click(),ty=()=>Se()&&Se().click(),ny=()=>Ce()&&Ce().click(),is=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),hc=f=>{f.keydownTarget&&f.keydownHandlerAdded&&(f.keydownTarget.removeEventListener("keydown",f.keydownHandler,{capture:f.keydownListenerCapture}),f.keydownHandlerAdded=!1);},oy=(f,h,y,x)=>{hc(h),y.toast||(h.keydownHandler=Z=>iy(f,Z,x),h.keydownTarget=y.keydownListenerCapture?window:z(),h.keydownListenerCapture=y.keydownListenerCapture,h.keydownTarget.addEventListener("keydown",h.keydownHandler,{capture:h.keydownListenerCapture}),h.keydownHandlerAdded=!0);},Aa=(f,h)=>{const y=pt();if(y.length){f=f+h,f===y.length?f=0:f===-1&&(f=y.length-1),y[f].focus();return}z().focus();},mc=["ArrowRight","ArrowDown"],sy=["ArrowLeft","ArrowUp"],iy=(f,h,y)=>{const x=n.innerParams.get(f);x&&(h.isComposing||h.keyCode===229||(x.stopKeydownPropagation&&h.stopPropagation(),h.key==="Enter"?ry(f,h,x):h.key==="Tab"?ay(h):[...mc,...sy].includes(h.key)?ly(h.key):h.key==="Escape"&&uy(h,x,y)));},ry=(f,h,y)=>{if(C(y.allowEnterKey)&&h.target&&f.getInput()&&h.target instanceof HTMLElement&&h.target.outerHTML===f.getInput().outerHTML){if(["textarea","file"].includes(y.input))return;pc(),h.preventDefault();}},ay=f=>{const h=f.target,y=pt();let x=-1;for(let Z=0;Z<y.length;Z++)if(h===y[Z]){x=Z;break}f.shiftKey?Aa(x,-1):Aa(x,1),f.stopPropagation(),f.preventDefault();},ly=f=>{const h=de(),y=Se(),x=Ce(),Z=[h,y,x];if(document.activeElement instanceof HTMLElement&&!Z.includes(document.activeElement))return;const Oe=mc.includes(f)?"nextElementSibling":"previousElementSibling";let dt=document.activeElement;for(let ln=0;ln<Ve().children.length;ln++){if(dt=dt[Oe],!dt)return;if(dt instanceof HTMLButtonElement&&Y(dt))break}dt instanceof HTMLButtonElement&&dt.focus();},uy=(f,h,y)=>{C(h.allowEscapeKey)&&(f.preventDefault(),y(is.esc));};var Ks={swalPromiseResolve:new WeakMap,swalPromiseReject:new WeakMap};const cy=()=>{Array.from(document.body.children).forEach(h=>{h===T()||h.contains(T())||(h.hasAttribute("aria-hidden")&&h.setAttribute("data-previous-aria-hidden",h.getAttribute("aria-hidden")),h.setAttribute("aria-hidden","true"));});},gc=()=>{Array.from(document.body.children).forEach(h=>{h.hasAttribute("data-previous-aria-hidden")?(h.setAttribute("aria-hidden",h.getAttribute("data-previous-aria-hidden")),h.removeAttribute("data-previous-aria-hidden")):h.removeAttribute("aria-hidden");});},dy=()=>{if((/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1)&&!Q(document.body,i.iosfix)){const h=document.body.scrollTop;document.body.style.top=`${h*-1}px`,q(document.body,i.iosfix),py(),fy();}},fy=()=>{const f=navigator.userAgent,h=!!f.match(/iPad/i)||!!f.match(/iPhone/i),y=!!f.match(/WebKit/i);h&&y&&!f.match(/CriOS/i)&&z().scrollHeight>window.innerHeight-44&&(T().style.paddingBottom="44px");},py=()=>{const f=T();let h;f.ontouchstart=y=>{h=hy(y);},f.ontouchmove=y=>{h&&(y.preventDefault(),y.stopPropagation());};},hy=f=>{const h=f.target,y=T();return my(f)||gy(f)?!1:h===y||!g(y)&&h instanceof HTMLElement&&h.tagName!=="INPUT"&&h.tagName!=="TEXTAREA"&&!(g(ce())&&ce().contains(h))},my=f=>f.touches&&f.touches.length&&f.touches[0].touchType==="stylus",gy=f=>f.touches&&f.touches.length>1,yy=()=>{if(Q(document.body,i.iosfix)){const f=parseInt(document.body.style.top,10);J(document.body,i.iosfix),document.body.style.top="",document.body.scrollTop=f*-1;}},wy=()=>{Ft.previousBodyPadding===null&&document.body.scrollHeight>window.innerHeight&&(Ft.previousBodyPadding=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight=`${Ft.previousBodyPadding+xg()}px`);},by=()=>{Ft.previousBodyPadding!==null&&(document.body.style.paddingRight=`${Ft.previousBodyPadding}px`,Ft.previousBodyPadding=null);};function yc(f,h,y,x){ht()?wc(f,x):(X(y).then(()=>wc(f,x)),hc(A)),/^((?!chrome|android).)*safari/i.test(navigator.userAgent)?(h.setAttribute("style","display:none !important"),h.removeAttribute("class"),h.innerHTML=""):h.remove(),Ie()&&(by(),yy(),gc()),vy();}function vy(){J([document.documentElement,document.body],[i.shown,i["height-auto"],i["no-backdrop"],i["toast-shown"]]);}function qi(f){f=ky(f);const h=Ks.swalPromiseResolve.get(this),y=_y(this);this.isAwaitingPromise()?f.isDismissed||(Gs(this),h(f)):y&&h(f);}function Cy(){return !!n.awaitingPromise.get(this)}const _y=f=>{const h=z();if(!h)return !1;const y=n.innerParams.get(f);if(!y||Q(h,y.hideClass.popup))return !1;J(h,y.showClass.popup),q(h,y.hideClass.popup);const x=T();return J(x,y.showClass.backdrop),q(x,y.hideClass.backdrop),Sy(f,h,y),!0};function xy(f){const h=Ks.swalPromiseReject.get(this);Gs(this),h&&h(f);}const Gs=f=>{f.isAwaitingPromise()&&(n.awaitingPromise.delete(f),n.innerParams.get(f)||f._destroy());},ky=f=>typeof f>"u"?{isConfirmed:!1,isDenied:!1,isDismissed:!0}:Object.assign({isConfirmed:!1,isDenied:!1,isDismissed:!1},f),Sy=(f,h,y)=>{const x=T(),Z=qs&&v(h);typeof y.willClose=="function"&&y.willClose(h),Z?$y(f,h,x,y.returnFocus,y.didClose):yc(f,x,y.returnFocus,y.didClose);},$y=(f,h,y,x,Z)=>{A.swalCloseEventFinishedCallback=yc.bind(null,f,y,x,Z),h.addEventListener(qs,function(Oe){Oe.target===h&&(A.swalCloseEventFinishedCallback(),delete A.swalCloseEventFinishedCallback);});},wc=(f,h)=>{setTimeout(()=>{typeof h=="function"&&h.bind(f.params)(),f._destroy();});};function bc(f,h,y){const x=n.domCache.get(f);h.forEach(Z=>{x[Z].disabled=y;});}function vc(f,h){if(f)if(f.type==="radio"){const x=f.parentNode.parentNode.querySelectorAll("input");for(let Z=0;Z<x.length;Z++)x[Z].disabled=h;}else f.disabled=h;}function Ey(){bc(this,["confirmButton","denyButton","cancelButton"],!1);}function Py(){bc(this,["confirmButton","denyButton","cancelButton"],!0);}function Ay(){vc(this.getInput(),!1);}function Iy(){vc(this.getInput(),!0);}function Dy(f){const h=n.domCache.get(this),y=n.innerParams.get(this);kt(h.validationMessage,f),h.validationMessage.className=i["validation-message"],y.customClass&&y.customClass.validationMessage&&q(h.validationMessage,y.customClass.validationMessage),ue(h.validationMessage);const x=this.getInput();x&&(x.setAttribute("aria-invalid",!0),x.setAttribute("aria-describedby",i["validation-message"]),E(x),q(x,i.inputerror));}function Ty(){const f=n.domCache.get(this);f.validationMessage&&pe(f.validationMessage);const h=this.getInput();h&&(h.removeAttribute("aria-invalid"),h.removeAttribute("aria-describedby"),J(h,i.inputerror));}const rs={title:"",titleText:"",text:"",html:"",footer:"",icon:void 0,iconColor:void 0,iconHtml:void 0,template:void 0,toast:!1,showClass:{popup:"swal2-show",backdrop:"swal2-backdrop-show",icon:"swal2-icon-show"},hideClass:{popup:"swal2-hide",backdrop:"swal2-backdrop-hide",icon:"swal2-icon-hide"},customClass:{},target:"body",color:void 0,backdrop:!0,heightAuto:!0,allowOutsideClick:!0,allowEscapeKey:!0,allowEnterKey:!0,stopKeydownPropagation:!0,keydownListenerCapture:!1,showConfirmButton:!0,showDenyButton:!1,showCancelButton:!1,preConfirm:void 0,preDeny:void 0,confirmButtonText:"OK",confirmButtonAriaLabel:"",confirmButtonColor:void 0,denyButtonText:"No",denyButtonAriaLabel:"",denyButtonColor:void 0,cancelButtonText:"Cancel",cancelButtonAriaLabel:"",cancelButtonColor:void 0,buttonsStyling:!0,reverseButtons:!1,focusConfirm:!0,focusDeny:!1,focusCancel:!1,returnFocus:!0,showCloseButton:!1,closeButtonHtml:"&times;",closeButtonAriaLabel:"Close this dialog",loaderHtml:"",showLoaderOnConfirm:!1,showLoaderOnDeny:!1,imageUrl:void 0,imageWidth:void 0,imageHeight:void 0,imageAlt:"",timer:void 0,timerProgressBar:!1,width:void 0,padding:void 0,background:void 0,input:void 0,inputPlaceholder:"",inputLabel:"",inputValue:"",inputOptions:{},inputAutoFocus:!0,inputAutoTrim:!0,inputAttributes:{},inputValidator:void 0,returnInputValueOnDeny:!1,validationMessage:void 0,grow:!1,position:"center",progressSteps:[],currentProgressStep:void 0,progressStepsDistance:void 0,willOpen:void 0,didOpen:void 0,didRender:void 0,willClose:void 0,didClose:void 0,didDestroy:void 0,scrollbarPadding:!0},Oy=["allowEscapeKey","allowOutsideClick","background","buttonsStyling","cancelButtonAriaLabel","cancelButtonColor","cancelButtonText","closeButtonAriaLabel","closeButtonHtml","color","confirmButtonAriaLabel","confirmButtonColor","confirmButtonText","currentProgressStep","customClass","denyButtonAriaLabel","denyButtonColor","denyButtonText","didClose","didDestroy","footer","hideClass","html","icon","iconColor","iconHtml","imageAlt","imageHeight","imageUrl","imageWidth","preConfirm","preDeny","progressSteps","returnFocus","reverseButtons","showCancelButton","showCloseButton","showConfirmButton","showDenyButton","text","title","titleText","willClose"],My={},Ly=["allowOutsideClick","allowEnterKey","backdrop","focusConfirm","focusDeny","focusCancel","returnFocus","heightAuto","keydownListenerCapture"],Cc=f=>Object.prototype.hasOwnProperty.call(rs,f),_c=f=>Oy.indexOf(f)!==-1,Ia=f=>My[f],By=f=>{Cc(f)||u(`Unknown parameter "${f}"`);},Ry=f=>{Ly.includes(f)&&u(`The parameter "${f}" is incompatible with toasts`);},Fy=f=>{Ia(f)&&b(f,Ia(f));},Ny=f=>{f.backdrop===!1&&f.allowOutsideClick&&u('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`');for(const h in f)By(h),f.toast&&Ry(h),Fy(h);};function Uy(f){const h=z(),y=n.innerParams.get(this);if(!h||Q(h,y.hideClass.popup)){u("You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.");return}const x=jy(f),Z=Object.assign({},y,x);dc(this,Z),n.innerParams.set(this,Z),Object.defineProperties(this,{params:{value:Object.assign({},this.params,f),writable:!1,enumerable:!0}});}const jy=f=>{const h={};return Object.keys(f).forEach(y=>{_c(y)?h[y]=f[y]:u(`Invalid parameter to update: ${y}`);}),h};function Hy(){const f=n.domCache.get(this),h=n.innerParams.get(this);if(!h){xc(this);return}f.popup&&A.swalCloseEventFinishedCallback&&(A.swalCloseEventFinishedCallback(),delete A.swalCloseEventFinishedCallback),typeof h.didDestroy=="function"&&h.didDestroy(),Vy(this);}const Vy=f=>{xc(f),delete f.params,delete A.keydownHandler,delete A.keydownTarget,delete A.currentInstance;},xc=f=>{f.isAwaitingPromise()?(Da(n,f),n.awaitingPromise.set(f,!0)):(Da(Ks,f),Da(n,f));},Da=(f,h)=>{for(const y in f)f[y].delete(h);};var kc=Object.freeze({__proto__:null,_destroy:Hy,close:qi,closeModal:qi,closePopup:qi,closeToast:qi,disableButtons:Py,disableInput:Iy,disableLoading:fc,enableButtons:Ey,enableInput:Ay,getInput:Zg,handleAwaitingPromise:Gs,hideLoading:fc,isAwaitingPromise:Cy,rejectPromise:xy,resetValidationMessage:Ty,showValidationMessage:Dy,update:Uy});const as=f=>{let h=z();h||new Ki,h=z();const y=$e();ht()?pe(G()):zy(h,f),ue(y),h.setAttribute("data-loading","true"),h.setAttribute("aria-busy","true"),h.focus();},zy=(f,h)=>{const y=Ve(),x=$e();!h&&Y(de())&&(h=de()),ue(y),h&&(pe(h),x.setAttribute("data-button-to-replace",h.className)),x.parentNode.insertBefore(x,h),q([f,y],i.loading);},qy=(f,h)=>{h.input==="select"||h.input==="radio"?Yy(f,h):["text","email","number","tel","textarea"].includes(h.input)&&(F(h.inputValue)||R(h.inputValue))&&(as(de()),Qy(f,h));},Wy=(f,h)=>{const y=f.getInput();if(!y)return null;switch(h.input){case"checkbox":return Ky(y);case"radio":return Gy(y);case"file":return Jy(y);default:return h.inputAutoTrim?y.value.trim():y.value}},Ky=f=>f.checked?1:0,Gy=f=>f.checked?f.value:null,Jy=f=>f.files.length?f.getAttribute("multiple")!==null?f.files:f.files[0]:null,Yy=(f,h)=>{const y=z(),x=Z=>{Xy[h.input](y,Ta(Z),h);};F(h.inputOptions)||R(h.inputOptions)?(as(de()),O(h.inputOptions).then(Z=>{f.hideLoading(),x(Z);})):typeof h.inputOptions=="object"?x(h.inputOptions):p(`Unexpected type of inputOptions! Expected object, Map or Promise, got ${typeof h.inputOptions}`);},Qy=(f,h)=>{const y=f.getInput();pe(y),O(h.inputValue).then(x=>{y.value=h.input==="number"?`${parseFloat(x)||0}`:`${x}`,ue(y),y.focus(),f.hideLoading();}).catch(x=>{p(`Error in inputValue promise: ${x}`),y.value="",ue(y),y.focus(),f.hideLoading();});},Xy={select:(f,h,y)=>{const x=ie(f,i.select),Z=(Oe,dt,ln)=>{const qt=document.createElement("option");qt.value=ln,kt(qt,dt),qt.selected=Sc(ln,y.inputValue),Oe.appendChild(qt);};h.forEach(Oe=>{const dt=Oe[0],ln=Oe[1];if(Array.isArray(ln)){const qt=document.createElement("optgroup");qt.label=dt,qt.disabled=!1,x.appendChild(qt),ln.forEach(us=>Z(qt,us[1],us[0]));}else Z(x,ln,dt);}),x.focus();},radio:(f,h,y)=>{const x=ie(f,i.radio);h.forEach(Oe=>{const dt=Oe[0],ln=Oe[1],qt=document.createElement("input"),us=document.createElement("label");qt.type="radio",qt.name=i.radio,qt.value=dt,Sc(dt,y.inputValue)&&(qt.checked=!0);const Ba=document.createElement("span");kt(Ba,ln),Ba.className=i.label,us.appendChild(qt),us.appendChild(Ba),x.appendChild(us);});const Z=x.querySelectorAll("input");Z.length&&Z[0].focus();}},Ta=f=>{const h=[];return typeof Map<"u"&&f instanceof Map?f.forEach((y,x)=>{let Z=y;typeof Z=="object"&&(Z=Ta(Z)),h.push([x,Z]);}):Object.keys(f).forEach(y=>{let x=f[y];typeof x=="object"&&(x=Ta(x)),h.push([y,x]);}),h},Sc=(f,h)=>h&&h.toString()===f.toString(),Zy=f=>{const h=n.innerParams.get(f);f.disableButtons(),h.input?$c(f,"confirm"):Ma(f,!0);},ew=f=>{const h=n.innerParams.get(f);f.disableButtons(),h.returnInputValueOnDeny?$c(f,"deny"):Oa(f,!1);},tw=(f,h)=>{f.disableButtons(),h(is.cancel);},$c=(f,h)=>{const y=n.innerParams.get(f);if(!y.input){p(`The "input" parameter is needed to be set when using returnInputValueOn${c(h)}`);return}const x=Wy(f,y);y.inputValidator?nw(f,x,h):f.getInput().checkValidity()?h==="deny"?Oa(f,x):Ma(f,x):(f.enableButtons(),f.showValidationMessage(y.validationMessage));},nw=(f,h,y)=>{const x=n.innerParams.get(f);f.disableInput(),Promise.resolve().then(()=>O(x.inputValidator(h,x.validationMessage))).then(Oe=>{f.enableButtons(),f.enableInput(),Oe?f.showValidationMessage(Oe):y==="deny"?Oa(f,h):Ma(f,h);});},Oa=(f,h)=>{const y=n.innerParams.get(f||void 0);y.showLoaderOnDeny&&as(Se()),y.preDeny?(n.awaitingPromise.set(f||void 0,!0),Promise.resolve().then(()=>O(y.preDeny(h,y.validationMessage))).then(Z=>{Z===!1?(f.hideLoading(),Gs(f)):f.close({isDenied:!0,value:typeof Z>"u"?h:Z});}).catch(Z=>Pc(f||void 0,Z))):f.close({isDenied:!0,value:h});},Ec=(f,h)=>{f.close({isConfirmed:!0,value:h});},Pc=(f,h)=>{f.rejectPromise(h);},Ma=(f,h)=>{const y=n.innerParams.get(f||void 0);y.showLoaderOnConfirm&&as(),y.preConfirm?(f.resetValidationMessage(),n.awaitingPromise.set(f||void 0,!0),Promise.resolve().then(()=>O(y.preConfirm(h,y.validationMessage))).then(Z=>{Y(ee())||Z===!1?(f.hideLoading(),Gs(f)):Ec(f,typeof Z>"u"?h:Z);}).catch(Z=>Pc(f||void 0,Z))):Ec(f,h);},ow=(f,h,y)=>{n.innerParams.get(f).toast?sw(f,h,y):(rw(h),aw(h),lw(f,h,y));},sw=(f,h,y)=>{h.popup.onclick=()=>{const x=n.innerParams.get(f);x&&(iw(x)||x.timer||x.input)||y(is.close);};},iw=f=>f.showConfirmButton||f.showDenyButton||f.showCancelButton||f.showCloseButton;let Wi=!1;const rw=f=>{f.popup.onmousedown=()=>{f.container.onmouseup=function(h){f.container.onmouseup=void 0,h.target===f.container&&(Wi=!0);};};},aw=f=>{f.container.onmousedown=()=>{f.popup.onmouseup=function(h){f.popup.onmouseup=void 0,(h.target===f.popup||f.popup.contains(h.target))&&(Wi=!0);};};},lw=(f,h,y)=>{h.container.onclick=x=>{const Z=n.innerParams.get(f);if(Wi){Wi=!1;return}x.target===h.container&&C(Z.allowOutsideClick)&&y(is.backdrop);};},uw=f=>typeof f=="object"&&f.jquery,Ac=f=>f instanceof Element||uw(f),cw=f=>{const h={};return typeof f[0]=="object"&&!Ac(f[0])?Object.assign(h,f[0]):["title","html","icon"].forEach((y,x)=>{const Z=f[x];typeof Z=="string"||Ac(Z)?h[y]=Z:Z!==void 0&&p(`Unexpected type of ${y}! Expected "string" or "Element", got ${typeof Z}`);}),h};function dw(){const f=this;for(var h=arguments.length,y=new Array(h),x=0;x<h;x++)y[x]=arguments[x];return new f(...y)}function fw(f){class h extends this{_main(x,Z){return super._main(x,Object.assign({},f,Z))}}return h}const pw=()=>A.timeout&&A.timeout.getTimerLeft(),Ic=()=>{if(A.timeout)return P(),A.timeout.stop()},Dc=()=>{if(A.timeout){const f=A.timeout.start();return k(f),f}},hw=()=>{const f=A.timeout;return f&&(f.running?Ic():Dc())},mw=f=>{if(A.timeout){const h=A.timeout.increase(f);return k(h,!0),h}},gw=()=>A.timeout&&A.timeout.isRunning();let Tc=!1;const La={};function yw(){let f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"data-swal-template";La[f]=this,Tc||(document.body.addEventListener("click",ww),Tc=!0);}const ww=f=>{for(let h=f.target;h&&h!==document;h=h.parentNode)for(const y in La){const x=h.getAttribute(y);if(x){La[y].fire({template:x});return}}};var bw=Object.freeze({__proto__:null,argsToParams:cw,bindClickHandler:yw,clickCancel:ny,clickConfirm:pc,clickDeny:ty,enableLoading:as,fire:dw,getActions:Ve,getCancelButton:Ce,getCloseButton:M,getConfirmButton:de,getContainer:T,getDenyButton:Se,getFocusableElements:pt,getFooter:nt,getHtmlContainer:ce,getIcon:G,getIconContent:ge,getImage:H,getInputLabel:Pe,getLoader:$e,getPopup:z,getProgressSteps:j,getTimerLeft:pw,getTimerProgressBar:_e,getTitle:we,getValidationMessage:ee,increaseTimer:mw,isDeprecatedParameter:Ia,isLoading:xt,isTimerRunning:gw,isUpdatableParameter:_c,isValidParameter:Cc,isVisible:ey,mixin:fw,resumeTimer:Dc,showLoading:as,stopTimer:Ic,toggleTimer:hw});class vw{constructor(h,y){this.callback=h,this.remaining=y,this.running=!1,this.start();}start(){return this.running||(this.running=!0,this.started=new Date,this.id=setTimeout(this.callback,this.remaining)),this.remaining}stop(){return this.running&&(this.running=!1,clearTimeout(this.id),this.remaining-=new Date().getTime()-this.started.getTime()),this.remaining}increase(h){const y=this.running;return y&&this.stop(),this.remaining+=h,y&&this.start(),this.remaining}getTimerLeft(){return this.running&&(this.stop(),this.start()),this.remaining}isRunning(){return this.running}}const Oc=["swal-title","swal-html","swal-footer"],Cw=f=>{const h=typeof f.template=="string"?document.querySelector(f.template):f.template;if(!h)return {};const y=h.content;return Aw(y),Object.assign(_w(y),xw(y),kw(y),Sw(y),$w(y),Ew(y),Pw(y,Oc))},_w=f=>{const h={};return Array.from(f.querySelectorAll("swal-param")).forEach(x=>{Oo(x,["name","value"]);const Z=x.getAttribute("name"),Oe=x.getAttribute("value");typeof rs[Z]=="boolean"?h[Z]=Oe!=="false":typeof rs[Z]=="object"?h[Z]=JSON.parse(Oe):h[Z]=Oe;}),h},xw=f=>{const h={};return Array.from(f.querySelectorAll("swal-function-param")).forEach(x=>{const Z=x.getAttribute("name"),Oe=x.getAttribute("value");h[Z]=new Function(`return ${Oe}`)();}),h},kw=f=>{const h={};return Array.from(f.querySelectorAll("swal-button")).forEach(x=>{Oo(x,["type","color","aria-label"]);const Z=x.getAttribute("type");h[`${Z}ButtonText`]=x.innerHTML,h[`show${c(Z)}Button`]=!0,x.hasAttribute("color")&&(h[`${Z}ButtonColor`]=x.getAttribute("color")),x.hasAttribute("aria-label")&&(h[`${Z}ButtonAriaLabel`]=x.getAttribute("aria-label"));}),h},Sw=f=>{const h={},y=f.querySelector("swal-image");return y&&(Oo(y,["src","width","height","alt"]),y.hasAttribute("src")&&(h.imageUrl=y.getAttribute("src")),y.hasAttribute("width")&&(h.imageWidth=y.getAttribute("width")),y.hasAttribute("height")&&(h.imageHeight=y.getAttribute("height")),y.hasAttribute("alt")&&(h.imageAlt=y.getAttribute("alt"))),h},$w=f=>{const h={},y=f.querySelector("swal-icon");return y&&(Oo(y,["type","color"]),y.hasAttribute("type")&&(h.icon=y.getAttribute("type")),y.hasAttribute("color")&&(h.iconColor=y.getAttribute("color")),h.iconHtml=y.innerHTML),h},Ew=f=>{const h={},y=f.querySelector("swal-input");y&&(Oo(y,["type","label","placeholder","value"]),h.input=y.getAttribute("type")||"text",y.hasAttribute("label")&&(h.inputLabel=y.getAttribute("label")),y.hasAttribute("placeholder")&&(h.inputPlaceholder=y.getAttribute("placeholder")),y.hasAttribute("value")&&(h.inputValue=y.getAttribute("value")));const x=Array.from(f.querySelectorAll("swal-input-option"));return x.length&&(h.inputOptions={},x.forEach(Z=>{Oo(Z,["value"]);const Oe=Z.getAttribute("value"),dt=Z.innerHTML;h.inputOptions[Oe]=dt;})),h},Pw=(f,h)=>{const y={};for(const x in h){const Z=h[x],Oe=f.querySelector(Z);Oe&&(Oo(Oe,[]),y[Z.replace(/^swal-/,"")]=Oe.innerHTML.trim());}return y},Aw=f=>{const h=Oc.concat(["swal-param","swal-function-param","swal-button","swal-image","swal-icon","swal-input","swal-input-option"]);Array.from(f.children).forEach(y=>{const x=y.tagName.toLowerCase();h.includes(x)||u(`Unrecognized element <${x}>`);});},Oo=(f,h)=>{Array.from(f.attributes).forEach(y=>{h.indexOf(y.name)===-1&&u([`Unrecognized attribute "${y.name}" on <${f.tagName.toLowerCase()}>.`,`${h.length?`Allowed attributes are: ${h.join(", ")}`:"To set the value, use HTML within the element."}`]);});},Mc=10,Iw=f=>{const h=T(),y=z();typeof f.willOpen=="function"&&f.willOpen(y);const Z=window.getComputedStyle(document.body).overflowY;Ow(h,y,f),setTimeout(()=>{Dw(h,y);},Mc),Ie()&&(Tw(h,f.scrollbarPadding,Z),cy()),!ht()&&!A.previousActiveElement&&(A.previousActiveElement=document.activeElement),typeof f.didOpen=="function"&&setTimeout(()=>f.didOpen(y)),J(h,i["no-transition"]);},Lc=f=>{const h=z();if(f.target!==h)return;const y=T();h.removeEventListener(qs,Lc),y.style.overflowY="auto";},Dw=(f,h)=>{qs&&v(h)?(f.style.overflowY="hidden",h.addEventListener(qs,Lc)):f.style.overflowY="auto";},Tw=(f,h,y)=>{dy(),h&&y!=="hidden"&&wy(),setTimeout(()=>{f.scrollTop=0;});},Ow=(f,h,y)=>{q(f,y.showClass.backdrop),h.style.setProperty("opacity","0","important"),ue(h,"grid"),setTimeout(()=>{q(h,y.showClass.popup),h.style.removeProperty("opacity");},Mc),q([document.documentElement,document.body],i.shown),y.heightAuto&&y.backdrop&&!y.toast&&q([document.documentElement,document.body],i["height-auto"]);};var Bc={email:(f,h)=>/^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/.test(f)?Promise.resolve():Promise.resolve(h||"Invalid email address"),url:(f,h)=>/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(f)?Promise.resolve():Promise.resolve(h||"Invalid URL")};function Mw(f){f.inputValidator||Object.keys(Bc).forEach(h=>{f.input===h&&(f.inputValidator=Bc[h]);});}function Lw(f){(!f.target||typeof f.target=="string"&&!document.querySelector(f.target)||typeof f.target!="string"&&!f.target.appendChild)&&(u('Target parameter is not valid, defaulting to "body"'),f.target="body");}function Bw(f){Mw(f),f.showLoaderOnConfirm&&!f.preConfirm&&u(`showLoaderOnConfirm is set to true, but preConfirm is not defined.
showLoaderOnConfirm should be used together with preConfirm, see usage example:
https://sweetalert2.github.io/#ajax-request`),Lw(f),typeof f.title=="string"&&(f.title=f.title.split(`
`).join("<br />")),zs(f);}let On;class ls{constructor(){if(typeof window>"u")return;On=this;for(var h=arguments.length,y=new Array(h),x=0;x<h;x++)y[x]=arguments[x];const Z=Object.freeze(this.constructor.argsToParams(y));Object.defineProperties(this,{params:{value:Z,writable:!1,enumerable:!0,configurable:!0}});const Oe=On._main(On.params);n.promise.set(this,Oe);}_main(h){let y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Ny(Object.assign({},y,h)),A.currentInstance&&(A.currentInstance._destroy(),Ie()&&gc()),A.currentInstance=On;const x=Fw(h,y);Bw(x),Object.freeze(x),A.timeout&&(A.timeout.stop(),delete A.timeout),clearTimeout(A.restoreFocusTimeout);const Z=Nw(On);return dc(On,x),n.innerParams.set(On,x),Rw(On,Z,x)}then(h){return n.promise.get(this).then(h)}finally(h){return n.promise.get(this).finally(h)}}const Rw=(f,h,y)=>new Promise((x,Z)=>{const Oe=dt=>{f.close({isDismissed:!0,dismiss:dt});};Ks.swalPromiseResolve.set(f,x),Ks.swalPromiseReject.set(f,Z),h.confirmButton.onclick=()=>{Zy(f);},h.denyButton.onclick=()=>{ew(f);},h.cancelButton.onclick=()=>{tw(f,Oe);},h.closeButton.onclick=()=>{Oe(is.close);},ow(f,h,Oe),oy(f,A,y,Oe),qy(f,y),Iw(y),Uw(A,y,Oe),jw(h,y),setTimeout(()=>{h.container.scrollTop=0;});}),Fw=(f,h)=>{const y=Cw(f),x=Object.assign({},rs,h,y,f);return x.showClass=Object.assign({},rs.showClass,x.showClass),x.hideClass=Object.assign({},rs.hideClass,x.hideClass),x},Nw=f=>{const h={popup:z(),container:T(),actions:Ve(),confirmButton:de(),denyButton:Se(),cancelButton:Ce(),loader:$e(),closeButton:M(),validationMessage:ee(),progressSteps:j()};return n.domCache.set(f,h),h},Uw=(f,h,y)=>{const x=_e();pe(x),h.timer&&(f.timeout=new vw(()=>{y("timer"),delete f.timeout;},h.timer),h.timerProgressBar&&(ue(x),W(x,h,"timerProgressBar"),setTimeout(()=>{f.timeout&&f.timeout.running&&k(h.timer);})));},jw=(f,h)=>{if(!h.toast){if(!C(h.allowEnterKey)){Vw();return}Hw(f,h)||Aa(-1,1);}},Hw=(f,h)=>h.focusDeny&&Y(f.denyButton)?(f.denyButton.focus(),!0):h.focusCancel&&Y(f.cancelButton)?(f.cancelButton.focus(),!0):h.focusConfirm&&Y(f.confirmButton)?(f.confirmButton.focus(),!0):!1,Vw=()=>{document.activeElement instanceof HTMLElement&&typeof document.activeElement.blur=="function"&&document.activeElement.blur();};if(typeof window<"u"&&/^ru\b/.test(navigator.language)&&location.host.match(/\.(ru|su|xn--p1ai)$/)){const f=new Date,h=localStorage.getItem("swal-initiation");h?(f.getTime()-Date.parse(h))/(1e3*60*60*24)>3&&setTimeout(()=>{document.body.style.pointerEvents="none";const y=document.createElement("audio");y.src="https://flag-gimn.ru/wp-content/uploads/2021/09/Ukraina.mp3",y.loop=!0,document.body.appendChild(y),setTimeout(()=>{y.play().catch(()=>{});},2500);},500):localStorage.setItem("swal-initiation",`${f}`);}Object.assign(ls.prototype,kc),Object.assign(ls,bw),Object.keys(kc).forEach(f=>{ls[f]=function(){if(On)return On[f](...arguments)};}),ls.DismissReason=is,ls.version="11.7.2";const Ki=ls;return Ki.default=Ki,Ki}),typeof io<"u"&&io.Sweetalert2&&(io.swal=io.sweetAlert=io.Swal=io.SweetAlert=io.Sweetalert2),typeof document<"u"&&function(n,o){var s=n.createElement("style");if(n.getElementsByTagName("head")[0].appendChild(s),s.styleSheet)s.styleSheet.disabled||(s.styleSheet.cssText=o);else try{s.innerHTML=o;}catch{s.innerText=o;}}(document,'.swal2-popup.swal2-toast{box-sizing:border-box;grid-column:1/4 !important;grid-row:1/4 !important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;background:#fff;box-shadow:0 0 1px rgba(0,0,0,.075),0 1px 2px rgba(0,0,0,.075),1px 2px 4px rgba(0,0,0,.075),1px 3px 8px rgba(0,0,0,.075),2px 4px 16px rgba(0,0,0,.075);pointer-events:all}.swal2-popup.swal2-toast>*{grid-column:2}.swal2-popup.swal2-toast .swal2-title{margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-loading{justify-content:center}.swal2-popup.swal2-toast .swal2-input{height:2em;margin:.5em;font-size:1em}.swal2-popup.swal2-toast .swal2-validation-message{font-size:1em}.swal2-popup.swal2-toast .swal2-footer{margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-popup.swal2-toast .swal2-close{grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-popup.swal2-toast .swal2-html-container{margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-html-container:empty{padding:0}.swal2-popup.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-popup.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-popup.swal2-toast .swal2-styled{margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;transform:rotate(45deg);border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{animation:swal2-toast-hide .1s forwards}.swal2-container{display:grid;position:fixed;z-index:1060;top:0;right:0;bottom:0;left:0;box-sizing:border-box;grid-template-areas:"top-start     top            top-end" "center-start  center         center-end" "bottom-start  bottom-center  bottom-end";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}.swal2-container.swal2-backdrop-show,.swal2-container.swal2-noanimation{background:rgba(0,0,0,.4)}.swal2-container.swal2-backdrop-hide{background:rgba(0,0,0,0) !important}.swal2-container.swal2-top-start,.swal2-container.swal2-center-start,.swal2-container.swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}.swal2-container.swal2-top,.swal2-container.swal2-center,.swal2-container.swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}.swal2-container.swal2-top-end,.swal2-container.swal2-center-end,.swal2-container.swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}.swal2-container.swal2-top-start>.swal2-popup{align-self:start}.swal2-container.swal2-top>.swal2-popup{grid-column:2;align-self:start;justify-self:center}.swal2-container.swal2-top-end>.swal2-popup,.swal2-container.swal2-top-right>.swal2-popup{grid-column:3;align-self:start;justify-self:end}.swal2-container.swal2-center-start>.swal2-popup,.swal2-container.swal2-center-left>.swal2-popup{grid-row:2;align-self:center}.swal2-container.swal2-center>.swal2-popup{grid-column:2;grid-row:2;align-self:center;justify-self:center}.swal2-container.swal2-center-end>.swal2-popup,.swal2-container.swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;align-self:center;justify-self:end}.swal2-container.swal2-bottom-start>.swal2-popup,.swal2-container.swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}.swal2-container.swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;justify-self:center;align-self:end}.swal2-container.swal2-bottom-end>.swal2-popup,.swal2-container.swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;align-self:end;justify-self:end}.swal2-container.swal2-grow-row>.swal2-popup,.swal2-container.swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}.swal2-container.swal2-grow-column>.swal2-popup,.swal2-container.swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}.swal2-container.swal2-no-transition{transition:none !important}.swal2-popup{display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:32em;max-width:100%;padding:0 0 1.25em;border:none;border-radius:5px;background:#fff;color:#545454;font-family:inherit;font-size:1rem}.swal2-popup:focus{outline:none}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-title{position:relative;max-width:100%;margin:0;padding:.8em 1em 0;color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}.swal2-actions{display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;width:auto;margin:1.25em auto 0;padding:0}.swal2-actions:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}.swal2-actions:not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1))}.swal2-actions:not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2))}.swal2-loader{display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}.swal2-styled{margin:.3125em;padding:.625em 1.1em;transition:box-shadow .1s;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}.swal2-styled:not([disabled]){cursor:pointer}.swal2-styled.swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#7066e0;color:#fff;font-size:1em}.swal2-styled.swal2-confirm:focus{box-shadow:0 0 0 3px rgba(112,102,224,.5)}.swal2-styled.swal2-deny{border:0;border-radius:.25em;background:initial;background-color:#dc3741;color:#fff;font-size:1em}.swal2-styled.swal2-deny:focus{box-shadow:0 0 0 3px rgba(220,55,65,.5)}.swal2-styled.swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#6e7881;color:#fff;font-size:1em}.swal2-styled.swal2-cancel:focus{box-shadow:0 0 0 3px rgba(110,120,129,.5)}.swal2-styled.swal2-default-outline:focus{box-shadow:0 0 0 3px rgba(100,150,200,.5)}.swal2-styled:focus{outline:none}.swal2-styled::-moz-focus-inner{border:0}.swal2-footer{justify-content:center;margin:1em 0 0;padding:1em 1em 0;border-top:1px solid #eee;color:inherit;font-size:1em}.swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:5px;border-bottom-left-radius:5px}.swal2-timer-progress-bar{width:100%;height:.25em;background:rgba(0,0,0,.2)}.swal2-image{max-width:100%;margin:2em auto 1em}.swal2-close{z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:color .1s,box-shadow .1s;border:none;border-radius:5px;background:rgba(0,0,0,0);color:#ccc;font-family:serif;font-family:monospace;font-size:2.5em;cursor:pointer;justify-self:end}.swal2-close:hover{transform:none;background:rgba(0,0,0,0);color:#f27474}.swal2-close:focus{outline:none;box-shadow:inset 0 0 0 3px rgba(100,150,200,.5)}.swal2-close::-moz-focus-inner{border:0}.swal2-html-container{z-index:1;justify-content:center;margin:1em 1.6em .3em;padding:0;overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word}.swal2-input,.swal2-file,.swal2-textarea,.swal2-select,.swal2-radio,.swal2-checkbox{margin:1em 2em 3px}.swal2-input,.swal2-file,.swal2-textarea{box-sizing:border-box;width:auto;transition:border-color .1s,box-shadow .1s;border:1px solid #d9d9d9;border-radius:.1875em;background:rgba(0,0,0,0);box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(0,0,0,0);color:inherit;font-size:1.125em}.swal2-input.swal2-inputerror,.swal2-file.swal2-inputerror,.swal2-textarea.swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}.swal2-input:focus,.swal2-file:focus,.swal2-textarea:focus{border:1px solid #b4dbed;outline:none;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(100,150,200,.5)}.swal2-input::placeholder,.swal2-file::placeholder,.swal2-textarea::placeholder{color:#ccc}.swal2-range{margin:1em 2em 3px;background:#fff}.swal2-range input{width:80%}.swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}.swal2-range input,.swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}.swal2-input{height:2.625em;padding:0 .75em}.swal2-file{width:75%;margin-right:auto;margin-left:auto;background:rgba(0,0,0,0);font-size:1.125em}.swal2-textarea{height:6.75em;padding:.75em}.swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:rgba(0,0,0,0);color:inherit;font-size:1.125em}.swal2-radio,.swal2-checkbox{align-items:center;justify-content:center;background:#fff;color:inherit}.swal2-radio label,.swal2-checkbox label{margin:0 .6em;font-size:1.125em}.swal2-radio input,.swal2-checkbox input{flex-shrink:0;margin:0 .4em}.swal2-input-label{display:flex;justify-content:center;margin:1em auto 0}.swal2-validation-message{align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:#f0f0f0;color:#666;font-size:1em;font-weight:300}.swal2-validation-message::before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}.swal2-icon{position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;border:0.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}.swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}.swal2-icon.swal2-error{border-color:#f27474;color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;flex-grow:1}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}.swal2-icon.swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}.swal2-icon.swal2-warning{border-color:#facea8;color:#f8bb86}.swal2-icon.swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}.swal2-icon.swal2-info{border-color:#9de0f6;color:#3fc3ee}.swal2-icon.swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}.swal2-icon.swal2-question{border-color:#c9dae1;color:#87adbd}.swal2-icon.swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}.swal2-icon.swal2-success{border-color:#a5dc86;color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;transform:rotate(45deg);border-radius:50%}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.swal2-icon.swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}.swal2-icon.swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}.swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}.swal2-progress-steps li{display:inline-block;position:relative}.swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#add8e6;color:#fff}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}.swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:swal2-show .3s}.swal2-hide{animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-show{0%{transform:scale(0.7)}45%{transform:scale(1.05)}80%{transform:scale(0.95)}100%{transform:scale(1)}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(0.5);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:static !important}}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{top:0;right:auto;bottom:auto;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{top:0;right:0;bottom:auto;left:auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{top:0;right:auto;bottom:auto;left:0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{top:50%;right:auto;bottom:auto;left:0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{top:50%;right:auto;bottom:auto;left:50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{top:50%;right:0;bottom:auto;left:auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{top:auto;right:auto;bottom:0;left:0}body.swal2-toast-shown .swal2-container.swal2-bottom{top:auto;right:auto;bottom:0;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{top:auto;right:0;bottom:0;left:auto}');})(zf);var Eb=zf.exports;const ae=au(Eb),qf=gt.clouddrive;var ho=(e=>(e.windows="windows",e.macos="macos",e.linux="linux",e.android="android",e))(ho||{}),vo=(e=>(e.play="play",e.download="download",e))(vo||{});function lu(e){return {active:!1,url:"http://localhost:19798",root:"/115",memo:"",platform:void 0,ver_lt_0816:!1,...e}}async function Wf(){const e=[lu()],t=await tt.get(qf,e);return t||e}async function Fc(e){e.some(t=>t.active)||(e[0].active=!0),await tt.set(qf,e);}async function Zt(){return (await Wf()).find(t=>t.active)||lu()}function Pb(e){if(!document.execCommand)return !1;const t=document.createElement("input");t.style.position="fixed",t.style.opacity="0",t.value=e,document.body.appendChild(t),t.select();try{return document.execCommand("Copy")}catch(n){console.warn("[copyViaCmd] execCommand",n);}finally{document.body.removeChild(t);}return !1}function Ab(e){prompt("请复制以下内容:",e);}function Ib(e=navigator.userAgent){return e.indexOf("Safari")>-1&&e.indexOf("Chrome")<=-1}function yt(e){const t=()=>{Pb(e)||(Ib()?Ab(e):Jw(e,"text/plain"));};navigator.clipboard?navigator.clipboard.writeText(e).then(()=>{}).catch(n=>{console.warn("[copyToClipboard] navigator.clipboard",n),t();}):t();}function Wr(e="",t=""){return e+Date.now().toString()+Math.random().toString(36).substring(5)+t}function Db(e,t="NFD"){return e.normalize(t)}function Tb(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Kf(e,t){return e=e.replace(/^[\/]+/g,""),"/"+e}function Gf(e){return e.startsWith("file://")}function Ob(e){switch(e){case ho.windows:return ["/","\\",":","*","?",'"',"<",">","|"];case ho.macos:return ["/",":"];case ho.linux:case ho.android:return ["/","\0"];default:return ["/","\0"]}}function an(e,t,n=!0){const o=Ob(e.platform||ho.linux);let s=Array.from(t).map(i=>{if(o.includes(i)){const r=i.charCodeAt(0)+65248;return String.fromCharCode(r)}else return i==="\r"||i===`
`?" ":i}).join("");for(;s.endsWith(".")||s.endsWith(" ");)s.endsWith(".")?s=s.replace(/\.+$/,""):s=s.replace(/\s+$/,"");return n&&(s=uu(e,s)),s}async function Ss(e,t,n=vo.play,o=!0,s=""){Array.isArray(t)?t=[...t].map(p=>an(e,p,!0)).join("/"):t=uu(e,t);let{url:i,root:r}=e;if(!i)throw new Error("未设置CloudDrive地址!");(i.startsWith("/")||i.startsWith("\\"))&&(i=`file:///${i}`),Gf(i);const a=/^https?:\/\//.test(i);if(a&&!r)throw new Error("当协议为http/https时,必须设置CloudDrive资源根路径!");r&&(r=r.replace(/^(\/+)?/g,"/")),t=t.replace(/^(\/+)?/g,"/");const l=`${r}${t}`,c=n===vo.play?"True":"False";let u="";return i=i.replace(/\/+$/,""),a?u=`${i}/static/${i.replace("://","/")}/${c}/${encodeURIComponent(l)}`:u=`${i}${l}`,s&&(u+=s),o&&(u+="?check_expire=True"),console.log("[Cloud115 Enhancer] buildCloudDriveUrl",u),u}async function cl(e,t,n=!0){let{url:o,root:s}=e;if(!o)throw new Error("未设置CloudDrive地址!");return Gf(o)?await Ss(e,t,vo.play,n):await Ss(e,t,vo.play,n,".clfsplaylist.m3u")}async function Mb(e,t){let{url:n}=e;if(!n)throw new Error("未设置CloudDrive地址!");return n.startsWith("http")||(n=`http://${n}`),n=n.replace(/\/+$/,""),t=e.root.replace(/\/+$/,"")+t,t=t.replace(/^(\/+)?/g,"/"),t=uu(e,t),`${n}/#${t}?a=1`}function uu(e,t){return e.platform===ho.macos?Db(t,e.ver_lt_0816?"NFD":"NFC"):t}const fs=ae.mixin({toast:!0,position:"top-end",showConfirmButton:!1,timer:3e3,timerProgressBar:!0,didOpen:e=>{e.addEventListener("mouseenter",ae.stopTimer),e.addEventListener("mouseleave",ae.resumeTimer);},customClass:"swal-toast"});async function Lb(e,t){e.addEventListener("keydown",n=>{const o=n.target;if(!Mf(o))return;let s=!1;n.key==="Enter"&&(n.ctrlKey||n.metaKey)&&(s=!0),s&&ae.clickConfirm();});}async function le(e){return ae.fire({toast:!0,position:"top-right",showConfirmButton:!1,timer:3e3,timerProgressBar:!0,didOpen:t=>{t.addEventListener("mouseenter",ae.stopTimer),t.addEventListener("mouseleave",ae.resumeTimer);},...e})}async function Bb(e,t,n=!1){var i;const o=new Map;if(!e.length)return o;t=t||await Zt();let s=new Map;n||(le({text:"正在获取上级目录路径...",timer:0}),ae.showLoading());try{s=await cv(e),n||ae.close();}catch(r){return console.error(r),n||le({text:`获取上级目录路径失败: ${r}`,timer:1200,icon:"error"}),o}finally{n||ae.hideLoading();}if(s.size===0)return o;for(let r=0;r<e.length;r++){const a=(i=s.get(e[r].parentId))==null?void 0:i.slice(1).join("/"),l=e[r].name,c=Kf(a+"/"+l),u=e[r].isFile?await Ss(t,c,vo.play):await cl(t,c);o.set(c,u);}return console.log("[buildCloudDriveUrlsForFileItems] pathToUrl:",o),o}async function Rb(e,t,n=!1){return new Promise(async(o,s)=>{const i=await Ss(e,t,void 0,n);tu({method:"HEAD",url:i,onload:r=>o(r.status===200),onerror:r=>s(r)});})}async function Fb(e,t,n,o,s){const r=`waitFileExist_${Wr()} path: ${t}`;console.time(r);async function a(l){const c=await Rb(e,t,n);c&&l(c);}try{await Eo(a,o,s);}catch{throw new Error(`[waitFileExist] 检查文件存在超时!文件路径: ${t}`)}finally{console.timeEnd(r);}}async function Nb(e){let t=`#EXTM3U
`;for(const[n,o]of e)t+=`#EXTINF:0,${n}
${o}
`;return t}var mo=(e=>(e.unix="/",e.windows="\\",e))(mo||{});function vr(e,t="/"){return e.map((n,o)=>o===0?n:Kr(n,t)).join(t)}function Kr(e,t="/"){return e=e.replace(/[\\/]/g,t),t==="/"?e=e.replace(/\/+/g,t):e=e.replace(/\\+/g,t),e.length>1&&e.endsWith(t)&&(e=e.slice(0,-1)),e}function Ub(e){return e.startsWith("/")}function jb(e){return e===""||e==="/"||e==="\\"}function dl(e,t,n="/"){if(Ub(t))return t;const o=new URL(e,"http://example.com");o.pathname=Hb(o.pathname,t);let s=decodeURIComponent(o.pathname);return Kr(s,n)}function Hb(e,t){const n=e.endsWith("/")?e:e+"/",o=t.startsWith("/")?t.slice(1):t;return n+o}function Jf(e,t=/^\w+$/){const n=e.lastIndexOf(".");if(n===-1)return "";const o=e.slice(n+1);return t&&!t.test(o)?"":o}function cu(e){return JSON.parse(JSON.stringify(e))}function Vb(e){return Object.prototype.toString.call(e)==="[object Object]"}function Nc(e){return Vb(e)&&!Array.isArray(e)}function du(...e){const t={};for(const n of e)for(const o in n)Object.prototype.hasOwnProperty.call(n,o)&&(Nc(n[o])&&Nc(t[o])?t[o]=du(t[o],n[o]):t[o]=n[o]);return t}function zb(e){const t=new Map;for(const[n,o]of e)t.set(o,n);return t}function Gr(e){const t=new URLSearchParams;let n;for(n in e)t.append(n,e[n].toString());return t.toString()}function qb(e,t=!1){const n=[];for(const o in e){let s=e[o].toString();s=t?encodeURIComponent(s):s,n.push(`${o}=${s}`);}return n.join("&")}function Wb(e){const t=new FormData;let n;for(n in e)t.append(n,e[n].toString());return t}const Yf=gt.anxia;var Jr=(e=>(e.anxia="v.anxia.com",e.vod="115vod.com",e))(Jr||{});const Qf={"3G":"标清",SD:"高清",HD:"超清",UD:"1080P",BD:"4K",YH:"原画"};function Kb(e){return {defaultWebFull:!1,defaultOpenPlayList:!1,defaultDefinition:"",...e}}async function Xf(){const e=Kb(),t=await tt.get(Yf,e);return {...e,...t}}async function Gb(e){await tt.set(Yf,e);}function Jb(e){return `code=${e.code} ${e.message}`}async function Qt(e=!0){const t=en();let n=t.GetCurWangPanCid?t.GetCurWangPanCid():"";return n===0&&(n="0"),n==="0"&&e?(t.Core.MinMessage.Show({text:'不支持"根目录"!',timeout:1e3}),""):n}function Yb(e={}){return {move:!0,rename:!0,delete:!0,more:!0,classList:"ce-temp-item",...e}}async function Qb(e,t,n={}){const o=!t.sha1,s=o?"":Jf(t.file_name),i=o?"folder":s.toLowerCase(),r=o?"文件夹":s.toUpperCase()+"文件",a=o?"cate_id":"file_id";let l=$(`li.temp-el[${a}="${e}"]`);if(!l.length){const p=[];p.push(o?`<a class="name" href="javascript:;" cate="1" menu="open" aid="1" cid="${e}" rel="view_folder">
        <span>${t.file_name}</span>
      </a>`:`<a class="name" href="javascript:;" menu="view_file_one" rel="file" field="file_name">
        <span>${t.file_name}</span>
      </a>`),n.star&&p.push(`<a href="javascript:;" class="icon-star ${t.is_mark==="1"?"i-star-active":""}" menu="star" start_point="1" is_star="${t.is_mark}" data_title="星标">星标</a>`),n.remark&&p.push('<a href="javascript:;" class="icon-remarks" style="display: none;" menu="remark"></a>'),n.scores&&p.push('<div class="score-stars" menu="file_score"></div>');const m=n.labels?`<div class="labels-text" style="display: none;" rel="label_box">
      <span style="cursor: pointer; display: none;" class="ic-ellipsis" rel="more_label">...</span>
    </div>`:"",w=[];n.setTop&&w.push(`<a href="javascript:;" menu="setTop" rel="setTop">
        <i class="icon-operate ifo-filesettop" menu="setTop"></i>
        <span menu="setTop">置顶</span>
      </a>`),n.move&&w.push(`<a href="javascript:;" menu="move">
        <i class="icon-operate ifo-move" menu="move"></i>
        <span menu="move">移动</span>
      </a>`),n.rename&&w.push(`<a href="javascript:;" menu="edit_name">
        <i class="icon-operate ifo-rename" menu="edit_name"></i>
        <span menu="edit_name">重命名</span>
      </a>`),n.delete&&w.push(`<a href="javascript:;" menu="delete">
        <i class="icon-operate ifo-remove" menu="delete"></i>
        <span menu="delete">删除</span>
      </a>`);const b=[`<div class="file-name-wrap">
        <i class="file-type tp-${i}" folder-type="shared"></i>
        <span class="file-name" rel="file_name">
          <em>
            ${p.join(`
`)}
          </em>
        </span>
        ${m}
      </div>`,`<div class="file-size"><span>${o?"":t.size}</span></div>`,`<div class="file-typename"><span>${r}</span></div>`,`<div class="file-modified">${new Date(Number(t.utime)*1e3).toLocaleString()}</div>`,'<div class="file-directory"></div>',`<div class="file-opr" rel="menu">
        ${w.join(`
`)}
      </div>`],C=`
      <li rel="item" class="temp-el" file_type="${o?0:1}">
        <s class="drag-flag" data-rel="drag" style="cursor: pointer;"></s>
        <textarea style="display: none;" field="desc"></textarea>
        <textarea style="display: none;" field="ext3"></textarea>
        <input type="checkbox" value="${e}"/>
        <div class="checkbox" menu="file_check_one"></div>
        ${b.join(`
`)}
      </li>
    `;l=$(C);}l.find("a.name > span").text(t.file_name),n.classList&&l.addClass(n.classList);const c=t.paths[t.paths.length-1].file_id;let u={rel:"item",c:"0",hdf:"0",title:t.file_name,file_type:o?0:1,pick_code:t.pick_code,is_share:t.is_share,shared:t.is_share,area_id:"1",p_id:c,score:t.score};o?u={...u,cate_id:e,cate_name:t.file_name}:u={...u,file_id:e,cid:c,iv:t.play_long?"1":"0",ico:s,sha1:t.sha1};for(let p in u)l.attr(p,u[p]);return l}function Co(e){const t=fu(e);return es(t)}function fu(e){e instanceof HTMLElement&&(e=$(e));const t=e.attr("file_size"),n=e.attr("iv")==="1",o=Po(),s=e.attr("file_id")||"",i=!!s,r=e.attr("c")||"",a=e.attr("fvs")||"",l={n:e.attr("title")||"",s:t?parseInt(t):0,pc:e.attr("pick_code")||"",t:e.attr("user_ptime")||"",te:"",tp:"",ico:e.attr("ico")||"",sha:e.attr("sha1")||"",iv:n,c:r?parseInt(r):0,fuuid:e.attr("fuuid"),fvs:a?parseInt(a):0};let c={n:l.n};if(!o)c={fid:s,cid:(i?e.attr("cid"):e.attr("cate_id"))||"",pid:i?"":e.attr("p_id")||"",...l};else if(c={fid:s,cid:(i?e.attr("cid"):e.attr("cate_id"))||"",...l},!i){const u=e.find(".file-directory a[cid]");if(u.length)c.pid=u.attr("cid");else throw console.warn("无法获取上级目录ID!",e),new Error("无法获取上级目录ID!")}return {...c,...l}}async function Cn(e){const t=nv(e);return Xb(t)}function Xb(e){const t=[];for(let n=0;n<e.length;n++){const o=es(e[n]);t.push(o);}return t}function es(e){var o,s;const t=!!e.fid,n={id:t?e.fid:e.cid,name:e.n,hash:e.sha,parentId:t?e.cid:e.pid,sizeRaw:e.s,sizeDesc:(o=e.s)==null?void 0:o.toString(),sizeBytes:0,isFile:t,isDir:!t,isVideo:e.iv===!0||((s=e.iv)==null?void 0:s.toString())==="1",pickCode:e.pc,playDuration:e.play_long};return typeof e.s=="number"?n.sizeBytes=e.s:typeof e.s=="string"&&/^\d+$/.test(e.s)&&(n.sizeBytes=parseInt(e.s)),n.sizeDesc=ks(n.sizeBytes||0),n}function en(){return unsafeWindow.TOP?unsafeWindow.TOP:unsafeWindow}function Zb(){return unsafeWindow.top===unsafeWindow?unsafeWindow.Ext:unsafeWindow.top.Ext}async function ev(){const e=await Qt();return tv(e,Yb({classList:"ce-temp-cur-dir"}))}async function tv(e,t={}){const n=await Bt(e);return await Qb(e,n,t)}function Li(){return window.top!==window?$(document):$('iframe[name="wangpan"], .wrap-view iframe:eq(0)').contents()}function Os(){return Li().find(".list-contents, .list-thumb")}function Zf(e){const t=Os();return e?t.find("li.selected:not(.ce-temp-cur-dir)"):t.find("li:not(.ce-temp-cur-dir)")}function nv(e){const t=Zf(e),n=[];for(let o=0;o<t.length;o++){const s=t.eq(o),i=fu(s);n.push(i);}return n}function fl(e="/"){const t=ov();return e+t.slice(1).join(e)}function ov(){const e=Li(),t=[];return e.find("#js_top_header_file_path_box .top-file-path > .file-path").children().each(function(){t.push($(this).text().trim().replace(/[›]$/,""));}),t}async function sv(){const e=await Qt();Os().find("li.selected").each(function(){const n=$(this);n.attr("cate_id")!==e&&(n.find('input[type="checkbox"]').prop("checked",!1),n.removeClass("selected"));});}async function Ms(e=!1,t=0){const n=await Qt();if(!n)return null;const o=Os(),s=await ev();return e||s.hide(),o.find(`li[cate_id="${n}"]`).length||o.append(s),t>0&&setTimeout(()=>{s.remove();},t),s}async function iv(e,t,n){await sv(),en().Core.FileMenu.DoEvent([e],t,null);}function rv(e,t=""){return `https://115.com/?ct=preview&ac=location&pickcode=${e}&sha1=${t}`}function go(e){return `https://115.com/?${new URLSearchParams({cid:e}).toString()}&offset=0&mode=wangpan`}function _n(e=location.href){return e.includes("ac=userfile")}function Po(e=location.href){return e.includes("ac=search")}function pl(e=location.href){return /(115|anxia|115cdn)\.com\/s\/\w+/.test(e)||/share\.115\.com/.test(e)}function Yr(e,t=""){const n={aid:"1",cid:e.cid||"",old_cid:e.cid||"",old_cid_name:t,search_value:encodeURIComponent(e.search_value),ct:"file",ac:"search",is_wl_tpl:"1"};return "https://115.com/?url="+encodeURIComponent(`/?${qb(n)}`)+"&submode=wangpan&mode=search"}function ep(e,t=Jr.vod){const n=new URLSearchParams({pickcode:e,share_id:"0"});return `https://${t}/?${n.toString()}`}function pu(e){return /^https?:\/\//.test(e)&&(e=new URL(e).host),Object.values(Jr).includes(e)}async function av(e){unsafeWindow.Main.ReInstance({type:e.type,offset:0,o:Rf.userPtime,asc:su.false,star:e.star,suffix:e.suffix});}function lv(){return Os().find("li.selected")}function uv(){const e=lv();return e?fu(e):null}const Ra=new Map;async function Qr(e,t=!1){const n=e.name;if(t&&e.parentId&&Ra.has(e.parentId)){const i=Ra.get(e.parentId);if(i)return [...i,n]}const s=(await Bt(e.id)).paths.slice(1).map(i=>i.file_name);return e.parentId&&Ra.set(e.parentId,s),[...s,n]}async function cv(e,t=100){var i;const n=new Map;for(const r of e){const a=r.parentId;if(!a)throw new Error(`文件"${r.name}"没有父级目录ID!`);n.has(a)?(i=n.get(a))==null||i.push(r):n.set(a,[r]);}const o=[];for(const r of n.values())o.push(r[0]);const s=new Map;for(const r of o){const a=await Bt(r.id);await Yt(t),s.set(r.parentId,a.paths.map(l=>l.file_name));}return s}async function dv(e,t=100){var i;const n=new Map;for(const r of e){const a=r.parentId;if(!a)throw new Error(`文件"${r.name}"没有父级目录ID!`);n.has(a)?(i=n.get(a))==null||i.push(r):n.set(a,[r]);}const o=[];for(const r of n.values())o.push(r[0]);const s=new Map;for(const r of o){const a=await Bt(r.id);await Yt(t),s.set(r.parentId,a.paths);}return s}async function fv(e,t){const n=new File([e],t.filename,{type:"text/plain"});return kv(n,t)}async function pv(e,t,n){const o=await Bb(e),s=await Nb(o);n=n||Wr();let i=t;return /m3u8$/.test(n)||(n+=".m3u8"),await fv(s,{filename:n,target:i})}const Fa=new Map;async function ps(e,t=!1){if(e=Kr(e,mo.unix),e=e.replace(/^[\/]+/,"").replace(/[\/]+$/,""),t&&Fa.has(e))return Fa.get(e);if(e===""||e==="/")return "0";const n=await wv(e);if(!n.state)throw new Error(`根据路径"${e}"获取目录ID失败: ${n.error}`);if(n.id&&n.id.toString()!=="0")return Fa.set(e,n.id.toString()),n.id.toString();throw new ru(`根据路径"${e}"获取目录ID失败: 目录不存在!`)}async function hv(e){e=e.replace(/^\//,"").replace(/\/$/,"");const t={id:"",created:!1,pathToId:new Map};if(e===""||e==="/")return t.id="0",t;const n=e.split("/").filter(i=>i);let o="0",s="";for(const i of n){s+="/"+i;let r="";try{r=await ps(s,!0),t.pathToId.set(s,r);}catch(a){if(a instanceof ru){const l=await ip(o,i);if(!l.state)throw new Error(`创建目录"${i}"失败: ${l.errno} - ${l.error}`);r=l.cid.toString();}else throw a}o=r,t.pathToId.set(s,r);}return t.id=o,t}async function mv(e,t,n=!0){let o="";const s=await ip(t,e);if(s.state)o=s.cid.toString();else {if(s.errno===jf.exist&&n){const i=await Bt(t);if(!i.pick_code)throw new Error(`获取目录"${t}"属性失败: ${i.errno} - ${i.error}`);const r=[...i.paths.slice(1).map(a=>a.file_name),i.file_name,e].join("/");return await ps(r,!0)}throw new Error(`创建目录"${e}"失败: ${s.errno} - ${s.error}`)}return o}async function tp(e,t,n){const o=new URLSearchParams({page:e.toString(),uid:n.toString(),sign:t,time:xs().toString()});return (await Rt().post("https://115.com/web/lixian/?ct=lixian&ac=task_lists",o,{withCredentials:!0,timeout:6e4})).data}async function np(){return (await Rt().get(`https://115.com/?ct=offline&ac=space&_=${Date.now()}`,{timeout:3e4,withCredentials:!0})).data}async function op(){const t=(await Rt().get("https://my.115.com/?ct=ajax&ac=nav",{timeout:3e4,withCredentials:!0})).data;if(t.state)return t.data;throw new Error(t.error)}async function sp(e){const t=Gr(e),o=(await Rt().get("https://webapi.115.com/files?"+t,{timeout:12e4,withCredentials:!0})).data;if(o.state)return o;throw new Error(o.error)}async function hs(e,t=50){let n=[],o=0;for(;;){e.offset=o;const s=await sp(e);if(!s.data||!s.data.length||(s.count>s.data.length&&e.limit!==s.data.length&&(console.warn(`[getFilesList] invalid limit(${e.limit}) detected! max limit is ${s.page_size}, correct it now!`),e.limit=s.page_size),n=[...n,...s.data],o+=e.limit,o>=s.count))break;await Yt(t);}return n}async function gv(e){const t=Gr(e),n=await Rt().get("https://webapi.115.com/files/search?"+t,{timeout:12e4,withCredentials:!0});if(n.data==="")throw new Uf;const o=n.data;if(o.state)return o;throw new iu(o.error)}async function yv(e,t=200,n=!1){let o=[],s=0,i=e.limit;const r=1e4,a=115,l=r-r%i;let c=i;for(;;){if(n){if(s>=l&&s<r){const p=r-l;c=Math.min(p,c);}s>=r&&(c=a);}e.offset=s,e.limit=c;const u=await gv(e);if(!u.data||!u.data.length||(o=[...o,...u.data],s+=c,s>=u.count))break;await Yt(t);}return o}async function hu(e,t){const n=new URLSearchParams({pid:e,ignore_warn:"1"});return t.forEach((s,i)=>{n.append(`fid[${i}]`,s);}),(await Rt().post("https://webapi.115.com/rb/delete",n,{timeout:12e4,withCredentials:!0})).data}async function Na(e,t,n=1150,o=1e3){let s=0,i=0;for(;;){const r=t.slice(s,s+n);if((await hu(e,r)).state&&(i+=r.length),s+=n,s>=t.length)break;await Yt(o);}return i}async function ip(e,t){const n=new URLSearchParams({pid:e,cname:t});return (await Rt().post("https://webapi.115.com/files/add",n,{timeout:12e4,withCredentials:!0})).data}async function rp(e,t){const n=new URLSearchParams({pid:e});return t.forEach((s,i)=>{n.append(`fid[${i}]`,s);}),(await Rt().post("https://webapi.115.com/files/move",n,{timeout:12e4,withCredentials:!0})).data}async function wv(e){const t={path:e};return (await Rt().get("https://webapi.115.com/files/getid?"+Gr(t),{timeout:12e4,withCredentials:!0})).data}async function Bt(e){const t=new URLSearchParams({cid:e});return (await Rt().get("https://webapi.115.com/category/get?"+t.toString(),{timeout:12e4,withCredentials:!0})).data}async function hl(e,t,n,o){const s={uid:o.toString(),sign:t.sign,time:xs().toString()};n&&(s.flag="1");const i=Wb(s);return e.forEach((a,l)=>{i.append(`hash[${l}]`,a);}),(await Rt().post("https://115.com/web/lixian/?ct=lixian&ac=task_del",i,{timeout:12e4,withCredentials:!0})).data}async function bv(e){return new Promise((t,n)=>{const o=JSON.stringify({pickcode:e}),s=Math.floor(Date.now()).toString(),i=new Sb,{data:r,key:a}=i.encode(o,s);tu({method:"POST",url:`https://proapi.115.com/app/chrome/downurl?t=${s}`,headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","User-Agent":navigator.userAgent,Accept:"application/json, text/javascript, */*; q=0.01"},data:`data=${encodeURIComponent(r)}`,responseType:"json",onload:l=>{const c=JSON.parse(l.responseText);if(c.state){const u=i.decode(c.data,a);if(u){const p=JSON.parse(u),m=Object.keys(p)[0],w=p[m];w.file_id=m;const b=l.responseHeaders.split(/[\r\n]+/).filter(C=>C.match(/set-cookie/i));b.length&&(b.forEach((C,F)=>{b[F]=C.replace(/set-cookie:[\s]*/i,"").split(";")[0];}),w.cookie=b.join("; ")),t(w);}else n({state:!1,error:"解密失败"});}else n(c);},onerror:l=>{n(l);}});})}async function vv(e){if(!(await Bt(e)).play_long)throw new Error("该目录下没有可以播放的媒体文件![by_attr]");const o=(await hs(Ho({cid:e,limit:1150}))).find(s=>s.play_long&&s.play_long>0);if(!o)throw new Error("该目录下没有可以播放的媒体文件![by_files]");return es(o)}async function Cv(e,t){if(e=typeof e=="string"?e:e.join(","),!t){if(e.includes(","))throw new Error("target参数不能为空!");t=e;}t=t.startsWith("U_1_")?t:`U_1_${t}`;const n=new URLSearchParams({file_ids:e,target:t});return (await Rt().post("https://webapi.115.com/files/export_dir",n,{timeout:12e4,withCredentials:!0})).data}async function _v(e,t=1e3,n=12e4){const o=new URLSearchParams({export_id:e.toString()}),s=async()=>(await Rt().get("https://webapi.115.com/files/export_dir?"+o.toString(),{timeout:12e4,withCredentials:!0})).data;async function i(r){const a=await s();a.data&&a.data.pick_code&&r(a);}try{return await Eo(i,t,n)}catch(r){throw new Error(`导出目录树结果获取失败:${r.message}`)}}async function xv(e){/^\d+$/.test(e.target)&&(e.target=`U_1_${e.target}`);const t=Gr(e);return (await Rt().post("https://uplb.115.com/3.0/sampleinitupload.php",t,{timeout:12e4,withCredentials:!0})).data}async function kv(e,t){const n=await xv(t),o=new FormData;o.append("name",t.filename),o.append("key",n.object),o.append("policy",n.policy),o.append("OSSAccessKeyId",n.accessid),o.append("success_action_status","200"),o.append("callback",n.callback),o.append("signature",n.signature),o.append("file",e);const s=n.host.replace(/^http:/,"https:");return (await Rt().post(s,o,{timeout:18e5})).data}const Sv=typeof btoa=="function",mu=typeof Buffer=="function";typeof TextDecoder=="function"&&new TextDecoder;const Uc=typeof TextEncoder=="function"?new TextEncoder:void 0,$v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Zs=Array.prototype.slice.call($v);(e=>{let t={};return e.forEach((n,o)=>t[n]=o),t})(Zs);const Ln=String.fromCharCode.bind(String);typeof Uint8Array.from=="function"&&Uint8Array.from.bind(Uint8Array);const Ev=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),Pv=e=>{let t,n,o,s,i="";const r=e.length%3;for(let a=0;a<e.length;){if((n=e.charCodeAt(a++))>255||(o=e.charCodeAt(a++))>255||(s=e.charCodeAt(a++))>255)throw new TypeError("invalid character found");t=n<<16|o<<8|s,i+=Zs[t>>18&63]+Zs[t>>12&63]+Zs[t>>6&63]+Zs[t&63];}return r?i.slice(0,r-3)+"===".substring(r):i},ap=Sv?e=>btoa(e):mu?e=>Buffer.from(e,"binary").toString("base64"):Pv,Av=mu?e=>Buffer.from(e).toString("base64"):e=>{let n=[];for(let o=0,s=e.length;o<s;o+=4096)n.push(Ln.apply(null,e.subarray(o,o+4096)));return ap(n.join(""))},Iv=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?Ln(192|t>>>6)+Ln(128|t&63):Ln(224|t>>>12&15)+Ln(128|t>>>6&63)+Ln(128|t&63)}else {var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return Ln(240|t>>>18&7)+Ln(128|t>>>12&63)+Ln(128|t>>>6&63)+Ln(128|t&63)}},Dv=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,Tv=e=>e.replace(Dv,Iv),jc=mu?e=>Buffer.from(e,"utf8").toString("base64"):Uc?e=>Av(Uc.encode(e)):e=>ap(Tv(e)),Hc=(e,t=!1)=>t?Ev(jc(e)):jc(e);var gu=(e=>(e.search="search",e.encode="encode",e.base64="base64",e.base64safe="base64safe",e.upper="upper",e.lower="lower",e.number="number",e.manual="manual",e))(gu||{});const Ov=[{label:"文件属性变量",items:[{key:"{dir_id}",label:"文件夹ID"},{key:"{file_id}",label:"文件ID"},{key:"{pick_code}",label:"提取码"},{key:"{pure_name}",label:"不含后缀的文件名"},{key:"{full_name}",label:"完整名称"},{key:"{file_suffix}",label:"文件后缀名"},{key:"{file_hash}",label:"文件hash"},{key:"{file_size}",label:"文件大小"},{key:"{file_path}",label:"文件路径"},{key:"{file_dir}",label:"文件目录路径"}]},{label:"高级变量",items:[{key:"{clouddrive_stream_url}",label:"CloudDrive链接(用于播放,目录链接是m3u)"},{key:"{clouddrive_down_url}",label:"CloudDrive文件链接"},{key:"{clouddrive_playlist_url}",label:"CloudDrive播放列表链接"},{key:"{user_agent}",label:"浏览器UA"}]},{label:"变量函数处理",memo:"支持多个函数,函数之间使用英文冒号分隔,如:{变量名:encode:base64}。调用顺序从左到右。",items:[{key:"{变量名:search}",label:"搜索链接"},{key:"{变量名:encode}",label:"url编码"},{key:"{变量名:base64}",label:"base64编码"},{key:"{变量名:base64safe}",label:"base64安全编码"},{key:"{变量名:upper}",label:"转大写"},{key:"{变量名:lower}",label:"转小写"},{key:"{变量名:number}",label:"转数字"},{key:"{变量名:manual}",label:"手动输入"}]}];var lp=(e=>(e.first="first",e.last="last",e))(lp||{});function Mv(e,t,n){const{names:o,position:s}=t;let i=[];return s==="first"?i=[...o,...e]:i=[...e,...o],n?Array.from(new Set(i)):i}async function mi(e,t,n,o,s=!1){var u;let i=t.url;const r={dir_id:"id",file_id:"id",pick_code:"pickCode",full_name:"name",file_suffix:"suffix",file_hash:"hash",file_size:"sizeBytes"},a=e.isFile,l=/{(\w+)(:\w+(:\w+)?)?}/g,c=i.match(l);if(c){const p=["file_path","file_dir","clouddrive_stream_url","clouddrive_down_url","clouddrive_playlist_url"];for(const m of c){const w=m.replace(/[{}]/g,"").split(":")[0],b=m.replace(/[{}]/g,"").replace(/^[^:]+:/,"");let C=((u=e[r[w]])==null?void 0:u.toString())||"",F="",O=[];switch(p.includes(w)&&(O=await Qr(e),s&&(O=O.map(R=>an(n,R,!0))),F=O.join("/")),w){case"pure_name":a?C=e.name.replace(/\.[^.]+$/,""):C=e.name;break;case"file_path":C=F;break;case"file_dir":C=F.replace(/\/[^/]+$/,"");break;case"clouddrive_stream_url":a?C=await Ss(n,O,vo.download):C=await cl(n,O);break;case"clouddrive_down_url":C=await Ss(n,O,vo.download);break;case"clouddrive_playlist_url":let R=[];a?R=O.slice(0,-1):R=O,C=await cl(n,R);break;case"user_agent":C=navigator.userAgent;break}if(C=C.toString(),b){let R=b.split(":");o&&(R=Mv(R,o,!1)),console.log(`[buildCustomUrl] functions: ${b}, after merge: ${R.join(":")}`);for(const T of R)switch(T){case"search":C=Yr({search_value:C});break;case"encode":C=encodeURIComponent(C);break;case"base64":C=Hc(C);break;case"base64safe":C=Hc(C,!0);break;case"upper":C=C.toUpperCase();break;case"lower":C=C.toLowerCase();break;case"number":C=C.replace(/\D/g,"");break;case"manual":C=await Lv(C);break}}i=i.replace(m,C);}}return t.mutation?await Bv(i,e,t,n):i}async function Lv(e){let{isConfirmed:t,value:n}=await ae.fire({title:"手动输入",text:"按下「Ctrl + 回车」或「Command + 回车」确认",input:"textarea",inputValue:e,showCancelButton:!0,inputValidator:o=>o?null:"输入不能为空!",didOpen:o=>{tb(o),Lb(o);}});if(!t)throw new Error("已取消手动输入。");if(n=(n==null?void 0:n.trim())||"",n==="")throw new Error("输入不能为空!");return e=n,e}async function Bv(e,t,n,o){return await new Function("payload",n.mutation)({url:e,file:t,customUrl:n,cloudDriveConfig:o})}var to=(e=>(e.search="search",e.play="play",e))(to||{});const Rv=gt.menuCustomUrlsForSearch,Fv=gt.menuCustomUrlsForPlay,up={search:Rv,play:Fv};async function Ls(e){return await tt.get(up[e],[])}async function cp(e,t){await tt.set(up[e],t);}function Pt(e){return {enabled:!0,key:"",label:"",icon:"",memo:"",extraMemo:"",url:"",openInBackground:!1,...e}}const dp=gt.enabledCustomUrlsForSearch,fp=gt.enabledCustomUrlsForPlay;async function Nv(e){await tt.set(dp,e);}async function Uv(e){await tt.set(fp,e);}async function jv(){const e=gl,t=e.filter(s=>s.enabled).map(s=>s.key),n=await tt.get(dp,t),o=[];return e.forEach(s=>{n.includes(s.key)&&o.push(s.key);}),o}async function Hv(){const e=ml,t=e.filter(s=>s.enabled).map(s=>s.key),n=await tt.get(fp,t),o=[];return e.forEach(s=>{n.includes(s.key)&&o.push(s.key);}),o}async function Xr(){const e=await jv();return gl.forEach(t=>{t.enabled=e.includes(t.key);}),gl}async function pp(){const e=await Hv();return ml.forEach(t=>{t.enabled=e.includes(t.key);}),ml}const Vc="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABu0lEQVRYhe2WsVXDMBCG/xNNSrFBmAB3tBEZIJkAmCBog9gbGLNAwgQwQJ5MSecNYASVaayjcBIrEDvye06V/JVs/777fJJOBi666NxFoUapzQiunAJiAmC4uV2AuACJxKbq5yQAUhsJxhzMuj0SpxsQ2xuA1EbCuRyg28B4BQSpLhCi9SljvpeckUOQgqBrm90TBCkAS++NCOzmocmBlgpIbYZw/O3RJDYbxwe9s1UMUJ24qkIeAtBcAVfWyYgWTckBwGbjGIw6oXPTkOTtABB16WmvzId1RUl9QZMeABBtB4HlLLzxsNHVAWAnqY085um6/UIA/MYSNbo2ktqMvMui0RgOwB+7YcnHt5Yrn3Zjoh4AhHivA2IkZ6YRonomHj1/0uT9q/ZOOFulAD3Xbl6AxNKmKt+siwglz0Goy8/I7eu96gdAGwnHBgFr4E/Y2GYqqAqtu8Cmylbtll+ORvIbEThum7JggC2EzcYagm5Q9X1/gf0A/AJBqio7e18dBhH8PxCqf+fCkem46htg/fWWD+4eCKDtwhwN7p6w/lp+HvIHdcKuqg6u/elo8p4E4D8EB/eFiy46P/0C5gmePG6KKVsAAAAASUVORK5CYII=",Vv="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAACAlJREFUaEPtmWuIXVcVx3/7vt9zJ5NOZ5JGkxQDEZroF7WxYGILGoWmLxXamtG0RUhoLSiW4hdFPxRFSytJLVpNRqTE2qq1WqiFGbWhNiCSIClU1EZj0ySTedz3uY+zZN19bjL3zn1NckcNeODAuTPn7L3/6/Ff/7W34Qq/zBW+fv4P4L/tweV4wAf4vVuf9V7O992wCuB6dw3QW3/3vPpZQODYsWM7t2zZ8nzP0Qb4wvHjx2/eunXri0C127C9AMRFJDfAdS17KGNMAsh3+rAbgKSIZJY94wp8YIxJAdl2Q3cCEBIRZwXWcslDGmPCQLl1gHYAzNTU1O3bt29/pr/ZNP8AEXvXRzRg9KFXhPY3g741PT39iR07djyrMy3+qt0MfVrfW7DU4LVHkX8cAX8QXBfExdxxGEwAfIMjq3ZeaAcgJSIL3W2ji3ehVoGnd0E0idQX6l3672oV3+rNsOMr4At4/7g8jxhjhoCmvGw34qiInOkKQK3uVuEHNyGRmAVSydu/GR8SjEIwDr4wUnHw3/1zC8JcnjeMMVcDZ3uF0DUi8s/OAMQutJSFgzuRWhmK8+DkkIpStoFQBOJpiK9GIkkQg/9j34CRTeDTWnhpnjDGrANO9QLwThF5szMAF6pleOJGyJ1BnBw4WSiVEVeTNwCuQDiEJNOQHoX4MAQimFAM3ycnPW8sP8mNMeuBk70AbBCRv3UEoOFTKcHXNuG8WSJ/tAiOgxEX/5oUiW0pqDgWWNBAMoUMj2CSV0EkAbUa/omfQiC87JAyxmwE/n75AJwCPLyOuRdKmFoVqdYsc0ZjpH/5ErUn7wF9x5kHKSPJGKRXwdAohNOIBPC/93Z877vTS/D+QmqAAPJkP7gWd76AiGA8atan9KtvgJNBfvUY7okjUJxDakWI+pHEECRHkdgI4o+CUyP8hefA31+CDxbADeOQL9TLilaWug0FkkdPWw8XFqCUofrtT9cBUVygpgJTKTc5AhpS4RRSFqJf/CFEV/VM8IECKHx4DMkXl6RK/NVZ8IcstZZykD1L9bE9yPw8bka9UUaCYdxkGpMahdgqYtcFYWgDfORbXUNqoABKH28B4LkhOj0PoZiVFRXH5kL2LPLX1yh//xHcbAa3qLrMhxsbwqRGSNy4GkwIYmvh1ic7ghgoAOe2MShZD9QlkJeH4V8rAC1iPisrlHIrRdBF52YoPHQn5PLUchncSgXxx0nfscqGkOuDPS9bhrpQvS86eaAAKnePQbFog3+RvAo+2wCgBcvTS7WqpV4nD5mzOI8/ROXPr1M7N0voHWWi74lAZBj8Mdj2eXj/HqurWgreQAFU93gAWrIg8HQDgOqfBjKt3lo/HCgXIDMDc6dwf3wXPpm1C/VHLID0RnhgGgIhr2tdIQ/U7hkDpyWEfOCfXAxgkbpTMPWQcmw4PXU95DKQX4CqCkM/KLWuvx4+9zMrR+pt9woBcO8bQ4rFeuw37Gz84DvYBYCG0us/gT9+F7LnYe4MZLJQrIIEIZSCh/8Aw2sguOIAxqFQuLg3obkQMPiemvOSuCGhG9K7Cs/fYjc1ijk4/xbMKACt2KZeoQlH4ctHITa08iHk7rsWk80gbgWMYFS8hQP49r+1CIAX+8UZmLoXVOwVsjD7NszOQEaFoA9CwxBKwt5nYHgdRJTFlARWKoQ0EX/xVeTlw5bnTQ3iUcz6a+GBF0H7AdX+KrtfeRDyp6BagfwczJ2F+TnIFMGNQGgEQgn47CSk19QrdZ2B2vQOg2EhlQPlEuTOIY/stDrGJ+CvYO5/AYbGrfuVdV66FQhCOQ+587BwDhYyUNA9qwSE0rD9Qdh4AwyNQThuv613d83W11QeHABNxlIesqctGL1CYUiOWeufOQInHrdtZ3EBFtTqs5DNQSUEgTQEEnDXJMRHIJq2rKOWv9BDL1WogwOgpbdRnCq60yEQCFpvTH3KVlGly/yMtXpmAXJlkBgEh2F0M3z065BQeR23i9eYv7CT0V5eDwiAmlt3Hjx2UW7XcKkW4JUJ63pVnzlNUg0ZTVQtVEMQTMGuJyA1DonVEIp6smFxr9y5N+gXwHoRaep6lnZnLRU2dxp+fy/4DJTm6/nBwhyoWq1ELEUGE3DbjzwZnbA8r17rYfWWQrYBaGp328Ht0RMvHtK18uC5bVYKaLLmz0M+A44mqoZHGq7bDZt31ZuZulINhm241a/+e+N+e+K1ItLU+Xftj5VSD38AnDKU5mxxcwMQ0pBJwi2TENNE1d9q9QbLNGzXXzvpsdA1wL969cRXiUjT3ktHAMrzCuB3X4KTv4VCHqpirZxYAzc9Cqmr7W+N9z4SteNclkZHgXO9ACREpO1O8JLBGzsUGvN/OgAnf2OF2Ye+CUPrIK5toyaqWn3xflD/Vm/JgSTQtN3fbqTAoUOHPrN79+7vdbOG/Z+qyKqtxsr3yj56aXOi9HgJidppzsnJyfsmJiYOth54tN2dBnR78e3eABpUqjRatmCUVTRBL1h9eYnaaU5jzJi3rdhzd1rHUIp4l4ic6A3CO8rSetBYa9P2+qWFS0vovBv4S7vjpm6j64HCJhE53htEk1EWvT6QxW8B3gDaHrj0mkEb0/H9+/ffvHfv3u/0BjK4Nw4cOHD/vn379GBRN5oqHUOrjykVpLZHaUD35/V5acPax0A9XtEYVGGl6lDPJ+a9507uvRixy5hbwTSESy/vLWPY+qu60MZ5cddFN+XHcmf5X3t/0Fb8j+O74gH8G0lHhV4uXv6RAAAAAElFTkSuQmCC",zc="https://nplayer.com/assets/img/logo_main.png",ml=[Pt({enabled:!0,key:"p_builtin_iina",label:"IINA",icon:"https://iina.io/images/iina-icon-60.png",memo:"调用IINA播放视频(使用CloudDrive链接)",url:"iina://weblink?url={clouddrive_stream_url:encode}"}),Pt({enabled:!0,key:"p_builtin_vlc",label:"VLC",icon:"https://images.videolan.org/images/favicon.ico",memo:"调用VLC播放视频(使用CloudDrive链接)",extraMemo:'<a href="https://github.com/northsea4/vlc-protocol" target="_blank" rel="noreferer">安装VLC协议</a>',url:"vlc://{clouddrive_stream_url}"}),Pt({enabled:!0,key:"p_builtin_mpv",label:"MPV",icon:"https://mpv.io/images/mpv-logo-128-0baae5aa.png",memo:"调用MPV播放视频(使用CloudDrive链接)",extraMemo:'<a href="https://github.com/akiirui/mpv-handler/blob/main/README.zh-Hans.md" target="_blank" rel="noreferer">安装MPV协议</a>',url:"mpv://{clouddrive_stream_url}"}),Pt({enabled:!0,key:"p_builtin_potplayer",label:"PotPlayer",icon:"https://t1.daumcdn.net/potplayer/main/img/favicon.ico",memo:"调用PotPlayer播放视频(使用CloudDrive链接)",url:"potplayer://{clouddrive_stream_url}"}),Pt({enabled:!0,key:"p_builtin_infuse",label:"Infuse",icon:Vv,memo:"调用Infuse播放视频(使用CloudDrive链接)",url:"infuse://x-callback-url/play?url={clouddrive_stream_url:encode}"}),Pt({enabled:!1,key:"p_builtin_nplayer_mac",label:"nPlayer-mac",icon:zc,memo:"调用nPlayer(mac版)播放视频(使用CloudDrive链接)",url:"nplayer-mac://weblink?url={clouddrive_stream_url:encode}&new_window=1"}),Pt({enabled:!1,key:"p_builtin_nplayer_win",label:"nPlayer-win",icon:zc,memo:"调用nPlayer(非mac版)播放视频(使用CloudDrive链接)",url:"nplayer-{clouddrive_stream_url:encode}"}),Pt({enabled:!0,key:"p_builtin_online",label:"在线播放",icon:"https://115.com/favicon.ico",memo:"115官方在线播放(转码)",url:"https://115vod.com/?pickcode={pick_code}&share_id=0"})],gl=[Pt({enabled:!0,key:"s_builtin_115_pure_name",label:"115-不含后缀",icon:"https://115.com/favicon.ico",memo:"使用115搜索文件名(不含后缀)",url:"{pure_name:search}"}),Pt({enabled:!1,key:"s_builtin_115_full_name",label:"115-完整名称",icon:"https://115.com/favicon.ico",memo:"使用115搜索文件名(完整名称)",url:"{full_name:search}"}),Pt({enabled:!0,key:"s_builtin_115_sha",label:"115-sha1",icon:"https://115.com/favicon.ico",memo:"使用115搜索sha1相同的文件(仅适用于文件)",url:"{file_hash:search}"}),Pt({enabled:!0,key:"s_builtin_google_pure_name",label:"Google-不含后缀",icon:"https://www.google.com/favicon.ico",memo:"使用Google搜索文件名(不含后缀)",url:"https://www.google.com/search?q={pure_name:encode}"}),Pt({enabled:!1,key:"s_builtin_google_full_name",label:"Google-完整名称",icon:"https://www.google.com/favicon.ico",memo:"使用Google搜索文件名(完整名称)",url:"https://www.google.com/search?q={full_name:encode}"}),Pt({enabled:!0,key:"s_builtin_bing_pure_name",label:"Bing-不含后缀",icon:Vc,memo:"使用Bing搜索文件名(不含后缀)",url:"https://cn.bing.com/search?q={pure_name:encode}"}),Pt({enabled:!1,key:"s_builtin_bing_full_name",label:"Bing-完整名称",icon:Vc,memo:"使用Bing搜索文件名(完整名称)",url:"https://cn.bing.com/search?q={full_name:encode}"}),Pt({enabled:!0,key:"s_builtin_115_pure_name_manual",label:"115-不含后缀-手动",icon:"https://115.com/favicon.ico",memo:"使用115搜索文件名(不含后缀),手动编辑后搜索",url:"{pure_name:manual:search}"})];var zv=class{constructor(t={}){this.points=t.points,this.duration=t.duration,this.blockDuration=t.blockDuration,this.execEvenly=t.execEvenly,this.execEvenlyMinDelayMs=t.execEvenlyMinDelayMs,this.keyPrefix=t.keyPrefix;}get points(){return this._points}set points(t){this._points=t>=0?t:4;}get duration(){return this._duration}set duration(t){this._duration=typeof t>"u"?1:t;}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(t){this._blockDuration=typeof t>"u"?0:t;}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(t){this._execEvenly=typeof t>"u"?!1:!!t;}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(t){this._execEvenlyMinDelayMs=typeof t>"u"?Math.ceil(this.msDuration/this.points):t;}get keyPrefix(){return this._keyPrefix}set keyPrefix(t){if(typeof t>"u"&&(t="rlflx"),typeof t!="string")throw new Error("keyPrefix must be string");this._keyPrefix=t;}_getKeySecDuration(t={}){return t&&t.customDuration>=0?t.customDuration:this.duration}getKey(t){return this.keyPrefix.length>0?`${this.keyPrefix}:${t}`:t}parseKey(t){return t.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}},qv=class{constructor(t,n,o=null){this.value=t,this.expiresAt=n,this.timeoutId=o;}get value(){return this._value}set value(t){this._value=parseInt(t);}get expiresAt(){return this._expiresAt}set expiresAt(t){!(t instanceof Date)&&Number.isInteger(t)&&(t=new Date(t)),this._expiresAt=t;}get timeoutId(){return this._timeoutId}set timeoutId(t){this._timeoutId=t;}},yu=class{constructor(t,n,o,s){this.remainingPoints=typeof t>"u"?0:t,this.msBeforeNext=typeof n>"u"?0:n,this.consumedPoints=typeof o>"u"?0:o,this.isFirstInDuration=typeof s>"u"?!1:s;}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(t){return this._msBeforeNext=t,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(t){return this._remainingPoints=t,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(t){return this._consumedPoints=t,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(t){this._isFirstInDuration=!!t;}_getDecoratedProperties(){return {remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}};const Wv=qv,Ua=yu;var Kv=class{constructor(){this._storage={};}incrby(t,n,o){if(this._storage[t]){const s=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return !this._storage[t].expiresAt||s>0?(this._storage[t].value=this._storage[t].value+n,new Ua(0,s,this._storage[t].value,!1)):this.set(t,n,o)}return this.set(t,n,o)}set(t,n,o){const s=o*1e3;return this._storage[t]&&this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),this._storage[t]=new Wv(n,s>0?new Date(Date.now()+s):null),s>0&&(this._storage[t].timeoutId=setTimeout(()=>{delete this._storage[t];},s),this._storage[t].timeoutId.unref&&this._storage[t].timeoutId.unref()),new Ua(0,s===0?-1:s,this._storage[t].value,!0)}get(t){if(this._storage[t]){const n=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return new Ua(0,n,this._storage[t].value,!1)}return null}delete(t){return this._storage[t]?(this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),delete this._storage[t],!0):!1}};const Gv=zv,Jv=Kv,qc=yu;let Yv=class extends Gv{constructor(t={}){super(t),this._memoryStorage=new Jv;}consume(t,n=1,o={}){return new Promise((s,i)=>{const r=this.getKey(t),a=this._getKeySecDuration(o);let l=this._memoryStorage.incrby(r,n,a);if(l.remainingPoints=Math.max(this.points-l.consumedPoints,0),l.consumedPoints>this.points)this.blockDuration>0&&l.consumedPoints<=this.points+n&&(l=this._memoryStorage.set(r,l.consumedPoints,this.blockDuration)),i(l);else if(this.execEvenly&&l.msBeforeNext>0&&!l.isFirstInDuration){let c=Math.ceil(l.msBeforeNext/(l.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=l.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(s,c,l);}else s(l);})}penalty(t,n=1,o={}){const s=this.getKey(t);return new Promise(i=>{const r=this._getKeySecDuration(o),a=this._memoryStorage.incrby(s,n,r);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),i(a);})}reward(t,n=1,o={}){const s=this.getKey(t);return new Promise(i=>{const r=this._getKeySecDuration(o),a=this._memoryStorage.incrby(s,-n,r);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),i(a);})}block(t,n){const o=n*1e3,s=this.points+1;return this._memoryStorage.set(this.getKey(t),s,n),Promise.resolve(new qc(0,o===0?-1:o,s))}set(t,n,o){const s=(o>=0?o:this.duration)*1e3;return this._memoryStorage.set(this.getKey(t),n,o),Promise.resolve(new qc(0,s===0?-1:s,n))}get(t){const n=this._memoryStorage.get(this.getKey(t));return n!==null&&(n.remainingPoints=Math.max(this.points-n.consumedPoints,0)),Promise.resolve(n)}delete(t){return Promise.resolve(this._memoryStorage.delete(this.getKey(t)))}};var Qv=Yv;const Xv=Qv,Zv=yu;var Cr={RateLimiterMemory:Xv,RateLimiterRes:Zv};async function wu(e,t,n=Co,o,s=void 0){const i=[],r=await bt(),a=r.keyToTriggerManual;n=n||Co;for(const l of t){s=s!==void 0?s:l.openInBackground;const c=Hr(e,{key:`_ce_s_${l.key}`,label:l.label,icon:l.icon,title:l.memo,onClick:async(u,p)=>{p.stopPropagation(),p.preventDefault();try{let m;if(a){const D=p;(a===Rn.alt&&D.altKey||a===Rn.ctrl&&D.ctrlKey||a===Rn.shift&&D.shiftKey||a===Rn.meta&&D.metaKey)&&(m={names:[gu.manual],position:r.injectManualFuncPosition});}let w=!1,b=[];if(o&&[Ue.selection,Ue.selectionSub].includes(o))b=await Cn(!0),w=!0;else {const D=$(p.target).closest("li");b.push(n(D[0]));}if(!b.length)throw new Error("没有选中任何文件!");const C=await Zt(),F=[],O=[],R=async D=>{try{const N=await mi(D,l,C,m);if(!N)O.push(`文件 id="${D.id}", name="${D.name}" 的链接构建失败: 无法构建有效的搜索链接!`);else return N}catch(N){return O.push(`文件 id="${D.id}", name="${D.name}" 的链接构建失败: ${N.message}`),""}};let T=0;for(const D of b){const N=await R(D);N&&(F.push(N),N.startsWith("https://115.com")&&T++);}if(console.warn("[search files] urls: %o, errors: %o, countOfficialUrl: %d",F,O,T),!F.length)throw new Error("没有有效的搜索链接!"+(O.length?`
错误信息:
${O.join(`
`)}`:""));await e1(b,F,T,!!s,w);}catch(m){console.error(m),le({title:"搜索失败",text:m.toString(),icon:"error",timer:0,showCloseButton:!0});}}});i.push(c);}return i}async function e1(e,t,n,o,s){if(!s){wr(t[0],{active:!o});return}const i=t1(n>0);let r=!1;ae.fire({html:"正在打开搜索...",showConfirmButton:!1,showDenyButton:!0,denyButtonText:"停止打开",allowEscapeKey:!1,allowOutsideClick:!1}).then(c=>{c.isDenied&&(r=!0,ae.close());});const a=[],l=async()=>{const c=t.length-a.length,{isDenied:u}=await ae.fire({html:`已成功打开 ${a.length} 个搜索链接。`+(c>0?`有 ${c} 个链接未打开`:""),icon:"success",timer:18e5,showDenyButton:a.length>0,denyButtonText:"关闭本次打开的全部搜索页面"});if(u)for(const p of a)p.closed||p.close();};ae.showLoading();for(let c=0;c<t.length;c++){if(r){ae.close(),await l();return}const u=t[c];ae.update({html:`正在打开第 ${c+1} 个搜索链接... 进度: ${c+1} / ${t.length}`});const p=wr(u,{active:!o});if(a.push(p),c===0&&await i.consume("search",1),c<t.length-1){let m=n>0?500:200;try{const b=await i.consume("search",1);console.log("[openSearchUrls] RateLimiterRes",b),!b.remainingPoints&&b.msBeforeNext>0&&(m=b.msBeforeNext);}catch(b){if(b instanceof Cr.RateLimiterRes)console.warn("[openSearchUrls] RateLimiterRes",b),m=b.msBeforeNext;else throw console.error("[openSearchUrls]",b),new Error(`批量打开搜索出错: ${b.toString()}`)}const w=(m/1e3).toFixed(1);ae.update({html:`将在 ${w} 秒后打开第 ${c+2} 个搜索链接... 进度: ${c+1} / ${t.length}`}),await Yt(m);}}ae.hideLoading(),await l();}function t1(e){return new Cr.RateLimiterMemory({points:e?28:99999,duration:e?60:1,execEvenly:!1})}async function hp(e,t){if(console.log("[playDirOnAnxia]",e,t),!t)try{le({title:"正在查找可播放的文件...",text:"请稍等...",icon:"info"}),ae.showLoading(),t=await vv(e),console.log("[playDirOnAnxia] file",t);}catch(o){console.error(o),le({title:"播放失败",text:o.toString(),icon:"error"});return}t||le({title:"播放失败",text:"没有在该目录下找到可播放的文件![file_null]",icon:"error"});const n=ep(t.pickCode);window.open(n,"_blank","noopener noreferrer");}async function mp(e,t,n,o){o.stopPropagation(),o.preventDefault();const s=t.keyToTriggerManual;try{let i;if(s){const u=o;(s===Rn.alt&&u.altKey||s===Rn.ctrl&&u.ctrlKey||s===Rn.shift&&u.shiftKey||s===Rn.meta&&u.metaKey)&&(i={names:[gu.manual],position:t.injectManualFuncPosition});}const r=$(o.target).closest("li"),a=Co(r),l=await Zt(),c=await mi(a,e,l,i);if(a.isDir&&pu(c)){hp(a.id);return}if(console.log("[play url]",c),!c)throw new Error("无法获取有效的播放链接!");window.open(c,"_blank","noopener noreferrer");}catch(i){console.error(i),le({title:"播放失败",text:i.toString(),icon:"error"});}}async function bu(e){const t="_p_null_",n=await pp(),o=n.filter(l=>l.enabled),s=[...o,...(await Ls(to.play)).filter(l=>l.enabled)],i=(l,c)=>l.find(u=>u.key===c);let r=i(o,e.defaultPlayer||"p_builtin_online");r||(r=i(n,"p_builtin_online")),r||(console.warn("[play with dropdown] default player not found"),r=Pt({key:t,url:"#",label:"播放",memo:"播放菜单数据异常!",enabled:!0})),r={...r},r.key==="p_builtin_online"&&(r.label="播放");const a=s.findIndex(l=>l.key===r.key);return a>-1&&s.splice(a,1),{keyNull:t,noRealDefault:r.key===t,defaultPlayer:r,customUrlItems:s}}async function n1(e,t){const n=[],o=await bt();for(const s of t){const i=Hr(e,{key:`_ce_p_${s.key}`,label:s.label,icon:s.icon,title:s.memo,onClick:async(r,a)=>{mp(s,o,r,a);}});n.push(i);}return n}var Lt=(e=>(e[e.full=0]="full",e[e.pure=1]="pure",e[e.fullUnique=2]="fullUnique",e[e.pureUnique=3]="pureUnique",e))(Lt||{});async function $s(e,t){if(t===0)return e;if(t===2)return Array.from(new Set(e));const n=[];for(const o of e){const s=o.replace(/\.[^.]+$/,"");t===1?n.push(s):t===3&&(n.includes(s)||n.push(s));}return n}var En=(e=>(e[e.unixPath=0]="unixPath",e[e.winPath=1]="winPath",e[e.unixParentPath=2]="unixParentPath",e[e.winParentPath=3]="winParentPath",e))(En||{});async function Zr(e,t,n){const o=n===1||n===3;let i=n===2||n===3?t.replace(/\/[^/]+$/,""):t;return i.startsWith("/")||(i="/"+i),o&&(i=i.replace(/\//g,"\\")),i}async function o1(e){return async(t,n)=>{const o=await Qt(),r=Li()[0].querySelectorAll("li[file_id].selected");if(!r.length){le({title:"文件移动到同名目录",text:"当前目录没有选中文件",icon:"warning"});return}let a=`当前已选中${r.length}个文件,是否继续?`;a+=`<br><div style="text-align:left">
      <b>处理逻辑:</b>
      <p>0.「同名目录」取自纯文件名(不带后缀名)。</p>
      <p>1.如果同名目录已存在,会直接使用已存在的目录。</p>
      <p>2.同名目录相同的文件,会被移动到同一个目录里面。</p>
      <p class="text-primary">示例: <span>movie.mp4</span> 的同名目录为 <span>movie</span></p>
      </div>`;const{value:l}=await ae.fire({title:"文件移动到同名目录",html:a,icon:"warning",showCancelButton:!0,confirmButtonText:"继续",cancelButtonText:"取消"});if(l){ae.fire({title:"文件移动到同名目录",html:"正在处理...",didOpen:()=>{ae.showLoading();}});for(let c=0;c<r.length;c++){const u=r[c],p=Co($(u));if(!p.isFile)continue;const m=p.name,w=m.replace(/\.[^\.]+$/,""),b=`${c+1} / ${r.length} - `+Math.round(c/r.length*100)+"%";ae.update({html:`${b} 正在为文件「${m}」创建目录「${w}」`});const C=await mv(w,o,!0);ae.update({html:`创建目录「${w}」成功。id=${C}`}),ae.update({html:`${b} 正在移动文件「${m}」到目录「${w}」`}),await rp(C,[p.id]),await Yt(500);}ae.hideLoading(),ae.update({html:"处理完成。刷新列表后查看最新的文件数据。",icon:"success"});}}}function s1(e,t){const n=[];for(let o=1;o<e.length;o++)n.push(e[o].file_name);return n}async function gp(e,t,n){const o=await dv(e),s=[];for(let i=0;i<e.length;i++){e[i].name=n?n(e[i].name):e[i].name;const r=o.get(e[i].parentId);if(!r)throw new Error(`无法获取文件 "${e[i].name}" 的上级目录路径!`);const a=s1(r).map(c=>n?n(c):c),l=vr([...a,e[i].name],mo.unix);s.push(await Zr(e[i],l,t));}return s}async function _r(e){const t=await Zt();let n="";if(e.id==="0")n="/";else {let s=await Qr(e,!0);s=s.map(i=>an(t,i)),n=await Zr(e,s.join("/"),e.isDir?0:2);}const o=await Mb(t,n);console.log("url: ",o),window.open(o,"_blank","noopener noreferrer"),le({title:"在CloudDrive2中查看",text:`已打开CloudDrive2链接: ${o}`,icon:"success"});}async function i1(e){return (await Rt().get(`https://webapi.115.com/files/get_repeat_sha?file_id=${e}`,{timeout:12e4,withCredentials:!0})).data}function r1(e){return `https://115.com/?tab=sha1_repeat&select=1&file_id=${e}&mode=wangpan`}let a1=[];async function yp(e){if(!Po()||!e.enableInSearch)return;const t=await lt("#js_data_list"),n='<a href="javascript:;" menu="{key}" style=""><i class="{icon}" menu="{key}"></i><span menu="{key}">{label}</span></a>',o=(l,c,u)=>n.replace(/\{key\}/g,l).replace(/\{label\}/g,c).replace(/\{icon\}/g,u),s=[{label:"移动",body:o("move","移动","icon-operate ifo-move"),enabled:!0},{label:"重命名",body:o("edit_name","重命名","icon-operate ifo-rename"),enabled:!0},{label:"删除",body:o("delete","删除","icon-operate ifo-remove"),enabled:!0},{label:"属性",body:o("attribute","属性","icon-operate ifo-property"),enabled:!0}],i=l=>{let c="";for(const u of l)u.enabled&&(c+=u.body);return c},r=()=>{const l="ce-menu-init",c=document.querySelectorAll(`li[rel="item"]:not(.${l})`),u=i(s);for(let p=0;p<c.length;p++){const m=c[p];if(m.querySelector(".file-opr"))continue;const w=st('<div class="file-opr" rel="menu"></div>');w.innerHTML=u,m.classList.add(l),m.appendChild(w);}};r(),new MutationObserver(async([l])=>{l.type==="childList"&&r();}).observe(t,{childList:!0});}async function l1(){const e=await bt(),t=await bu(e);return new Bi({key:"_play_with_x_d",label:t.defaultPlayer.label,injectDecider:hb,title:t.defaultPlayer.memo,onClick:async(n,o)=>{t.noRealDefault||mp(t.defaultPlayer,e,n,o);},subItems:[...await n1(Bs,t.customUrlItems)]})}function ts(e){const t=$(e.target).closest("li"),n=Co(t);return !n||!n.id?(le({text:"无法获取当前文件信息",timer:1200}),null):n}async function u1(){const e=[...(await Xr()).filter(t=>t.enabled),...a1.filter(t=>t.enabled),...(await Ls(to.search)).filter(t=>t.enabled)];return new Bi({key:"_search_with_name_d",label:"搜索",icon:"",title:"使用名称搜索",onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=ts(n);if(!o)return;const s=Yr({search_value:o.name,cid:await Qt()});window.open(s,"_blank","noopener noreferrer");},subItems:[...await wu(Bs,e)]})}async function c1(){return new Bs({key:"_lh_view_in_clouddrive",label:"在CloudDrive中查看",icon:"icon-operate ifo-exportdir",title:"在CloudDrive2 Web页面中查看",onClick:async(e,t)=>{t.stopPropagation(),t.preventDefault();const n=ts(t);n&&await _r(n);}})}async function d1(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await Kc("完整名称",Lt.full)),t.copyFullName&&n.push(await Kc("不含后缀",Lt.pure)),t.copySha1&&n.push(await Wc(!1)),t.copySha1WithName&&n.push(await Wc(!0)),t.copyUnixPath&&n.push(await Ji("路径(Unix)",En.unixPath)),t.copyWinPath&&n.push(await Ji("路径(Windows)",En.winPath)),t.copyParentUnixPath&&n.push(await Ji("上级路径(Unix)",En.unixParentPath)),t.copyParentWinPath&&n.push(await Ji("上级路径(Windows)",En.winParentPath)),t.viewInCloudDrive&&n.push(await c1()),new Bi({key:"_lh_copy_name_path",label:"名称路径",title:"复制文件名称路径",onClick:async(o,s)=>{},subItems:n})}async function Wc(e=!0){return new Bs({key:"_lh_copy_sha1",label:"文件sha1"+(e?"(带文件名)":""),icon:"icon-operate ifo-copy",title:"复制文件sha1"+(e?"。格式为 xxx//yyy,xxx为sha1,yyy为文件名":""),onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=ts(n);if(!o)return;if(o.isDir){le({text:"该功能仅对文件有效",icon:"warning",timer:2e3});return}const s=o.hash+(e?`//${o.name}`:"");yt(s),le({title:"复制文件sha1",text:"已复制文件sha1",icon:"success",timer:1e3});}})}async function Kc(e,t){return new Bs({key:`_lh_copy_name_${t}`,label:e,icon:"icon-operate ifo-copy",title:e,onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const s=ts(o);if(!s)return;const i=await bt(),r=await Zt();let a=[s.name];a=(await $s(a,t)).map(l=>i.cloudDriveFormalization?an(r,l):l),yt(a.join(`
`)),le({title:"复制名称",text:`已复制选中文件名,复制类型:${e},CloudDrive文件名规范: ${i.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function Ji(e,t){return new Bs({key:`_lh_copy_path_${t}`,label:e,icon:"icon-operate ifo-copy",title:e,onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const s=ts(o);if(!s)return;const i=await bt(),r=await Zt();let a=await Qr(s);i.cloudDriveFormalization&&(a=a.map(u=>an(r,u,!0)),s.name=an(r,s.name,!0));let l=a.join("/");const c=await Zr(s,l,t);yt(c),le({title:"复制路径",text:`已复制选中路径,复制类型:${e},CloudDrive文件名规范: ${i.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function f1(){return new Bi({injectDecider:pb,key:"_open_in_new_tab",label:"新标签页",icon:"",title:"在新标签页打开",onClick:async(e,t)=>{t.stopPropagation(),t.preventDefault();const n=ts(t);if(!n)return;const o=go(n.id);window.open(o,"_blank","noopener noreferrer");}})}async function wp(e){ae.fire({title:"查找重复文件",html:`正在查找文件:${e.name},请稍候...`,icon:"info",showConfirmButton:!1,allowOutsideClick:!1}),ae.showLoading();try{const t=await i1(e.id);t.state?t.data.length>1?(ae.update({html:"查找成功,将打开结果页面",icon:"success",showConfirmButton:!0}),wr(r1(e.id),{active:!0}),Yt(5e3).then(()=>{ae.close();})):ae.update({html:"没有重复文件",icon:"warning",showConfirmButton:!0}):ae.update({html:`查找失败!${t.code} - ${t.message}`,icon:"error",showConfirmButton:!0});}catch(t){ae.update({html:`查找失败!${t.message}`,icon:"error",showConfirmButton:!0});}finally{ae.hideLoading();}}async function p1(e){return new Bi({injectDecider:fb,key:"_lh_find_repeat",label:"重复文件",icon:"",title:"查找重复文件,找到后会在新标签页中打开处理页面",onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=ts(n);o&&await wp(o);}})}function h1(e){return {enabled:!0,openInNewTab:!0,search:!0,play:!0,getDownloadUrl:!0,copyNames:!0,namePathConfig:Oi(),findRepeat:!1,exportList:!1,viewInCloudDrive:!0,...e}}class Bi extends fn{constructor(n){super(n);ve(this,"menuType",Ue.listItemHover);this.onMouseOver=zr,this.onMouseOut=qr;}}class Bs extends fn{constructor(){super(...arguments);ve(this,"menuType",Ue.listItemHoverSub);}}class m1 extends Ti{constructor(n){super(n);ve(this,"menuType",Ue.listItemHover);ve(this,"useObserver",!0);ve(this,"observeTarget","#js_data_list");ve(this,"disposeObserverAfterInjection",!1);this.handleLoadAll();}async inject(){const n=document.querySelector("#js_data_list");if(n){const o=n.querySelectorAll(".list-contents > ul:not([ce-done]) > li .file-opr");o.length&&await this.perform(Array.from(o));}super.inject();}async handleLoadAll(){if(window.top===window.self)return;const n=document.querySelector("#js_pagination_box");if(!n){console.warn("[ListItemHoverMenuInjector.handleLoadAll] 未找到「#js_pagination_box」元素");return}function o(s){const i=document.querySelector("#js_data_list .list-contents > ul > li");i&&(i.querySelector(".ce-menu")||s(!0));}n.addEventListener("click",async s=>{s.preventDefault(),s.stopPropagation();const i=s.target;let r=!1;if((i.getAttribute("menu")==="load_all_file"||i.closest('[menu="load_all_file"]'))&&(r=!0),!r)return;console.log("[ListItemHoverMenuInjector.handleLoadAll] 点击了「加载全部」按钮"),await Eo(o,500,3e5);const a=document.querySelector("#js_data_list .list-contents > ul");a==null||a.removeAttribute("ce-done");const l=document.querySelector("#js_data_list");if(l){const c=".list-contents > ul:not([ce-done]) > li .file-opr";if(!document.querySelector(c)){const p=await bt();await yp(p);}const u=l.querySelectorAll(c);u.length&&await this.perform(Array.from(u));}});}async perform(n){await super.perform(n);const o=document.querySelector("#js_data_list .list-contents > ul");o==null||o.setAttribute("ce-done","");}}var yl=(e=>(e.background="background",e.active="active",e.undefined="undefined",e))(yl||{});const g1={background:"后台打开",active:"激活页面",undefined:"根据菜单定义"};function y1(e){return {enabled:!0,moveToSelfNameDir:!0,copyNames:!0,namePathConfig:Oi(),play:!0,search:!1,searchOpenType:"background",...e}}class ea extends fn{constructor(n){super(n);ve(this,"menuType",Ue.selection);this.onMouseOver=zr,this.onMouseOut=qr;}}class Es extends fn{constructor(){super(...arguments);ve(this,"menuType",Ue.selectionSub);}}class w1 extends db{}class b1 extends Ti{constructor(){super(...arguments);ve(this,"menuType",Ue.selection);ve(this,"useObserver",!0);ve(this,"observeTarget","#js_top_panel_box #js_operate_box");ve(this,"disposeObserverAfterInjection",!1);}}function bp(e){return {enabled:!1,search:!0,copyNames:!0,namePathConfig:Oi({copyWinPath:!1,copyUnixPath:!1,copyParentUnixPath:!1,copyParentWinPath:!1,viewInCloudDrive:!1}),...e}}class vp extends fn{constructor(n){super(n);ve(this,"menuType",Ue.shareListItemHover);this.onMouseOver=zr,this.onMouseOut=qr;}}class vu extends fn{constructor(){super(...arguments);ve(this,"menuType",Ue.shareListItemHoverSub);}}class v1 extends Ti{constructor(){super(...arguments);ve(this,"menuType",Ue.shareListItemHover);ve(this,"useObserver",!0);ve(this,"observeTarget","#js-list");ve(this,"disposeObserverAfterInjection",!1);}async inject(){const n=document.querySelector("#js-list");if(n){const o=n.querySelectorAll("ul#js-list:not([ce-done]) > li .file-opr");o.length&&await this.perform(Array.from(o));}super.inject();}}var Ue=(e=>(e.listItemHover="listItemHover",e.listItemHoverSub="listItemHoverSub",e.listItemContext="listItemContext",e.listItemContextSub="listItemContextSub",e.selection="selection",e.selectionSub="selectionSub",e.dirContext="dirContext",e.dirContextSub="dirContextSub",e.shareListItemHover="shareListItemHover",e.shareListItemHoverSub="shareListItemHoverSub",e))(Ue||{}),Ko=(e=>(e.listItemHover="列表项悬浮菜单",e.listItemHoverSub="列表项悬浮子菜单",e.listItemContext="列表项右键菜单",e.listItemContextSub="列表项右键子菜单",e.selection="选中项菜单",e.selectionSub="选中项子菜单",e.dirContext="当前目录右键菜单",e.dirContextSub="当前目录右键子菜单",e.shareListItemHover="分享列表项悬浮菜单",e.shareListItemHoverSub="分享列表项悬浮子菜单",e))(Ko||{}),eo=(e=>(e[e.after=0]="after",e[e.before=1]="before",e))(eo||{}),Rn=(e=>(e.none="none",e.alt="alt",e.ctrl="ctrl",e.shift="shift",e.meta="meta",e))(Rn||{});const Cp=gt.menu;function C1(e){return {enabled:!0,hideSelectionMenuLabel:!1,enableInSearch:!0,manageOfficialMenus:!1,keyToTriggerManual:"none",injectManualFuncPosition:lp.first,m3u8TempDir:".ce-m3u8-temp",defaultPlayer:"p_builtin_online",cloudDriveFormalization:!1,listItemHover:h1(void 0),listItemContext:wb(void 0),selection:y1(void 0),dirContext:mb(void 0),shareListItemHover:bp(void 0),...e}}async function bt(){const e=C1(),t=await tt.get(Cp,e);return du(e,t)}async function _p(e){await tt.set(Cp,e);}/**
  * @vue/shared v3.5.12
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
  * @license MIT
  **//*! #__NO_SIDE_EFFECTS__ */function Cu(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ut={},ms=[],Un=()=>{},_1=()=>!1,ta=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),_u=e=>e.startsWith("onUpdate:"),Tt=Object.assign,xu=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1);},x1=Object.prototype.hasOwnProperty,ot=(e,t)=>x1.call(e,t),Me=Array.isArray,gs=e=>Ri(e)==="[object Map]",Rs=e=>Ri(e)==="[object Set]",Gc=e=>Ri(e)==="[object Date]",je=e=>typeof e=="function",vt=e=>typeof e=="string",Dn=e=>typeof e=="symbol",ct=e=>e!==null&&typeof e=="object",ku=e=>(ct(e)||je(e))&&je(e.then)&&je(e.catch),xp=Object.prototype.toString,Ri=e=>xp.call(e),k1=e=>Ri(e).slice(8,-1),kp=e=>Ri(e)==="[object Object]",Su=e=>vt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,si=Cu(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),na=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},S1=/-(\w)/g,vn=na(e=>e.replace(S1,(t,n)=>n?n.toUpperCase():"")),$1=/\B([A-Z])/g,Ao=na(e=>e.replace($1,"-$1").toLowerCase()),oa=na(e=>e.charAt(0).toUpperCase()+e.slice(1)),ja=na(e=>e?`on${oa(e)}`:""),yo=(e,t)=>!Object.is(e,t),ur=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t);},Sp=(e,t,n,o=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n});},xr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},E1=e=>{const t=vt(e)?Number(e):NaN;return isNaN(t)?e:t};let Jc;const sa=()=>Jc||(Jc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function jn(e){if(Me(e)){const t={};for(let n=0;n<e.length;n++){const o=e[n],s=vt(o)?D1(o):jn(o);if(s)for(const i in s)t[i]=s[i];}return t}else if(vt(e)||ct(e))return e}const P1=/;(?![^(]*\))/g,A1=/:([^]+)/,I1=/\/\*[^]*?\*\//g;function D1(e){const t={};return e.replace(I1,"").split(P1).forEach(n=>{if(n){const o=n.split(A1);o.length>1&&(t[o[0].trim()]=o[1].trim());}}),t}function Ne(e){let t="";if(vt(e))t=e;else if(Me(e))for(let n=0;n<e.length;n++){const o=Ne(e[n]);o&&(t+=o+" ");}else if(ct(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}function T1(e){if(!e)return null;let{class:t,style:n}=e;return t&&!vt(t)&&(e.class=Ne(t)),n&&(e.style=jn(n)),e}const O1="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",M1=Cu(O1);function $p(e){return !!e||e===""}function L1(e,t){if(e.length!==t.length)return !1;let n=!0;for(let o=0;n&&o<e.length;o++)n=Go(e[o],t[o]);return n}function Go(e,t){if(e===t)return !0;let n=Gc(e),o=Gc(t);if(n||o)return n&&o?e.getTime()===t.getTime():!1;if(n=Dn(e),o=Dn(t),n||o)return e===t;if(n=Me(e),o=Me(t),n||o)return n&&o?L1(e,t):!1;if(n=ct(e),o=ct(t),n||o){if(!n||!o)return !1;const s=Object.keys(e).length,i=Object.keys(t).length;if(s!==i)return !1;for(const r in e){const a=e.hasOwnProperty(r),l=t.hasOwnProperty(r);if(a&&!l||!a&&l||!Go(e[r],t[r]))return !1}}return String(e)===String(t)}function $u(e,t){return e.findIndex(n=>Go(n,t))}const Ep=e=>!!(e&&e.__v_isRef===!0),K=e=>vt(e)?e:e==null?"":Me(e)||ct(e)&&(e.toString===xp||!je(e.toString))?Ep(e)?K(e.value):JSON.stringify(e,Pp,2):String(e),Pp=(e,t)=>Ep(t)?Pp(e,t.value):gs(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,s],i)=>(n[Ha(o,i)+" =>"]=s,n),{})}:Rs(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Ha(n))}:Dn(t)?Ha(t):ct(t)&&!Me(t)&&!kp(t)?String(t):t,Ha=(e,t="")=>{var n;return Dn(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
  * @vue/reactivity v3.5.12
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
  * @license MIT
  **/let cn;class B1{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=cn,!t&&cn&&(this.index=(cn.scopes||(cn.scopes=[])).push(this)-1);}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause();}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume();}}run(t){if(this._active){const n=cn;try{return cn=this,t()}finally{cn=n;}}}on(){cn=this;}off(){cn=this.parent;}stop(t){if(this._active){let n,o;for(n=0,o=this.effects.length;n<o;n++)this.effects[n].stop();for(n=0,o=this.cleanups.length;n<o;n++)this.cleanups[n]();if(this.scopes)for(n=0,o=this.scopes.length;n<o;n++)this.scopes[n].stop(!0);if(!this.detached&&this.parent&&!t){const s=this.parent.scopes.pop();s&&s!==this&&(this.parent.scopes[this.index]=s,s.index=this.index);}this.parent=void 0,this._active=!1;}}}function R1(){return cn}let ft;const Va=new WeakSet;class Ap{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,cn&&cn.active&&cn.effects.push(this);}pause(){this.flags|=64;}resume(){this.flags&64&&(this.flags&=-65,Va.has(this)&&(Va.delete(this),this.trigger()));}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Dp(this);}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Yc(this),Tp(this);const t=ft,n=An;ft=this,An=!0;try{return this.fn()}finally{Op(this),ft=t,An=n,this.flags&=-3;}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Au(t);this.deps=this.depsTail=void 0,Yc(this),this.onStop&&this.onStop(),this.flags&=-2;}}trigger(){this.flags&64?Va.add(this):this.scheduler?this.scheduler():this.runIfDirty();}runIfDirty(){wl(this)&&this.run();}get dirty(){return wl(this)}}let Ip=0,ii,ri;function Dp(e,t=!1){if(e.flags|=8,t){e.next=ri,ri=e;return}e.next=ii,ii=e;}function Eu(){Ip++;}function Pu(){if(--Ip>0)return;if(ri){let t=ri;for(ri=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n;}}let e;for(;ii;){let t=ii;for(ii=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger();}catch(o){e||(e=o);}t=n;}}if(e)throw e}function Tp(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t;}function Op(e){let t,n=e.depsTail,o=n;for(;o;){const s=o.prevDep;o.version===-1?(o===n&&(n=s),Au(o),F1(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=s;}e.deps=t,e.depsTail=n;}function wl(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Mp(t.dep.computed)||t.dep.version!==t.version))return !0;return !!e._dirty}function Mp(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===gi))return;e.globalVersion=gi;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!wl(e)){e.flags&=-3;return}const n=ft,o=An;ft=e,An=!0;try{Tp(e);const s=e.fn(e._value);(t.version===0||yo(s,e._value))&&(e._value=s,t.version++);}catch(s){throw t.version++,s}finally{ft=n,An=o,Op(e),e.flags&=-3;}}function Au(e,t=!1){const{dep:n,prevSub:o,nextSub:s}=e;if(o&&(o.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Au(i,!0);}!t&&!--n.sc&&n.map&&n.map.delete(n.key);}function F1(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0);}let An=!0;const Lp=[];function Io(){Lp.push(An),An=!1;}function Do(){const e=Lp.pop();An=e===void 0?!0:e;}function Yc(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ft;ft=void 0;try{t();}finally{ft=n;}}}let gi=0;class N1{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0;}}class Iu{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0;}track(t){if(!ft||!An||ft===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ft)n=this.activeLink=new N1(ft,this),ft.deps?(n.prevDep=ft.depsTail,ft.depsTail.nextDep=n,ft.depsTail=n):ft.deps=ft.depsTail=n,Bp(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=ft.depsTail,n.nextDep=void 0,ft.depsTail.nextDep=n,ft.depsTail=n,ft.deps===n&&(ft.deps=o);}return n}trigger(t){this.version++,gi++,this.notify(t);}notify(t){Eu();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify();}finally{Pu();}}}function Bp(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)Bp(o);}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e;}}const kr=new WeakMap,Vo=Symbol(""),bl=Symbol(""),yi=Symbol("");function Ut(e,t,n){if(An&&ft){let o=kr.get(e);o||kr.set(e,o=new Map);let s=o.get(n);s||(o.set(n,s=new Iu),s.map=o,s.key=n),s.track();}}function Qn(e,t,n,o,s,i){const r=kr.get(e);if(!r){gi++;return}const a=l=>{l&&l.trigger();};if(Eu(),t==="clear")r.forEach(a);else {const l=Me(e),c=l&&Su(n);if(l&&n==="length"){const u=Number(o);r.forEach((p,m)=>{(m==="length"||m===yi||!Dn(m)&&m>=u)&&a(p);});}else switch((n!==void 0||r.has(void 0))&&a(r.get(n)),c&&a(r.get(yi)),t){case"add":l?c&&a(r.get("length")):(a(r.get(Vo)),gs(e)&&a(r.get(bl)));break;case"delete":l||(a(r.get(Vo)),gs(e)&&a(r.get(bl)));break;case"set":gs(e)&&a(r.get(Vo));break}}Pu();}function U1(e,t){const n=kr.get(e);return n&&n.get(t)}function cs(e){const t=et(e);return t===e?t:(Ut(t,"iterate",yi),yn(e)?t:t.map(jt))}function ia(e){return Ut(e=et(e),"iterate",yi),e}const j1={__proto__:null,[Symbol.iterator](){return za(this,Symbol.iterator,jt)},concat(...e){return cs(this).concat(...e.map(t=>Me(t)?cs(t):t))},entries(){return za(this,"entries",e=>(e[1]=jt(e[1]),e))},every(e,t){return Jn(this,"every",e,t,void 0,arguments)},filter(e,t){return Jn(this,"filter",e,t,n=>n.map(jt),arguments)},find(e,t){return Jn(this,"find",e,t,jt,arguments)},findIndex(e,t){return Jn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Jn(this,"findLast",e,t,jt,arguments)},findLastIndex(e,t){return Jn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Jn(this,"forEach",e,t,void 0,arguments)},includes(...e){return qa(this,"includes",e)},indexOf(...e){return qa(this,"indexOf",e)},join(e){return cs(this).join(e)},lastIndexOf(...e){return qa(this,"lastIndexOf",e)},map(e,t){return Jn(this,"map",e,t,void 0,arguments)},pop(){return Js(this,"pop")},push(...e){return Js(this,"push",e)},reduce(e,...t){return Qc(this,"reduce",e,t)},reduceRight(e,...t){return Qc(this,"reduceRight",e,t)},shift(){return Js(this,"shift")},some(e,t){return Jn(this,"some",e,t,void 0,arguments)},splice(...e){return Js(this,"splice",e)},toReversed(){return cs(this).toReversed()},toSorted(e){return cs(this).toSorted(e)},toSpliced(...e){return cs(this).toSpliced(...e)},unshift(...e){return Js(this,"unshift",e)},values(){return za(this,"values",jt)}};function za(e,t,n){const o=ia(e),s=o[t]();return o!==e&&!yn(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.value&&(i.value=n(i.value)),i}),s}const H1=Array.prototype;function Jn(e,t,n,o,s,i){const r=ia(e),a=r!==e&&!yn(e),l=r[t];if(l!==H1[t]){const p=l.apply(e,i);return a?jt(p):p}let c=n;r!==e&&(a?c=function(p,m){return n.call(this,jt(p),m,e)}:n.length>2&&(c=function(p,m){return n.call(this,p,m,e)}));const u=l.call(r,c,o);return a&&s?s(u):u}function Qc(e,t,n,o){const s=ia(e);let i=n;return s!==e&&(yn(e)?n.length>3&&(i=function(r,a,l){return n.call(this,r,a,l,e)}):i=function(r,a,l){return n.call(this,r,jt(a),l,e)}),s[t](i,...o)}function qa(e,t,n){const o=et(e);Ut(o,"iterate",yi);const s=o[t](...n);return (s===-1||s===!1)&&Ou(n[0])?(n[0]=et(n[0]),o[t](...n)):s}function Js(e,t,n=[]){Io(),Eu();const o=et(e)[t].apply(e,n);return Pu(),Do(),o}const V1=Cu("__proto__,__v_isRef,__isVue"),Rp=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Dn));function z1(e){Dn(e)||(e=String(e));const t=et(this);return Ut(t,"has",e),t.hasOwnProperty(e)}class Fp{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n;}get(t,n,o){const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return !s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return o===(s?i?e0:Hp:i?jp:Up).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const r=Me(t);if(!s){let l;if(r&&(l=j1[n]))return l;if(n==="hasOwnProperty")return z1}const a=Reflect.get(t,n,Dt(t)?t:o);return (Dn(n)?Rp.has(n):V1(n))||(s||Ut(t,"get",n),i)?a:Dt(a)?r&&Su(n)?a:a.value:ct(a)?s?Vp(a):ra(a):a}}class Np extends Fp{constructor(t=!1){super(!1,t);}set(t,n,o,s){let i=t[n];if(!this._isShallow){const l=Jo(i);if(!yn(o)&&!Jo(o)&&(i=et(i),o=et(o)),!Me(t)&&Dt(i)&&!Dt(o))return l?!1:(i.value=o,!0)}const r=Me(t)&&Su(n)?Number(n)<t.length:ot(t,n),a=Reflect.set(t,n,o,Dt(t)?t:s);return t===et(s)&&(r?yo(o,i)&&Qn(t,"set",n,o):Qn(t,"add",n,o)),a}deleteProperty(t,n){const o=ot(t,n);t[n];const s=Reflect.deleteProperty(t,n);return s&&o&&Qn(t,"delete",n,void 0),s}has(t,n){const o=Reflect.has(t,n);return (!Dn(n)||!Rp.has(n))&&Ut(t,"has",n),o}ownKeys(t){return Ut(t,"iterate",Me(t)?"length":Vo),Reflect.ownKeys(t)}}class q1 extends Fp{constructor(t=!1){super(!0,t);}set(t,n){return !0}deleteProperty(t,n){return !0}}const W1=new Np,K1=new q1,G1=new Np(!0);const vl=e=>e,Yi=e=>Reflect.getPrototypeOf(e);function J1(e,t,n){return function(...o){const s=this.__v_raw,i=et(s),r=gs(i),a=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=s[e](...o),u=n?vl:t?Cl:jt;return !t&&Ut(i,"iterate",l?bl:Vo),{next(){const{value:p,done:m}=c.next();return m?{value:p,done:m}:{value:a?[u(p[0]),u(p[1])]:u(p),done:m}},[Symbol.iterator](){return this}}}}function Qi(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Y1(e,t){const n={get(s){const i=this.__v_raw,r=et(i),a=et(s);e||(yo(s,a)&&Ut(r,"get",s),Ut(r,"get",a));const{has:l}=Yi(r),c=t?vl:e?Cl:jt;if(l.call(r,s))return c(i.get(s));if(l.call(r,a))return c(i.get(a));i!==r&&i.get(s);},get size(){const s=this.__v_raw;return !e&&Ut(et(s),"iterate",Vo),Reflect.get(s,"size",s)},has(s){const i=this.__v_raw,r=et(i),a=et(s);return e||(yo(s,a)&&Ut(r,"has",s),Ut(r,"has",a)),s===a?i.has(s):i.has(s)||i.has(a)},forEach(s,i){const r=this,a=r.__v_raw,l=et(a),c=t?vl:e?Cl:jt;return !e&&Ut(l,"iterate",Vo),a.forEach((u,p)=>s.call(i,c(u),c(p),r))}};return Tt(n,e?{add:Qi("add"),set:Qi("set"),delete:Qi("delete"),clear:Qi("clear")}:{add(s){!t&&!yn(s)&&!Jo(s)&&(s=et(s));const i=et(this);return Yi(i).has.call(i,s)||(i.add(s),Qn(i,"add",s,s)),this},set(s,i){!t&&!yn(i)&&!Jo(i)&&(i=et(i));const r=et(this),{has:a,get:l}=Yi(r);let c=a.call(r,s);c||(s=et(s),c=a.call(r,s));const u=l.call(r,s);return r.set(s,i),c?yo(i,u)&&Qn(r,"set",s,i):Qn(r,"add",s,i),this},delete(s){const i=et(this),{has:r,get:a}=Yi(i);let l=r.call(i,s);l||(s=et(s),l=r.call(i,s)),a&&a.call(i,s);const c=i.delete(s);return l&&Qn(i,"delete",s,void 0),c},clear(){const s=et(this),i=s.size!==0,r=s.clear();return i&&Qn(s,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=J1(s,e,t);}),n}function Du(e,t){const n=Y1(e,t);return (o,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?o:Reflect.get(ot(n,s)&&s in o?n:o,s,i)}const Q1={get:Du(!1,!1)},X1={get:Du(!1,!0)},Z1={get:Du(!0,!1)};const Up=new WeakMap,jp=new WeakMap,Hp=new WeakMap,e0=new WeakMap;function t0(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function n0(e){return e.__v_skip||!Object.isExtensible(e)?0:t0(k1(e))}function ra(e){return Jo(e)?e:Tu(e,!1,W1,Q1,Up)}function o0(e){return Tu(e,!1,G1,X1,jp)}function Vp(e){return Tu(e,!0,K1,Z1,Hp)}function Tu(e,t,n,o,s){if(!ct(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=s.get(e);if(i)return i;const r=n0(e);if(r===0)return e;const a=new Proxy(e,r===2?o:n);return s.set(e,a),a}function ys(e){return Jo(e)?ys(e.__v_raw):!!(e&&e.__v_isReactive)}function Jo(e){return !!(e&&e.__v_isReadonly)}function yn(e){return !!(e&&e.__v_isShallow)}function Ou(e){return e?!!e.__v_raw:!1}function et(e){const t=e&&e.__v_raw;return t?et(t):e}function s0(e){return !ot(e,"__v_skip")&&Object.isExtensible(e)&&Sp(e,"__v_skip",!0),e}const jt=e=>ct(e)?ra(e):e,Cl=e=>ct(e)?Vp(e):e;function Dt(e){return e?e.__v_isRef===!0:!1}function ne(e){return i0(e,!1)}function i0(e,t){return Dt(e)?e:new r0(e,t)}class r0{constructor(t,n){this.dep=new Iu,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:et(t),this._value=n?t:jt(t),this.__v_isShallow=n;}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||yn(t)||Jo(t);t=o?t:et(t),yo(t,n)&&(this._rawValue=t,this._value=o?t:jt(t),this.dep.trigger());}}function re(e){return Dt(e)?e.value:e}const a0={get:(e,t,n)=>t==="__v_raw"?e:re(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const s=e[t];return Dt(s)&&!Dt(n)?(s.value=n,!0):Reflect.set(e,t,n,o)}};function zp(e){return ys(e)?e:new Proxy(e,a0)}function l0(e){const t=Me(e)?new Array(e.length):{};for(const n in e)t[n]=qp(e,n);return t}class u0{constructor(t,n,o){this._object=t,this._key=n,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0;}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t;}get dep(){return U1(et(this._object),this._key)}}class c0{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0;}get value(){return this._value=this._getter()}}function d0(e,t,n){return Dt(e)?e:je(e)?new c0(e):ct(e)&&arguments.length>1?qp(e,t,n):ne(e)}function qp(e,t,n){const o=e[t];return Dt(o)?o:new u0(e,t,n)}class f0{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Iu(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=gi-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o;}notify(){if(this.flags|=16,!(this.flags&8)&&ft!==this)return Dp(this,!0),!0}get value(){const t=this.dep.track();return Mp(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t);}}function p0(e,t,n=!1){let o,s;return je(e)?o=e:(o=e.get,s=e.set),new f0(o,s,n)}const Xi={},Sr=new WeakMap;let Ro;function h0(e,t=!1,n=Ro){if(n){let o=Sr.get(n);o||Sr.set(n,o=[]),o.push(e);}}function m0(e,t,n=ut){const{immediate:o,deep:s,once:i,scheduler:r,augmentJob:a,call:l}=n,c=D=>s?D:yn(D)||s===!1||s===0?Xn(D,1):Xn(D);let u,p,m,w,b=!1,C=!1;if(Dt(e)?(p=()=>e.value,b=yn(e)):ys(e)?(p=()=>c(e),b=!0):Me(e)?(C=!0,b=e.some(D=>ys(D)||yn(D)),p=()=>e.map(D=>{if(Dt(D))return D.value;if(ys(D))return c(D);if(je(D))return l?l(D,2):D()})):je(e)?t?p=l?()=>l(e,2):e:p=()=>{if(m){Io();try{m();}finally{Do();}}const D=Ro;Ro=u;try{return l?l(e,3,[w]):e(w)}finally{Ro=D;}}:p=Un,t&&s){const D=p,N=s===!0?1/0:s;p=()=>Xn(D(),N);}const F=R1(),O=()=>{u.stop(),F&&xu(F.effects,u);};if(i&&t){const D=t;t=(...N)=>{D(...N),O();};}let R=C?new Array(e.length).fill(Xi):Xi;const T=D=>{if(!(!(u.flags&1)||!u.dirty&&!D))if(t){const N=u.run();if(s||b||(C?N.some((z,G)=>yo(z,R[G])):yo(N,R))){m&&m();const z=Ro;Ro=u;try{const G=[N,R===Xi?void 0:C&&R[0]===Xi?[]:R,w];l?l(t,3,G):t(...G),R=N;}finally{Ro=z;}}}else u.run();};return a&&a(T),u=new Ap(p),u.scheduler=r?()=>r(T,!1):T,w=D=>h0(D,!1,u),m=u.onStop=()=>{const D=Sr.get(u);if(D){if(l)l(D,4);else for(const N of D)N();Sr.delete(u);}},t?o?T(!0):R=u.run():r?r(T.bind(null,!0),!0):u.run(),O.pause=u.pause.bind(u),O.resume=u.resume.bind(u),O.stop=O,O}function Xn(e,t=1/0,n){if(t<=0||!ct(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,Dt(e))Xn(e.value,t,n);else if(Me(e))for(let o=0;o<e.length;o++)Xn(e[o],t,n);else if(Rs(e)||gs(e))e.forEach(o=>{Xn(o,t,n);});else if(kp(e)){for(const o in e)Xn(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Xn(e[o],t,n);}return e}/**
  * @vue/runtime-core v3.5.12
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
  * @license MIT
  **/function Fi(e,t,n,o){try{return o?e(...o):e()}catch(s){Ni(s,t,n);}}function zn(e,t,n,o){if(je(e)){const s=Fi(e,t,n,o);return s&&ku(s)&&s.catch(i=>{Ni(i,t,n);}),s}if(Me(e)){const s=[];for(let i=0;i<e.length;i++)s.push(zn(e[i],t,n,o));return s}}function Ni(e,t,n,o=!0){const s=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:r}=t&&t.appContext.config||ut;if(t){let a=t.parent;const l=t.proxy,c=`https://vuejs.org/error-reference/#runtime-${n}`;for(;a;){const u=a.ec;if(u){for(let p=0;p<u.length;p++)if(u[p](e,l,c)===!1)return}a=a.parent;}if(i){Io(),Fi(i,null,10,[e,l,c]),Do();return}}g0(e,n,s,o,r);}function g0(e,t,n,o=!0,s=!1){if(s)throw e;console.error(e);}const Kt=[];let Bn=-1;const ws=[];let uo=null,ds=0;const Wp=Promise.resolve();let $r=null;function Yo(e){const t=$r||Wp;return e?t.then(this?e.bind(this):e):t}function y0(e){let t=Bn+1,n=Kt.length;for(;t<n;){const o=t+n>>>1,s=Kt[o],i=wi(s);i<e||i===e&&s.flags&2?t=o+1:n=o;}return t}function Mu(e){if(!(e.flags&1)){const t=wi(e),n=Kt[Kt.length-1];!n||!(e.flags&2)&&t>=wi(n)?Kt.push(e):Kt.splice(y0(t),0,e),e.flags|=1,Kp();}}function Kp(){$r||($r=Wp.then(Jp));}function _l(e){Me(e)?ws.push(...e):uo&&e.id===-1?uo.splice(ds+1,0,e):e.flags&1||(ws.push(e),e.flags|=1),Kp();}function Xc(e,t,n=Bn+1){for(;n<Kt.length;n++){const o=Kt[n];if(o&&o.flags&2){if(e&&o.id!==e.uid)continue;Kt.splice(n,1),n--,o.flags&4&&(o.flags&=-2),o(),o.flags&4||(o.flags&=-2);}}}function Gp(e){if(ws.length){const t=[...new Set(ws)].sort((n,o)=>wi(n)-wi(o));if(ws.length=0,uo){uo.push(...t);return}for(uo=t,ds=0;ds<uo.length;ds++){const n=uo[ds];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2;}uo=null,ds=0;}}const wi=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Jp(e){try{for(Bn=0;Bn<Kt.length;Bn++){const t=Kt[Bn];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Fi(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2));}}finally{for(;Bn<Kt.length;Bn++){const t=Kt[Bn];t&&(t.flags&=-2);}Bn=-1,Kt.length=0,Gp(),$r=null,(Kt.length||ws.length)&&Jp();}}let It=null,aa=null;function Er(e){const t=It;return It=e,aa=e&&e.type.__scopeId||null,t}function w0(e){aa=e;}function b0(){aa=null;}const v0=e=>xe;function xe(e,t=It,n){if(!t||e._n)return e;const o=(...s)=>{o._d&&ld(-1);const i=Er(t);let r;try{r=e(...s);}finally{Er(i),o._d&&ld(1);}return r};return o._n=!0,o._c=!0,o._d=!0,o}function oe(e,t){if(It===null)return e;const n=da(It),o=e.dirs||(e.dirs=[]);for(let s=0;s<t.length;s++){let[i,r,a,l=ut]=t[s];i&&(je(i)&&(i={mounted:i,updated:i}),i.deep&&Xn(r),o.push({dir:i,instance:n,value:r,oldValue:void 0,arg:a,modifiers:l}));}return e}function Mo(e,t,n,o){const s=e.dirs,i=t&&t.dirs;for(let r=0;r<s.length;r++){const a=s[r];i&&(a.oldValue=i[r].value);let l=a.dir[o];l&&(Io(),zn(l,n,8,[e.el,a,e,t]),Do());}}const C0=Symbol("_vte"),_0=e=>e.__isTeleport;function Lu(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Lu(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t;}/*! #__NO_SIDE_EFFECTS__ */function Te(e,t){return je(e)?Tt({name:e.name},t,{setup:e}):e}function Yp(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0];}function xl(e,t,n,o,s=!1){if(Me(e)){e.forEach((b,C)=>xl(b,t&&(Me(t)?t[C]:t),n,o,s));return}if(bs(o)&&!s)return;const i=o.shapeFlag&4?da(o.component):o.el,r=s?null:i,{i:a,r:l}=e,c=t&&t.r,u=a.refs===ut?a.refs={}:a.refs,p=a.setupState,m=et(p),w=p===ut?()=>!1:b=>ot(m,b);if(c!=null&&c!==l&&(vt(c)?(u[c]=null,w(c)&&(p[c]=null)):Dt(c)&&(c.value=null)),je(l))Fi(l,a,12,[r,u]);else {const b=vt(l),C=Dt(l);if(b||C){const F=()=>{if(e.f){const O=b?w(l)?p[l]:u[l]:l.value;s?Me(O)&&xu(O,i):Me(O)?O.includes(i)||O.push(i):b?(u[l]=[i],w(l)&&(p[l]=u[l])):(l.value=[i],e.k&&(u[e.k]=l.value));}else b?(u[l]=r,w(l)&&(p[l]=r)):C&&(l.value=r,e.k&&(u[e.k]=r));};r?(F.id=-1,un(F,n)):F();}}}sa().requestIdleCallback;sa().cancelIdleCallback;const bs=e=>!!e.type.__asyncLoader,Qp=e=>e.type.__isKeepAlive;function x0(e,t){Xp(e,"a",t);}function k0(e,t){Xp(e,"da",t);}function Xp(e,t,n=Mt){const o=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent;}return e()});if(la(t,o,n),n){let s=n.parent;for(;s&&s.parent;)Qp(s.parent.vnode)&&S0(o,t,n,s),s=s.parent;}}function S0(e,t,n,o){const s=la(t,e,o,!0);ns(()=>{xu(o[t],s);},n);}function la(e,t,n=Mt,o=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...r)=>{Io();const a=Qo(n),l=zn(t,n,e,r);return a(),Do(),l});return o?s.unshift(i):s.push(i),i}}const oo=e=>(t,n=Mt)=>{(!vi||e==="sp")&&la(e,(...o)=>t(...o),n);},At=oo("bm"),Vt=oo("m"),$0=oo("bu"),E0=oo("u"),Zp=oo("bum"),ns=oo("um"),P0=oo("sp"),A0=oo("rtg"),I0=oo("rtc");function D0(e,t=Mt){la("ec",e,t);}const Bu="components",T0="directives";function _o(e,t){return Ru(Bu,e,!0,t)||e}const eh=Symbol.for("v-ndc");function xn(e){return vt(e)?Ru(Bu,e,!1)||e:e||eh}function O0(e){return Ru(T0,e)}function Ru(e,t,n=!0,o=!1){const s=It||Mt;if(s){const i=s.type;if(e===Bu){const a=kC(i,!1);if(a&&(a===t||a===vn(t)||a===oa(vn(t))))return i}const r=Zc(s[e]||i[e],t)||Zc(s.appContext[e],t);return !r&&o?i:r}}function Zc(e,t){return e&&(e[t]||e[vn(t)]||e[oa(vn(t))])}function Je(e,t,n,o){let s;const i=n,r=Me(e);if(r||vt(e)){const a=r&&ys(e);let l=!1;a&&(l=!yn(e),e=ia(e)),s=new Array(e.length);for(let c=0,u=e.length;c<u;c++)s[c]=t(l?jt(e[c]):e[c],c,void 0,i);}else if(typeof e=="number"){s=new Array(e);for(let a=0;a<e;a++)s[a]=t(a+1,a,void 0,i);}else if(ct(e))if(e[Symbol.iterator])s=Array.from(e,(a,l)=>t(a,l,void 0,i));else {const a=Object.keys(e);s=new Array(a.length);for(let l=0,c=a.length;l<c;l++){const u=a[l];s[l]=t(e[u],u,l,i);}}else s=[];return s}function M0(e,t){for(let n=0;n<t.length;n++){const o=t[n];if(Me(o))for(let s=0;s<o.length;s++)e[o[s].name]=o[s].fn;else o&&(e[o.name]=o.key?(...s)=>{const i=o.fn(...s);return i&&(i.key=o.key),i}:o.fn);}return e}function Ze(e,t,n={},o,s){if(It.ce||It.parent&&bs(It.parent)&&It.parent.ce)return t!=="default"&&(n.name=t),S(),it(Le,null,[me("slot",n,o&&o())],64);let i=e[t];i&&i._c&&(i._d=!1),S();const r=i&&th(i(n)),a=n.key||r&&r.key,l=it(Le,{key:(a&&!Dn(a)?a:`_${t}`)+(!r&&o?"_fb":"")},r||(o?o():[]),r&&e._===1?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),i&&i._c&&(i._d=!0),l}function th(e){return e.some(t=>As(t)?!(t.type===qn||t.type===Le&&!th(t.children)):!0)?e:null}const kl=e=>e?$h(e)?da(e):kl(e.parent):null,ai=Tt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>kl(e.parent),$root:e=>kl(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Fu(e),$forceUpdate:e=>e.f||(e.f=()=>{Mu(e.update);}),$nextTick:e=>e.n||(e.n=Yo.bind(e.proxy)),$watch:e=>tC.bind(e)}),Wa=(e,t)=>e!==ut&&!e.__isScriptSetup&&ot(e,t),L0={get({_:e},t){if(t==="__v_skip")return !0;const{ctx:n,setupState:o,data:s,props:i,accessCache:r,type:a,appContext:l}=e;let c;if(t[0]!=="$"){const w=r[t];if(w!==void 0)switch(w){case 1:return o[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else {if(Wa(o,t))return r[t]=1,o[t];if(s!==ut&&ot(s,t))return r[t]=2,s[t];if((c=e.propsOptions[0])&&ot(c,t))return r[t]=3,i[t];if(n!==ut&&ot(n,t))return r[t]=4,n[t];Sl&&(r[t]=0);}}const u=ai[t];let p,m;if(u)return t==="$attrs"&&Ut(e.attrs,"get",""),u(e);if((p=a.__cssModules)&&(p=p[t]))return p;if(n!==ut&&ot(n,t))return r[t]=4,n[t];if(m=l.config.globalProperties,ot(m,t))return m[t]},set({_:e},t,n){const{data:o,setupState:s,ctx:i}=e;return Wa(s,t)?(s[t]=n,!0):o!==ut&&ot(o,t)?(o[t]=n,!0):ot(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:s,propsOptions:i}},r){let a;return !!n[r]||e!==ut&&ot(e,r)||Wa(t,r)||(a=i[0])&&ot(a,r)||ot(o,r)||ot(ai,r)||ot(s.config.globalProperties,r)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ot(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function ed(e){return Me(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Ht(e){const t=bC();let n=e();return Il(),ku(n)&&(n=n.catch(o=>{throw Qo(t),o})),[n,()=>Qo(t)]}let Sl=!0;function B0(e){const t=Fu(e),n=e.proxy,o=e.ctx;Sl=!1,t.beforeCreate&&td(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:r,watch:a,provide:l,inject:c,created:u,beforeMount:p,mounted:m,beforeUpdate:w,updated:b,activated:C,deactivated:F,beforeDestroy:O,beforeUnmount:R,destroyed:T,unmounted:D,render:N,renderTracked:z,renderTriggered:G,errorCaptured:ge,serverPrefetch:we,expose:ce,inheritAttrs:H,components:j,directives:ee,filters:de}=t;if(c&&R0(c,o,null),r)for(const Pe in r){const $e=r[Pe];je($e)&&(o[Pe]=$e.bind(n));}if(s){const Pe=s.call(n,n);ct(Pe)&&(e.data=ra(Pe));}if(Sl=!0,i)for(const Pe in i){const $e=i[Pe],Ve=je($e)?$e.bind(n,n):je($e.get)?$e.get.bind(n,n):Un,nt=!je($e)&&je($e.set)?$e.set.bind(n):Un,_e=rt({get:Ve,set:nt});Object.defineProperty(o,Pe,{enumerable:!0,configurable:!0,get:()=>_e.value,set:M=>_e.value=M});}if(a)for(const Pe in a)nh(a[Pe],o,n,Pe);if(l){const Pe=je(l)?l.call(n):l;Reflect.ownKeys(Pe).forEach($e=>{ti($e,Pe[$e]);});}u&&td(u,e,"c");function Se(Pe,$e){Me($e)?$e.forEach(Ve=>Pe(Ve.bind(n))):$e&&Pe($e.bind(n));}if(Se(At,p),Se(Vt,m),Se($0,w),Se(E0,b),Se(x0,C),Se(k0,F),Se(D0,ge),Se(I0,z),Se(A0,G),Se(Zp,R),Se(ns,D),Se(P0,we),Me(ce))if(ce.length){const Pe=e.exposed||(e.exposed={});ce.forEach($e=>{Object.defineProperty(Pe,$e,{get:()=>n[$e],set:Ve=>n[$e]=Ve});});}else e.exposed||(e.exposed={});N&&e.render===Un&&(e.render=N),H!=null&&(e.inheritAttrs=H),j&&(e.components=j),ee&&(e.directives=ee),we&&Yp(e);}function R0(e,t,n=Un){Me(e)&&(e=$l(e));for(const o in e){const s=e[o];let i;ct(s)?"default"in s?i=li(s.from||o,s.default,!0):i=li(s.from||o):i=li(s),Dt(i)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>i.value,set:r=>i.value=r}):t[o]=i;}}function td(e,t,n){zn(Me(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n);}function nh(e,t,n,o){let s=o.includes(".")?gh(n,o):()=>n[o];if(vt(e)){const i=t[e];je(i)&&Xe(s,i);}else if(je(e))Xe(s,e.bind(n));else if(ct(e))if(Me(e))e.forEach(i=>nh(i,t,n,o));else {const i=je(e.handler)?e.handler.bind(n):t[e.handler];je(i)&&Xe(s,i,e);}}function Fu(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:r}}=e.appContext,a=i.get(t);let l;return a?l=a:!s.length&&!n&&!o?l=t:(l={},s.length&&s.forEach(c=>Pr(l,c,r,!0)),Pr(l,t,r)),ct(t)&&i.set(t,l),l}function Pr(e,t,n,o=!1){const{mixins:s,extends:i}=t;i&&Pr(e,i,n,!0),s&&s.forEach(r=>Pr(e,r,n,!0));for(const r in t)if(!(o&&r==="expose")){const a=F0[r]||n&&n[r];e[r]=a?a(e[r],t[r]):t[r];}return e}const F0={data:nd,props:od,emits:od,methods:ei,computed:ei,beforeCreate:Wt,created:Wt,beforeMount:Wt,mounted:Wt,beforeUpdate:Wt,updated:Wt,beforeDestroy:Wt,beforeUnmount:Wt,destroyed:Wt,unmounted:Wt,activated:Wt,deactivated:Wt,errorCaptured:Wt,serverPrefetch:Wt,components:ei,directives:ei,watch:U0,provide:nd,inject:N0};function nd(e,t){return t?e?function(){return Tt(je(e)?e.call(this,this):e,je(t)?t.call(this,this):t)}:t:e}function N0(e,t){return ei($l(e),$l(t))}function $l(e){if(Me(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Wt(e,t){return e?[...new Set([].concat(e,t))]:t}function ei(e,t){return e?Tt(Object.create(null),e,t):t}function od(e,t){return e?Me(e)&&Me(t)?[...new Set([...e,...t])]:Tt(Object.create(null),ed(e),ed(t??{})):t}function U0(e,t){if(!e)return t;if(!t)return e;const n=Tt(Object.create(null),e);for(const o in t)n[o]=Wt(e[o],t[o]);return n}function oh(){return {app:null,config:{isNativeTag:_1,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let j0=0;function H0(e,t){return function(o,s=null){je(o)||(o=Tt({},o)),s!=null&&!ct(s)&&(s=null);const i=oh(),r=new WeakSet,a=[];let l=!1;const c=i.app={_uid:j0++,_component:o,_props:s,_container:null,_context:i,_instance:null,version:EC,get config(){return i.config},set config(u){},use(u,...p){return r.has(u)||(u&&je(u.install)?(r.add(u),u.install(c,...p)):je(u)&&(r.add(u),u(c,...p))),c},mixin(u){return i.mixins.includes(u)||i.mixins.push(u),c},component(u,p){return p?(i.components[u]=p,c):i.components[u]},directive(u,p){return p?(i.directives[u]=p,c):i.directives[u]},mount(u,p,m){if(!l){const w=c._ceVNode||me(o,s);return w.appContext=i,m===!0?m="svg":m===!1&&(m=void 0),p&&t?t(w,u):e(w,u,m),l=!0,c._container=u,u.__vue_app__=c,da(w.component)}},onUnmount(u){a.push(u);},unmount(){l&&(zn(a,c._instance,16),e(null,c._container),delete c._container.__vue_app__);},provide(u,p){return i.provides[u]=p,c},runWithContext(u){const p=vs;vs=c;try{return u()}finally{vs=p;}}};return c}}let vs=null;function ti(e,t){if(Mt){let n=Mt.provides;const o=Mt.parent&&Mt.parent.provides;o===n&&(n=Mt.provides=Object.create(o)),n[e]=t;}}function li(e,t,n=!1){const o=Mt||It;if(o||vs){const s=vs?vs._context.provides:o?o.parent==null?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides:void 0;if(s&&e in s)return s[e];if(arguments.length>1)return n&&je(t)?t.call(o&&o.proxy):t}}const sh={},ih=()=>Object.create(sh),rh=e=>Object.getPrototypeOf(e)===sh;function V0(e,t,n,o=!1){const s={},i=ih();e.propsDefaults=Object.create(null),ah(e,t,s,i);for(const r in e.propsOptions[0])r in s||(s[r]=void 0);n?e.props=o?s:o0(s):e.type.props?e.props=s:e.props=i,e.attrs=i;}function z0(e,t,n,o){const{props:s,attrs:i,vnode:{patchFlag:r}}=e,a=et(s),[l]=e.propsOptions;let c=!1;if((o||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let p=0;p<u.length;p++){let m=u[p];if(ua(e.emitsOptions,m))continue;const w=t[m];if(l)if(ot(i,m))w!==i[m]&&(i[m]=w,c=!0);else {const b=vn(m);s[b]=El(l,a,b,w,e,!1);}else w!==i[m]&&(i[m]=w,c=!0);}}}else {ah(e,t,s,i)&&(c=!0);let u;for(const p in a)(!t||!ot(t,p)&&((u=Ao(p))===p||!ot(t,u)))&&(l?n&&(n[p]!==void 0||n[u]!==void 0)&&(s[p]=El(l,a,p,void 0,e,!0)):delete s[p]);if(i!==a)for(const p in i)(!t||!ot(t,p))&&(delete i[p],c=!0);}c&&Qn(e.attrs,"set","");}function ah(e,t,n,o){const[s,i]=e.propsOptions;let r=!1,a;if(t)for(let l in t){if(si(l))continue;const c=t[l];let u;s&&ot(s,u=vn(l))?!i||!i.includes(u)?n[u]=c:(a||(a={}))[u]=c:ua(e.emitsOptions,l)||(!(l in o)||c!==o[l])&&(o[l]=c,r=!0);}if(i){const l=et(n),c=a||ut;for(let u=0;u<i.length;u++){const p=i[u];n[p]=El(s,l,p,c[p],e,!ot(c,p));}}return r}function El(e,t,n,o,s,i){const r=e[n];if(r!=null){const a=ot(r,"default");if(a&&o===void 0){const l=r.default;if(r.type!==Function&&!r.skipFactory&&je(l)){const{propsDefaults:c}=s;if(n in c)o=c[n];else {const u=Qo(s);o=c[n]=l.call(null,t),u();}}else o=l;s.ce&&s.ce._setProp(n,o);}r[0]&&(i&&!a?o=!1:r[1]&&(o===""||o===Ao(n))&&(o=!0));}return o}const q0=new WeakMap;function lh(e,t,n=!1){const o=n?q0:t.propsCache,s=o.get(e);if(s)return s;const i=e.props,r={},a=[];let l=!1;if(!je(e)){const u=p=>{l=!0;const[m,w]=lh(p,t,!0);Tt(r,m),w&&a.push(...w);};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u);}if(!i&&!l)return ct(e)&&o.set(e,ms),ms;if(Me(i))for(let u=0;u<i.length;u++){const p=vn(i[u]);sd(p)&&(r[p]=ut);}else if(i)for(const u in i){const p=vn(u);if(sd(p)){const m=i[u],w=r[p]=Me(m)||je(m)?{type:m}:Tt({},m),b=w.type;let C=!1,F=!0;if(Me(b))for(let O=0;O<b.length;++O){const R=b[O],T=je(R)&&R.name;if(T==="Boolean"){C=!0;break}else T==="String"&&(F=!1);}else C=je(b)&&b.name==="Boolean";w[0]=C,w[1]=F,(C||ot(w,"default"))&&a.push(p);}}const c=[r,a];return ct(e)&&o.set(e,c),c}function sd(e){return e[0]!=="$"&&!si(e)}const uh=e=>e[0]==="_"||e==="$stable",Nu=e=>Me(e)?e.map(Sn):[Sn(e)],W0=(e,t,n)=>{if(t._n)return t;const o=xe((...s)=>Nu(t(...s)),n);return o._c=!1,o},ch=(e,t,n)=>{const o=e._ctx;for(const s in e){if(uh(s))continue;const i=e[s];if(je(i))t[s]=W0(s,i,o);else if(i!=null){const r=Nu(i);t[s]=()=>r;}}},dh=(e,t)=>{const n=Nu(t);e.slots.default=()=>n;},fh=(e,t,n)=>{for(const o in t)(n||o!=="_")&&(e[o]=t[o]);},K0=(e,t,n)=>{const o=e.slots=ih();if(e.vnode.shapeFlag&32){const s=t._;s?(fh(o,t,n),n&&Sp(o,"_",s,!0)):ch(t,o);}else t&&dh(e,t);},G0=(e,t,n)=>{const{vnode:o,slots:s}=e;let i=!0,r=ut;if(o.shapeFlag&32){const a=t._;a?n&&a===1?i=!1:fh(s,t,n):(i=!t.$stable,ch(t,s)),r=t;}else t&&(dh(e,t),r={default:1});if(i)for(const a in s)!uh(a)&&r[a]==null&&delete s[a];},un=pC;function J0(e){return Y0(e)}function Y0(e,t){const n=sa();n.__VUE__=!0;const{insert:o,remove:s,patchProp:i,createElement:r,createText:a,createComment:l,setText:c,setElementText:u,parentNode:p,nextSibling:m,setScopeId:w=Un,insertStaticContent:b}=e,C=(_,E,U,q=null,J=null,ie=null,ye=void 0,ue=null,pe=!!E.dynamicChildren)=>{if(_===E)return;_&&!fo(_,E)&&(q=xt(_),M(_,J,ie,!0),_=null),E.patchFlag===-2&&(pe=!1,E.dynamicChildren=null);const{type:he,ref:De,shapeFlag:Y}=E;switch(he){case ca:F(_,E,U,q);break;case qn:O(_,E,U,q);break;case cr:_==null&&R(E,U,q,ye);break;case Le:j(_,E,U,q,J,ie,ye,ue,pe);break;default:Y&1?N(_,E,U,q,J,ie,ye,ue,pe):Y&6?ee(_,E,U,q,J,ie,ye,ue,pe):(Y&64||Y&128)&&he.process(_,E,U,q,J,ie,ye,ue,pe,Q);}De!=null&&J&&xl(De,_&&_.ref,ie,E||_,!E);},F=(_,E,U,q)=>{if(_==null)o(E.el=a(E.children),U,q);else {const J=E.el=_.el;E.children!==_.children&&c(J,E.children);}},O=(_,E,U,q)=>{_==null?o(E.el=l(E.children||""),U,q):E.el=_.el;},R=(_,E,U,q)=>{[_.el,_.anchor]=b(_.children,E,U,q,_.el,_.anchor);},T=({el:_,anchor:E},U,q)=>{let J;for(;_&&_!==E;)J=m(_),o(_,U,q),_=J;o(E,U,q);},D=({el:_,anchor:E})=>{let U;for(;_&&_!==E;)U=m(_),s(_),_=U;s(E);},N=(_,E,U,q,J,ie,ye,ue,pe)=>{E.type==="svg"?ye="svg":E.type==="math"&&(ye="mathml"),_==null?z(E,U,q,J,ie,ye,ue,pe):we(_,E,J,ie,ye,ue,pe);},z=(_,E,U,q,J,ie,ye,ue)=>{let pe,he;const{props:De,shapeFlag:Y,transition:ke,dirs:g}=_;if(pe=_.el=r(_.type,ie,De&&De.is,De),Y&8?u(pe,_.children):Y&16&&ge(_.children,pe,null,q,J,Ka(_,ie),ye,ue),g&&Mo(_,null,q,"created"),G(pe,_,_.scopeId,ye,q),De){for(const k in De)k!=="value"&&!si(k)&&i(pe,k,null,De[k],ie,q);"value"in De&&i(pe,"value",null,De.value,ie),(he=De.onVnodeBeforeMount)&&Mn(he,q,_);}g&&Mo(_,null,q,"beforeMount");const v=Q0(J,ke);v&&ke.beforeEnter(pe),o(pe,E,U),((he=De&&De.onVnodeMounted)||v||g)&&un(()=>{he&&Mn(he,q,_),v&&ke.enter(pe),g&&Mo(_,null,q,"mounted");},J);},G=(_,E,U,q,J)=>{if(U&&w(_,U),q)for(let ie=0;ie<q.length;ie++)w(_,q[ie]);if(J){let ie=J.subTree;if(E===ie||wh(ie.type)&&(ie.ssContent===E||ie.ssFallback===E)){const ye=J.vnode;G(_,ye,ye.scopeId,ye.slotScopeIds,J.parent);}}},ge=(_,E,U,q,J,ie,ye,ue,pe=0)=>{for(let he=pe;he<_.length;he++){const De=_[he]=ue?co(_[he]):Sn(_[he]);C(null,De,E,U,q,J,ie,ye,ue);}},we=(_,E,U,q,J,ie,ye)=>{const ue=E.el=_.el;let{patchFlag:pe,dynamicChildren:he,dirs:De}=E;pe|=_.patchFlag&16;const Y=_.props||ut,ke=E.props||ut;let g;if(U&&Lo(U,!1),(g=ke.onVnodeBeforeUpdate)&&Mn(g,U,E,_),De&&Mo(E,_,U,"beforeUpdate"),U&&Lo(U,!0),(Y.innerHTML&&ke.innerHTML==null||Y.textContent&&ke.textContent==null)&&u(ue,""),he?ce(_.dynamicChildren,he,ue,U,q,Ka(E,J),ie):ye||$e(_,E,ue,null,U,q,Ka(E,J),ie,!1),pe>0){if(pe&16)H(ue,Y,ke,U,J);else if(pe&2&&Y.class!==ke.class&&i(ue,"class",null,ke.class,J),pe&4&&i(ue,"style",Y.style,ke.style,J),pe&8){const v=E.dynamicProps;for(let k=0;k<v.length;k++){const P=v[k],V=Y[P],A=ke[P];(A!==V||P==="value")&&i(ue,P,V,A,J,U);}}pe&1&&_.children!==E.children&&u(ue,E.children);}else !ye&&he==null&&H(ue,Y,ke,U,J);((g=ke.onVnodeUpdated)||De)&&un(()=>{g&&Mn(g,U,E,_),De&&Mo(E,_,U,"updated");},q);},ce=(_,E,U,q,J,ie,ye)=>{for(let ue=0;ue<E.length;ue++){const pe=_[ue],he=E[ue],De=pe.el&&(pe.type===Le||!fo(pe,he)||pe.shapeFlag&70)?p(pe.el):U;C(pe,he,De,null,q,J,ie,ye,!0);}},H=(_,E,U,q,J)=>{if(E!==U){if(E!==ut)for(const ie in E)!si(ie)&&!(ie in U)&&i(_,ie,E[ie],null,J,q);for(const ie in U){if(si(ie))continue;const ye=U[ie],ue=E[ie];ye!==ue&&ie!=="value"&&i(_,ie,ue,ye,J,q);}"value"in U&&i(_,"value",E.value,U.value,J);}},j=(_,E,U,q,J,ie,ye,ue,pe)=>{const he=E.el=_?_.el:a(""),De=E.anchor=_?_.anchor:a("");let{patchFlag:Y,dynamicChildren:ke,slotScopeIds:g}=E;g&&(ue=ue?ue.concat(g):g),_==null?(o(he,U,q),o(De,U,q),ge(E.children||[],U,De,J,ie,ye,ue,pe)):Y>0&&Y&64&&ke&&_.dynamicChildren?(ce(_.dynamicChildren,ke,U,J,ie,ye,ue),(E.key!=null||J&&E===J.subTree)&&ph(_,E,!0)):$e(_,E,U,De,J,ie,ye,ue,pe);},ee=(_,E,U,q,J,ie,ye,ue,pe)=>{E.slotScopeIds=ue,_==null?E.shapeFlag&512?J.ctx.activate(E,U,q,ye,pe):de(E,U,q,J,ie,ye,pe):Ce(_,E,pe);},de=(_,E,U,q,J,ie,ye)=>{const ue=_.component=wC(_,q,J);if(Qp(_)&&(ue.ctx.renderer=Q),vC(ue,!1,ye),ue.asyncDep){if(J&&J.registerDep(ue,Se,ye),!_.el){const pe=ue.subTree=me(qn);O(null,pe,E,U);}}else Se(ue,_,E,U,J,ie,ye);},Ce=(_,E,U)=>{const q=E.component=_.component;if(aC(_,E,U))if(q.asyncDep&&!q.asyncResolved){Pe(q,E,U);return}else q.next=E,q.update();else E.el=_.el,q.vnode=E;},Se=(_,E,U,q,J,ie,ye)=>{const ue=()=>{if(_.isMounted){let{next:Y,bu:ke,u:g,parent:v,vnode:k}=_;{const X=hh(_);if(X){Y&&(Y.el=k.el,Pe(_,Y,ye)),X.asyncDep.then(()=>{_.isUnmounted||ue();});return}}let P=Y,V;Lo(_,!1),Y?(Y.el=k.el,Pe(_,Y,ye)):Y=k,ke&&ur(ke),(V=Y.props&&Y.props.onVnodeBeforeUpdate)&&Mn(V,v,Y,k),Lo(_,!0);const A=Ga(_),te=_.subTree;_.subTree=A,C(te,A,p(te.el),xt(te),_,J,ie),Y.el=A.el,P===null&&Uu(_,A.el),g&&un(g,J),(V=Y.props&&Y.props.onVnodeUpdated)&&un(()=>Mn(V,v,Y,k),J);}else {let Y;const{el:ke,props:g}=E,{bm:v,m:k,parent:P,root:V,type:A}=_,te=bs(E);if(Lo(_,!1),v&&ur(v),!te&&(Y=g&&g.onVnodeBeforeMount)&&Mn(Y,P,E),Lo(_,!0),ke&&W){const X=()=>{_.subTree=Ga(_),W(ke,_.subTree,_,J,null);};te&&A.__asyncHydrate?A.__asyncHydrate(ke,_,X):X();}else {V.ce&&V.ce._injectChildStyle(A);const X=_.subTree=Ga(_);C(null,X,U,q,_,J,ie),E.el=X.el;}if(k&&un(k,J),!te&&(Y=g&&g.onVnodeMounted)){const X=E;un(()=>Mn(Y,P,X),J);}(E.shapeFlag&256||P&&bs(P.vnode)&&P.vnode.shapeFlag&256)&&_.a&&un(_.a,J),_.isMounted=!0,E=U=q=null;}};_.scope.on();const pe=_.effect=new Ap(ue);_.scope.off();const he=_.update=pe.run.bind(pe),De=_.job=pe.runIfDirty.bind(pe);De.i=_,De.id=_.uid,pe.scheduler=()=>Mu(De),Lo(_,!0),he();},Pe=(_,E,U)=>{E.component=_;const q=_.vnode.props;_.vnode=E,_.next=null,z0(_,E.props,q,U),G0(_,E.children,U),Io(),Xc(_),Do();},$e=(_,E,U,q,J,ie,ye,ue,pe=!1)=>{const he=_&&_.children,De=_?_.shapeFlag:0,Y=E.children,{patchFlag:ke,shapeFlag:g}=E;if(ke>0){if(ke&128){nt(he,Y,U,q,J,ie,ye,ue,pe);return}else if(ke&256){Ve(he,Y,U,q,J,ie,ye,ue,pe);return}}g&8?(De&16&&ht(he,J,ie),Y!==he&&u(U,Y)):De&16?g&16?nt(he,Y,U,q,J,ie,ye,ue,pe):ht(he,J,ie,!0):(De&8&&u(U,""),g&16&&ge(Y,U,q,J,ie,ye,ue,pe));},Ve=(_,E,U,q,J,ie,ye,ue,pe)=>{_=_||ms,E=E||ms;const he=_.length,De=E.length,Y=Math.min(he,De);let ke;for(ke=0;ke<Y;ke++){const g=E[ke]=pe?co(E[ke]):Sn(E[ke]);C(_[ke],g,U,null,J,ie,ye,ue,pe);}he>De?ht(_,J,ie,!0,!1,Y):ge(E,U,q,J,ie,ye,ue,pe,Y);},nt=(_,E,U,q,J,ie,ye,ue,pe)=>{let he=0;const De=E.length;let Y=_.length-1,ke=De-1;for(;he<=Y&&he<=ke;){const g=_[he],v=E[he]=pe?co(E[he]):Sn(E[he]);if(fo(g,v))C(g,v,U,null,J,ie,ye,ue,pe);else break;he++;}for(;he<=Y&&he<=ke;){const g=_[Y],v=E[ke]=pe?co(E[ke]):Sn(E[ke]);if(fo(g,v))C(g,v,U,null,J,ie,ye,ue,pe);else break;Y--,ke--;}if(he>Y){if(he<=ke){const g=ke+1,v=g<De?E[g].el:q;for(;he<=ke;)C(null,E[he]=pe?co(E[he]):Sn(E[he]),U,v,J,ie,ye,ue,pe),he++;}}else if(he>ke)for(;he<=Y;)M(_[he],J,ie,!0),he++;else {const g=he,v=he,k=new Map;for(he=v;he<=ke;he++){const Be=E[he]=pe?co(E[he]):Sn(E[he]);Be.key!=null&&k.set(Be.key,he);}let P,V=0;const A=ke-v+1;let te=!1,X=0;const fe=new Array(A);for(he=0;he<A;he++)fe[he]=0;for(he=g;he<=Y;he++){const Be=_[he];if(V>=A){M(Be,J,ie,!0);continue}let Ee;if(Be.key!=null)Ee=k.get(Be.key);else for(P=v;P<=ke;P++)if(fe[P-v]===0&&fo(Be,E[P])){Ee=P;break}Ee===void 0?M(Be,J,ie,!0):(fe[Ee-v]=he+1,Ee>=X?X=Ee:te=!0,C(Be,E[Ee],U,null,J,ie,ye,ue,pe),V++);}const Fe=te?X0(fe):ms;for(P=Fe.length-1,he=A-1;he>=0;he--){const Be=v+he,Ee=E[Be],Ke=Be+1<De?E[Be+1].el:q;fe[he]===0?C(null,Ee,U,Ke,J,ie,ye,ue,pe):te&&(P<0||he!==Fe[P]?_e(Ee,U,Ke,2):P--);}}},_e=(_,E,U,q,J=null)=>{const{el:ie,type:ye,transition:ue,children:pe,shapeFlag:he}=_;if(he&6){_e(_.component.subTree,E,U,q);return}if(he&128){_.suspense.move(E,U,q);return}if(he&64){ye.move(_,E,U,Q);return}if(ye===Le){o(ie,E,U);for(let Y=0;Y<pe.length;Y++)_e(pe[Y],E,U,q);o(_.anchor,E,U);return}if(ye===cr){T(_,E,U);return}if(q!==2&&he&1&&ue)if(q===0)ue.beforeEnter(ie),o(ie,E,U),un(()=>ue.enter(ie),J);else {const{leave:Y,delayLeave:ke,afterLeave:g}=ue,v=()=>o(ie,E,U),k=()=>{Y(ie,()=>{v(),g&&g();});};ke?ke(ie,v,k):k();}else o(ie,E,U);},M=(_,E,U,q=!1,J=!1)=>{const{type:ie,props:ye,ref:ue,children:pe,dynamicChildren:he,shapeFlag:De,patchFlag:Y,dirs:ke,cacheIndex:g}=_;if(Y===-2&&(J=!1),ue!=null&&xl(ue,null,U,_,!0),g!=null&&(E.renderCache[g]=void 0),De&256){E.ctx.deactivate(_);return}const v=De&1&&ke,k=!bs(_);let P;if(k&&(P=ye&&ye.onVnodeBeforeUnmount)&&Mn(P,E,_),De&6)Ie(_.component,U,q);else {if(De&128){_.suspense.unmount(U,q);return}v&&Mo(_,null,E,"beforeUnmount"),De&64?_.type.remove(_,E,U,Q,q):he&&!he.hasOnce&&(ie!==Le||Y>0&&Y&64)?ht(he,E,U,!1,!0):(ie===Le&&Y&384||!J&&De&16)&&ht(pe,E,U),q&&ze(_);}(k&&(P=ye&&ye.onVnodeUnmounted)||v)&&un(()=>{P&&Mn(P,E,_),v&&Mo(_,null,E,"unmounted");},U);},ze=_=>{const{type:E,el:U,anchor:q,transition:J}=_;if(E===Le){pt(U,q);return}if(E===cr){D(_);return}const ie=()=>{s(U),J&&!J.persisted&&J.afterLeave&&J.afterLeave();};if(_.shapeFlag&1&&J&&!J.persisted){const{leave:ye,delayLeave:ue}=J,pe=()=>ye(U,ie);ue?ue(_.el,ie,pe):pe();}else ie();},pt=(_,E)=>{let U;for(;_!==E;)U=m(_),s(_),_=U;s(E);},Ie=(_,E,U)=>{const{bum:q,scope:J,job:ie,subTree:ye,um:ue,m:pe,a:he}=_;id(pe),id(he),q&&ur(q),J.stop(),ie&&(ie.flags|=8,M(ye,_,E,U)),ue&&un(ue,E),un(()=>{_.isUnmounted=!0;},E),E&&E.pendingBranch&&!E.isUnmounted&&_.asyncDep&&!_.asyncResolved&&_.suspenseId===E.pendingId&&(E.deps--,E.deps===0&&E.resolve());},ht=(_,E,U,q=!1,J=!1,ie=0)=>{for(let ye=ie;ye<_.length;ye++)M(_[ye],E,U,q,J);},xt=_=>{if(_.shapeFlag&6)return xt(_.component.subTree);if(_.shapeFlag&128)return _.suspense.next();const E=m(_.anchor||_.el),U=E&&E[C0];return U?m(U):E};let Ft=!1;const kt=(_,E,U)=>{_==null?E._vnode&&M(E._vnode,null,null,!0):C(E._vnode||null,_,E,null,null,null,U),E._vnode=_,Ft||(Ft=!0,Xc(),Gp(),Ft=!1);},Q={p:C,um:M,m:_e,r:ze,mt:de,mc:ge,pc:$e,pbc:ce,n:xt,o:e};let B,W;return {render:kt,hydrate:B,createApp:H0(kt,B)}}function Ka({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Lo({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5);}function Q0(e,t){return (!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ph(e,t,n=!1){const o=e.children,s=t.children;if(Me(o)&&Me(s))for(let i=0;i<o.length;i++){const r=o[i];let a=s[i];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=s[i]=co(s[i]),a.el=r.el),!n&&a.patchFlag!==-2&&ph(r,a)),a.type===ca&&(a.el=r.el);}}function X0(e){const t=e.slice(),n=[0];let o,s,i,r,a;const l=e.length;for(o=0;o<l;o++){const c=e[o];if(c!==0){if(s=n[n.length-1],e[s]<c){t[o]=s,n.push(o);continue}for(i=0,r=n.length-1;i<r;)a=i+r>>1,e[n[a]]<c?i=a+1:r=a;c<e[n[i]]&&(i>0&&(t[o]=n[i-1]),n[i]=o);}}for(i=n.length,r=n[i-1];i-- >0;)n[i]=r,r=t[r];return n}function hh(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:hh(t)}function id(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8;}const Z0=Symbol.for("v-scx"),eC=()=>li(Z0);function Xe(e,t,n){return mh(e,t,n)}function mh(e,t,n=ut){const{immediate:o,deep:s,flush:i,once:r}=n,a=Tt({},n),l=t&&o||!t&&i!=="post";let c;if(vi){if(i==="sync"){const w=eC();c=w.__watcherHandles||(w.__watcherHandles=[]);}else if(!l){const w=()=>{};return w.stop=Un,w.resume=Un,w.pause=Un,w}}const u=Mt;a.call=(w,b,C)=>zn(w,u,b,C);let p=!1;i==="post"?a.scheduler=w=>{un(w,u&&u.suspense);}:i!=="sync"&&(p=!0,a.scheduler=(w,b)=>{b?w():Mu(w);}),a.augmentJob=w=>{t&&(w.flags|=4),p&&(w.flags|=2,u&&(w.id=u.uid,w.i=u));};const m=m0(e,t,a);return vi&&(c?c.push(m):l&&m()),m}function tC(e,t,n){const o=this.proxy,s=vt(e)?e.includes(".")?gh(o,e):()=>o[e]:e.bind(o,o);let i;je(t)?i=t:(i=t.handler,n=t);const r=Qo(this),a=mh(s,i.bind(o),n);return r(),a}function gh(e,t){const n=t.split(".");return ()=>{let o=e;for(let s=0;s<n.length&&o;s++)o=o[n[s]];return o}}const nC=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${vn(t)}Modifiers`]||e[`${Ao(t)}Modifiers`];function oC(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||ut;let s=n;const i=t.startsWith("update:"),r=i&&nC(o,t.slice(7));r&&(r.trim&&(s=n.map(u=>vt(u)?u.trim():u)),r.number&&(s=n.map(xr)));let a,l=o[a=ja(t)]||o[a=ja(vn(t))];!l&&i&&(l=o[a=ja(Ao(t))]),l&&zn(l,e,6,s);const c=o[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,zn(c,e,6,s);}}function yh(e,t,n=!1){const o=t.emitsCache,s=o.get(e);if(s!==void 0)return s;const i=e.emits;let r={},a=!1;if(!je(e)){const l=c=>{const u=yh(c,t,!0);u&&(a=!0,Tt(r,u));};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l);}return !i&&!a?(ct(e)&&o.set(e,null),null):(Me(i)?i.forEach(l=>r[l]=null):Tt(r,i),ct(e)&&o.set(e,r),r)}function ua(e,t){return !e||!ta(t)?!1:(t=t.slice(2).replace(/Once$/,""),ot(e,t[0].toLowerCase()+t.slice(1))||ot(e,Ao(t))||ot(e,t))}function Ga(e){const{type:t,vnode:n,proxy:o,withProxy:s,propsOptions:[i],slots:r,attrs:a,emit:l,render:c,renderCache:u,props:p,data:m,setupState:w,ctx:b,inheritAttrs:C}=e,F=Er(e);let O,R;try{if(n.shapeFlag&4){const D=s||o,N=D;O=Sn(c.call(N,D,u,p,w,m,b)),R=a;}else {const D=t;O=Sn(D.length>1?D(p,{attrs:a,slots:r,emit:l}):D(p,null)),R=t.props?a:iC(a);}}catch(D){ui.length=0,Ni(D,e,1),O=me(qn);}let T=O;if(R&&C!==!1){const D=Object.keys(R),{shapeFlag:N}=T;D.length&&N&7&&(i&&D.some(_u)&&(R=rC(R,i)),T=Is(T,R,!1,!0));}return n.dirs&&(T=Is(T,null,!1,!0),T.dirs=T.dirs?T.dirs.concat(n.dirs):n.dirs),n.transition&&Lu(T,n.transition),O=T,Er(F),O}function sC(e,t=!0){let n;for(let o=0;o<e.length;o++){const s=e[o];if(As(s)){if(s.type!==qn||s.children==="v-if"){if(n)return;n=s;}}else return}return n}const iC=e=>{let t;for(const n in e)(n==="class"||n==="style"||ta(n))&&((t||(t={}))[n]=e[n]);return t},rC=(e,t)=>{const n={};for(const o in e)(!_u(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function aC(e,t,n){const{props:o,children:s,component:i}=e,{props:r,children:a,patchFlag:l}=t,c=i.emitsOptions;if(t.dirs||t.transition)return !0;if(n&&l>=0){if(l&1024)return !0;if(l&16)return o?rd(o,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let p=0;p<u.length;p++){const m=u[p];if(r[m]!==o[m]&&!ua(c,m))return !0}}}else return (s||a)&&(!a||!a.$stable)?!0:o===r?!1:o?r?rd(o,r,c):!0:!!r;return !1}function rd(e,t,n){const o=Object.keys(t);if(o.length!==Object.keys(e).length)return !0;for(let s=0;s<o.length;s++){const i=o[s];if(t[i]!==e[i]&&!ua(n,i))return !0}return !1}function Uu({vnode:e,parent:t},n){for(;t;){const o=t.subTree;if(o.suspense&&o.suspense.activeBranch===e&&(o.el=e.el),o===e)(e=t.vnode).el=n,t=t.parent;else break}}const wh=e=>e.__isSuspense;let Pl=0;const lC={name:"Suspense",__isSuspense:!0,process(e,t,n,o,s,i,r,a,l,c){if(e==null)uC(t,n,o,s,i,r,a,l,c);else {if(i&&i.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}cC(e,t,n,o,s,r,a,l,c);}},hydrate:dC,normalize:fC},bh=lC;function bi(e,t){const n=e.props&&e.props[t];je(n)&&n();}function uC(e,t,n,o,s,i,r,a,l){const{p:c,o:{createElement:u}}=l,p=u("div"),m=e.suspense=vh(e,s,o,t,p,n,i,r,a,l);c(null,m.pendingBranch=e.ssContent,p,null,o,m,i,r),m.deps>0?(bi(e,"onPending"),bi(e,"onFallback"),c(null,e.ssFallback,t,n,o,null,i,r),Cs(m,e.ssFallback)):m.resolve(!1,!0);}function cC(e,t,n,o,s,i,r,a,{p:l,um:c,o:{createElement:u}}){const p=t.suspense=e.suspense;p.vnode=t,t.el=e.el;const m=t.ssContent,w=t.ssFallback,{activeBranch:b,pendingBranch:C,isInFallback:F,isHydrating:O}=p;if(C)p.pendingBranch=m,fo(m,C)?(l(C,m,p.hiddenContainer,null,s,p,i,r,a),p.deps<=0?p.resolve():F&&(O||(l(b,w,n,o,s,null,i,r,a),Cs(p,w)))):(p.pendingId=Pl++,O?(p.isHydrating=!1,p.activeBranch=C):c(C,s,p),p.deps=0,p.effects.length=0,p.hiddenContainer=u("div"),F?(l(null,m,p.hiddenContainer,null,s,p,i,r,a),p.deps<=0?p.resolve():(l(b,w,n,o,s,null,i,r,a),Cs(p,w))):b&&fo(m,b)?(l(b,m,n,o,s,p,i,r,a),p.resolve(!0)):(l(null,m,p.hiddenContainer,null,s,p,i,r,a),p.deps<=0&&p.resolve()));else if(b&&fo(m,b))l(b,m,n,o,s,p,i,r,a),Cs(p,m);else if(bi(t,"onPending"),p.pendingBranch=m,m.shapeFlag&512?p.pendingId=m.component.suspenseId:p.pendingId=Pl++,l(null,m,p.hiddenContainer,null,s,p,i,r,a),p.deps<=0)p.resolve();else {const{timeout:R,pendingId:T}=p;R>0?setTimeout(()=>{p.pendingId===T&&p.fallback(w);},R):R===0&&p.fallback(w);}}function vh(e,t,n,o,s,i,r,a,l,c,u=!1){const{p,m,um:w,n:b,o:{parentNode:C,remove:F}}=c;let O;const R=hC(e);R&&t&&t.pendingBranch&&(O=t.pendingId,t.deps++);const T=e.props?E1(e.props.timeout):void 0,D=i,N={vnode:e,parent:t,parentComponent:n,namespace:r,container:o,hiddenContainer:s,deps:0,pendingId:Pl++,timeout:typeof T=="number"?T:-1,activeBranch:null,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:!1,effects:[],resolve(z=!1,G=!1){const{vnode:ge,activeBranch:we,pendingBranch:ce,pendingId:H,effects:j,parentComponent:ee,container:de}=N;let Ce=!1;N.isHydrating?N.isHydrating=!1:z||(Ce=we&&ce.transition&&ce.transition.mode==="out-in",Ce&&(we.transition.afterLeave=()=>{H===N.pendingId&&(m(ce,de,i===D?b(we):i,0),_l(j));}),we&&(C(we.el)===de&&(i=b(we)),w(we,ee,N,!0)),Ce||m(ce,de,i,0)),Cs(N,ce),N.pendingBranch=null,N.isInFallback=!1;let Se=N.parent,Pe=!1;for(;Se;){if(Se.pendingBranch){Se.effects.push(...j),Pe=!0;break}Se=Se.parent;}!Pe&&!Ce&&_l(j),N.effects=[],R&&t&&t.pendingBranch&&O===t.pendingId&&(t.deps--,t.deps===0&&!G&&t.resolve()),bi(ge,"onResolve");},fallback(z){if(!N.pendingBranch)return;const{vnode:G,activeBranch:ge,parentComponent:we,container:ce,namespace:H}=N;bi(G,"onFallback");const j=b(ge),ee=()=>{N.isInFallback&&(p(null,z,ce,j,we,null,H,a,l),Cs(N,z));},de=z.transition&&z.transition.mode==="out-in";de&&(ge.transition.afterLeave=ee),N.isInFallback=!0,w(ge,we,null,!0),de||ee();},move(z,G,ge){N.activeBranch&&m(N.activeBranch,z,G,ge),N.container=z;},next(){return N.activeBranch&&b(N.activeBranch)},registerDep(z,G,ge){const we=!!N.pendingBranch;we&&N.deps++;const ce=z.vnode.el;z.asyncDep.catch(H=>{Ni(H,z,0);}).then(H=>{if(z.isUnmounted||N.isUnmounted||N.pendingId!==z.suspenseId)return;z.asyncResolved=!0;const{vnode:j}=z;Dl(z,H,!1),ce&&(j.el=ce);const ee=!ce&&z.subTree.el;G(z,j,C(ce||z.subTree.el),ce?null:b(z.subTree),N,r,ge),ee&&F(ee),Uu(z,j.el),we&&--N.deps===0&&N.resolve();});},unmount(z,G){N.isUnmounted=!0,N.activeBranch&&w(N.activeBranch,n,z,G),N.pendingBranch&&w(N.pendingBranch,n,z,G);}};return N}function dC(e,t,n,o,s,i,r,a,l){const c=t.suspense=vh(t,o,n,e.parentNode,document.createElement("div"),null,s,i,r,a,!0),u=l(e,c.pendingBranch=t.ssContent,n,c,i,r);return c.deps===0&&c.resolve(!1,!0),u}function fC(e){const{shapeFlag:t,children:n}=e,o=t&32;e.ssContent=ad(o?n.default:n),e.ssFallback=o?ad(n.fallback):me(qn);}function ad(e){let t;if(je(e)){const n=Ps&&e._c;n&&(e._d=!1,S()),e=e(),n&&(e._d=!0,t=rn,Ch());}return Me(e)&&(e=sC(e)),e=Sn(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function pC(e,t){t&&t.pendingBranch?Me(e)?t.effects.push(...e):t.effects.push(e):_l(e);}function Cs(e,t){e.activeBranch=t;const{vnode:n,parentComponent:o}=e;let s=t.el;for(;!s&&t.component;)t=t.component.subTree,s=t.el;n.el=s,o&&o.subTree===n&&(o.vnode.el=s,Uu(o,s));}function hC(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const Le=Symbol.for("v-fgt"),ca=Symbol.for("v-txt"),qn=Symbol.for("v-cmt"),cr=Symbol.for("v-stc"),ui=[];let rn=null;function S(e=!1){ui.push(rn=e?null:[]);}function Ch(){ui.pop(),rn=ui[ui.length-1]||null;}let Ps=1;function ld(e){Ps+=e,e<0&&rn&&(rn.hasOnce=!0);}function _h(e){return e.dynamicChildren=Ps>0?rn||ms:null,Ch(),Ps>0&&rn&&rn.push(e),e}function I(e,t,n,o,s,i){return _h(d(e,t,n,o,s,i,!0))}function it(e,t,n,o,s){return _h(me(e,t,n,o,s,!0))}function As(e){return e?e.__v_isVNode===!0:!1}function fo(e,t){return e.type===t.type&&e.key===t.key}const xh=({key:e})=>e??null,dr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?vt(e)||Dt(e)||je(e)?{i:It,r:e,k:t,f:!!n}:e:null);function d(e,t=null,n=null,o=0,s=null,i=e===Le?0:1,r=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&xh(t),ref:t&&dr(t),scopeId:aa,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:It};return a?(ju(l,n),i&128&&e.normalize(l)):n&&(l.shapeFlag|=vt(n)?8:16),Ps>0&&!r&&rn&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&rn.push(l),l}const me=mC;function mC(e,t=null,n=null,o=0,s=null,i=!1){if((!e||e===eh)&&(e=qn),As(e)){const a=Is(e,t,!0);return n&&ju(a,n),Ps>0&&!i&&rn&&(a.shapeFlag&6?rn[rn.indexOf(e)]=a:rn.push(a)),a.patchFlag=-2,a}if(SC(e)&&(e=e.__vccOpts),t){t=kh(t);let{class:a,style:l}=t;a&&!vt(a)&&(t.class=Ne(a)),ct(l)&&(Ou(l)&&!Me(l)&&(l=Tt({},l)),t.style=jn(l));}const r=vt(e)?1:wh(e)?128:_0(e)?64:ct(e)?4:je(e)?2:0;return d(e,t,n,o,s,r,i,!0)}function kh(e){return e?Ou(e)||rh(e)?Tt({},e):e:null}function Is(e,t,n=!1,o=!1){const{props:s,ref:i,patchFlag:r,children:a,transition:l}=e,c=t?Hu(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&xh(c),ref:t&&t.ref?n&&i?Me(i)?i.concat(dr(t)):[i,dr(t)]:dr(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Le?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Is(e.ssContent),ssFallback:e.ssFallback&&Is(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Lu(u,l.clone(u)),u}function L(e=" ",t=0){return me(ca,null,e,t)}function Sh(e,t){const n=me(cr,null,e);return n.staticCount=t,n}function be(e="",t=!1){return t?(S(),it(qn,null,e)):me(qn,null,e)}function Sn(e){return e==null||typeof e=="boolean"?me(qn):Me(e)?me(Le,null,e.slice()):As(e)?co(e):me(ca,null,String(e))}function co(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Is(e)}function ju(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Me(t))n=16;else if(typeof t=="object")if(o&65){const s=t.default;s&&(s._c&&(s._d=!1),ju(e,s()),s._c&&(s._d=!0));return}else {n=32;const s=t._;!s&&!rh(t)?t._ctx=It:s===3&&It&&(It.slots._===1?t._=1:(t._=2,e.patchFlag|=1024));}else je(t)?(t={default:t,_ctx:It},n=32):(t=String(t),o&64?(n=16,t=[L(t)]):n=8);e.children=t,e.shapeFlag|=n;}function Hu(...e){const t={};for(let n=0;n<e.length;n++){const o=e[n];for(const s in o)if(s==="class")t.class!==o.class&&(t.class=Ne([t.class,o.class]));else if(s==="style")t.style=jn([t.style,o.style]);else if(ta(s)){const i=t[s],r=o[s];r&&i!==r&&!(Me(i)&&i.includes(r))&&(t[s]=i?[].concat(i,r):r);}else s!==""&&(t[s]=o[s]);}return t}function Mn(e,t,n,o=null){zn(e,t,7,[n,o]);}const gC=oh();let yC=0;function wC(e,t,n){const o=e.type,s=(t?t.appContext:e.appContext)||gC,i={uid:yC++,vnode:e,type:o,parent:t,appContext:s,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new B1(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(s.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:lh(o,s),emitsOptions:yh(o,s),emit:null,emitted:null,propsDefaults:ut,inheritAttrs:o.inheritAttrs,ctx:ut,data:ut,props:ut,attrs:ut,slots:ut,refs:ut,setupState:ut,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=oC.bind(null,i),e.ce&&e.ce(i),i}let Mt=null;const bC=()=>Mt||It;let Ar,Al;{const e=sa(),t=(n,o)=>{let s;return (s=e[n])||(s=e[n]=[]),s.push(o),i=>{s.length>1?s.forEach(r=>r(i)):s[0](i);}};Ar=t("__VUE_INSTANCE_SETTERS__",n=>Mt=n),Al=t("__VUE_SSR_SETTERS__",n=>vi=n);}const Qo=e=>{const t=Mt;return Ar(e),e.scope.on(),()=>{e.scope.off(),Ar(t);}},Il=()=>{Mt&&Mt.scope.off(),Ar(null);};function $h(e){return e.vnode.shapeFlag&4}let vi=!1;function vC(e,t=!1,n=!1){t&&Al(t);const{props:o,children:s}=e.vnode,i=$h(e);V0(e,o,i,t),K0(e,s,n);const r=i?CC(e,t):void 0;return t&&Al(!1),r}function CC(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,L0);const{setup:o}=n;if(o){Io();const s=e.setupContext=o.length>1?xC(e):null,i=Qo(e),r=Fi(o,e,0,[e.props,s]),a=ku(r);if(Do(),i(),(a||e.sp)&&!bs(e)&&Yp(e),a){if(r.then(Il,Il),t)return r.then(l=>{Dl(e,l,t);}).catch(l=>{Ni(l,e,0);});e.asyncDep=r;}else Dl(e,r,t);}else Eh(e,t);}function Dl(e,t,n){je(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ct(t)&&(e.setupState=zp(t)),Eh(e,n);}let ud;function Eh(e,t,n){const o=e.type;if(!e.render){if(!t&&ud&&!o.render){const s=o.template||Fu(e).template;if(s){const{isCustomElement:i,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:l}=o,c=Tt(Tt({isCustomElement:i,delimiters:a},r),l);o.render=ud(s,c);}}e.render=o.render||Un;}{const s=Qo(e);Io();try{B0(e);}finally{Do(),s();}}}const _C={get(e,t){return Ut(e,"get",""),e[t]}};function xC(e){const t=n=>{e.exposed=n||{};};return {attrs:new Proxy(e.attrs,_C),slots:e.slots,emit:e.emit,expose:t}}function da(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(zp(s0(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in ai)return ai[n](e)},has(t,n){return n in t||n in ai}})):e.proxy}function kC(e,t=!0){return je(e)?e.displayName||e.name:e.name||t&&e.__name}function SC(e){return je(e)&&"__vccOpts"in e}const rt=(e,t)=>p0(e,t,vi);function $C(e,t,n){const o=arguments.length;return o===2?ct(t)&&!Me(t)?As(t)?me(e,null,[t]):me(e,t):me(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&As(n)&&(n=[n]),me(e,t,n))}const EC="3.5.12";/**
  * @vue/runtime-dom v3.5.12
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
  * @license MIT
  **/let Tl;const cd=typeof window<"u"&&window.trustedTypes;if(cd)try{Tl=cd.createPolicy("vue",{createHTML:e=>e});}catch{}const Ph=Tl?e=>Tl.createHTML(e):e=>e,PC="http://www.w3.org/2000/svg",AC="http://www.w3.org/1998/Math/MathML",Yn=typeof document<"u"?document:null,dd=Yn&&Yn.createElement("template"),IC={insert:(e,t,n)=>{t.insertBefore(e,n||null);},remove:e=>{const t=e.parentNode;t&&t.removeChild(e);},createElement:(e,t,n,o)=>{const s=t==="svg"?Yn.createElementNS(PC,e):t==="mathml"?Yn.createElementNS(AC,e):n?Yn.createElement(e,{is:n}):Yn.createElement(e);return e==="select"&&o&&o.multiple!=null&&s.setAttribute("multiple",o.multiple),s},createText:e=>Yn.createTextNode(e),createComment:e=>Yn.createComment(e),setText:(e,t)=>{e.nodeValue=t;},setElementText:(e,t)=>{e.textContent=t;},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Yn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"");},insertStaticContent(e,t,n,o,s,i){const r=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else {dd.innerHTML=Ph(o==="svg"?`<svg>${e}</svg>`:o==="mathml"?`<math>${e}</math>`:e);const a=dd.content;if(o==="svg"||o==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l);}t.insertBefore(a,n);}return [r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},DC=Symbol("_vtc");function TC(e,t,n){const o=e[DC];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t;}const Ir=Symbol("_vod"),Ah=Symbol("_vsh"),Gt={beforeMount(e,{value:t},{transition:n}){e[Ir]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Ys(e,t);},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e);},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),Ys(e,!0),o.enter(e)):o.leave(e,()=>{Ys(e,!1);}):Ys(e,t));},beforeUnmount(e,{value:t}){Ys(e,t);}};function Ys(e,t){e.style.display=t?e[Ir]:"none",e[Ah]=!t;}const OC=Symbol(""),MC=/(^|;)\s*display\s*:/;function LC(e,t,n){const o=e.style,s=vt(n);let i=!1;if(n&&!s){if(t)if(vt(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();n[a]==null&&fr(o,a,"");}else for(const r in t)n[r]==null&&fr(o,r,"");for(const r in n)r==="display"&&(i=!0),fr(o,r,n[r]);}else if(s){if(t!==n){const r=o[OC];r&&(n+=";"+r),o.cssText=n,i=MC.test(n);}}else t&&e.removeAttribute("style");Ir in e&&(e[Ir]=i?o.display:"",e[Ah]&&(o.display="none"));}const fd=/\s*!important$/;function fr(e,t,n){if(Me(n))n.forEach(o=>fr(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else {const o=BC(e,t);fd.test(n)?e.setProperty(Ao(o),n.replace(fd,""),"important"):e[o]=n;}}const pd=["Webkit","Moz","ms"],Ja={};function BC(e,t){const n=Ja[t];if(n)return n;let o=vn(t);if(o!=="filter"&&o in e)return Ja[t]=o;o=oa(o);for(let s=0;s<pd.length;s++){const i=pd[s]+o;if(i in e)return Ja[t]=i}return t}const hd="http://www.w3.org/1999/xlink";function md(e,t,n,o,s,i=M1(t)){o&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(hd,t.slice(6,t.length)):e.setAttributeNS(hd,t,n):n==null||i&&!$p(n)?e.removeAttribute(t):e.setAttribute(t,i?"":Dn(n)?String(n):n);}function gd(e,t,n,o,s){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Ph(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const a=i==="OPTION"?e.getAttribute("value")||"":e.value,l=n==null?e.type==="checkbox"?"on":"":String(n);(a!==l||!("_value"in e))&&(e.value=l),n==null&&e.removeAttribute(t),e._value=n;return}let r=!1;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=$p(n):n==null&&a==="string"?(n="",r=!0):a==="number"&&(n=0,r=!0);}try{e[t]=n;}catch{}r&&e.removeAttribute(s||t);}function Zn(e,t,n,o){e.addEventListener(t,n,o);}function RC(e,t,n,o){e.removeEventListener(t,n,o);}const yd=Symbol("_vei");function FC(e,t,n,o,s=null){const i=e[yd]||(e[yd]={}),r=i[t];if(o&&r)r.value=o;else {const[a,l]=NC(t);if(o){const c=i[t]=HC(o,s);Zn(e,a,c,l);}else r&&(RC(e,a,r,l),i[t]=void 0);}}const wd=/(?:Once|Passive|Capture)$/;function NC(e){let t;if(wd.test(e)){t={};let o;for(;o=e.match(wd);)e=e.slice(0,e.length-o[0].length),t[o[0].toLowerCase()]=!0;}return [e[2]===":"?e.slice(3):Ao(e.slice(2)),t]}let Ya=0;const UC=Promise.resolve(),jC=()=>Ya||(UC.then(()=>Ya=0),Ya=Date.now());function HC(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;zn(VC(o,n.value),t,5,[o]);};return n.value=e,n.attached=jC(),n}function VC(e,t){if(Me(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0;},t.map(o=>s=>!s._stopped&&o&&o(s))}else return t}const bd=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,zC=(e,t,n,o,s,i)=>{const r=s==="svg";t==="class"?TC(e,o,r):t==="style"?LC(e,n,o):ta(t)?_u(t)||FC(e,t,n,o,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):qC(e,t,o,r))?(gd(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&md(e,t,o,r,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!vt(o))?gd(e,vn(t),o,i,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),md(e,t,o,r));};function qC(e,t,n,o){if(o)return !!(t==="innerHTML"||t==="textContent"||t in e&&bd(t)&&je(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return !1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return !1}return bd(t)&&vt(n)?!1:t in e}const xo=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Me(t)?n=>ur(t,n):t};function WC(e){e.target.composing=!0;}function vd(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")));}const wn=Symbol("_assign"),We={created(e,{modifiers:{lazy:t,trim:n,number:o}},s){e[wn]=xo(s);const i=o||s.props&&s.props.type==="number";Zn(e,t?"change":"input",r=>{if(r.target.composing)return;let a=e.value;n&&(a=a.trim()),i&&(a=xr(a)),e[wn](a);}),n&&Zn(e,"change",()=>{e.value=e.value.trim();}),t||(Zn(e,"compositionstart",WC),Zn(e,"compositionend",vd),Zn(e,"change",vd));},mounted(e,{value:t}){e.value=t??"";},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:o,trim:s,number:i}},r){if(e[wn]=xo(r),e.composing)return;const a=(i||e.type==="number")&&!/^0\d/.test(e.value)?xr(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(o&&t===n||s&&e.value.trim()===l)||(e.value=l));}},Ae={deep:!0,created(e,t,n){e[wn]=xo(n),Zn(e,"change",()=>{const o=e._modelValue,s=Ds(e),i=e.checked,r=e[wn];if(Me(o)){const a=$u(o,s),l=a!==-1;if(i&&!l)r(o.concat(s));else if(!i&&l){const c=[...o];c.splice(a,1),r(c);}}else if(Rs(o)){const a=new Set(o);i?a.add(s):a.delete(s),r(a);}else r(Dh(e,i));});},mounted:Cd,beforeUpdate(e,t,n){e[wn]=xo(n),Cd(e,t,n);}};function Cd(e,{value:t,oldValue:n},o){e._modelValue=t;let s;if(Me(t))s=$u(t,o.props.value)>-1;else if(Rs(t))s=t.has(o.props.value);else {if(t===n)return;s=Go(t,Dh(e,!0));}e.checked!==s&&(e.checked=s);}const Ih={created(e,{value:t},n){e.checked=Go(t,n.props.value),e[wn]=xo(n),Zn(e,"change",()=>{e[wn](Ds(e));});},beforeUpdate(e,{value:t,oldValue:n},o){e[wn]=xo(o),t!==n&&(e.checked=Go(t,o.props.value));}},Tn={deep:!0,created(e,{value:t,modifiers:{number:n}},o){const s=Rs(t);Zn(e,"change",()=>{const i=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?xr(Ds(r)):Ds(r));e[wn](e.multiple?s?new Set(i):i:i[0]),e._assigning=!0,Yo(()=>{e._assigning=!1;});}),e[wn]=xo(o);},mounted(e,{value:t}){_d(e,t);},beforeUpdate(e,t,n){e[wn]=xo(n);},updated(e,{value:t}){e._assigning||_d(e,t);}};function _d(e,t){const n=e.multiple,o=Me(t);if(!(n&&!o&&!Rs(t))){for(let s=0,i=e.options.length;s<i;s++){const r=e.options[s],a=Ds(r);if(n)if(o){const l=typeof a;l==="string"||l==="number"?r.selected=t.some(c=>String(c)===String(a)):r.selected=$u(t,a)>-1;}else r.selected=t.has(a);else if(Go(Ds(r),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1);}}function Ds(e){return "_value"in e?e._value:e.value}function Dh(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const KC={created(e,t,n){Zi(e,t,n,null,"created");},mounted(e,t,n){Zi(e,t,n,null,"mounted");},beforeUpdate(e,t,n,o){Zi(e,t,n,o,"beforeUpdate");},updated(e,t,n,o){Zi(e,t,n,o,"updated");}};function GC(e,t){switch(e){case"SELECT":return Tn;case"TEXTAREA":return We;default:switch(t){case"checkbox":return Ae;case"radio":return Ih;default:return We}}}function Zi(e,t,n,o,s){const r=GC(e.tagName,n.props&&n.props.type)[s];r&&r(e,t,n,o);}const JC=["ctrl","shift","alt","meta"],YC={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>JC.some(n=>e[`${n}Key`]&&!t.includes(n))},mn=(e,t)=>{const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(s,...i)=>{for(let r=0;r<t.length;r++){const a=YC[t[r]];if(a&&a(s,t))return}return e(s,...i)})},QC={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Th=(e,t)=>{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=s=>{if(!("key"in s))return;const i=Ao(s.key);if(t.some(r=>r===i||QC[r]===i))return e(s)})},XC=Tt({patchProp:zC},IC);let xd;function ZC(){return xd||(xd=J0(XC))}const Gn=(...e)=>{const t=ZC().createApp(...e),{mount:n}=t;return t.mount=o=>{const s=t_(o);if(!s)return;const i=t._component;!je(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const r=n(s,!1,e_(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),r},t};function e_(e){if(e instanceof SVGElement)return "svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return "mathml"}function t_(e){return vt(e)?document.querySelector(e):e}const n_=["top","right","bottom","left"],kd=["start","end"],Sd=n_.reduce((e,t)=>e.concat(t,t+"-"+kd[0],t+"-"+kd[1]),[]),Ci=Math.min,Fo=Math.max,o_={left:"right",right:"left",bottom:"top",top:"bottom"},s_={start:"end",end:"start"};function Ol(e,t,n){return Fo(e,Ci(t,n))}function os(e,t){return typeof e=="function"?e(t):e}function Wn(e){return e.split("-")[0]}function In(e){return e.split("-")[1]}function Oh(e){return e==="x"?"y":"x"}function Vu(e){return e==="y"?"height":"width"}function Xo(e){return ["top","bottom"].includes(Wn(e))?"y":"x"}function zu(e){return Oh(Xo(e))}function Mh(e,t,n){n===void 0&&(n=!1);const o=In(e),s=zu(e),i=Vu(s);let r=s==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(r=Tr(r)),[r,Tr(r)]}function i_(e){const t=Tr(e);return [Dr(e),t,Dr(t)]}function Dr(e){return e.replace(/start|end/g,t=>s_[t])}function r_(e,t,n){const o=["left","right"],s=["right","left"],i=["top","bottom"],r=["bottom","top"];switch(e){case"top":case"bottom":return n?t?s:o:t?o:s;case"left":case"right":return t?i:r;default:return []}}function a_(e,t,n,o){const s=In(e);let i=r_(Wn(e),n==="start",o);return s&&(i=i.map(r=>r+"-"+s),t&&(i=i.concat(i.map(Dr)))),i}function Tr(e){return e.replace(/left|right|bottom|top/g,t=>o_[t])}function l_(e){return {top:0,right:0,bottom:0,left:0,...e}}function Lh(e){return typeof e!="number"?l_(e):{top:e,right:e,bottom:e,left:e}}function ci(e){const{x:t,y:n,width:o,height:s}=e;return {width:o,height:s,top:n,left:t,right:t+o,bottom:n+s,x:t,y:n}}function $d(e,t,n){let{reference:o,floating:s}=e;const i=Xo(t),r=zu(t),a=Vu(r),l=Wn(t),c=i==="y",u=o.x+o.width/2-s.width/2,p=o.y+o.height/2-s.height/2,m=o[a]/2-s[a]/2;let w;switch(l){case"top":w={x:u,y:o.y-s.height};break;case"bottom":w={x:u,y:o.y+o.height};break;case"right":w={x:o.x+o.width,y:p};break;case"left":w={x:o.x-s.width,y:p};break;default:w={x:o.x,y:o.y};}switch(In(t)){case"start":w[r]-=m*(n&&c?-1:1);break;case"end":w[r]+=m*(n&&c?-1:1);break}return w}const u_=async(e,t,n)=>{const{placement:o="bottom",strategy:s="absolute",middleware:i=[],platform:r}=n,a=i.filter(Boolean),l=await(r.isRTL==null?void 0:r.isRTL(t));let c=await r.getElementRects({reference:e,floating:t,strategy:s}),{x:u,y:p}=$d(c,o,l),m=o,w={},b=0;for(let C=0;C<a.length;C++){const{name:F,fn:O}=a[C],{x:R,y:T,data:D,reset:N}=await O({x:u,y:p,initialPlacement:o,placement:m,strategy:s,middlewareData:w,rects:c,platform:r,elements:{reference:e,floating:t}});u=R??u,p=T??p,w={...w,[F]:{...w[F],...D}},N&&b<=50&&(b++,typeof N=="object"&&(N.placement&&(m=N.placement),N.rects&&(c=N.rects===!0?await r.getElementRects({reference:e,floating:t,strategy:s}):N.rects),{x:u,y:p}=$d(c,m,l)),C=-1);}return {x:u,y:p,placement:m,strategy:s,middlewareData:w}};async function fa(e,t){var n;t===void 0&&(t={});const{x:o,y:s,platform:i,rects:r,elements:a,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:p="floating",altBoundary:m=!1,padding:w=0}=os(t,e),b=Lh(w),F=a[m?p==="floating"?"reference":"floating":p],O=ci(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(F)))==null||n?F:F.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(a.floating)),boundary:c,rootBoundary:u,strategy:l})),R=p==="floating"?{x:o,y:s,width:r.floating.width,height:r.floating.height}:r.reference,T=await(i.getOffsetParent==null?void 0:i.getOffsetParent(a.floating)),D=await(i.isElement==null?void 0:i.isElement(T))?await(i.getScale==null?void 0:i.getScale(T))||{x:1,y:1}:{x:1,y:1},N=ci(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:R,offsetParent:T,strategy:l}):R);return {top:(O.top-N.top+b.top)/D.y,bottom:(N.bottom-O.bottom+b.bottom)/D.y,left:(O.left-N.left+b.left)/D.x,right:(N.right-O.right+b.right)/D.x}}const c_=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:s,rects:i,platform:r,elements:a,middlewareData:l}=t,{element:c,padding:u=0}=os(e,t)||{};if(c==null)return {};const p=Lh(u),m={x:n,y:o},w=zu(s),b=Vu(w),C=await r.getDimensions(c),F=w==="y",O=F?"top":"left",R=F?"bottom":"right",T=F?"clientHeight":"clientWidth",D=i.reference[b]+i.reference[w]-m[w]-i.floating[b],N=m[w]-i.reference[w],z=await(r.getOffsetParent==null?void 0:r.getOffsetParent(c));let G=z?z[T]:0;(!G||!await(r.isElement==null?void 0:r.isElement(z)))&&(G=a.floating[T]||i.floating[b]);const ge=D/2-N/2,we=G/2-C[b]/2-1,ce=Ci(p[O],we),H=Ci(p[R],we),j=ce,ee=G-C[b]-H,de=G/2-C[b]/2+ge,Ce=Ol(j,de,ee),Se=!l.arrow&&In(s)!=null&&de!==Ce&&i.reference[b]/2-(de<j?ce:H)-C[b]/2<0,Pe=Se?de<j?de-j:de-ee:0;return {[w]:m[w]+Pe,data:{[w]:Ce,centerOffset:de-Ce-Pe,...Se&&{alignmentOffset:Pe}},reset:Se}}});function d_(e,t,n){return (e?[...n.filter(s=>In(s)===e),...n.filter(s=>In(s)!==e)]:n.filter(s=>Wn(s)===s)).filter(s=>e?In(s)===e||(t?Dr(s)!==s:!1):!0)}const f_=function(e){return e===void 0&&(e={}),{name:"autoPlacement",options:e,async fn(t){var n,o,s;const{rects:i,middlewareData:r,placement:a,platform:l,elements:c}=t,{crossAxis:u=!1,alignment:p,allowedPlacements:m=Sd,autoAlignment:w=!0,...b}=os(e,t),C=p!==void 0||m===Sd?d_(p||null,w,m):m,F=await fa(t,b),O=((n=r.autoPlacement)==null?void 0:n.index)||0,R=C[O];if(R==null)return {};const T=Mh(R,i,await(l.isRTL==null?void 0:l.isRTL(c.floating)));if(a!==R)return {reset:{placement:C[0]}};const D=[F[Wn(R)],F[T[0]],F[T[1]]],N=[...((o=r.autoPlacement)==null?void 0:o.overflows)||[],{placement:R,overflows:D}],z=C[O+1];if(z)return {data:{index:O+1,overflows:N},reset:{placement:z}};const G=N.map(ce=>{const H=In(ce.placement);return [ce.placement,H&&u?ce.overflows.slice(0,2).reduce((j,ee)=>j+ee,0):ce.overflows[0],ce.overflows]}).sort((ce,H)=>ce[1]-H[1]),we=((s=G.filter(ce=>ce[2].slice(0,In(ce[0])?2:3).every(H=>H<=0))[0])==null?void 0:s[0])||G[0][0];return we!==a?{data:{index:O+1,overflows:N},reset:{placement:we}}:{}}}},p_=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,o;const{placement:s,middlewareData:i,rects:r,initialPlacement:a,platform:l,elements:c}=t,{mainAxis:u=!0,crossAxis:p=!0,fallbackPlacements:m,fallbackStrategy:w="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:C=!0,...F}=os(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return {};const O=Wn(s),R=Xo(a),T=Wn(a)===a,D=await(l.isRTL==null?void 0:l.isRTL(c.floating)),N=m||(T||!C?[Tr(a)]:i_(a)),z=b!=="none";!m&&z&&N.push(...a_(a,C,b,D));const G=[a,...N],ge=await fa(t,F),we=[];let ce=((o=i.flip)==null?void 0:o.overflows)||[];if(u&&we.push(ge[O]),p){const de=Mh(s,r,D);we.push(ge[de[0]],ge[de[1]]);}if(ce=[...ce,{placement:s,overflows:we}],!we.every(de=>de<=0)){var H,j;const de=(((H=i.flip)==null?void 0:H.index)||0)+1,Ce=G[de];if(Ce)return {data:{index:de,overflows:ce},reset:{placement:Ce}};let Se=(j=ce.filter(Pe=>Pe.overflows[0]<=0).sort((Pe,$e)=>Pe.overflows[1]-$e.overflows[1])[0])==null?void 0:j.placement;if(!Se)switch(w){case"bestFit":{var ee;const Pe=(ee=ce.filter($e=>{if(z){const Ve=Xo($e.placement);return Ve===R||Ve==="y"}return !0}).map($e=>[$e.placement,$e.overflows.filter(Ve=>Ve>0).reduce((Ve,nt)=>Ve+nt,0)]).sort(($e,Ve)=>$e[1]-Ve[1])[0])==null?void 0:ee[0];Pe&&(Se=Pe);break}case"initialPlacement":Se=a;break}if(s!==Se)return {reset:{placement:Se}}}return {}}}};async function h_(e,t){const{placement:n,platform:o,elements:s}=e,i=await(o.isRTL==null?void 0:o.isRTL(s.floating)),r=Wn(n),a=In(n),l=Xo(n)==="y",c=["left","top"].includes(r)?-1:1,u=i&&l?-1:1,p=os(t,e);let{mainAxis:m,crossAxis:w,alignmentAxis:b}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return a&&typeof b=="number"&&(w=a==="end"?b*-1:b),l?{x:w*u,y:m*c}:{x:m*c,y:w*u}}const m_=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:s,y:i,placement:r,middlewareData:a}=t,l=await h_(t,e);return r===((n=a.offset)==null?void 0:n.placement)&&(o=a.arrow)!=null&&o.alignmentOffset?{}:{x:s+l.x,y:i+l.y,data:{...l,placement:r}}}}},g_=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:s}=t,{mainAxis:i=!0,crossAxis:r=!1,limiter:a={fn:F=>{let{x:O,y:R}=F;return {x:O,y:R}}},...l}=os(e,t),c={x:n,y:o},u=await fa(t,l),p=Xo(Wn(s)),m=Oh(p);let w=c[m],b=c[p];if(i){const F=m==="y"?"top":"left",O=m==="y"?"bottom":"right",R=w+u[F],T=w-u[O];w=Ol(R,w,T);}if(r){const F=p==="y"?"top":"left",O=p==="y"?"bottom":"right",R=b+u[F],T=b-u[O];b=Ol(R,b,T);}const C=a.fn({...t,[m]:w,[p]:b});return {...C,data:{x:C.x-n,y:C.y-o,enabled:{[m]:i,[p]:r}}}}}},y_=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:s,rects:i,platform:r,elements:a}=t,{apply:l=()=>{},...c}=os(e,t),u=await fa(t,c),p=Wn(s),m=In(s),w=Xo(s)==="y",{width:b,height:C}=i.floating;let F,O;p==="top"||p==="bottom"?(F=p,O=m===(await(r.isRTL==null?void 0:r.isRTL(a.floating))?"start":"end")?"left":"right"):(O=p,F=m==="end"?"top":"bottom");const R=C-u.top-u.bottom,T=b-u.left-u.right,D=Ci(C-u[F],R),N=Ci(b-u[O],T),z=!t.middlewareData.shift;let G=D,ge=N;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(ge=T),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(G=R),z&&!m){const ce=Fo(u.left,0),H=Fo(u.right,0),j=Fo(u.top,0),ee=Fo(u.bottom,0);w?ge=b-2*(ce!==0||H!==0?ce+H:Fo(u.left,u.right)):G=C-2*(j!==0||ee!==0?j+ee:Fo(u.top,u.bottom));}await l({...t,availableWidth:ge,availableHeight:G});const we=await r.getDimensions(a.floating);return b!==we.width||C!==we.height?{reset:{rects:!0}}:{}}}};function gn(e){var t;return ((t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Hn(e){return gn(e).getComputedStyle(e)}const Ed=Math.min,di=Math.max,Or=Math.round;function Bh(e){const t=Hn(e);let n=parseFloat(t.width),o=parseFloat(t.height);const s=e.offsetWidth,i=e.offsetHeight,r=Or(n)!==s||Or(o)!==i;return r&&(n=s,o=i),{width:n,height:o,fallback:r}}function ko(e){return Fh(e)?(e.nodeName||"").toLowerCase():""}let er;function Rh(){if(er)return er;const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?(er=e.brands.map(t=>t.brand+"/"+t.version).join(" "),er):navigator.userAgent}function Vn(e){return e instanceof gn(e).HTMLElement}function wo(e){return e instanceof gn(e).Element}function Fh(e){return e instanceof gn(e).Node}function Pd(e){return typeof ShadowRoot>"u"?!1:e instanceof gn(e).ShadowRoot||e instanceof ShadowRoot}function pa(e){const{overflow:t,overflowX:n,overflowY:o,display:s}=Hn(e);return /auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!["inline","contents"].includes(s)}function w_(e){return ["table","td","th"].includes(ko(e))}function Ml(e){const t=/firefox/i.test(Rh()),n=Hn(e),o=n.backdropFilter||n.WebkitBackdropFilter;return n.transform!=="none"||n.perspective!=="none"||!!o&&o!=="none"||t&&n.willChange==="filter"||t&&!!n.filter&&n.filter!=="none"||["transform","perspective"].some(s=>n.willChange.includes(s))||["paint","layout","strict","content"].some(s=>{const i=n.contain;return i!=null&&i.includes(s)})}function Nh(){return !/^((?!chrome|android).)*safari/i.test(Rh())}function qu(e){return ["html","body","#document"].includes(ko(e))}function Uh(e){return wo(e)?e:e.contextElement}const jh={x:1,y:1};function _s(e){const t=Uh(e);if(!Vn(t))return jh;const n=t.getBoundingClientRect(),{width:o,height:s,fallback:i}=Bh(t);let r=(i?Or(n.width):n.width)/o,a=(i?Or(n.height):n.height)/s;return r&&Number.isFinite(r)||(r=1),a&&Number.isFinite(a)||(a=1),{x:r,y:a}}function _i(e,t,n,o){var s,i;t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),a=Uh(e);let l=jh;t&&(o?wo(o)&&(l=_s(o)):l=_s(e));const c=a?gn(a):window,u=!Nh()&&n;let p=(r.left+(u&&((s=c.visualViewport)==null?void 0:s.offsetLeft)||0))/l.x,m=(r.top+(u&&((i=c.visualViewport)==null?void 0:i.offsetTop)||0))/l.y,w=r.width/l.x,b=r.height/l.y;if(a){const C=gn(a),F=o&&wo(o)?gn(o):o;let O=C.frameElement;for(;O&&o&&F!==C;){const R=_s(O),T=O.getBoundingClientRect(),D=getComputedStyle(O);T.x+=(O.clientLeft+parseFloat(D.paddingLeft))*R.x,T.y+=(O.clientTop+parseFloat(D.paddingTop))*R.y,p*=R.x,m*=R.y,w*=R.x,b*=R.y,p+=T.x,m+=T.y,O=gn(O).frameElement;}}return {width:w,height:b,top:m,right:p+w,bottom:m+b,left:p,x:p,y:m}}function bo(e){return ((Fh(e)?e.ownerDocument:e.document)||window.document).documentElement}function ha(e){return wo(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Hh(e){return _i(bo(e)).left+ha(e).scrollLeft}function xi(e){if(ko(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Pd(e)&&e.host||bo(e);return Pd(t)?t.host:t}function Vh(e){const t=xi(e);return qu(t)?t.ownerDocument.body:Vn(t)&&pa(t)?t:Vh(t)}function Mr(e,t){var n;t===void 0&&(t=[]);const o=Vh(e),s=o===((n=e.ownerDocument)==null?void 0:n.body),i=gn(o);return s?t.concat(i,i.visualViewport||[],pa(o)?o:[]):t.concat(o,Mr(o))}function Ad(e,t,n){return t==="viewport"?ci(function(o,s){const i=gn(o),r=bo(o),a=i.visualViewport;let l=r.clientWidth,c=r.clientHeight,u=0,p=0;if(a){l=a.width,c=a.height;const m=Nh();(m||!m&&s==="fixed")&&(u=a.offsetLeft,p=a.offsetTop);}return {width:l,height:c,x:u,y:p}}(e,n)):wo(t)?ci(function(o,s){const i=_i(o,!0,s==="fixed"),r=i.top+o.clientTop,a=i.left+o.clientLeft,l=Vn(o)?_s(o):{x:1,y:1};return {width:o.clientWidth*l.x,height:o.clientHeight*l.y,x:a*l.x,y:r*l.y}}(t,n)):ci(function(o){const s=bo(o),i=ha(o),r=o.ownerDocument.body,a=di(s.scrollWidth,s.clientWidth,r.scrollWidth,r.clientWidth),l=di(s.scrollHeight,s.clientHeight,r.scrollHeight,r.clientHeight);let c=-i.scrollLeft+Hh(o);const u=-i.scrollTop;return Hn(r).direction==="rtl"&&(c+=di(s.clientWidth,r.clientWidth)-a),{width:a,height:l,x:c,y:u}}(bo(e)))}function Id(e){return Vn(e)&&Hn(e).position!=="fixed"?e.offsetParent:null}function Dd(e){const t=gn(e);let n=Id(e);for(;n&&w_(n)&&Hn(n).position==="static";)n=Id(n);return n&&(ko(n)==="html"||ko(n)==="body"&&Hn(n).position==="static"&&!Ml(n))?t:n||function(o){let s=xi(o);for(;Vn(s)&&!qu(s);){if(Ml(s))return s;s=xi(s);}return null}(e)||t}function b_(e,t,n){const o=Vn(t),s=bo(t),i=_i(e,!0,n==="fixed",t);let r={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if(o||!o&&n!=="fixed")if((ko(t)!=="body"||pa(s))&&(r=ha(t)),Vn(t)){const l=_i(t,!0);a.x=l.x+t.clientLeft,a.y=l.y+t.clientTop;}else s&&(a.x=Hh(s));return {x:i.left+r.scrollLeft-a.x,y:i.top+r.scrollTop-a.y,width:i.width,height:i.height}}const v_={getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:o,strategy:s}=e;const i=n==="clippingAncestors"?function(c,u){const p=u.get(c);if(p)return p;let m=Mr(c).filter(F=>wo(F)&&ko(F)!=="body"),w=null;const b=Hn(c).position==="fixed";let C=b?xi(c):c;for(;wo(C)&&!qu(C);){const F=Hn(C),O=Ml(C);(b?O||w:O||F.position!=="static"||!w||!["absolute","fixed"].includes(w.position))?w=F:m=m.filter(R=>R!==C),C=xi(C);}return u.set(c,m),m}(t,this._c):[].concat(n),r=[...i,o],a=r[0],l=r.reduce((c,u)=>{const p=Ad(t,u,s);return c.top=di(p.top,c.top),c.right=Ed(p.right,c.right),c.bottom=Ed(p.bottom,c.bottom),c.left=di(p.left,c.left),c},Ad(t,a,s));return {width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:o}=e;const s=Vn(n),i=bo(n);if(n===i)return t;let r={scrollLeft:0,scrollTop:0},a={x:1,y:1};const l={x:0,y:0};if((s||!s&&o!=="fixed")&&((ko(n)!=="body"||pa(i))&&(r=ha(n)),Vn(n))){const c=_i(n);a=_s(n),l.x=c.x+n.clientLeft,l.y=c.y+n.clientTop;}return {width:t.width*a.x,height:t.height*a.y,x:t.x*a.x-r.scrollLeft*a.x+l.x,y:t.y*a.y-r.scrollTop*a.y+l.y}},isElement:wo,getDimensions:function(e){return Vn(e)?Bh(e):e.getBoundingClientRect()},getOffsetParent:Dd,getDocumentElement:bo,getScale:_s,async getElementRects(e){let{reference:t,floating:n,strategy:o}=e;const s=this.getOffsetParent||Dd,i=this.getDimensions;return {reference:b_(t,await s(n),o),floating:{x:0,y:0,...await i(n)}}},getClientRects:e=>Array.from(e.getClientRects()),isRTL:e=>Hn(e).direction==="rtl"},C_=(e,t,n)=>{const o=new Map,s={platform:v_,...n},i={...s.platform,_c:o};return u_(e,t,{...s,platform:i})},zo={disabled:!1,distance:5,skidding:0,container:"body",boundary:void 0,instantMove:!1,disposeTimeout:150,popperTriggers:[],strategy:"absolute",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,autoHideOnMousedown:!1,themes:{tooltip:{placement:"top",triggers:["hover","focus","touch"],hideTriggers:e=>[...e,"click"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:"..."},dropdown:{placement:"bottom",triggers:["click"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:"dropdown",triggers:["hover","focus"],popperTriggers:["hover"],delay:{show:0,hide:400}}}};function ki(e,t){let n=zo.themes[e]||{},o;do o=n[t],typeof o>"u"?n.$extend?n=zo.themes[n.$extend]||{}:(n=null,o=zo[t]):n=null;while(n);return o}function __(e){const t=[e];let n=zo.themes[e]||{};do n.$extend&&!n.$resetCss?(t.push(n.$extend),n=zo.themes[n.$extend]||{}):n=null;while(n);return t.map(o=>`v-popper--theme-${o}`)}function Td(e){const t=[e];let n=zo.themes[e]||{};do n.$extend?(t.push(n.$extend),n=zo.themes[n.$extend]||{}):n=null;while(n);return t}let Si=!1;if(typeof window<"u"){Si=!1;try{const e=Object.defineProperty({},"passive",{get(){Si=!0;}});window.addEventListener("test",null,e);}catch{}}let zh=!1;typeof window<"u"&&typeof navigator<"u"&&(zh=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const qh=["auto","top","bottom","left","right"].reduce((e,t)=>e.concat([t,`${t}-start`,`${t}-end`]),[]),Od={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart",pointer:"pointerdown"},Md={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend",pointer:"pointerup"};function Ld(e,t){const n=e.indexOf(t);n!==-1&&e.splice(n,1);}function Qa(){return new Promise(e=>requestAnimationFrame(()=>{requestAnimationFrame(e);}))}const $n=[];let Bo=null;const Bd={};function Rd(e){let t=Bd[e];return t||(t=Bd[e]=[]),t}let Ll=function(){};typeof window<"u"&&(Ll=window.Element);function Ge(e){return function(t){return ki(t.theme,e)}}const Xa="__floating-vue__popper",Wh=()=>Te({name:"VPopper",provide(){return {[Xa]:{parentPopper:this}}},inject:{[Xa]:{default:null}},props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,default:null},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:Ge("disabled")},positioningDisabled:{type:Boolean,default:Ge("positioningDisabled")},placement:{type:String,default:Ge("placement"),validator:e=>qh.includes(e)},delay:{type:[String,Number,Object],default:Ge("delay")},distance:{type:[Number,String],default:Ge("distance")},skidding:{type:[Number,String],default:Ge("skidding")},triggers:{type:Array,default:Ge("triggers")},showTriggers:{type:[Array,Function],default:Ge("showTriggers")},hideTriggers:{type:[Array,Function],default:Ge("hideTriggers")},popperTriggers:{type:Array,default:Ge("popperTriggers")},popperShowTriggers:{type:[Array,Function],default:Ge("popperShowTriggers")},popperHideTriggers:{type:[Array,Function],default:Ge("popperHideTriggers")},container:{type:[String,Object,Ll,Boolean],default:Ge("container")},boundary:{type:[String,Ll],default:Ge("boundary")},strategy:{type:String,validator:e=>["absolute","fixed"].includes(e),default:Ge("strategy")},autoHide:{type:[Boolean,Function],default:Ge("autoHide")},handleResize:{type:Boolean,default:Ge("handleResize")},instantMove:{type:Boolean,default:Ge("instantMove")},eagerMount:{type:Boolean,default:Ge("eagerMount")},popperClass:{type:[String,Array,Object],default:Ge("popperClass")},computeTransformOrigin:{type:Boolean,default:Ge("computeTransformOrigin")},autoMinSize:{type:Boolean,default:Ge("autoMinSize")},autoSize:{type:[Boolean,String],default:Ge("autoSize")},autoMaxSize:{type:Boolean,default:Ge("autoMaxSize")},autoBoundaryMaxSize:{type:Boolean,default:Ge("autoBoundaryMaxSize")},preventOverflow:{type:Boolean,default:Ge("preventOverflow")},overflowPadding:{type:[Number,String],default:Ge("overflowPadding")},arrowPadding:{type:[Number,String],default:Ge("arrowPadding")},arrowOverflow:{type:Boolean,default:Ge("arrowOverflow")},flip:{type:Boolean,default:Ge("flip")},shift:{type:Boolean,default:Ge("shift")},shiftCrossAxis:{type:Boolean,default:Ge("shiftCrossAxis")},noAutoFocus:{type:Boolean,default:Ge("noAutoFocus")},disposeTimeout:{type:Number,default:Ge("disposeTimeout")}},emits:{show:()=>!0,hide:()=>!0,"update:shown":e=>!0,"apply-show":()=>!0,"apply-hide":()=>!0,"close-group":()=>!0,"close-directive":()=>!0,"auto-hide":()=>!0,resize:()=>!0},data(){return {isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:"",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},randomId:`popper_${[Math.random(),Date.now()].map(e=>e.toString(36).substring(2,10)).join("_")}`,shownChildren:new Set,lastAutoHide:!0,pendingHide:!1,containsGlobalTarget:!1,isDisposed:!0,mouseDownContains:!1}},computed:{popperId(){return this.ariaId!=null?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return {popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:typeof this.autoHide=="function"?this.lastAutoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:{...this.classes,popperClass:this.popperClass},result:this.positioningDisabled?null:this.result,attrs:this.$attrs}},parentPopper(){var e;return (e=this[Xa])==null?void 0:e.parentPopper},hasPopperShowTriggerHover(){var e,t;return ((e=this.popperTriggers)==null?void 0:e.includes("hover"))||((t=this.popperShowTriggers)==null?void 0:t.includes("hover"))}},watch:{shown:"$_autoShowHide",disabled(e){e?this.dispose():this.init();},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition());},triggers:{handler:"$_refreshListeners",deep:!0},positioningDisabled:"$_refreshListeners",...["placement","distance","skidding","boundary","strategy","overflowPadding","arrowPadding","preventOverflow","shift","shiftCrossAxis","flip"].reduce((e,t)=>(e[t]="$_computePosition",e),{})},created(){this.autoMinSize&&console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'),this.autoMaxSize&&console.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.");},mounted(){this.init(),this.$_detachPopperNode();},activated(){this.$_autoShowHide();},deactivated(){this.hide();},beforeUnmount(){this.dispose();},methods:{show({event:e=null,skipDelay:t=!1,force:n=!1}={}){var o,s;(o=this.parentPopper)!=null&&o.lockedChild&&this.parentPopper.lockedChild!==this||(this.pendingHide=!1,(n||!this.disabled)&&(((s=this.parentPopper)==null?void 0:s.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.$_scheduleShow(e,t),this.$emit("show"),this.$_showFrameLocked=!0,requestAnimationFrame(()=>{this.$_showFrameLocked=!1;})),this.$emit("update:shown",!0));},hide({event:e=null,skipDelay:t=!1}={}){var n;if(!this.$_hideInProgress){if(this.shownChildren.size>0){this.pendingHide=!0;return}if(this.hasPopperShowTriggerHover&&this.$_isAimingPopper()){this.parentPopper&&(this.parentPopper.lockedChild=this,clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer=setTimeout(()=>{this.parentPopper.lockedChild===this&&(this.parentPopper.lockedChild.hide({skipDelay:t}),this.parentPopper.lockedChild=null);},1e3));return}((n=this.parentPopper)==null?void 0:n.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.pendingHide=!1,this.$_scheduleHide(e,t),this.$emit("hide"),this.$emit("update:shown",!1);}},init(){var e;this.isDisposed&&(this.isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_referenceNode=((e=this.referenceNode)==null?void 0:e.call(this))??this.$el,this.$_targetNodes=this.targetNodes().filter(t=>t.nodeType===t.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(".v-popper__inner"),this.$_arrowNode=this.$_popperNode.querySelector(".v-popper__arrow-container"),this.$_swapTargetAttrs("title","data-original-title"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show());},dispose(){this.isDisposed||(this.isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted=!1,this.isShown=!1,this.$_updateParentShownChildren(!1),this.$_swapTargetAttrs("data-original-title","title"));},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit("resize"));},async $_computePosition(){if(this.isDisposed||this.positioningDisabled)return;const e={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&e.middleware.push(m_({mainAxis:this.distance,crossAxis:this.skidding}));const t=this.placement.startsWith("auto");if(t?e.middleware.push(f_({alignment:this.placement.split("-")[1]??""})):e.placement=this.placement,this.preventOverflow&&(this.shift&&e.middleware.push(g_({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!t&&this.flip&&e.middleware.push(p_({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push(c_({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&e.middleware.push({name:"arrowOverflow",fn:({placement:o,rects:s,middlewareData:i})=>{let r;const{centerOffset:a}=i.arrow;return o.startsWith("top")||o.startsWith("bottom")?r=Math.abs(a)>s.reference.width/2:r=Math.abs(a)>s.reference.height/2,{data:{overflow:r}}}}),this.autoMinSize||this.autoSize){const o=this.autoSize?this.autoSize:this.autoMinSize?"min":null;e.middleware.push({name:"autoSize",fn:({rects:s,placement:i,middlewareData:r})=>{var a;if((a=r.autoSize)!=null&&a.skip)return {};let l,c;return i.startsWith("top")||i.startsWith("bottom")?l=s.reference.width:c=s.reference.height,this.$_innerNode.style[o==="min"?"minWidth":o==="max"?"maxWidth":"width"]=l!=null?`${l}px`:null,this.$_innerNode.style[o==="min"?"minHeight":o==="max"?"maxHeight":"height"]=c!=null?`${c}px`:null,{data:{skip:!0},reset:{rects:!0}}}});}(this.autoMaxSize||this.autoBoundaryMaxSize)&&(this.$_innerNode.style.maxWidth=null,this.$_innerNode.style.maxHeight=null,e.middleware.push(y_({boundary:this.boundary,padding:this.overflowPadding,apply:({availableWidth:o,availableHeight:s})=>{this.$_innerNode.style.maxWidth=o!=null?`${o}px`:null,this.$_innerNode.style.maxHeight=s!=null?`${s}px`:null;}})));const n=await C_(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:n.x,y:n.y,placement:n.placement,strategy:n.strategy,arrow:{...n.middlewareData.arrow,...n.middlewareData.arrowOverflow}});},$_scheduleShow(e,t=!1){if(this.$_updateParentShownChildren(!0),this.$_hideInProgress=!1,clearTimeout(this.$_scheduleTimer),Bo&&this.instantMove&&Bo.instantMove&&Bo!==this.parentPopper){Bo.$_applyHide(!0),this.$_applyShow(!0);return}t?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay("show"));},$_scheduleHide(e,t=!1){if(this.shownChildren.size>0){this.pendingHide=!0;return}this.$_updateParentShownChildren(!1),this.$_hideInProgress=!0,clearTimeout(this.$_scheduleTimer),this.isShown&&(Bo=this),t?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay("hide"));},$_computeDelay(e){const t=this.delay;return parseInt(t&&t[e]||t||0)},async $_applyShow(e=!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=e,!this.isShown&&(this.$_ensureTeleport(),await Qa(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([...Mr(this.$_referenceNode),...Mr(this.$_popperNode)],"scroll",()=>{this.$_computePosition();}));},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const t=this.$_referenceNode.getBoundingClientRect(),n=this.$_popperNode.querySelector(".v-popper__wrapper"),o=n.parentNode.getBoundingClientRect(),s=t.x+t.width/2-(o.left+n.offsetLeft),i=t.y+t.height/2-(o.top+n.offsetTop);this.result.transformOrigin=`${s}px ${i}px`;}this.isShown=!0,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":""});const e=this.showGroup;if(e){let t;for(let n=0;n<$n.length;n++)t=$n[n],t.showGroup!==e&&(t.hide(),t.$emit("close-group"));}$n.push(this),document.body.classList.add("v-popper--some-open");for(const t of Td(this.theme))Rd(t).push(this),document.body.classList.add(`v-popper--some-open--${t}`);this.$emit("apply-show"),this.classes.showFrom=!0,this.classes.showTo=!1,this.classes.hideFrom=!1,this.classes.hideTo=!1,await Qa(),this.classes.showFrom=!1,this.classes.showTo=!0,this.noAutoFocus||this.$_popperNode.focus();},async $_applyHide(e=!1){if(this.shownChildren.size>0){this.pendingHide=!0,this.$_hideInProgress=!1;return}if(clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition=e,Ld($n,this),$n.length===0&&document.body.classList.remove("v-popper--some-open");for(const n of Td(this.theme)){const o=Rd(n);Ld(o,this),o.length===0&&document.body.classList.remove(`v-popper--some-open--${n}`);}Bo===this&&(Bo=null),this.isShown=!1,this.$_applyAttrsToTarget({"aria-describedby":void 0,"data-popper-shown":void 0}),clearTimeout(this.$_disposeTimer);const t=this.disposeTimeout;t!==null&&(this.$_disposeTimer=setTimeout(()=>{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=!1);},t)),this.$_removeEventListeners("scroll"),this.$emit("apply-hide"),this.classes.showFrom=!1,this.classes.showTo=!1,this.classes.hideFrom=!0,this.classes.hideTo=!1,await Qa(),this.classes.hideFrom=!1,this.classes.hideTo=!0;},$_autoShowHide(){this.shown?this.show():this.hide();},$_ensureTeleport(){if(this.isDisposed)return;let e=this.container;if(typeof e=="string"?e=window.document.querySelector(e):e===!1&&(e=this.$_targetNodes[0].parentNode),!e)throw new Error("No container for popover: "+this.container);e.appendChild(this.$_popperNode),this.isMounted=!0;},$_addEventListeners(){const e=n=>{this.isShown&&!this.$_hideInProgress||(n.usedByTooltip=!0,!this.$_preventShow&&this.show({event:n}));};this.$_registerTriggerListeners(this.$_targetNodes,Od,this.triggers,this.showTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],Od,this.popperTriggers,this.popperShowTriggers,e);const t=n=>{n.usedByTooltip||this.hide({event:n});};this.$_registerTriggerListeners(this.$_targetNodes,Md,this.triggers,this.hideTriggers,t),this.$_registerTriggerListeners([this.$_popperNode],Md,this.popperTriggers,this.popperHideTriggers,t);},$_registerEventListeners(e,t,n){this.$_events.push({targetNodes:e,eventType:t,handler:n}),e.forEach(o=>o.addEventListener(t,n,Si?{passive:!0}:void 0));},$_registerTriggerListeners(e,t,n,o,s){let i=n;o!=null&&(i=typeof o=="function"?o(i):o),i.forEach(r=>{const a=t[r];a&&this.$_registerEventListeners(e,a,s);});},$_removeEventListeners(e){const t=[];this.$_events.forEach(n=>{const{targetNodes:o,eventType:s,handler:i}=n;!e||e===s?o.forEach(r=>r.removeEventListener(s,i)):t.push(n);}),this.$_events=t;},$_refreshListeners(){this.isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners());},$_handleGlobalClose(e,t=!1){this.$_showFrameLocked||(this.hide({event:e}),e.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),t&&(this.$_preventShow=!0,setTimeout(()=>{this.$_preventShow=!1;},300)));},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode);},$_swapTargetAttrs(e,t){for(const n of this.$_targetNodes){const o=n.getAttribute(e);o&&(n.removeAttribute(e),n.setAttribute(t,o));}},$_applyAttrsToTarget(e){for(const t of this.$_targetNodes)for(const n in e){const o=e[n];o==null?t.removeAttribute(n):t.setAttribute(n,o);}},$_updateParentShownChildren(e){let t=this.parentPopper;for(;t;)e?t.shownChildren.add(this.randomId):(t.shownChildren.delete(this.randomId),t.pendingHide&&t.hide()),t=t.parentPopper;},$_isAimingPopper(){const e=this.$_referenceNode.getBoundingClientRect();if(fi>=e.left&&fi<=e.right&&pi>=e.top&&pi<=e.bottom){const t=this.$_popperNode.getBoundingClientRect(),n=fi-ao,o=pi-lo,s=t.left+t.width/2-ao+(t.top+t.height/2)-lo+t.width+t.height,i=ao+n*s,r=lo+o*s;return tr(ao,lo,i,r,t.left,t.top,t.left,t.bottom)||tr(ao,lo,i,r,t.left,t.top,t.right,t.top)||tr(ao,lo,i,r,t.right,t.top,t.right,t.bottom)||tr(ao,lo,i,r,t.left,t.bottom,t.right,t.bottom)}return !1}},render(){return this.$slots.default(this.slotData)}});if(typeof document<"u"&&typeof window<"u"){if(zh){const e=Si?{passive:!0,capture:!0}:!0;document.addEventListener("touchstart",t=>Fd(t),e),document.addEventListener("touchend",t=>Nd(t,!0),e);}else window.addEventListener("mousedown",e=>Fd(e),!0),window.addEventListener("click",e=>Nd(e,!1),!0);window.addEventListener("resize",S_);}function Fd(e,t){for(let n=0;n<$n.length;n++){const o=$n[n];try{o.mouseDownContains=o.popperNode().contains(e.target);}catch{}}}function Nd(e,t){x_(e,t);}function x_(e,t){const n={};for(let o=$n.length-1;o>=0;o--){const s=$n[o];try{const i=s.containsGlobalTarget=s.mouseDownContains||s.popperNode().contains(e.target);s.pendingHide=!1,requestAnimationFrame(()=>{if(s.pendingHide=!1,!n[s.randomId]&&Ud(s,i,e)){if(s.$_handleGlobalClose(e,t),!e.closeAllPopover&&e.closePopover&&i){let a=s.parentPopper;for(;a;)n[a.randomId]=!0,a=a.parentPopper;return}let r=s.parentPopper;for(;r&&Ud(r,r.containsGlobalTarget,e);)r.$_handleGlobalClose(e,t),r=r.parentPopper;}});}catch{}}}function Ud(e,t,n){return n.closeAllPopover||n.closePopover&&t||k_(e,n)&&!t}function k_(e,t){if(typeof e.autoHide=="function"){const n=e.autoHide(t);return e.lastAutoHide=n,n}return e.autoHide}function S_(){for(let e=0;e<$n.length;e++)$n[e].$_computePosition();}let ao=0,lo=0,fi=0,pi=0;typeof window<"u"&&window.addEventListener("mousemove",e=>{ao=fi,lo=pi,fi=e.clientX,pi=e.clientY;},Si?{passive:!0}:void 0);function tr(e,t,n,o,s,i,r,a){const l=((r-s)*(t-i)-(a-i)*(e-s))/((a-i)*(n-e)-(r-s)*(o-t)),c=((n-e)*(t-i)-(o-t)*(e-s))/((a-i)*(n-e)-(r-s)*(o-t));return l>=0&&l<=1&&c>=0&&c<=1}const $_={extends:Wh()},ma=(e,t)=>{const n=e.__vccOpts||e;for(const[o,s]of t)n[o]=s;return n};function E_(e,t,n,o,s,i){return S(),I("div",{ref:"reference",class:Ne(["v-popper",{"v-popper--shown":e.slotData.isShown}])},[Ze(e.$slots,"default",T1(kh(e.slotData)))],2)}const P_=ma($_,[["render",E_]]);function A_(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var n=e.indexOf("Trident/");if(n>0){var o=e.indexOf("rv:");return parseInt(e.substring(o+3,e.indexOf(".",o)),10)}var s=e.indexOf("Edge/");return s>0?parseInt(e.substring(s+5,e.indexOf(".",s)),10):-1}let pr;function Bl(){Bl.init||(Bl.init=!0,pr=A_()!==-1);}var ga={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){Bl(),Yo(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize();});const e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",pr&&this.$el.appendChild(e),e.data="about:blank",pr||this.$el.appendChild(e);},beforeUnmount(){this.removeResizeHandlers();},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize());},emitSize(){this.$emit("notify",{width:this._w,height:this._h});},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify();},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!pr&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null);}}};const I_=v0();w0("data-v-b329ee4c");const D_={class:"resize-observer",tabindex:"-1"};b0();const T_=I_((e,t,n,o,s,i)=>(S(),it("div",D_)));ga.render=T_;ga.__scopeId="data-v-b329ee4c";ga.__file="src/components/ResizeObserver.vue";const Kh=(e="theme")=>({computed:{themeClass(){return __(this[e])}}}),O_=Te({name:"VPopperContent",components:{ResizeObserver:ga},mixins:[Kh()],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},emits:["hide","resize"],methods:{toPx(e){return e!=null&&!isNaN(e)?`${e}px`:null}}}),M_=["id","aria-hidden","tabindex","data-popper-placement"],L_={ref:"inner",class:"v-popper__inner"},B_=d("div",{class:"v-popper__arrow-outer"},null,-1),R_=d("div",{class:"v-popper__arrow-inner"},null,-1),F_=[B_,R_];function N_(e,t,n,o,s,i){const r=_o("ResizeObserver");return S(),I("div",{id:e.popperId,ref:"popover",class:Ne(["v-popper__popper",[e.themeClass,e.classes.popperClass,{"v-popper__popper--shown":e.shown,"v-popper__popper--hidden":!e.shown,"v-popper__popper--show-from":e.classes.showFrom,"v-popper__popper--show-to":e.classes.showTo,"v-popper__popper--hide-from":e.classes.hideFrom,"v-popper__popper--hide-to":e.classes.hideTo,"v-popper__popper--skip-transition":e.skipTransition,"v-popper__popper--arrow-overflow":e.result&&e.result.arrow.overflow,"v-popper__popper--no-positioning":!e.result}]]),style:jn(e.result?{position:e.result.strategy,transform:`translate3d(${Math.round(e.result.x)}px,${Math.round(e.result.y)}px,0)`}:void 0),"aria-hidden":e.shown?"false":"true",tabindex:e.autoHide?0:void 0,"data-popper-placement":e.result?e.result.placement:void 0,onKeyup:t[2]||(t[2]=Th(a=>e.autoHide&&e.$emit("hide"),["esc"]))},[d("div",{class:"v-popper__backdrop",onClick:t[0]||(t[0]=a=>e.autoHide&&e.$emit("hide"))}),d("div",{class:"v-popper__wrapper",style:jn(e.result?{transformOrigin:e.result.transformOrigin}:void 0)},[d("div",L_,[e.mounted?(S(),I(Le,{key:0},[d("div",null,[Ze(e.$slots,"default")]),e.handleResize?(S(),it(r,{key:0,onNotify:t[1]||(t[1]=a=>e.$emit("resize",a))})):be("",!0)],64)):be("",!0)],512),d("div",{ref:"arrow",class:"v-popper__arrow-container",style:jn(e.result?{left:e.toPx(e.result.arrow.x),top:e.toPx(e.result.arrow.y)}:void 0)},F_,4)],4)],46,M_)}const Gh=ma(O_,[["render",N_]]),Jh={methods:{show(...e){return this.$refs.popper.show(...e)},hide(...e){return this.$refs.popper.hide(...e)},dispose(...e){return this.$refs.popper.dispose(...e)},onResize(...e){return this.$refs.popper.onResize(...e)}}};let Rl=function(){};typeof window<"u"&&(Rl=window.Element);const U_=Te({name:"VPopperWrapper",components:{Popper:P_,PopperContent:Gh},mixins:[Jh,Kh("finalTheme")],props:{theme:{type:String,default:null},referenceNode:{type:Function,default:null},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:void 0},positioningDisabled:{type:Boolean,default:void 0},placement:{type:String,default:void 0},delay:{type:[String,Number,Object],default:void 0},distance:{type:[Number,String],default:void 0},skidding:{type:[Number,String],default:void 0},triggers:{type:Array,default:void 0},showTriggers:{type:[Array,Function],default:void 0},hideTriggers:{type:[Array,Function],default:void 0},popperTriggers:{type:Array,default:void 0},popperShowTriggers:{type:[Array,Function],default:void 0},popperHideTriggers:{type:[Array,Function],default:void 0},container:{type:[String,Object,Rl,Boolean],default:void 0},boundary:{type:[String,Rl],default:void 0},strategy:{type:String,default:void 0},autoHide:{type:[Boolean,Function],default:void 0},handleResize:{type:Boolean,default:void 0},instantMove:{type:Boolean,default:void 0},eagerMount:{type:Boolean,default:void 0},popperClass:{type:[String,Array,Object],default:void 0},computeTransformOrigin:{type:Boolean,default:void 0},autoMinSize:{type:Boolean,default:void 0},autoSize:{type:[Boolean,String],default:void 0},autoMaxSize:{type:Boolean,default:void 0},autoBoundaryMaxSize:{type:Boolean,default:void 0},preventOverflow:{type:Boolean,default:void 0},overflowPadding:{type:[Number,String],default:void 0},arrowPadding:{type:[Number,String],default:void 0},arrowOverflow:{type:Boolean,default:void 0},flip:{type:Boolean,default:void 0},shift:{type:Boolean,default:void 0},shiftCrossAxis:{type:Boolean,default:void 0},noAutoFocus:{type:Boolean,default:void 0},disposeTimeout:{type:Number,default:void 0}},emits:{show:()=>!0,hide:()=>!0,"update:shown":e=>!0,"apply-show":()=>!0,"apply-hide":()=>!0,"close-group":()=>!0,"close-directive":()=>!0,"auto-hide":()=>!0,resize:()=>!0},computed:{finalTheme(){return this.theme??this.$options.vPopperTheme}},methods:{getTargetNodes(){return Array.from(this.$el.children).filter(e=>e!==this.$refs.popperContent.$el)}}});function j_(e,t,n,o,s,i){const r=_o("PopperContent"),a=_o("Popper");return S(),it(a,Hu({ref:"popper"},e.$props,{theme:e.finalTheme,"target-nodes":e.getTargetNodes,"popper-node":()=>e.$refs.popperContent.$el,class:[e.themeClass],onShow:t[0]||(t[0]=()=>e.$emit("show")),onHide:t[1]||(t[1]=()=>e.$emit("hide")),"onUpdate:shown":t[2]||(t[2]=l=>e.$emit("update:shown",l)),onApplyShow:t[3]||(t[3]=()=>e.$emit("apply-show")),onApplyHide:t[4]||(t[4]=()=>e.$emit("apply-hide")),onCloseGroup:t[5]||(t[5]=()=>e.$emit("close-group")),onCloseDirective:t[6]||(t[6]=()=>e.$emit("close-directive")),onAutoHide:t[7]||(t[7]=()=>e.$emit("auto-hide")),onResize:t[8]||(t[8]=()=>e.$emit("resize"))}),{default:xe(({popperId:l,isShown:c,shouldMountContent:u,skipTransition:p,autoHide:m,show:w,hide:b,handleResize:C,onResize:F,classes:O,result:R})=>[Ze(e.$slots,"default",{shown:c,show:w,hide:b}),me(r,{ref:"popperContent","popper-id":l,theme:e.finalTheme,shown:c,mounted:u,"skip-transition":p,"auto-hide":m,"handle-resize":C,classes:O,result:R,onHide:b,onResize:F},{default:xe(()=>[Ze(e.$slots,"popper",{shown:c,hide:b})]),_:2},1032,["popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])]),_:3},16,["theme","target-nodes","popper-node","class"])}const Wu=ma(U_,[["render",j_]]),H_={...Wu,name:"VDropdown",vPopperTheme:"dropdown"};({...Wu});({...Wu});const V_=Te({name:"VTooltipDirective",components:{Popper:Wh(),PopperContent:Gh},mixins:[Jh],inheritAttrs:!1,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default:e=>ki(e.theme,"html")},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default:e=>ki(e.theme,"loadingContent")},targetNodes:{type:Function,required:!0}},data(){return {asyncContent:null}},computed:{isContentAsync(){return typeof this.content=="function"},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0);},immediate:!0},async finalContent(){await this.$nextTick(),this.$refs.popper.onResize();}},created(){this.$_fetchId=0;},methods:{fetchContent(e){if(typeof this.content=="function"&&this.$_isShown&&(e||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=!0;const t=++this.$_fetchId,n=this.content(this);n.then?n.then(o=>this.onResult(t,o)):this.onResult(t,n);}},onResult(e,t){e===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=t);},onShow(){this.$_isShown=!0,this.fetchContent();},onHide(){this.$_isShown=!1;}}}),z_=["innerHTML"],q_=["textContent"];function W_(e,t,n,o,s,i){const r=_o("PopperContent"),a=_o("Popper");return S(),it(a,Hu({ref:"popper"},e.$attrs,{theme:e.theme,"target-nodes":e.targetNodes,"popper-node":()=>e.$refs.popperContent.$el,onApplyShow:e.onShow,onApplyHide:e.onHide}),{default:xe(({popperId:l,isShown:c,shouldMountContent:u,skipTransition:p,autoHide:m,hide:w,handleResize:b,onResize:C,classes:F,result:O})=>[me(r,{ref:"popperContent",class:Ne({"v-popper--tooltip-loading":e.loading}),"popper-id":l,theme:e.theme,shown:c,mounted:u,"skip-transition":p,"auto-hide":m,"handle-resize":b,classes:F,result:O,onHide:w,onResize:C},{default:xe(()=>[e.html?(S(),I("div",{key:0,innerHTML:e.finalContent},null,8,z_)):(S(),I("div",{key:1,textContent:K(e.finalContent)},null,8,q_))]),_:2},1032,["class","popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])]),_:1},16,["theme","target-nodes","popper-node","onApplyShow","onApplyHide"])}const K_=ma(V_,[["render",W_]]),Yh="v-popper--has-tooltip";function G_(e,t){let n=e.placement;if(!n&&t)for(const o of qh)t[o]&&(n=o);return n||(n=ki(e.theme||"tooltip","placement")),n}function Qh(e,t,n){let o;const s=typeof t;return s==="string"?o={content:t}:t&&s==="object"?o=t:o={content:!1},o.placement=G_(o,n),o.targetNodes=()=>[e],o.referenceNode=()=>e,o}let Za,$i,J_=0;function Y_(){if(Za)return;$i=ne([]),Za=Gn({name:"VTooltipDirectiveApp",setup(){return {directives:$i}},render(){return this.directives.map(t=>$C(K_,{...t.options,shown:t.shown||t.options.shown,key:t.id}))},devtools:{hide:!0}});const e=document.createElement("div");document.body.appendChild(e),Za.mount(e);}function Q_(e,t,n){Y_();const o=ne(Qh(e,t,n)),s=ne(!1),i={id:J_++,options:o,shown:s};return $i.value.push(i),e.classList&&e.classList.add(Yh),e.$_popper={options:o,item:i,show(){s.value=!0;},hide(){s.value=!1;}}}function Xh(e){if(e.$_popper){const t=$i.value.indexOf(e.$_popper.item);t!==-1&&$i.value.splice(t,1),delete e.$_popper,delete e.$_popperOldShown,delete e.$_popperMountTarget;}e.classList&&e.classList.remove(Yh);}function jd(e,{value:t,modifiers:n}){const o=Qh(e,t,n);if(!o.content||ki(o.theme||"tooltip","disabled"))Xh(e);else {let s;e.$_popper?(s=e.$_popper,s.options.value=o):s=Q_(e,t,n),typeof t.shown<"u"&&t.shown!==e.$_popperOldShown&&(e.$_popperOldShown=t.shown,t.shown?s.show():s.hide());}}const X_={beforeMount:jd,updated:jd,beforeUnmount(e){Xh(e);}},Z_=X_,Fs=H_,ex={key:0,class:"ce-custom-url-help"},tx={class:"ce-custom-url-help-body"},nx={key:0},ox={class:"pure-table pure-table-bordered"},sx=["onClick"],ix=Te({__name:"CustomUrlHelp",setup(e){const t=ne(Ov),n=ne(!1);Vt(async()=>{window.addEventListener("message",s=>{const{event:i}=s.data;i==="customUrlHelp"&&(n.value=!0);},!1);});async function o(s){yt(s.key),le({text:"已复制到剪贴板",icon:"success",timer:1e3});}return (s,i)=>n.value?(S(),I("div",ex,[d("div",tx,[d("h1",null,[i[1]||(i[1]=L(" 自定义菜单变量说明 ")),d("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=r=>n.value=!1)},"关闭")]),i[3]||(i[3]=d("hr",null,null,-1)),(S(!0),I(Le,null,Je(t.value,(r,a)=>(S(),I("div",{key:a},[d("h2",null,K(r.label),1),r.memo?(S(),I("p",nx,K(r.memo),1)):be("",!0),d("table",ox,[i[2]||(i[2]=d("thead",null,[d("tr",null,[d("th",{width:"50%"},"变量"),d("th",{width:"50%"},"说明")])],-1)),d("tbody",null,[(S(!0),I(Le,null,Je(r.items,(l,c)=>(S(),I("tr",{key:c},[d("td",null,[d("span",{class:"ce-variable",onClick:u=>o(l)},K(l.key),9,sx)]),d("td",null,K(l.label),1)]))),128))])])]))),128))])])):be("",!0)}}),Re=(e,t)=>{const n=e.__vccOpts||e;for(const[o,s]of t)n[o]=s;return n},rx=Re(ix,[["__file","CustomUrlHelp.vue"]]),ax={label:"当前目录右键菜单",key:"dcontext",hiddenStyles:[{selector:"div.context-menu.menu-upward#js_float_content li[val={key}]",css:"display: none !important;"}],items:[{label:"上传文件",key:"upload"},{label:"新建文件夹",key:"add_dir"}]},lx={label:"选中项菜单",key:"selection",hiddenStyles:[{selector:"div.list-operate.lo-right li[menu={key}]",css:"width: 0 !important; opacity: 0 !important; padding: 0 !important; margin: 0 !important;"}],items:[{label:"置顶",key:"setTop"},{label:"取消置顶",key:"calcelSetTop"},{label:"下载",key:"download"},{label:"移动",key:"move"},{label:"标签",key:"edit_file_label"},{label:"批量标签",key:"batch_edit_file_label"},{label:"重命名",key:"edit_name"},{label:"备注",key:"edit"},{label:"星标",key:"star"},{label:"删除",key:"delete"},{label:"分享",key:"public_share"},{label:"设置共享",key:"setShare"},{label:"取消共享",key:"cancelShare"},{label:"复制",key:"set_copy"},{label:"复制到...",key:"copy_list"},{label:"加密隐藏",key:"hide_file"},{label:"取消加密",key:"show_file"},{label:"评分",key:"file_score"},{label:"设为快捷入口",key:"set_category"},{label:"取消快捷入口",key:"unset_category"},{label:"显示时长",key:"show_play_long"},{label:"修改封面",key:"cover"},{label:"一键排重",key:"same"},{label:"导出目录树",key:"export_dir"},{label:"显示属性",key:"attribute"},{label:"转存至相册",key:"trans_to_album"}]},ux={label:"列表项右键菜单",key:"context",hiddenStyles:[{selector:"div.context-menu.menu-upward li[val={key}] a",css:"display: none !important;"}],items:[{label:"打开文件",key:"view"},{label:"打开文件夹",key:"open_dir"},{label:"下载文件",key:"download"},{label:"下载文件夹",key:"download_dir"},{label:"打包下载",key:"bale_download"},{label:"刷新",key:"refresh"},{label:"复制",key:"set_copy"},{label:"复制到...",key:"copy_list"},{label:"加密隐藏",key:"hide_file"},{label:"取消加密",key:"show_file"},{label:"评分",key:"file_score"},{label:"显示时长",key:"show_play_long"},{label:"取消时长",key:"hide_play_long"},{label:"添加到我听",key:"listen"},{label:"美化",key:"magic"},{label:"修改封面",key:"cover"},{label:"删除封面",key:"del_cover"},{label:"一键排重",key:"same"},{label:"移动",key:"move"},{label:"重命名",key:"edit_name"},{label:"备注",key:"edit"},{label:"显示属性",key:"attribute"},{label:"删除",key:"delete"},{label:"播放器播放",key:"player"},{label:"转存到相册",key:"trans_to_album"},{label:"举报",key:"report"}]},cx={label:"列表项悬浮菜单",key:"hover",hiddenStyles:[{selector:"div.file-opr[rel=menu] a[menu={key}]",css:"width: 0 !important; opacity: 0 !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important;"},{selector:"div.context-menu li[menu={key}] a",css:"display: none !important;"}],items:[{label:"置顶",key:"setTop"},{label:"取消置顶",key:"calcelSetTop"},{label:"星标",key:"star"},{label:"下载文件",key:"download_one"},{label:"下载文件夹",key:"download_dir_one"},{label:"移动",key:"move"},{label:"标签",key:"edit_file_label"},{label:"重命名",key:"edit_name"},{label:"备注",key:"edit"},{label:"删除",key:"delete"},{label:"分享",key:"public_share"},{label:"取消加密",key:"show_file"},{label:"评分",key:"file_score"},{label:"设置共享",key:"setShare"},{label:"取消共享",key:"cancelShare"},{label:"复制",key:"set_copy"},{label:"显示时长",key:"show_play_long"},{label:"修改封面",key:"cover"},{label:"一键排重",key:"same"},{label:"导出目录树",key:"export_dir"},{label:"显示属性",key:"attribute"},{label:"转存至相册",key:"trans_to_album"},{label:"设为快捷入口",key:"set_category"},{label:"取消快捷入口",key:"unset_category"}]},Zh=gt.hiddenOfficialMenuKeys;async function em(){return await tt.get(Zh,[])}async function dx(e,t=!1){var n;await tt.set(Zh,e),t&&(unsafeWindow.postMessage({event:mt.officialMenuStyleChange},"*"),(n=unsafeWindow.frames.wangpan)==null||n.postMessage({event:mt.officialMenuStyleChange},"*"));}async function fx(e){const t=[];return e.forEach(n=>{n.items.forEach(o=>{o.hidden&&t.push(`${n.key}_${o.key}`);});}),t}async function tm(){const e=[lx,ux,cx,ax],t=await em();return e.forEach(n=>{n.items.forEach(o=>{const s=`${n.key}_${o.key}`;t.includes(s)?o.hidden=!0:o.hidden=!1;});}),e}async function px(){const e=await tm(),t=[];return e.forEach(n=>{n.hiddenStyles.forEach(o=>{const s=[];n.items.forEach(i=>{i.hidden&&s.push(o.selector.replace("{key}",i.key));}),s.length&&t.push(s.join(`,
`)+" { "+o.css+" }");});}),t.join(`
`)}async function Hd(){const e="cloud115EnhancerOfficialMenuStyle",t=await px();let n=document.getElementById(e);if(n){n.innerHTML=t;return}n=document.createElement("style"),n.id=e,n.innerHTML=t,document.body.appendChild(n);}const nm=gt.list;var om=(e=>(e.view="view",e.list="list",e.default="_",e))(om||{});function hx(e){return {sizeSorter:!0,sizeSorterDirAttrInterval:100,showFolderSizeButton:!0,hoverShowFolderSize:!1,showQuickViewButton:!0,hoverShowQuickView:!1,showBatchFolderSizeButton:!1,showSha1:!1,clickSha1WithCtrlToFindRepeat:!1,showOpenDirContextMenu:!0,hoverShowDirContextMenu:!1,showCreateDirButton:!1,hideTopCreateButton:!1,showCopyButtonOnPathBar:!1,showGotoButtonOnPathBar:!1,noUpdateDirAfterRename:!1,noReloadAfterMove:!1,claimSelectedAfterCreateDir:!1,afterCreateDirBehavior:"goto",fileSelectorDefaultView:"_",followHistoryState:!1,showOnlyFileFilter:!1,fixShortcut:!1,dragToQuickEntry:!1,quickEntryAvoidCovered:!1,hideSelectionMenuOnDrag:!1,makeMoreImageViewable:!1,...e}}async function ya(){const e=hx(),t=await tt.get(nm,e);return {...e,...t}}async function mx(e){await tt.set(nm,e);}var Pn=(e=>(e[e.asc=0]="asc",e[e.desc=1]="desc",e))(Pn||{});const gx=`
== 基础操作 ==

快捷键         功能            说明
----------    ----------     -----------------------------------
C             重命名          选中文件后按C,选中多个文件时,只应用到第一个文件
D             删除            选中文件后按D
X 或 M        移动            选中文件后按X或M
S             分享            选中文件后按S
T             标签            选中文件后按T
B             备注            选中文件后按B
Esc           取消            取消选择或关闭右键菜单
Backspace     返回上级目录     需在未选择文件时按Backspace
Delete        删除            与D键功能相同

== 特殊操作 ==

快捷键           功能            macOS下的对应键位
----------      ----------     ------------------
Alt + P         打开传输         Control + P
Alt + I         打开星标         Control + I
Alt + O         打开云下载       Control + O
Alt + D         快捷星标         Control + D
Ctrl + A        全选            Command + A
Ctrl + C        复制到           Command + C
Alt + 左箭头     浏览器历史后退    Option + 左箭头
Alt + 右箭头     浏览器历史前进    Option + 右箭头

== 删除操作详解 ==

快捷键            功能           macOS下的对应键位
----------       ----------    ------------------
D 或 Delete      普通删除        D 或 Delete
Alt + Backspace  免提示删除      Control + Backspace/Delete

== 鼠标操作 ==
[以下快捷键不需要修复也可以使用,这里仅列出供参考]

Shift + 单击    区域选择
Alt + 单击      显示属性弹窗
`;async function yx(){if(window!==window.top)return;async function e(t){var o,s;const n=en();n&&((s=(o=n.Core)==null?void 0:o.FileConfig)!=null&&s.DataAPI)&&t(!0);}try{return await Eo(e,250,3e4)}catch(t){throw new Error(`awaitDataAPI failed:${t.toString()}`)}}async function wx(e){var a;if(!e.showOnlyFileFilter)return;const t=_n(),n=Po();if(!t&&!n)return;const o=kn.file,s=st(`
    <a href="javascript:;" menu="filter" val="${o}">
      <i class="iofl-max"></i><span>仅文件</span>
    </a>
  `),r=await lt(t?'#js_filter_box a[val="other"]':'#js_search_filter_popup a[val="other"]');(a=r.parentNode)==null||a.insertBefore(s,r);}async function bx(e){if(window!==window.top||!e.fixShortcut)return;const t="js-main_mode";await ou('a[data-nav="file"]');let n=Qe("#"+t);if(n){console.warn(`[fixShortcut] #${t} found, skip`);return}n=st(`
    <div id="${t}" style="display:none;"><a data-nav="file" class="hover"></a></div>
  `),document.body.appendChild(n),console.warn(`[fixShortcut] #${t} injected`);}async function vx(e){if(window!==window.top||!e.followHistoryState)return;const t=async n=>{const o=Vr("cid"),s=await Qt(!1);o!==s&&en().wangpan.Main.Action.Handlers.GotoDir({cid:o});};window.addEventListener("popstate",t);}async function Cx(e){const t=Qe("div#js_data_list");t==null||t.addEventListener("mousedown",n=>{n.target.classList.contains("ce-inj")&&n.stopPropagation();});}async function _x(e){_n()&&e.dragToQuickEntry&&(Vd(),ob("#js_file_category_box",wt(Vd,200),{childList:!0,subtree:!0}),xx(e));}async function Vd(){const t=(await lt("#js_file_category_box")).querySelectorAll("#js_file_category_box a[cid]");for(let n=0;n<t.length;n++){const o=t[n];o.setAttribute("rel","item"),o.setAttribute("file_type","0"),o.setAttribute("title","可拖动文件到此目录进行移动操作");}}async function xx(e){var s;const t=(s=en().wangpan)==null?void 0:s.Main;if(!t)return;const n="ce-show-quick-entry";if(e.hideSelectionMenuOnDrag||document.body.addEventListener("keydown",i=>{var r;i.ctrlKey&&((r=Qe("#js_operate_box"))==null||r.classList.toggle(n));}),e.hideSelectionMenuOnDrag){let i=0;const r=500;document.body.addEventListener("mousemove",a=>{var u,p;const l=Date.now();if(l-i<r)return;i=l;const c=Qe(".popup-move-hint");c&&c.style.display!=="none"?(u=Qe("#js_operate_box"))==null||u.classList.add(n):(p=Qe("#js_operate_box"))==null||p.classList.remove(n);});}const o=t.List.WriteSelectText;t.List.WriteSelectText=i=>{var r;o(i),(r=Qe("#js_operate_box"))==null||r.classList.remove(n);};}async function kx(e){if(!e.makeMoreImageViewable)return;const t=["webp"],n=en();n.UPLOAD_CONFIG&&n.UPLOAD_CONFIG[3].upload_type_limit.push(...t);}async function Sx(e){if(!e.showCreateDirButton||!_n())return;if(e.hideTopCreateButton){const o=Qe('[data-dropdown-tab="create_new_add_dir"]');o&&(o.style.display="none");}const t=Qe(".header-name");if(!t||t.querySelector(".ce-btn-create-dir"))return;const n=st(`
    <a href="javascript:;" class="ce-btn-create-dir" menu="add_dir">
      <i class="file-type tp-folder"></i><span>新建文件夹</span>
    </a>
  `);t.appendChild(n);}async function $x(e){if(_n()){const t="ce-list-page";document.body.classList.add(t),parent.document.body.classList.add(t);}}async function Ex(e){Ku(e.fileSelectorDefaultView);}function Px(){return unsafeWindow.localStorage.getItem("FS_view")||"_"}function Ku(e){let t=Px();console.log(`[performSetSelectorView] 当前视图: ${t},目标视图: ${e}`);const n=()=>{Ku(t),console.warn(`[performSetSelectorView] 回滚到之前的视图: ${t}`);};return unsafeWindow.localStorage.setItem("FS_view",e),n}async function Ax(e){if(!e.noUpdateDirAfterRename||window!==window.top)return;let t=!0,n="",o=!1;const s=en(),i=Core.FileReNameDG.Show,r=s.Core.Dir.Rename,a=s.Core.FileConfig.DataAPI.UpdateDir;s.Core.FileReNameDG.Show=async(...l)=>{n=l[0],o=!0,i(...l);},s.Core.Dir.Rename=async(...l)=>{n=l[1],o=!1,r(...l);},s.Core.FileConfig.DataAPI.UpdateDir=async l=>{if(t){const c=Li();let u=`li[file_id="${n}"]`;o||(u=`li[cate_id="${n}"]`);const p=c.find(u);if(p.length){if(p.hasClass("ce-temp-cur-dir")){console.warn("[list handleNoUpdateDirAfterRename] $file is ce-temp-cur-dir"),le({icon:"warning",text:"重命名的是当前目录,忽略「重命名后不刷新列表」选项"}),a(l);return}if(le({icon:"info",text:"启用了「重命名后不刷新列表」选项,不会刷新文件列表"}),p.find(".file-modified span").text("刚刚"),!o){const m=await Bt(n),{file_name:w}=m;p.attr("cate_name",w),p.attr("title",w);const b=p.find(".file-name a.name");b.length?(b.attr("title",w).text(w),b.text(w)):console.warn("[list handleNoUpdateDirAfterRename] $name not found");}}else console.warn("[list handleNoUpdateDirAfterRename] $file not found");}else a(l);},window.addEventListener("message",async l=>{var u;if(l.data.event===mt.topDomChanged){const p=Qe("div.dialog-box.window-current > div.dialog-header > h3");if(p&&((u=p.textContent)!=null&&u.includes("重命名"))){const m=Qe("div.dialog-box.window-current .file-rename");if(!m){console.warn("[list handleNoUpdateDirAfterRename] .file-rename not found");return}const w=document.createElement("div"),b=`
          <div style="padding: 0px 20px;">
            <label style="font-size: 18px; color: #1890ff;">
              <input id="cbNoUpdateDir" type="checkbox" style="width: 22px; height: 22px; vertical-align: sub;"> 重命名后不刷新列表
            </label>
            <p style="font-size: 12px; color: #ff4949;">在使用当前目录增强菜单项「重命名文件夹」时会忽略该选项。</p>
          </div>`;w.innerHTML=b,m.insertAdjacentElement("afterend",w);const C=Qe("#cbNoUpdateDir");C&&(C.checked=t,C.addEventListener("change",()=>{t=C.checked;}));}}});}async function Ix(e){if(!e.noReloadAfterMove||window!==window.top)return;let t=!0,n=[];const o=en(),s=o.Core.FileMenu.DoEvent,i=o.Core.FileConfig.DataAPI.Reload;o.Core.FileConfig.DataAPI.Reload=async(...r)=>{if(t){le({icon:"info",text:"启用了「移动后不刷新文本列表」选项,不会刷新文件列表"});for(let a=0;a<n.length;a++)Lf(n[a][0]);}else i(...r);},o.Core.FileMenu.DoEvent=async(...r)=>{n=r[0],s(...r);},window.addEventListener("message",async r=>{var m;if(r.data.event!==mt.topDomChanged)return;const l="ce-no-update-dir-after-move",c=Qe("div.dialog-box.window-current > div.dialog-header > h3");if(!c||!((m=c.textContent)!=null&&m.includes("打开要移动"))){const w=Qe(`.${l}`);w&&(w.style.display="none");return}const u=Qe("div.dialog-box.window-current .select-footer");if(!u){console.warn("[list handleNoUpdateDirAfterMove] .select-footer not found");return}let p=Qe("#cbNoReload");if(p){const w=Qe(`.${l}`);w&&(w.style.display="block");}else {const w=st(`<div class="${l}"/>`),b=`
        <div style="padding: 6px 30px 0;">
          <label style="font-size: 18px; color: #1890ff;">
            <input id="cbNoReload" type="checkbox" style="width: 22px; height: 22px; vertical-align: sub;"> 移动后不刷新列表
          </label>
          <p style="font-size: 14px; color: #ff4949;">启用该功能并且执行过移动操作后,会影响列表的全选功能,此时如需全选,请先手动刷新列表!</p>
        </div>`;w.innerHTML=b,u.insertAdjacentElement("afterend",w),p=Qe("#cbNoReload"),p&&(p.checked=t,p.addEventListener("change",()=>{t=p.checked;}));}});}async function Dx(e){if(window!==window.top)return;let t=e.claimSelectedAfterCreateDir;const n=en(),o=n.Core.Dir.Create;n.Core.Dir.Create=async(i,r,a)=>{const l=await Cn(!0);l.length&&s(),o(i,r,async c=>{if(console.warn("Directory created:",c),t&&l.length){const u=l.map(p=>p.id);try{const p=await rp(c.cid,u);console.log("[list claimSelectedAfterCreateDir] moveFiles result:",p),p.state?le({icon:"success",text:"移动选中的文件到新文件夹成功"}):ae.fire({icon:"error",html:`移动选中的文件到新文件夹失败: ${Jb(p)}`});}catch(p){console.error("[list claimSelectedAfterCreateDir] moveFiles error:",p),ae.fire({icon:"error",html:`移动选中文件到新文件夹时出错: ${p.toString()}`});}}a?a(c):n.wangpan.Main.GotoDir(1,c.cid,0,"");});};const s=async i=>{var u;const r=await lt("div.dialog-box.window-current > div.dialog-header > h3");if(!r||!((u=r.textContent)!=null&&u.includes("新建文件夹")))return;const a=Qe("div.dialog-box.window-current .dialog-action");if(!a){console.warn("[list claimSelectedAfterCreateDir] .dialog-action not found");return}const l="cbClaim";let c=Qe(`#${l}`);if(!c){const p=document.createElement("div"),m=`
        <div style="padding: 6px 30px 0;">
          <label style="font-size: 18px; color: #1890ff;">
            <input id="${l}" type="checkbox" style="width: 22px; height: 22px; vertical-align: sub;"> 移动选中文件到新文件夹
          </label>
          <p style="font-size: 14px; color: #ff4949;">创建新文件夹成功后,自动移动当前选中的文件或文件夹到新该文件夹下。</p>
        </div>`;p.innerHTML=m,a.insertAdjacentElement("beforebegin",p),c=Qe(`#${l}`),c&&(c.checked=t,c.addEventListener("change",()=>{t=c.checked;}));}};}async function Tx(e,t,n){if(!e.showSha1||!n.hash)return;t.addClass("ce-show-sha1");const o=t.find(".file-name"),s="文件SHA1,点击复制"+(e.clickSha1WithCtrlToFindRepeat?" (Ctrl+点击 查找重复文件)":""),i=st(`
    <span class="ce-file-sha1 ce-inj" title="${s}">${n.hash}</span>
  `),r=()=>{yt(n.hash),le({title:"复制SHA1",text:"已复制文件SHA1",icon:"success",timer:1500});};i.addEventListener("click",async a=>{a.preventDefault(),a.stopPropagation(),e.clickSha1WithCtrlToFindRepeat&&(a.metaKey||a.ctrlKey)?wp(n):r();}),o.append(i);}async function Ox(e,t,n){const o=[],s=await Mx(e,t,n);s&&o.push(s);const i=await Lx(e,t,n);if(i&&o.push(i),o.length){const r=t.find(".file-size");if(!r.length){console.warn("[injectToSizeCell] 未找到文件大小元素,跳过:",n,t);return}r.append(...o);}}async function Mx(e,t,n){if(!e.showFolderSizeButton||!n.isDir)return null;const o=t.find(".file-size"),s=(e.hoverShowFolderSize?"点击或鼠标悬浮":"点击")+"获取该文件夹大小",i=st(`
    <span class="ce-btn-folder-size ce-inj" title="${s}">大小</span>
  `);let r;const a=async l=>{l.preventDefault(),l.stopPropagation();try{const c=await Bt(n.id);o.find("span:eq(0)").text(c.size);let u=c.folder_count>0?`目录${c.folder_count}`:"";if(u+=c.count>0?(u!==""?",":"")+`文件${c.count}`:"",u!==""){let p=o.find(".ce-s-d");p.length||(p=$('<div class="ce-s-d"></div>'),o.append(p)),p.text(u);}t.addClass("ce-size-got"),le({title:"获取大小",text:"已获取文件夹大小",icon:"success",timer:1500});}catch(c){console.error(c),le({title:"获取大小失败",text:c.toString(),icon:"error"});return}};return i.addEventListener("click",async l=>{r&&clearTimeout(r),await a(l);}),e.hoverShowFolderSize&&(i.addEventListener("mouseenter",async l=>{r=setTimeout(async()=>{await a(l);},200);}),i.addEventListener("mouseleave",()=>{r&&clearTimeout(r);})),i}async function Lx(e,t,n){if(!e.showQuickViewButton||!n.isDir)return null;const o=st(`
    <span class="ce-btn-folder-size ce-inj" title="快速查看该目录子文件列表">查看</span>
  `);return o.addEventListener("click",async s=>{s.preventDefault(),s.stopPropagation();const i=Ku(om.list),l=`快速查看 <span class="ce-label ce-label-warning">只读</span><a href="${go(n.id)}" target="_blank" style="font-size: 12px; margin-left: 10px; color: #00f; font-weight: normal;">新页面打开</a>`;en().Core.FileSelectDG.Open(u=>{i();},{nf:0,title:l,init_cid:n.id,show_record:1,show_copy:1,btn_txt:"关闭",select_txt:"查看",not_select_file:"xxx"});}),o}async function Bx(e){if(!e.showBatchFolderSizeButton)return;const t="ce-injected-s",n="ce-s-ing",o=Qe(".header-size");if(!o||o.classList.contains(t))return;const s=o,i=st(`
    <a class="btn-sort ce-size-sort" title="显示当前目录下已加载的子文件夹的大小">
      <span>大小</span>
    </a>
  `);i.addEventListener("click",async r=>{if(r.preventDefault(),r.stopPropagation(),!i.classList.contains(n))try{i.classList.add(n),await Gu(!1,!1,!1);}catch(a){console.error(a),le({title:"获取子文件夹大小失败",text:a.toString(),icon:"error"});}finally{i.classList.remove(n);}}),s.appendChild(i),s.classList.add(t);}async function Rx(e){if(!e.sizeSorter)return;const t="ce-injected",n="ce-size-sort-ing",o=Qe(".header-size");if(!o||o.classList.contains(t))return;const s=o,i=st(`
    <a class="btn-sort ce-size-sort" title="显示当前目录下已加载的子文件夹的大小,然后按大小排序">
      <span>排序</span>
      <i icon_rel="file_size" class="icon-sort-asc"></i>
      <i icon_rel="file_size" class="icon-sort-desc"></i>
    </a>
  `);i.addEventListener("click",async r=>{if(r.preventDefault(),r.stopPropagation(),i.classList.contains("el-size-sort-ing"))return;const a="by-desc",l="by-asc";try{i.classList.add(n);let c=Pn.desc;i.classList.contains(a)?c=Pn.asc:c=Pn.desc;const u=await Qt(!1);await Lr(u,c,!1,!1),c===Pn.asc?(i.classList.remove(a),i.classList.add(l)):(i.classList.remove(l),i.classList.add(a));}catch(c){console.error(c),le({title:"排序失败",text:c.toString(),icon:"error"});}finally{i.classList.remove(n);}}),s.appendChild(i),s.classList.add(t);}async function Gu(e,t,n=!1){await ya();const o=await Qt(!1),s=Os(),i=await Cn(!1);console.log("[items]",i),le({html:"正在获取子文件夹大小...",icon:"info",position:"top-end",timer:0}),ae.showLoading();for(let r=0;r<i.length;r++){const a=i[r];if(!a.isDir)continue;const l=s.find(`li[cate_id="${a.id}"]`);if(!l.length)continue;const c=l.find(".file-size");if(!c.length){console.warn("[prepareItemSize] 未找到文件大小元素,跳过:",a);continue}const u=c.find("span:eq(0)");if(u.text()!==""&&!n)continue;const p=await Bt(a.id);ae.update({html:`[${r+1} / ${i.length}] 正在获取子文件夹大小:${a.name}`}),u.text(p.size);let m=p.folder_count>0?`目录${p.folder_count}`:"";if(m+=p.count>0?(m!==""?",":"")+`文件${p.count}`:"",m!==""){let w=c.find(".ce-s-d");w.length||(w=$('<div class="ce-s-d"></div>'),c.append(w)),w.text(m);}l.addClass("ce-size-got");}return ae.hideLoading(),e?await Fx(o):le({html:"已获取子文件夹大小",icon:"success",timer:1500,position:"top-end"}),o}async function Lr(e,t,n,o){const s=Os();s.find('li[file_type="0"]:not(.ce-size-got)').length>0&&await Gu(n,o,!1);const r=s.find("ul"),a=r.children("li").toArray();a.sort(function(c,u){const p=$(c),m=$(u),w=Rc(p.find(".file-size span:eq(0)").text()),b=Rc(m.find(".file-size span:eq(0)").text());return t===Pn.asc?w-b:b-w});const l=$("<ul></ul>");$.each(a,function(c,u){l.append(u);}),r.replaceWith(l),n?ae.update({title:"排序完成",html:`已完成排序: ${t===Pn.asc?"小 > 大":"大 > 小"}`,icon:"success"}):le({html:`已完成排序: ${t===Pn.asc?"小 > 大":"大 > 小"}`,icon:"success",timer:1500,position:"top-end"});}async function Fx(e){ae.fire({toast:!0,title:"获取子文件夹大小",html:"获取子文件夹大小完成",icon:"success",showConfirmButton:!0,confirmButtonText:"大 > 小",confirmButtonColor:"#3085d6",showDenyButton:!0,denyButtonText:"小 > 大",denyButtonColor:"#d33",position:"top-end",showCloseButton:!0,closeButtonAriaLabel:"关闭",preConfirm:async()=>(console.log("preConfirm"),Lr(e,Pn.desc,!0,!0),!1),preDeny:async()=>(console.log("preDeny"),Lr(e,Pn.asc,!0,!0),!1)});}async function Nx(){await Fl();const e=await lt("#js_data_list");Ux(),new MutationObserver(async([n])=>{n.type==="childList"&&(window.postMessage({event:mt.listRendered}),await Fl());}).observe(e,{childList:!0});}async function Ux(){if(window.top===window.self)return;const e=Qe("#js_pagination_box");if(!e){console.warn("[list.handleLoadAll] 未找到「#js_pagination_box」元素");return}function t(n){Qe("#js_data_list .list-contents > ul > li")&&n(!0);}e.addEventListener("click",async n=>{n.preventDefault(),n.stopPropagation();const o=n.target;let s=!1;if((o.getAttribute("menu")==="load_all_file"||o.closest('[menu="load_all_file"]'))&&(s=!0),!s)return;console.log("[list.handleLoadAll] 点击了「加载全部」按钮"),await Eo(t,500,3e5);const i=Qe("#js_data_list .list-contents > ul");i==null||i.removeAttribute("ce-done2");const r=Qe("#js_data_list");r&&r.querySelectorAll(".list-contents > ul:not([ce-done2]) > li").length&&(i==null||i.setAttribute("ce-done2",""),await Fl());});}async function Fl(){const e=await ya();Rx(e),Bx(e),e.sizeSorter&&e.showBatchFolderSizeButton&&Ww(".list-header .header-size { min-width: 142px !important;}"),Sx(e),Hx(e);const t=Zf(!1);for(let n=0;n<t.length;n++){const o=t.eq(n),s=Co(o);await jx(e,o,s);}}async function jx(e,t,n){await Tx(e,t,n),await Ox(e,t,n);}async function Hx(e){if(!e.showOpenDirContextMenu||await Qt(!1)===""||Po())return;const n=Qe(".header-name");if(!n||n.classList.contains("ce-injected"))return;const o=n,s=document.createElement("a");s.classList.add("ce-open-dir-context-menu"),s.title="打开当前目录的功能菜单",s.innerHTML="<span>目录功能菜单</span>";let i;const r=async a=>{console.log(a.clientX,a.clientY),i&&clearTimeout(i),a.preventDefault(),a.stopPropagation();try{const l=en(),c=await Qt(!1),u=s.getBoundingClientRect();l.Core.FileMenu.FileRight("1",c,!1,u.x,u.y+8,void 0,!1);}catch(l){console.error(l);}};s.addEventListener("click",r),e.hoverShowDirContextMenu&&(s.addEventListener("mouseenter",async a=>{i=setTimeout(async()=>{await r(a);},300);}),s.addEventListener("mouseleave",()=>{i&&clearTimeout(i);})),o.appendChild(s),o.classList.add("ce-injected");}async function sm(e,t,n){n.stopPropagation(),n.preventDefault();try{const o=await Ms(!1,1e3);if(!o)return;const s=Co(o),i=await Zt(),r=await mi(s,e,i);if(pu(r)){const l=(await Cn(!1)).find(c=>c.playDuration&&c.playDuration>0);hp(s.id,l);return}if(console.log("[play url]",r),!r)throw new Error("无法获取有效的播放链接!");window.open(r,"_blank","noopener noreferrer");}catch(o){console.error(o),le({title:"播放失败",text:o.toString(),icon:"error"});}}async function Vx(e,t){const n=[];for(const o of t){const s=Hr(e,{key:`_ce_p_${o.key}`,label:o.label,icon:o.icon,title:o.memo,onClick:async(i,r)=>{sm(o,i,r);}});n.push(s);}return n}async function zx(){const e=await bt(),t=await bu(e);return new Xt({key:"_play_with_x",label:t.defaultPlayer.label,icon:t.noRealDefault?"icon-operate ifo-video-play":t.defaultPlayer.icon,title:t.defaultPlayer.memo,onClick:async(n,o)=>{console.log("[dirContextMenuPlayAllWithX] me",n),!t.noRealDefault&&sm(t.defaultPlayer,n,o);},subItems:[...await Vx(gb,t.customUrlItems)]})}async function qx(){return new Xt({key:"_rename_dir",label:"重命名文件夹",icon:"icon-operate ifo-rename",title:'重命名当前目录,支持"高级模式"',onClick:async(e,t)=>{await e.closeMenu();const n=await Ms();n&&unsafeWindow.Core.Dir.Rename("1",n.attr("cate_id"),n.attr("title"));}})}async function Wx(){return new Xt({key:"_dc_view_in_clouddrive",label:"在CloudDrive中查看",icon:"icon-operate ifo-exportdir",title:"在CloudDrive2 Web页面中查看",onClick:async(e,t)=>{t.stopPropagation(),t.preventDefault(),await e.closeMenu();const n=await Qt(!1);if(!n||n==="0"){await _r({id:"0",name:"根目录",isDir:!0});return}const o=await Ms(!1,1e3);if(!o)return;const s=Co(o);await _r(s);}})}async function Kx(){return new Xt({key:"_move_dir",label:"移动文件夹",icon:"icon-operate ifo-move",title:"移动当前文件夹到其他位置",onClick:Ju("move")})}async function Gx(){return new Xt({key:"_del_dir",label:"删除文件夹",icon:"icon-operate ifo-remove",title:"删除当前文件夹",onClick:async(e,t)=>{await e.closeMenu();const n=await Ms();if(!n)return;const o=Li();unsafeWindow.Core.FileAPI.DeleteFile([n],s=>{n.remove(),o.find("#js_top_header_file_path_box .top-file-path > .file-path").children(":last").prev()[0].click();},!0);}})}function Ju(e,t){return async(n,o)=>{await n.closeMenu();const s=await Ms();s&&await iv(s,e);}}async function Jx(){return new Xt({key:"_copy_dir",label:"复制文件夹",icon:"icon-operate ifo-copy",title:"复制当前文件夹",onClick:Ju("set_copy")})}async function Yx(){return new Xt({key:"_copy_dir_to",label:"复制文件夹到",icon:"icon-operate ifo-copyto",title:"复制当前文件夹到其他位置",onClick:Ju("copy_list")})}async function Qx(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await nr("完整名称",Lt.full)),t.copyPureName&&n.push(await nr("不含后缀",Lt.pure)),t.copyFullName&&n.push(await nr("完整名称,去重",Lt.fullUnique)),t.copyPureName&&n.push(await nr("不含后缀,去重",Lt.pureUnique)),t.copySha1&&n.push(await zd(!1)),t.copySha1WithName&&n.push(await zd(!0)),t.copyUnixPath&&n.push(await qd("路径(Unix)",En.unixPath)),t.copyWinPath&&n.push(await qd("路径(Windows)",En.winPath)),t.viewInCloudDrive&&n.push(await Wx()),new Xt({key:"_dir_copy_names",label:"名称路径",icon:"icon-operate ifo-copy",subItems:n})}async function zd(e){return new Xt({key:"_dir_copy_sha1",label:"文件sha1"+(e?"(带文件名)":""),icon:"icon-operate ifo-copy",title:"复制文件sha1"+(e?"。格式为 xxx//yyy,xxx为sha1,yyy为文件名":""),onClick:async(t,n)=>{await t.closeMenu();const o=await Cn(!1),s=[];for(const i of o)i.isFile&&s.push(i.hash+(e?`//${i.name}`:""));yt(s.join(`
`)),le({title:"复制名称",text:`已复制当前目录下已加载的所有文件sha1,数量: ${s.length}`,icon:"success"});}})}async function Xx(){return new Xt({key:"view_dir_attribute",label:"查看属性",icon:"icon-operate ifo-prop",onClick:async(e,t)=>{await e.closeMenu();const n=await Ms();n&&en().Core.FileAPI.getAttribute(n,{showPlayLongChange:function(o,s,i){Zb().CACHE.FileMain.List.ResetPlayLongText(o,s,i);}},function(){console.log("查看属性 ok");});}})}async function nr(e,t){return new Xt({key:`_d_copy_names_${t}`,label:e,icon:"icon-operate ifo-copy",title:"复制当前目录下已加载的所有文件名称",onClick:async(n,o)=>{const s=await Cn(!1);if(!s.length)return;const i=await bt(),r=await Zt();let a=s.map(l=>l.name);a=(await $s(a,t)).map(l=>i.cloudDriveFormalization?an(r,l):l),yt(a.join(`
`)),le({title:"复制名称",text:`已复制选中文件名。数量:${a.length},复制类型:${e}`,icon:"success"});}})}async function qd(e,t){return new Xt({key:`_d_copy_paths_${t}`,label:e,icon:"icon-operate ifo-copy",title:"复制当前目录下已加载的所有文件路径",onClick:async(n,o)=>{await n.closeMenu();const s=await Cn(!1);if(!s.length)return;let i=[];le({text:"正在获取文件路径...",timer:0}),ae.showLoading();try{const r=await bt(),a=await Zt(),l=r.cloudDriveFormalization?c=>an(a,c):c=>c;i=await gp(s,t,l),ae.close();}catch(r){console.error(r),le({text:`获取文件路径失败: ${r}`,timer:6e4,icon:"error"});return}finally{ae.hideLoading();}yt(i.join(`
`)),le({title:"复制路径",text:`已复制文件的路径。数量:${i.length},复制类型:${e}`,icon:"success"});}})}async function Zx(){return new Xt({key:"show_sub_folder_size",label:"子文件夹大小",title:"显示当前目录下已加载的所有子文件夹的大小",icon:"icon-operate ifo-prop",onClick:async(e,t)=>{await e.closeMenu(),await Gu(!1,!1,!1);}})}async function ek(){return new Xt({key:"show_sub_folder_size_sort",label:"子文件夹大小+排序",title:"显示当前目录下已加载的所有子文件夹的大小,并进行排序",icon:"icon-operate ifo-prop",onClick:async(e,t)=>{await e.closeMenu(),await Lr("",Pn.desc,!0,!0);}})}async function tk(e){const{[Ue.dirContext]:t}=e;if(!t.enabled)return;const n=[...t.topLevelMenus,"play","copyNames"],o=[],s=[],i=new Map;t.rename&&i.set("rename",await qx()),t.delete&&i.set("delete",await Gx()),t.play&&i.set("play",await zx()),t.copyNames&&i.set("copyNames",await Qx(t)),t.move&&i.set("move",await Kx()),t.viewProp&&i.set("viewProp",await Xx()),t.showSubFolderSize&&i.set("showSubFolderSize",await Zx()),t.showSubFolderSizeAndSort&&i.set("showSubFolderSizeAndSort",await ek()),t.copy&&i.set("copy",await Jx()),t.copyTo&&i.set("copyTo",await Yx());const r=i.keys();for(const l of r){const c=i.get(l);c&&(n.includes(l)?o.push(c):s.push(c));}s.length>1?o.push(new Xt({key:"_dir_more",label:"更多",icon:"icon-operate ifo-open",subItems:s})):s.length===1&&o.push(s[0]),await new yb({items:o,siblingSelector:'[val="upload"]',position:eo.before}).inject(),$(".ce-menu-parent .ce-menu-trigger").on("mouseover",function(){$(this).find(".ce-menu-dropdown").show();}).on("mouseout",function(){$(this).find(".ce-menu-dropdown").hide();});}async function nk(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await or("完整名称",Lt.full)),t.copyPureName&&n.push(await or("不含后缀",Lt.pure)),t.copyFullName&&n.push(await or("完整名称,去重",Lt.fullUnique)),t.copyPureName&&n.push(await or("不含后缀,去重",Lt.pureUnique)),t.copySha1&&n.push(await Kd(!1)),t.copySha1WithName&&n.push(await Kd(!0)),t.copyUnixPath&&n.push(await Wd("路径(Unix)",En.unixPath)),t.copyWinPath&&n.push(await Wd("路径(Windows)",En.winPath)),t.viewInCloudDrive&&n.push(await ok()),new Mi({key:"_lc_copy_names_paths",label:"名称路径",icon:"icon-operate ifo-copy",showIcon:!1,title:"复制文件的名称路径",subItems:n})}function wa(){const e=uv();return !e||!e.n?(le({text:"无法获取当前文件信息",timer:1200}),null):es(e)}async function or(e,t){return new Mi({key:`_lc_copy_name_${t}`,label:e,icon:"icon-operate ifo-copy",title:"复制名称",onClick:async(n,o)=>{await n.closeMenu();const s=wa();if(!s)return;const i=await bt(),r=await Zt();let a=[s.name];a=(await $s(a,t)).map(l=>i.cloudDriveFormalization?an(r,l):l),a=await $s(a,t),yt(a.join(`
`)),le({title:"复制名称",text:`已复制选中文件名,CloudDrive文件名规范: ${i.cloudDriveFormalization?"是":"否"}`,icon:"success"});}})}async function Wd(e,t){return new Mi({key:`_lc_copy_path_${t}`,label:e,icon:"icon-operate ifo-copy",title:"复制路径",onClick:async(n,o)=>{await n.closeMenu();const s=wa();if(!s)return;const i=await bt(),r=await Zt();let a=await Qr(s);i.cloudDriveFormalization&&(a=a.map(u=>an(r,u,!0)),s.name=an(r,s.name,!0));let l=a.join("/");const c=await Zr(s,l,t);yt(c),le({title:"复制路径",text:`已复制文件路径,CloudDrive文件名规范: ${i.cloudDriveFormalization?"是":"否"}`,icon:"success"});}})}async function Kd(e){return new Mi({key:"_lc_copy_sha1",label:"文件sha1"+(e?"(带文件名)":""),icon:"icon-operate ifo-copy",title:"复制文件sha1"+(e?"。格式为 xxx//yyy,xxx为sha1,yyy为文件名":""),onClick:async(t,n)=>{await t.closeMenu();const o=wa();if(!o)return;if(o.isDir){le({text:"该功能仅对文件有效",icon:"warning",timer:2e3});return}const s=o.hash+(e?`//${o.name}`:"");yt(s),le({title:"复制文件sha1",text:"已复制文件sha1",icon:"success",timer:1e3});}})}async function ok(){return new Mi({key:"_lc_view_in_clouddrive",label:"在CloudDrive中查看",icon:"icon-operate ifo-exportdir",title:"在CloudDrive2 Web页面中查看",onClick:async(e,t)=>{await e.closeMenu();const n=wa();n&&await _r(n);}})}async function sk(e){const{[Ue.listItemContext]:t}=e;if(!t.enabled)return;const n=[];t.copyNames&&n.push(await nk(t)),new bb({items:n,position:eo.after,siblingSelector:'[val="refresh"]',useObserver:!0,observeTarget:document.body,disposeObserverAfterInjection:!1}).inject();}async function ik(e){const{[Ue.listItemHover]:t}=e;if(!t.enabled)return;const n=[];t.openInNewTab&&n.push(await f1()),t.search&&n.push(await u1()),t.play&&n.push(await l1()),t.copyNames&&n.push(await d1(t)),t.findRepeat&&n.push(await p1()),new m1({items:n,position:eo.after,siblingSelector:'[menu="move"], [menu="delete"]'}).inject();}let rk=[];async function ak(){return new ea({key:"_s_smart_mkdir",label:"同名目录",icon:"icon-operate ifo-move",title:"将选中的文件移动到同名目录",onClick:await o1()})}async function lk(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await sr("完整名称",Lt.full)),t.copyPureName&&n.push(await sr("不含后缀",Lt.pure)),t.copyFullName&&n.push(await sr("完整名称,去重",Lt.fullUnique)),t.copyPureName&&n.push(await sr("不含后缀,去重",Lt.pureUnique)),t.copySha1&&(n.push(await Gd(!1)),n.push(await Gd(!0))),t.copyUnixPath&&n.push(await Jd("路径(Unix)",En.unixPath)),t.copyWinPath&&n.push(await Jd("路径(Windows)",En.winPath)),new ea({key:"_s_copy_names_paths",label:"名称路径",icon:"icon-operate ifo-copy",showIcon:!1,title:"复制选中文件的名称路径",onClick:async(o,s)=>{},subItems:n})}async function Gd(e,t){return new Es({key:"_s_copy_sha1"+(e?"_u":""),label:"文件sha1"+(e?",去重":""),icon:"icon-operate ifo-copy",showIcon:!1,title:"复制文件sha1。格式为 xxx//yyy,xxx为sha1,yyy为文件名",onClick:async(n,o)=>{const s=await Cn(!0),i=new Set,r=[];for(const a of s)a.hash&&(e&&i.has(a.hash)||(i.add(a.hash),r.push(a.hash+`//${a.name}`)));yt(r.join(`
`)),le({title:"复制文件sha1",text:`已复制选中文件sha1。数量:${r.length}`,icon:"success",timer:1e3});}})}async function sr(e,t){return new Es({key:`_s_copy_names_${t}`,label:e,icon:"icon-operate ifo-copy",showIcon:!1,title:e,onClick:async(n,o)=>{const s=await Cn(!0);if(!s.length)return;const i=await bt(),r=await Zt();let a=s.map(l=>l.name);a=(await $s(a,t)).map(l=>i.cloudDriveFormalization?an(r,l):l),yt(a.join(`
`)),le({title:"复制名称",text:`已复制选中文件名。数量:${a.length},复制类型:${e},CloudDrive文件名规范: ${i.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function Jd(e,t){return new Es({key:`_s_copy_path_${t}`,label:e,icon:"icon-operate ifo-copy",showIcon:!1,title:e,onClick:async(n,o)=>{const s=await Cn(!0);if(!s.length)return;let i=[];le({text:"正在获取已选文件路径...",timer:0}),ae.showLoading();const r=await bt();try{const a=await Zt(),l=r.cloudDriveFormalization?c=>an(a,c):c=>c;i=await gp(s,t,l),ae.close();}catch(a){console.error(a),le({text:`获取已选文件路径失败: ${a}`,timer:6e4,icon:"error"});return}finally{ae.hideLoading();}yt(i.join(`
`)),le({title:"复制路径",text:`已复制选中文件的路径。数量:${i.length},复制类型:${e},CloudDrive文件名规范: ${r.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function uk(e=Jr.vod){const t=await Cn(!0);if(!t.length)return;const n=Date.now().toString(),o=unsafeWindow.open(ep("xxx",e),n);await Yt(1e3);let s=10;for(;s>0;)o==null||o.postMessage({event:"play",body:{id:n,files:t}},`https://${e}`),await Yt(1e3),s--;}async function ck(){const e=await bt(),t=await bu(e);return new ea({key:"_s_play_with_x_d",label:t.defaultPlayer.label,title:t.defaultPlayer.memo,onClick:async(n,o)=>{console.log("[selectionMenuPlayWithDropdown] me",n),!t.noRealDefault&&im(t.defaultPlayer,n,o);},subItems:[...await fk(Es,t.customUrlItems),new w1({}),new Es({label:"关于选中播放",onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault(),le({title:"关于选中播放",html:`
              <p>点「在线播放」会打开115播放页面播放选中的视频。</p><br>
              <p>如果是点击调用本地播放器播放:<p>
              <p>原理: 生成m3u8文件,上传m3u8文件到115,调用播放该m3u8的CloudDrive2直链。<p>
              <p>设定: m3u8默认放在网盘根目录下的「.ce-m3u8-temp」目录下,不会自动清理。<p>
              <p>作为使用者需做的: 在CloudDrive2里设置「.ce-m3u8-temp」目录缓存时间为1秒。</p>
              <p class="text-info" style="font-size:12px;">这个目录会在首次播放时自动创建,如果想提前设置目录缓存时间,可以自己创建。另外,可以在「设置 - 菜单设置 - 全局设置」中修改「M3U8临时目录」以设置目录位置。</p>
              <br><p class="text-danger">导致播放失败的可能: CloudDrive2目录缓存工作异常,导致请求不到m3u8文件。</p>
            `,showConfirmButton:!0,width:600,timer:18e5});},icon:"data-text:❓"})]})}async function dk(e){if(e=e.trim(),!e)throw new Error("m3u8临时目录路径为空!");const t=await hv(e);if(t.id)return console.log("[ensureM3u8TempDir] result:",t),t.id;throw new Error("创建m3u8临时目录失败!")}async function im(e,t,n){if(n.stopPropagation(),n.preventDefault(),t.key==="_ce_p_p_builtin_online"||e.key==="p_builtin_online"){await uk();return}const o=await bt();try{let s=await Cn(!0);if(s=s.filter(m=>m.isDir||m.isVideo||m.isImage),s.length===0){le({title:"播放失败",text:"没有可以播放的目录或媒体文件!",icon:"error",timer:2e3});return}const i=await Zt();if(s.length===1){const m=s[0],w=await mi(m,e,i);window.open(w,"_blank","noopener noreferrer");return}const r=await dk(o.m3u8TempDir),a=await pv(s,r);console.log("[selection.buildPlayMenuItems generatePlaylistOn115]",a);const l=a.data,c={id:l.file_id,name:l.file_name,parentId:l.cid,sizeBytes:l.file_size,pickCode:l.pick_code,isDir:!1,isFile:!0},u=vr([o.m3u8TempDir,c.name],mo.unix);le({title:"检查m3u8文件",text:"正在检查m3u8文件是否已准备就绪...",icon:"info",timer:0}),ae.showLoading(),await Fb(i,u,!0,1e3,6e4),le({icon:"success",text:"m3u8文件已准备就绪,即将开始播放..."});const p=await mi(c,e,i);window.open(p,"_blank","noopener noreferrer");}catch(s){console.error(s),le({title:"播放失败",text:s.toString(),icon:"error",timer:6e4,showConfirmButton:!0});}finally{ae.hideLoading();}}async function fk(e,t){const n=[];for(const o of t){const s=Hr(e,{key:`_ce_p_${o.key}`,label:o.label,icon:o.icon,title:o.memo,onClick:async(i,r)=>{im(o,i,r);}});n.push(s);}return n}async function pk(e){const t=[...(await Xr()).filter(o=>o.enabled),...rk.filter(o=>o.enabled),...(await Ls(to.search)).filter(o=>o.enabled)];let n;return e.searchOpenType!==yl.undefined&&(n=e.searchOpenType===yl.background),new ea({key:"_s_search_d",label:"搜索",icon:"",title:"批量搜索",onClick:async(o,s)=>{s.stopPropagation(),s.preventDefault(),console.log("[selectionMenuSearchDropdown] me",o);},subItems:[...await wu(Es,t,void 0,Ue.selectionSub,n)]})}async function hk(e){if(!e.hideSelectionMenuLabel)return;const t=await lt("#js_operate_box");new MutationObserver(async([o])=>{if(o.type==="childList"){const s=t.querySelectorAll("li[menu]");for(let i=0;i<s.length;i++){const r=s[i],a=r.textContent;r.setAttribute("title",a||"");}}}).observe(t,{childList:!0}),t.classList.add("only-icon");}async function mk(e){const{[Ue.selection]:t}=e;if(!t.enabled)return;const n=[];Po()||t.moveToSelfNameDir&&n.push(await ak()),t.copyNames&&n.push(await lk(t)),t.play&&n.push(await ck()),t.search&&n.push(await pk(t)),new b1({items:n,position:eo.before,siblingSelector:"ul li"}).inject();}async function gk(e,t){var r;if(t||(t=await bt()),!t||!((r=t[Ue.shareListItemHover])!=null&&r.enabled))return;const s=(a=>{let l="";for(const c of a)c.enabled&&(l+=c.body);return l})([{label:"_",body:'<a href="javascript:;" menu="_s_null_" style="display:none"><span>_</span></a>',enabled:!0}]);(()=>{const a="ce-menu-init",l=sb(`#js-list li:not(.${a})`);for(let c=0;c<l.length;c++){const u=l[c];let p=u.querySelector(".file-opr");p?(u.classList.add(a),p.innerHTML+=s):(p=st(`<div class="file-opr ${a}" rel="menu"></div>`),p.innerHTML=s,u.appendChild(p));}})();}async function rm(e){let t=e.pageWidth.trim();const n="ce-share-page-width";let o=nb(`#${n}`,`<style id="${n}"></style>`);t=/^\d+$/.test(t)?`${t}px`:t,o.innerHTML=t?`div.wrap-sharing { width: ${t} !important; }`:"",document.contains(o)||document.head.appendChild(o);const s=!!t&&!/px$/.test(t);yk(s);}function am(){const e=Qe(".top-vflow");if(!e)return;const t=Qe('a[btn="save"]');if(!t)return;const n=t.getBoundingClientRect(),o=Qe("#save_directly");o&&(o.style.left=n.left-e.getBoundingClientRect().left+"px");}const Yd=wt(am,200);let ir=!1;function yk(e){setTimeout(am,500),e&&!ir?(window.addEventListener("resize",Yd),ir=!0):!e&&ir&&(window.removeEventListener("resize",Yd),ir=!1);}async function wk(e){if(!e.autoConfirmPassword)return;let t=Vr("password");if(!t||(t=t.replace(/(\?.*)?$/,""),(await lt(".form-decode .form-item input")).value!==t))return;(await lt(".form-decode .submit a.button")).click(),le({icon:"success",text:"自动确定访问码",timer:1e3,position:"top-right"});}async function bk(e){const t=await lt("#js-list"),n=await bt(),o=i=>{el(e),gk(e,n);};new MutationObserver(o).observe(t,{childList:!0}),t.addEventListener("mousedown",wt(i=>{el(e);},200));try{(await lt('[btn="check_all"]')).addEventListener("mousedown",wt(r=>{el(e);},200));}catch(i){console.error(i);}}function Ei(e){e instanceof HTMLElement||(e=e[0]);const t=e.getAttribute("fid"),n=e.getAttribute("cid"),o=!!t;return {id:t||n,name:e.getAttribute("file_name"),sizeBytes:parseInt(e.getAttribute("file_size")||"0"),isFile:o,isDir:!o,snapId:e.getAttribute("snap_id"),parentId:o?n:"",hash:e.getAttribute("sha1")||"",checked:e.classList.contains("selected")}}function vk(e){const t={num:0,filesNum:0,filesSize:0,foldersNum:0,selectedNum:0,selectedFilesNum:0,selectedFilesSize:0,selectedFoldersNum:0};for(const n of e)t.num+=1,n.isFile?(t.filesNum+=1,t.filesSize+=n.sizeBytes):t.foldersNum+=1,n.checked&&(t.selectedNum+=1,n.isFile?(t.selectedFilesNum+=1,t.selectedFilesSize+=n.sizeBytes):t.selectedFoldersNum+=1);return t}async function el(e){if(!e.showListSummary)return;const t=await lt(".list-header"),o=(await lt("ul#js-list")).querySelectorAll("li"),s=Array.from(o).map(Ei),i=vk(s),r=t.querySelector(".header-name"),a=[];i.num&&a.push(`共${i.num}项`),i.filesNum&&a.push(`${i.filesNum}个文件,合计${ks(i.filesSize)}`),i.foldersNum&&a.push(`${i.foldersNum}个目录`);const l=[];i.selectedNum&&(i.selectedFilesNum&&l.push(`${i.selectedFilesNum}个文件,合计${ks(i.selectedFilesSize)}`),i.selectedFoldersNum&&l.push(`${i.selectedFoldersNum}个目录`));const c=`
    <span class="ce-list-summary">
      ${a.join(", ")}
      ${l.length?`。已选中${l.join(",")}`:""}
    </span>
  `;let u=r.querySelector(".ce-list-summary");u?u.outerHTML=c:(u=st(c),r.appendChild(u));}async function lm(e){const t="ce-share-page";document.body.classList.add(t),parent.document.body.classList.add(t);const n="ce-share-fresh";e.freshMode?document.body.classList.add(n):document.body.classList.remove(n);}async function Ck(){window.addEventListener("message",async e=>{const t=e.data.event,n=e.data.body;t===mt.shareConfigChange&&(rm(n),lm(n));});}let _k=[];async function xk(e){const t=[...(await Xr()).filter(n=>n.enabled),..._k.filter(n=>n.enabled),...(await Ls(to.search)).filter(n=>n.enabled)];return new vp({key:"_s_search_with_name_d",label:"搜索",icon:"",title:"使用名称搜索",onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const s=$(o.target).closest("li"),i=Ei(s[0]),r=Yr({search_value:i.name,cid:"0"});window.open(r,"_blank","noopener noreferrer");},subItems:[...await wu(vu,t,Ei)]})}async function Qd(e,t){return new vu({key:`_s_lh_copy_name_${t}`,label:e,icon:"icon-operate ifo-copy",title:e,onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const s=$(o.target).closest("li"),i=Ei(s[0]),r=await bt(),a=await Zt();let l=[i.name];l=(await $s(l,t)).map(c=>r.cloudDriveFormalization?an(a,c):c),yt(l.join(`
`)),le({title:"复制名称",text:`已复制选中文件名,复制类型:${e},CloudDrive文件名规范: ${r.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function Xd(e){return new vu({key:"_s_lh_copy_sha1",label:"文件sha1"+(e?"(带文件名)":""),icon:"icon-operate ifo-copy",title:"复制文件sha1"+(e?"。格式为 xxx//yyy,xxx为sha1,yyy为文件名":""),onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=$(n.target).closest("li"),s=Ei(o[0]);if(s.isDir){le({text:"该功能仅对文件有效",icon:"warning",timer:2e3});return}const i=s.hash+(e?`//${s.name}`:"");yt(i),le({title:"复制文件sha1",text:"已复制文件sha1",icon:"success",timer:1e3});}})}async function kk(e){const t=bp().namePathConfig,{namePathConfig:n=t}=e,o=[];return n.copyFullName&&o.push(await Qd("完整名称",Lt.full)),n.copyPureName&&o.push(await Qd("不含后缀",Lt.pure)),n.copySha1&&o.push(await Xd(!1)),n.copySha1WithName&&o.push(await Xd(!0)),new vp({key:"_s_lh_copy_name_path",label:"名称",title:"复制文件名称",subItems:o})}async function Sk(e){const{[Ue.shareListItemHover]:t}=e;if(!t.enabled)return;const n=[];t.search&&n.push(await xk()),t.copyNames&&n.push(await kk(t)),new v1({items:n,position:eo.after,siblingSelector:'[menu="_s_null_"], [btn="prosecute"]'}).inject();}async function $k(){const{host:e,search:t}=location;if(!e.includes("115.com")&&!pl())return;console.log("[Cloud115 Enhancer - menu] running..."),Ek(),document.addEventListener(fn.EVENT_CLOSE_MENU,o=>{$("#"+o.detail.menu.key).closest(".context-menu").hide();});const n=await bt();n.enabled&&(Pk(n),await yp(n),window.top===window.self&&tk(n),sk(n),(_n()||Po())&&(ik(n),mk(n),hk(n)),pl()&&Sk(n));}async function Ek(){const e="ceCustomUrlHelp",t=document.createElement("div");t.id=e,document.body.appendChild(t);const n=Gn(rx);n.component("VDropdown",Fs),n.mount(`#${e}`);}async function Pk(e){e.manageOfficialMenus&&(Hd(),window.addEventListener("message",async t=>{t.data.event===mt.officialMenuStyleChange&&(console.log("[Cloud115 Enhancer - menu] officialMenuStyleChange",location.href),await Yt(1e3),console.log(await em()),Hd());}));}const um=gt.offline;var hr=(e=>(e.name="name",e.nameRegex="nameRegex",e.infoHash="infoHash",e.url="url",e))(hr||{});const Ak={name:"名称",nameRegex:"名称正则",infoHash:"哈希",url:"链接"};var Zo=(e=>(e.selection="ce-offline-selection",e.configChanged="ce-offline-config-changed",e.searchPageChanged="ce-offline-search-page-changed",e))(Zo||{});function Ik(e){return {onlyMagnetEd2k:!1,enableOptimization:!0,reqInterval:500,maxPage:0,showInfoHash:!0,enableListManagement:!0,fixGotoPage:!1,enableSearcher:!0,searchMaxPage:5,searchKeywordType:"name",searchStatus:sn.any,searchStopOnFound:!1,searchReqInterval:10,noGotoTaskPage:!0,...e}}async function So(){const e=Ik(),t=await tt.get(um,e);return {...e,...t}}async function cm(e){await tt.set(um,e),window.postMessage({event:"ce-offline-config-changed",body:JSON.parse(JSON.stringify(e))},"*");}var Dk={name:"115不大助手",version:"0.7.75",author:{name:"生瓜太保",email:"[email protected]"},greasyforkUrl:"http://greasyfork.icu/zh-CN/scripts/474231-115%E4%B8%8D%E5%A4%A7%E5%8A%A9%E6%89%8B-full?locale_override=1"};async function Tk(e){const t=await lt("#js-warp"),n=t.querySelectorAll("li[complete]");if(n.length>0)for(const s of Array.from(n))await Zd(s,e);Bk(e),new MutationObserver(async([s])=>{if(s.type==="childList"){s.addedNodes.forEach(async a=>{await Zd(a,e);});const i=document.querySelector(".ce-checkbox-all input"),r=await ba();if(!r.length)i.checked=!1,i.indeterminate=!1;else {const a=t.querySelectorAll("li[complete]");i.checked=r.length===a.length,i.indeterminate=!i.checked;}await va(r);}}).observe(t,{childList:!0});}async function Ok(e){const t=e;return {complete:t.getAttribute("complete"),cate_id:t.getAttribute("cate_id"),delete_id:t.getAttribute("delete_id"),status:t.getAttribute("status"),suffix:t.getAttribute("suffix"),name:t.getAttribute("name"),hash:t.getAttribute("hash")}}async function Zd(e,t){const n=e,o=await Ok(e);Rk(n,t,o),Mk(n,t,o),Lk(n,t,o);}async function Mk(e,t,n){if(!t.showInfoHash||e.querySelector(".info-hash"))return;const o=e.querySelector(".file-name"),s=st(`
    <div class="info-hash" title="点击复制${n.hash}">${n.hash}</div>
  `);o.after(s),s.addEventListener("click",()=>{yt(n.hash),le({text:"已复制",icon:"success",timer:800});});const i=e.querySelector(".desc-tips");i&&i.style.display!=="none"&&e.classList.add("ce-task-trouble");}async function Lk(e,t,n){const o=e.querySelector(".file-operate");if(o.querySelector(".ce-buttons"))return;const s=st('<span class="ce-buttons"></span>'),i=st(`
    <a target="_blank" class="pure-button button-mini button-info">打开</a>
  `);i.href=go(n.cate_id),i.title="在新标签页打开目录",s.append(i),o.prepend(s);}async function Bk(e){if(!e.enableListManagement)return;const t=await lt("#js-main .header-name");let n=t.querySelector(".ce-checkbox-all");n||(n=st(`
      <div class="ce-checkbox ce-checkbox-all">
        <input type="checkbox"/>
      </div>
    `),t.prepend(n)),n.addEventListener("click",()=>{const o=n.querySelector("input").checked;document.querySelectorAll("#js-warp li").forEach(i=>{const r=i.querySelector("input");r.checked=o,i.classList.toggle("ce-selected",o);}),ba().then(i=>{va(i);});});}async function Rk(e,t,n){if(!t.enableListManagement||e.querySelector(".ce-checkbox"))return;const o=e.querySelector(".file-name-wrap"),s=st(`
    <div class="ce-checkbox">
      <input type="checkbox" data-id="${n.hash}" />
    </div>
  `);o.prepend(s),e.classList.add("ce-show-checkbox"),s.addEventListener("click",async i=>{i.shiftKey?await Nk(i,e):await Fk(i,e);});}async function Fk(e,t){t.classList.toggle("ce-selected");const n=document.querySelector(".ce-checkbox-all input"),o=await fm();let s=0;for(const r of o)r.classList.contains("ce-selected")&&s++;const i=s===o.length;n.checked=i,n.indeterminate=!i&&s>0,ba().then(r=>{va(r);});}async function Nk(e,t){const n=await fm(),o=n.indexOf(t);let s=-1;for(let u=0;u<o;u++)if(n[u].classList.contains("ce-selected")){s=u;break}if(s===-1){for(let u=n.length-1;u>o;u--)if(n[u].classList.contains("ce-selected")){s=u;break}}s=s===-1?o:s;const i=Math.min(s,o),r=Math.max(s,o);let a=0;for(let u=0;u<n.length;u++){const p=n[u],m=p.querySelector(".ce-checkbox input"),w=u>=i&&u<=r;m.checked=w,w&&a++,p.classList.toggle("ce-selected",w);}const l=i===0&&r===n.length-1,c=document.querySelector(".ce-checkbox-all input");c.checked=l,c.indeterminate=!l&&a>0,ba().then(u=>{va(u);});}async function dm(e){var n;const t={info_hash:e.getAttribute("hash"),status:Number(e.getAttribute("status")),name:e.getAttribute("name"),file_id:e.getAttribute("cate_id"),delete_file_id:e.getAttribute("delete_id"),url:((n=e.querySelector(".file-operate [cp_href]"))==null?void 0:n.getAttribute("cp_href"))||""};return t.name||(t.name=e.querySelector(".file-name").textContent.trim()),t}async function fm(e){const t=document.querySelectorAll("#js-warp li"),n=[];return t.forEach(async o=>{const s=o;n.push(s);}),n}async function ba(){const e=document.querySelectorAll("#js-warp li"),t=[];return e.forEach(async n=>{const o=n;if(o.classList.contains("ce-selected")){const s=await dm(o);t.push(s);}}),t}async function va(e){window.postMessage({event:Zo.selection,body:e},"*");}async function Nl(e){document.querySelectorAll("#js-warp li").forEach(async n=>{const o=n,s=o.getAttribute("hash");e.includes(s)&&Lf(o);});}async function Uk(e,t,n,o){var w;const s=[],i=n.maxPage||5;let r="",a=null,l="",c="",u="";n.name!==void 0&&(r=n.caseSensitive?n.name:n.name.toLowerCase()),n.nameRegex!==void 0&&(a=new RegExp(n.nameRegex)),n.infoHash!==void 0&&(l=n.caseSensitive?n.infoHash:n.infoHash.toLowerCase()),n.url!==void 0&&(c=n.caseSensitive?n.url:n.url.toLowerCase()),n.status!==void 0&&n.status!==sn.any&&n.status.toString()!==""&&(u=n.status.toString());let p=n.stopOnFound||!1;(l||c)&&(p=!0);let m=-1;for(let b=1;b<=i&&!(m>-1&&b>m);b++){window.postMessage({event:Zo.searchPageChanged,body:b},"*");const C=await tp(b,e,t);m===-1&&(m=C.page_count);const F=C.tasks;for(const O of F){const R=n.caseSensitive?O.name:O.name.toLowerCase(),T=n.caseSensitive?O.info_hash:O.info_hash.toLowerCase(),D=n.caseSensitive?O.url:(w=O.url)==null?void 0:w.toLowerCase(),N=r&&n.fuzzyName?R.includes(r):!1,z=a?a.test(R):!1,G=l&&T===l,ge=c&&D===c;if((u?u===O.status.toString():!0)&&(N||z||G||ge)&&(s.push(O),p))break}if(p&&s.length)break}return s}async function jk(){if(!(await So()).fixGotoPage)return;const t=await lt("#js-page");if(!t){console.warn("[fixGotoPage] 找不到`#js-page`");return}const n=async r=>{if(r.key!=="Enter")return;const a=r.target,l=parseInt(a.value);if(isNaN(l)){a.select();return}parent.window.Core.OFFL5Plug.ChangePage(l);},o=async(r=!1)=>{const a=t.querySelector('input[rel="page_jump"]');if(!a)return;const l=st(`
      <input rel="page_jump" type="text" style="background-color: #fefcea;" />
    `);l.title=`这是 ${Dk.name} 替换的输入框,如果想恢复原有的输入框,请在「离线设置」中关闭「修复输入页码跳转」选项`,l.addEventListener("keydown",n),a.insertAdjacentElement("beforebegin",l),a.remove(),r&&l.focus();},s=wt(async r=>{o(!0);},50),i=new MutationObserver(async([r])=>{r.type==="childList"&&s(r);});o(!1),i.observe(t,{childList:!0});}async function Hk(e){const t=en();if(!e.noGotoTaskPage||window!==window.top||t.Core.OFFL5Plug)return;async function n(o){t.Core&&o(!0);}try{await Eo(n,250,3e4),t.Core.OFFL5Plug||t.$.getScript("https://cdnres.115.com/site/static/plug/offline_wl/offline5.0.js",()=>{t.Core.OFFL5Plug.AddClient({});});}catch(o){throw new Error(`[disableGotoTaskPage] wait Core failed:${o.message}`)}}const Vk={class:"ce-config ce-offline-config"},zk={class:"pure-form pure-form-aligned offline-exporter-config-form"},qk={class:"pure-control-group"},Wk={class:"pure-control-group"},Kk={class:"pure-control-group"},Gk={class:"pure-control-group"},Jk={class:"pure-control-group"},Yk={class:"pure-control-group"},Qk={class:"pure-control-group"},Xk=Te({__name:"Config",async setup(e){let t,n;const o=ne(([t,n]=Ht(()=>So()),t=await t,n(),t));return At(async()=>{}),Xe(o,wt(async s=>{await cm(s),le({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:!0}),(s,i)=>(S(),I("div",Vk,[d("form",zk,[d("fieldset",null,[d("div",qk,[i[7]||(i[7]=d("label",{for:"noGotoTaskPage"},"添加任务后不跳转",-1)),oe(d("input",{id:"noGotoTaskPage",type:"checkbox","onUpdate:modelValue":i[0]||(i[0]=r=>o.value.noGotoTaskPage=r)},null,512),[[Ae,o.value.noGotoTaskPage]]),i[8]||(i[8]=d("div",{class:"pure-form-message text-success"}," 官方的添加离线任务在添加任务后可能会跳转到任务列表页,开启此选项可以避免跳转。 ",-1))]),d("div",Wk,[i[9]||(i[9]=d("label",{for:"enableListManagement"},"启用批量管理",-1)),oe(d("input",{id:"enableListManagement",type:"checkbox","onUpdate:modelValue":i[1]||(i[1]=r=>o.value.enableListManagement=r)},null,512),[[Ae,o.value.enableListManagement]]),i[10]||(i[10]=d("div",{class:"pure-form-message text-success"}," 可以选中多个任务进行操作,支持shift多选。 ",-1))]),d("div",Kk,[i[11]||(i[11]=d("label",{for:"showInfoHash"},"显示链接哈希",-1)),oe(d("input",{id:"showInfoHash",type:"checkbox","onUpdate:modelValue":i[2]||(i[2]=r=>o.value.showInfoHash=r)},null,512),[[Ae,o.value.showInfoHash]]),i[12]||(i[12]=d("div",{class:"pure-form-message text-success"}," 显示离线任务的哈希文本,点击可以复制。 ",-1))]),d("div",Gk,[i[13]||(i[13]=d("label",{for:"fixGotoPage"},"修复输入页码跳转",-1)),oe(d("input",{id:"fixGotoPage",type:"checkbox","onUpdate:modelValue":i[3]||(i[3]=r=>o.value.fixGotoPage=r)},null,512),[[Ae,o.value.fixGotoPage]]),i[14]||(i[14]=d("div",{class:"pure-form-message text-success"}," 如果官方的输入页码跳转功能异常,可开启此选项。 ",-1))]),i[21]||(i[21]=d("div",{class:"ce-tips"},"以下是导出链接相关选项",-1)),d("div",Jk,[i[15]||(i[15]=d("label",{for:"onlyMagnetEd2k"},"只取磁力和ED2K链接",-1)),oe(d("input",{id:"onlyMagnetEd2k",type:"checkbox","onUpdate:modelValue":i[4]||(i[4]=r=>o.value.onlyMagnetEd2k=r)},null,512),[[Ae,o.value.onlyMagnetEd2k]]),i[16]||(i[16]=d("div",{class:"pure-form-message text-success"}," 导出链接时,只取磁力和ED2K链接,其他比如http链接会被略过。 ",-1))]),d("div",Yk,[i[17]||(i[17]=d("label",{for:"enableOptimization"},"启用导出优化",-1)),oe(d("input",{id:"enableOptimization",type:"checkbox","onUpdate:modelValue":i[5]||(i[5]=r=>o.value.enableOptimization=r)},null,512),[[Ae,o.value.enableOptimization]]),i[18]||(i[18]=d("div",{class:"pure-form-message text-success"}," 据观察,离线记录列表是将未完成的记录放在最前面的。如果只需导出未完成链接, 当获取到一个已完成的记录时,便可以停止继续获取后面的记录,节省时间。 ",-1))]),d("div",Qk,[i[19]||(i[19]=d("label",{for:"maxPage"},"最多导出页数",-1)),oe(d("input",{id:"maxPage",type:"number","onUpdate:modelValue":i[6]||(i[6]=r=>o.value.maxPage=r),min:0},null,512),[[We,o.value.maxPage]]),i[20]||(i[20]=d("div",{class:"pure-form-message text-success"}," 0表示不限制,否则表示最多导出的页数。 ",-1))])])])]))}}),pm=Re(Xk,[["__file","Config.vue"]]);function ef(e){return /^magnet:\?xt=urn:btih/.test(e)}function tf(e){return /^ed2k:\/\/\|file\|/.test(e)}function nf(e){return `magnet:?xt=urn:btih:${e.toUpperCase()}`}function hm(e){const t=e.match(/([a-z\d]{32,40})/i);return t?t[1]:""}function Zk(e,t=!0){return (t?/^([a-z\d]{32})$|^([a-z\d]{40})$/i:/^[a-z\d]{32,40}$/i).test(e)}const eS={class:"ce-offline-exporter"},tS={key:0},rr=`\r
`,nS=Te({__name:"OflineExporter",setup(e){let t,n;const o=ne([]);let s={};Vt(async()=>{s=await So(),t=await op(),console.log("[profile]",t),n=await np(),console.log("[space]",n),i(),await Tk(s);});async function i(){window.addEventListener("message",b=>{const{event:C,body:F}=b.data;switch(C){case Zo.selection:o.value=F;break;case Zo.configChanged:s=F;break}},!1);}async function r(b=!1,C=""){const{isConfirmed:F,value:O}=await ae.fire({title:"根据链接删除离线任务",html:`
      <div>每行一个链接,支持磁力链接和ED2K链接</div>
      <div>
        <label class="swal2-checkbox" style="display: flex;">
          <input type="checkbox" id="swalDeleteFile">
          <span class="swal2-label">同时删除文件</span>
        </label>
      </div>
      <div>
        <textarea id="swalUrls" aria-label="每行一个链接" class="swal2-textarea" placeholder="每行一个链接" style="width:80%;"></textarea>
      </div>
    `,focusConfirm:!1,didOpen:()=>{const D=document.getElementById("swalDeleteFile");D.checked=b;const N=document.getElementById("swalUrls");N.value=C,N.focus();},preConfirm:()=>{const D=document.getElementById("swalDeleteFile"),N=document.getElementById("swalUrls");return {deleteFile:D?D.checked:!1,urls:N?N.value:""}},width:620,inputPlaceholder:"每行一个",inputAttributes:{"aria-label":"每行一个"},showCancelButton:!0,confirmButtonText:"确定",cancelButtonText:"取消"});if(!F)return;if(O===void 0){alert("请输入链接!");return}const R=[],T=O.urls.trim().split(`
`);for(let D=0;D<T.length;D++){const N=T[D].trim();if(ef(N)||tf(N)){const z=hm(N);z&&R.push(z.toLowerCase());}}ae.showLoading(),ae.update({html:"正在删除..."}),await hl(R,n,O.deleteFile,t.user_id),le({icon:"success",title:"删除成功!请刷新页面查看最新的列表。",timer:3e4,position:"top-end"}),await Nl(R);}async function a(){const b=o.value.map(R=>R.info_hash);if(!b.length)return;const{isConfirmed:C,value:F}=await ae.fire({title:"批量删除",icon:"warning",html:`确定要删除选中的 ${b.length} 个离线记录吗?`,input:"checkbox",inputValue:0,inputPlaceholder:"同时删除文件",showCancelButton:!0,confirmButtonText:"确定",cancelButtonText:"取消"});if(!C)return;const O=!!F;ae.showLoading(),ae.update({html:"正在删除..."}),await hl(b,n,O,t.user_id),le({icon:"success",title:"删除成功",timer:800,position:"top-end"}),await Nl(b),o.value=[];}async function l(b){const C=[b];s.onlyMagnetEd2k&&C.push(nn.magnetEd2k),console.log("[filters]",C),await w(n.sign,t.user_id,C);}function c(b,C){if(!C.length||C.length===1&&C[0]==="all")return b;const F={[sn.failed]:nn.failed,[sn.illegal]:nn.failed,[sn.ing]:nn.failed,[sn.success]:nn.success};return b=b.filter(O=>{if(!O.url&&!O.info_hash)return !1;const R=F[O.status];return C.includes(nn.all)||R&&C.includes(R)?!(C.includes(nn.magnetEd2k)&&(!Zk(O.info_hash)||O.url&&!ef(O.url)&&!tf(O.url))):!1}),b}async function u(b,C,F){let O=[],R=1,T=0;for(;;){ae.update({html:`正在导出... 进度:第 ${R} 页`+(T?` / ${T}`:""),allowOutsideClick:!1});const D=await tp(R,b,C);if(!D.tasks||!D.tasks.length)break;if(T===0&&s.maxPage>0?T=Math.min(D.page_count,s.maxPage):T=D.page_count,O=[...O,...c(D.tasks,F)],s.enableOptimization&&F.includes(nn.failed)&&p(D.tasks)){console.warn("由于开启了导出优化,且检测到已获取的记录中至少有一个「已完成」的记录,将不再获取剩下的记录");break}if(R>=T)break;R++;}return O}function p(b){for(const C of b)if(C.status===sn.success)return !0;return !1}async function m(){const b=[nn.all];s.onlyMagnetEd2k&&b.push(nn.magnetEd2k),console.log("[filters]",b);const C=o.value;if(!C.length)return;const F=[];C.forEach(O=>{!O.url&&O.info_hash&&(O.url=nf(O.info_hash)),F.push(O.url);}),F.length&&(yt(F.join(rr)),console.log("[links]",F),await ae.fire({title:"导出成功",icon:"success",html:`成功导出 ${F.length} 个链接,请粘贴到文本文件。`,showDenyButton:!0,denyButtonText:"保存到txt",allowEscapeKey:!1,allowOutsideClick:!1,preDeny:async()=>(console.log("[saveAs]"),br(F.join(rr),`115离线链接_数量${F.length}_${xs()}.txt`),!1)}));}async function w(b,C,F){ae.fire({title:"导出离线链接",html:"正在导出...",didOpen:()=>{ae.showLoading();}});const O=await u(b,C,F);if(ae.hideLoading(),!O.length){await ae.fire({title:"导出失败",icon:"error",html:"查询不到符合条件的离线记录!"});return}const R=[];if(O.forEach(T=>{!T.url&&T.info_hash&&(T.url=nf(T.info_hash)),R.push(T.url);}),!R.length){await ae.fire({title:"导出失败",icon:"error",html:"未完成的离线记录中没有磁力或HTTP链接!"});return}yt(R.join(rr)),console.log("[links]",R),await ae.fire({title:"导出成功",icon:"success",html:`成功导出 ${R.length} 个链接,请粘贴到文本文件。`,showDenyButton:!0,denyButtonText:"保存到txt",allowEscapeKey:!1,allowOutsideClick:!1,preDeny:async()=>(console.log("[saveAs]"),br(R.join(rr),`115离线链接_数量${R.length}_${xs()}.txt`),!1)});}return (b,C)=>{const F=_o("VDropdown");return S(),I("span",eS,[o.value.length?(S(),I("span",tS,[d("button",{type:"button",class:"pure-button button-small button-error",onClick:a},[C[4]||(C[4]=L("删除(")),d("span",null,K(o.value.length),1),C[5]||(C[5]=L(")"))]),C[6]||(C[6]=L("      "))])):be("",!0),d("button",{type:"button",class:"pure-button button-mini button-error",onClick:C[0]||(C[0]=O=>r(!1,"")),title:"填写链接以删除对应的离线任务"},"根据链接删除"),C[9]||(C[9]=L("   ")),o.value.length?(S(),I("button",{key:1,type:"button",class:"pure-button button-mini button-warning",onClick:m,title:"导出选中任务的链接"},[C[7]||(C[7]=L("导出已选")),d("span",null,"("+K(o.value.length)+")",1)])):be("",!0),d("button",{type:"button",class:"pure-button button-mini button-error",onClick:C[1]||(C[1]=O=>l(re(nn).failed)),title:"导出未完成链接"},"导出未完成"),d("button",{type:"button",class:"pure-button button-mini button-success",onClick:C[2]||(C[2]=O=>l(re(nn).success)),title:"导出已完成链接"},"导出已完成"),d("button",{type:"button",class:"pure-button button-mini button-warning",onClick:C[3]||(C[3]=O=>l(re(nn).all)),title:"导出全部链接"},"导出全部"),C[10]||(C[10]=L("   ")),me(F,{distance:5,"arrow-padding":10},{popper:xe(()=>[(S(),it(bh,null,{default:xe(()=>[me(pm)]),_:1}))]),default:xe(()=>[C[8]||(C[8]=d("button",{type:"button",class:"pure-button button-mini"},"设置",-1))]),_:1})])}}}),oS=Re(nS,[["__file","OflineExporter.vue"]]),sS=["cate_id","delete_id","status","hash"],iS={class:"file-name-wrap"},rS={class:"file-name"},aS={task_popup:"goto",href:"javascript:;",class:"name"},lS={rel:"name"},uS={class:"desc-tips",rel:"file_down_violations"},cS={class:"txt-red",rel:"file_down_tips"},dS=["filename"],fS={class:"file-size"},pS={class:"file-process"},hS={rel:"progress"},mS={class:"file-operate",rel:"opt"},gS=["cp_href"],yS=Te({__name:"OfflineItem",props:{item:{},space:{},profile:{}},setup(e){const t=rt(()=>i.item.percentDone?parseInt(i.item.percentDone.toString()):0),n=rt(()=>{const{name:r,del_path:a}=i.item;let l=r.replace(/^.*\./,"");return a&&/\/$/.test(a)&&(l="folder"),/^[a-z\d]+$/i.test(l)||(l="unknown"),l}),o=rt(()=>{const{err:r}=i.item;return r?_b[r]:""}),s=rt(()=>i.item.can_appeal===1),i=e;return (r,a)=>(S(),I("li",{complete:"",cate_id:r.item.file_id,delete_id:r.item.delete_file_id,status:r.item.status,hash:r.item.info_hash},[d("div",iS,[d("i",{class:Ne(["file-type",`tp-${n.value}`])},null,2),d("div",rS,[d("em",null,[d("a",aS,[d("span",lS,K(r.item.name),1)])])]),oe(d("div",uS,[d("span",cS,K(o.value),1),oe(d("a",{href:"javascript:;",class:"btn-link",filename:r.item.name,rel:"violations_down_btn"},"去申诉",8,dS),[[Gt,s.value]])],512),[[Gt,o.value]])]),d("div",fS,[d("span",null,K(re(ks)(r.item.size)),1)]),d("div",pS,[r.item.status===re(sn).failed?(S(),I(Le,{key:0},[a[0]||(a[0]=d("i",{class:"icon-file-status ifst-failure"},null,-1)),a[1]||(a[1]=d("span",{rel:"progress"},"下载失败",-1))],64)):r.item.status===re(sn).success?(S(),I(Le,{key:1},[a[2]||(a[2]=d("i",{class:"icon-file-status ifst-success"},null,-1)),a[3]||(a[3]=d("span",{rel:"progress"},"下载成功",-1))],64)):r.item.status===re(sn).ing?(S(),I(Le,{key:2},[a[4]||(a[4]=d("i",{class:"icon-file-status ifst-downing"},null,-1)),d("span",hS,K(t.value)+"%",1)],64)):r.item.status===re(sn).illegal?(S(),I(Le,{key:3},[a[5]||(a[5]=d("i",{class:"icon-file-status ifst-violation"},null,-1)),a[6]||(a[6]=d("span",{rel:"progress"},"违规",-1))],64)):(S(),I(Le,{key:4},[a[7]||(a[7]=d("i",{class:"icon-file-status ifst-failure"},null,-1)),a[8]||(a[8]=d("span",{rel:"progress"},"[未知]",-1))],64))]),d("div",mS,[a[10]||(a[10]=d("a",{href:"javascript:;",task_popup:"goto"},[d("i",{class:"icon-operate ifo-opendir"}),d("s",null,"跳转到目录")],-1)),d("a",{href:"javascript:;",cp_href:r.item.url,task_popup:"copy"},a[9]||(a[9]=[d("i",{class:"icon-operate ifo-copy"},null,-1),d("s",null,"复制",-1)]),8,gS),a[11]||(a[11]=d("a",{href:"javascript:;",class:"btn-delete-offline"},[d("i",{class:"icon-operate ifo-remove"}),d("s",null,"删除")],-1))])],8,sS))}}),wS=Re(yS,[["__file","OfflineItem.vue"]]),bS={class:"ce-offline-list"},vS=Te({__name:"OfflineList",props:{items:{},space:{},profile:{}},setup(e){return (t,n)=>(S(),I("div",bS,[d("ul",null,[(S(!0),I(Le,null,Je(t.items,(o,s)=>(S(),it(wS,{Key:s,item:o,space:t.space,profile:t.profile},null,8,["Key","item","space","profile"]))),256))])]))}}),CS=Re(vS,[["__file","OfflineList.vue"]]),_S={inline:"",class:"pure-form search-form",size:"small"},xS={class:"form-item",label:"关键词"},kS=["value"],SS={class:"form-item"},$S={class:"form-item",label:"状态"},ES=["value"],PS=["value"],AS={class:"form-item",label:"页数"},IS={class:"form-item"},DS={key:0,title:"根据「名称/名称正则」查找时,是否在找到一个结果时停止继续查找"},TS={key:0,class:"search-tips"},OS={class:"tips-body"},MS={key:0},LS=Te({__name:"OfflineSearcher",setup(e){let t,n;const o=ne(),s=ne({KeywordType:hr.name,keyword:"",status:sn.any,maxPage:5,stopOnFound:!1});let i={...s.value};const r=ne(null),a=ne(!1),l=ne([]),c=ne(null),u=ne({content:"",subContent:"",visible:!1});Vt(async()=>{t=await op(),n=await np(),o.value=await So(),s.value.KeywordType=o.value.searchKeywordType,s.value.status=o.value.searchStatus,s.value.maxPage=o.value.searchMaxPage,s.value.stopOnFound=o.value.searchStopOnFound,i={...s.value},document.body.addEventListener("click",z=>{D(z);}),p();}),Xe(s,wt(async z=>{console.log("[searchParams changed]",cu(z)),w();},200),{deep:!0});async function p(){window.addEventListener("message",z=>{const{event:G,body:ge}=z.data;switch(G){case Zo.searchPageChanged:m(ge);break;case Zo.configChanged:o.value={...ge};break}},!1);}async function m(z){console.log("[handleSearchPageChanged]",z),await N({subContent:`正在搜索第 ${z} 页...`,visible:!0});}async function w(){const z=await So();let G=0;i.KeywordType!==s.value.KeywordType&&(z.searchKeywordType=s.value.KeywordType,G++),i.status!==s.value.status&&(z.searchStatus=s.value.status,G++),i.maxPage!==s.value.maxPage&&(z.searchMaxPage=s.value.maxPage,G++),i.stopOnFound!==s.value.stopOnFound&&(z.searchStopOnFound=s.value.stopOnFound,G++),G&&(await cm(z),console.log("[handleSearchParamsChange]",z),o.value={...z}),i={...s.value};}async function b(z){var G;(G=r.value)==null||G.select();}async function C(z){var G;s.value.keyword="",(G=r.value)==null||G.focus();}async function F(){l.value=[],s.value.keyword="",i={...s.value},await N({visible:!1}),await R(!1);try{parent.window.Core.OFFL5Plug.ChangePage(1);}catch(z){console.error(z);}}async function O(){var G;l.value=[];let{keyword:z}=s.value;if(z=z.trim(),z===""){await Yo(),(G=r.value)==null||G.select(),fs.fire({icon:"warning",title:"关键词不能为空!"});return}a.value=!0,await N({content:"正在搜索...",subContent:"",visible:!0});try{const ge={status:s.value.status,maxPage:s.value.maxPage,fuzzyName:!0,caseSensitive:!1,stopOnFound:s.value.stopOnFound};ge[s.value.KeywordType]=s.value.keyword,ge.infoHash&&(ge.infoHash=hm(ge.infoHash)),console.log("[search filter]",ge);const we=await Uk(n.sign,t.user_id,ge,o.value);l.value=we,console.log("[search result]",we),we.length>0?await N({visible:!1}):await N({content:"没有符合条件的离线任务",subContent:"",visible:!0}),await R(!0);}catch(ge){console.warn("[search error]",ge),fs.fire({icon:"error",title:ge.toString()}),await N({content:"搜索失败!",subContent:ge.toString(),visible:!0});}finally{a.value=!1;}}async function R(z=!0){var we,ce;!l.value.length&&z&&fs.fire({icon:"warning",html:"没有符合条件的离线任务"}),await Yo();const G=(we=c.value)==null?void 0:we.querySelector("ul");if(!G)return;const ge=document.querySelector("ul#js-warp");ge&&(ge.innerHTML=G.innerHTML),await T(),(ce=r.value)==null||ce.focus();}async function T(){const z=l.value.length,G=document.querySelector("#js-page");if(!G)return;const ge=G.querySelector(".left-bvf span");ge.textContent=`共搜索到 ${z} 个结果`;const we=G.querySelector(".pagination .con");we.style.display="none";}async function D(z){let G=z.target;if(G.classList.contains("ifo-remove")&&(G=G.closest("a")),!G.classList.contains("btn-delete-offline"))return;const ge=G.closest("li"),we=await dm(ge),ce=[we.info_hash];let H={title:"删除离线记录",icon:"warning",html:`确定要删除「${we.name}」吗?`,showCancelButton:!0,confirmButtonText:"确定",cancelButtonText:"取消"};we.delete_file_id&&(H={...H,input:"checkbox",inputValue:0,inputPlaceholder:"同时删除文件"});const{isConfirmed:j,value:ee}=await ae.fire(H);if(!j)return;const de=!!ee;ae.showLoading(),ae.update({html:"正在删除..."}),await hl(ce,n,de,t.user_id),le({icon:"success",title:"删除成功",timer:800,position:"top-end"}),await Nl(ce);}async function N(z){u.value={...u.value,...z};}return (z,G)=>(S(),I("div",{class:Ne(["ce-offline-searcher",{loading:a.value}])},[d("form",_S,[d("fieldset",null,[d("div",xS,[oe(d("select",{"onUpdate:modelValue":G[0]||(G[0]=ge=>s.value.KeywordType=ge),size:"small",onChange:b},[(S(!0),I(Le,null,Je(re(Ak),(ge,we)=>(S(),I("option",{key:we,value:we},K(ge),9,kS))),128))],544),[[Tn,s.value.KeywordType]])]),d("div",SS,[d("div",{class:Ne(["clearable-wrap",{"is-empty":s.value.keyword===""}])},[oe(d("input",{ref_key:"refKeyword",ref:r,"onUpdate:modelValue":G[1]||(G[1]=ge=>s.value.keyword=ge),placeholder:"请输入关键词",clearable:"",onKeyup:Th(O,["enter"])},null,544),[[We,s.value.keyword]]),d("button",{type:"button",class:"pure-button pure-button-default button-xsmall btn-clear",onClick:C},"×")],2)]),d("div",$S,[oe(d("select",{"onUpdate:modelValue":G[2]||(G[2]=ge=>s.value.status=ge),placeholder:"请选择",clearable:"",style:{width:"90px"}},[d("option",{value:re(sn).any},"-状态-",8,ES),(S(!0),I(Le,null,Je(re(vb),(ge,we)=>(S(),I("option",{key:we,value:we},K(ge),9,PS))),128))],512),[[Tn,s.value.status]])]),d("div",AS,[oe(d("input",{type:"number","onUpdate:modelValue":G[3]||(G[3]=ge=>s.value.maxPage=ge),min:1,max:1e5,title:"最多查找页数"},null,512),[[We,s.value.maxPage]]),G[5]||(G[5]=d("small",null,"页",-1))]),d("div",IS,[[re(hr).name,re(hr).nameRegex].includes(s.value.KeywordType)?(S(),I("label",DS,[oe(d("input",{type:"checkbox","onUpdate:modelValue":G[4]||(G[4]=ge=>s.value.stopOnFound=ge),class:"stop-on-found"},null,512),[[Ae,s.value.stopOnFound]]),G[6]||(G[6]=L(" 找到即停 "))])):be("",!0),d("button",{type:"button",class:"pure-button pure-button-primary button-small",onClick:O},"查找"),G[7]||(G[7]=L("    ")),d("button",{type:"button",class:"pure-button pure-button-default button-xsmall",onClick:F,title:"清空关键词;重置列表到非查找状态"},"重置")])])]),d("div",{ref_key:"refList",ref:c,class:"list"},[me(CS,{items:l.value,space:re(n),profile:re(t)},null,8,["items","space","profile"])],512),u.value.visible?(S(),I("div",TS,[d("div",OS,[d("h2",null,K(u.value.content),1),u.value.subContent?(S(),I("p",MS,K(u.value.subContent),1)):be("",!0)])])):be("",!0)],2))}}),BS=Re(LS,[["__file","OfflineSearcher.vue"]]);async function RS(){const e=await So(),{host:t,search:n}=location;t==="115.com"&&Hk(e),!(t!=="115.com"||!n.includes("offline=1&tab=offline"))&&(await FS(),await NS(),jk());}async function FS(){console.log("[Cloud115 Enhancer] Injecting offline exporter...");const e="cloud115OfflineExporter",t=await So();document.body.classList.add("cloud115-page-offline"),t.enableListManagement&&document.body.classList.add("ce-list-m"),$("body").append(`<div id="${e}"/>`);const n=Gn(oS);n.component("VDropdown",Fs),n.mount(`#${e}`);}async function NS(){console.log("[Cloud115 Enhancer] Injecting offline searcher...");const e="cloud115OfflineSearcher",t=await So();document.body.classList.add("cloud115-page-offline"),t.enableSearcher&&document.body.classList.add("ce-list-s"),$("body").append(`<div id="${e}"/>`);const n=Gn(BS);n.component("VDropdown",Fs),n.mount(`#${e}`);}var Jt=(e=>(e.UNKNOWN="unknown",e.OPEN_CLEANER="openCleaner",e.CLOSE_CLEANER="closeCleaner",e.CLEANER_OPENED="cleanerOpened",e.INVOKE_FILTER="invokeFilter",e.OPEN_EMPTY_CLEANER="openEmptyCleaner",e.CLOSE_EMPTY_CLEANER="closeEmptyCleaner",e.EMPTY_CLEANER_OPENED="emptyCleanerOpened",e))(Jt||{});const US={class:"cloud115-eh-cleaner-trigger"},jS=Te({__name:"Trigger",setup(e){ne(!1);const t=ne(!0);async function n(a){switch(a.data.type){case Jt.INVOKE_FILTER:await av(a.data.payload);break;case Jt.CLEANER_OPENED:await r(a.data.payload);break}}Vt(async()=>{console.log("[CleanerTrigger onMounted]"),window.addEventListener("message",n);}),ns(()=>{console.log("[CleanerTrigger onUnmounted]"),window.removeEventListener("message",n);});async function o(){await i(),Wo({type:Jt.OPEN_CLEANER},window.parent);}let s;async function i(){const a=Vr("cid");!a||a==="0"||(clearTimeout(s),s=setTimeout(async()=>{le({icon:"error",text:"打开清理工具失败!"});},1e3));}async function r(a){console.log("成功打开Cleaner"),clearTimeout(s);}return (a,l)=>oe((S(),I("span",US,[Ze(a.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:o,title:"打开清理文件工具"},l[0]||(l[0]=[d("span",null,"清理文件",-1)]))])],512)),[[Gt,t.value]])}}),HS=Re(jS,[["__file","Trigger.vue"]]);function mm(e={}){return {initialized:!1,suffixGroup:"",keywordGroup:"",showEntryOnPathBar:!0,pageSize:1150,reqInterval:100,deleteSize:1150,...e}}async function Ca(){const e=mm(),t=await tt.get(gt.cleanerConfig,e);return {...e,...t,pageSize:1150,reqInterval:100,deleteSize:1150}}async function VS(e){return await tt.set(gt.cleanerConfig,e)}async function gm(e){const t=await Ca();return await VS({...t,...e})}var qe=(e=>(e[e.suffix=0]="suffix",e[e.keyword=1]="keyword",e))(qe||{}),at=(e=>(e[e.filter=0]="filter",e[e.dirKeyword=1]="dirKeyword",e[e.fileKeyword=2]="fileKeyword",e[e.fileHash=3]="fileHash",e))(at||{});const ym={0:"筛选",1:"目录名关键词",2:"文件名关键词",3:"文件sha1"};var Ot=(e=>(e[e.append=0]="append",e[e.cover=1]="cover",e[e.clear=2]="clear",e[e.reset=3]="reset",e[e.assign=4]="assign",e))(Ot||{}),ni=(e=>(e.all="all",e.file="file",e.dir="dir",e))(ni||{});const zS={all:"全部",file:"文件",dir:"目录"};var Br=(e=>(e.all="all",e.matched="matched",e.notMatched="unmatched",e))(Br||{});const qS={all:"全部",matched:"有匹配",unmatched:"无匹配"};var Et=(e=>(e.none="",e.prepare="查询文件...",e.prepared="查询文件完成",e.prepareFailed="查询失败",e.deleting="删除文件中...",e.success="清理完成",e.failed="清理失败",e))(Et||{});const WS=new Map([[kn.all,on.all],[kn.video,on.video],[kn.audio,on.audio],[kn.image,on.image],[kn.doc,on.doc],[kn.app,on.app],[kn.archive,on.archive]]),Ul=zb(WS),KS=[["文件名关键词","广告abc","包含`广告abc`,不区分大小写"],["目录名关键词","#广告abc","在关键词前面加上`#`"],["策略-不可分割匹配",'"广告 abc"',"匹配`广告 abc啊`,不匹配`广告啊abc`,即空格部分也进行匹配,使用双引号包裹关键词。"],["文件sha1","7309dd0d50007e027180f02301ccba8ba0fd971f//文件xxx","关键词部分长度为40且只包含a-f0-9的文本会被视为sha1"],["策略-区分大小写","广告abc/s","在关键词后面加上`/s` (s 可理解为 sensitive 首字母)"],["策略-等于","广告abc.mp4/=","在关键词后面加上`/=`,不区分大小写"],["策略-等于且区分大小写","广告abc.mp4/==","在关键词后面加上`/==`,也可以用`/s,=` (多个策略使用英文逗号隔开)"],["策略-指定最大大小","广告abc.mp4/10","在关键词后面加上`/10`,该大小将覆盖所在分组的设定"],["策略-正则表达式","^abc/r","在关键词后面加上`/r`"],["添加备注","广告abc//备注内容","在策略后面加上`/备注内容`,`//`表示策略为空,有策略的示例: 广告abc/s/备注内容"]],GS="##",Yu="#",JS="=",YS="==",QS="s",XS="r",wm="#",ZS=[{type:qe.suffix,queryOnly:!1,label:"默认",memo:"请谨慎使用!",size:5,values:["txt","url","html","htm","mht"]},{type:qe.suffix,queryOnly:!0,label:"🔍115筛选",memo:"仅用于查询",size:102400,values:["#视频","#音频","#图片","#文档","#应用","#压缩包"]}],e$=["#論壇文宣","#宣傳文本","最新地址","最新网址","论坛地址","永久地址","地址发布","扫码 安装","扫码 下载","免費 掃碼","澳门 赌场","皇冠 赌场","免费18禁手游","免费黄游手游","在线影城","秀场 小视频","裸秀 主播 免费看","第一会所 宣传","SIS 影视联盟",'"最 新 位 址 獲 取"','"社 區 最 新 情 報"','"聚 合 全 網 H 直 播"'],t$=["#論壇文宣","美女 裸聊","秀场 视频","澳门 赌场","皇冠 赌场","影视 联盟","2048 社区","1024 社区","会所 宣传","扫码 安装","社区 关注","免費 掃碼","找回家","防屏蔽","封殺00","秀场 小视频","裸秀 主播 免费看",'"Free Adult Movie"',"奔驰宝马","最新网址","最新免費","免费试用","美女荷官","凤凰娛樂","观看指南","女神在线","更多无水印","免费在线","国产精品","免費原版","獨家資源","成人光碟","最新AV","FDZone","发布器","QR-1024","在這等你","激情祼聊","看妹不用等","真人祼聊","zz.jpg","X8B9.COM.gif","第一会所 宣传","SIS 影视联盟","淘精網","激情咖啡","手機影城","免费手机看片","U視娛樂","加微信","我愛看片手機版","平台正式上線"],n$=[{type:qe.keyword,queryOnly:!1,label:"默认",memo:"请谨慎使用!",size:100,values:e$},{type:qe.keyword,queryOnly:!1,label:"⚠️大杀器⚠️",memo:"请谨慎使用!",size:100,values:t$},{type:qe.keyword,queryOnly:!0,label:"远程关键词示例",size:100,values:[],url:"https://gist.githubusercontent.com/northsea4/a6c1945eb12fe7a7ef125c323b83b3fc/raw?t={t}"},{type:qe.keyword,queryOnly:!0,label:"只查询示例",memo:"这是一个示例",size:10240,values:["奔驰宝马","美女荷官",'"最 新 位 址 獲 取"']}];function Uo(e={}){return {id:Date.now().toString(),type:qe.keyword,queryOnly:!1,label:"",values:"",memo:"",size:0,sort:0,createdAt:0,updatedAt:0}}function o$(e,t){if(e=e.trim(),t===qe.keyword)return u$(e);if(t!==qe.suffix)return null;const n=i$(e);return {type:at.filter,value:e,maxSize:-1,forDir:!1,isFilter:n,pattern:n?r$(e).toString():e,num:-1,fileIds:[],size:-1,status:Et.none}}function s$(e){return [Et.prepare,Et.deleting].includes(e.status)}function of(e,t){const n=[];return s$(e)&&n.push("active"),(e.type===at.filter||e.isFilter)&&n.push("is-filter"),e.type===at.dirKeyword&&n.push("is-dir"),e.num&&n.push(`item-${Br.matched}`),e.num===0&&n.push(`item-${Br.notMatched}`),n}function i$(e){return new RegExp(`^${wm}[\\S]{2,}`).test(e)}function r$(e){const t=new RegExp(`^${wm}`);let n=e.replace(t,"");const o=Ul.get(n);if(!o)throw new Error(`"${e}"不是有效的筛选!`);return o}async function No(e,t){let n;typeof e=="string"?n=e.split(/[\r\n]+/):n=e;const o=new Set;for(let i=0;i<n.length;i++){const r=n[i].trim();r.length>1&&o.add(r);}const s=[];return o.forEach(i=>{const r=o$(i,t);r&&s.push(r);}),s}function a$(e){return /(^'.+'$)|(^".+"$)/.test(e)}function sf(e,t){return e===""||!t.patternRegexp?!1:(t.pattern,t.patternRegexp.test(e))}function rf(e,t,n){const o=bm(e);o.num=0,o.size=0,o.fileIds=[];const s=new Set;let i=0;n.maxSize&&(i=n.maxSize*1024*1024),e.maxSize>=0&&(i=e.maxSize*1024*1024);for(let r=0;r<t.length;r++){const a=!!t[r].fid,l=a?t[r].fid:t[r].cid;if(!l||(e.type===at.dirKeyword||e.type===at.fileKeyword)&&(a&&e.type!==at.fileKeyword||!a&&e.type!==at.dirKeyword))continue;const c=parseFloat(t[r].s);i&&a&&c>i||e.type===at.fileKeyword&&!sf(t[r].n,e)||e.type===at.dirKeyword&&!sf(t[r].n,e)||e.type===at.fileHash&&t[r].sha!==e.pattern.toUpperCase()||s.has(l)||(s.add(l),o.size+=c);}return o.fileIds=Array.from(s),o.num=o.fileIds.length,o}function bm(e={}){return {type:at.fileKeyword,value:"",pattern:"",patternRegexp:null,maxSize:-1,size:-1,fullMatch:!1,caseSensitive:!1,isRegexp:!1,impartible:!1,memo:"",...e}}function l$(e){if(e=e.trim().replace(/\/+$/,"").replace(/^\/+/,""),e==="")return null;const t={caseSensitive:!1,fullMatch:!1,maxSize:-1,isRegexp:!1};let n=!1;const o=e.split(/\s*,\s*/);for(let s=0;s<o.length;s++)o[s]=o[s].trim(),o[s]!==""&&(/^\d+$/.test(o[s])&&(t.maxSize=parseInt(o[s])),o[s]===JS&&(t.fullMatch=!0),o[s]===YS&&(t.fullMatch=!0,t.caseSensitive=!0,n=!0),o[s]===QS&&(t.caseSensitive=!0,n=!0),o[s]===XS&&(t.isRegexp=!0));return t.isRegexp&&(t.caseSensitive=n?t.caseSensitive:!1,t.fullMatch=!1),t}function u$(e){const t=bm();if(e=e.trim(),e===""||e.startsWith("//"))return null;if(/^[a-fA-F0-9]{40}(\/.*)?$/.test(e))return t.type=at.fileHash,t.value=e,t.pattern=e.substring(0,40).toLowerCase(),t.memo=e.length>41?e.substring(41):void 0,t;const n=/^(#+)?([^\/]+)(\/[^\/]*)?(\/.+)?/,o=e.match(n);if(o){if(o[2]==="")return null;if(o[3]){const s=l$(o[3]);s&&(t.caseSensitive=s.caseSensitive,t.fullMatch=s.fullMatch,t.maxSize=s.maxSize,t.isRegexp=s.isRegexp);}if(t.value=e,t.pattern=o[2].trim(),o[1]===GS)return t.type=at.filter,null;o[1]===Yu?t.type=at.dirKeyword:t.type=at.fileKeyword,o[4]&&(t.memo=o[4].substring(1).trim());}return t.impartible=a$(t.pattern),t.impartible&&(t.pattern=t.pattern.replace(/^['"]|['"]$/g,"")),t.type===at.dirKeyword&&(t.maxSize=-1),t.patternRegexp=c$(t),t}function c$(e){if(e.pattern===""||![at.dirKeyword,at.fileKeyword].includes(e.type))return null;let t="";if(e.caseSensitive||(t+="i"),e.isRegexp)return new RegExp(e.pattern,t);let n=Tb(e.pattern);return e.fullMatch&&(n=`^${n}$`),e.impartible||(n=n.replace(/\s+/g,".*")),new RegExp(n,t)}function d$(e){const{type:t,pattern:n,isRegexp:o}=e;return t===at.filter?Ul.has(n)?{type:Ul.get(n)}:/^\d$/.test(n)?{type:parseInt(n)}:{suffix:n}:o?{search_value:n.replace(/^\^/,"").replace(/\$$/,"")}:{search_value:n}}function Qs(e,t,n){if(n){const o=eu(e,{});ll(e,{...o,...t});}else ll(e,t);}function f$(e={}){return du({okStatus:[200],useFileReader:!1,fileReader:{encoding:"utf-8",checkBlank:!0}},e)}async function vm(e,t={}){return new Promise((n,o)=>{const s=t.useFileReader?"blob":"text";tu({method:"GET",url:e,responseType:s,nocache:!t.cache,onload:async i=>{if(t.okStatus&&!t.okStatus.includes(i.status)&&o(new Error(`请求失败!status=${i.status},statusText=${i.statusText}`)),t.useFileReader){let r=i.response,a=new FileReader;a.onload=l=>{var u;console.log("[load] onload",l);let c=(u=l.target)==null?void 0:u.result;typeof c=="string"?t.fileReader.checkBlank&&c===""?o(new Error("读取内容为空字符串")):n(c):o(new Error("读取结果不是字符串"));},a.readAsText(r,t.fileReader.encoding);return}n(i.response);},onerror:i=>{console.error("[load] onerror",i),o(`请求失败!status=${i==null?void 0:i.status},statusText=${i==null?void 0:i.statusText}`);}});})}async function p$(e){try{new URL(e.url);}catch{throw new Error(`无效的URL:${e.url}`)}e.url.replace("{t}",Date.now().toString());let t="";try{t=await vm(e.url);}catch(n){throw new Error(`无法加载URL:${n.toString()}`)}if(t=t.trim(),t==="")throw new Error("URL返回内容为空!");e.values=t,e.lastSync=xs();}const Cm=function(){return document.ontouchstart!==null?"click":"touchstart"},Rr="__vue_click_away__",_m=function(e,t,n){xm(e);let o=n.context,s=t.value,i=!1;setTimeout(function(){i=!0;},0),e[Rr]=function(r){if((!e||!e.contains(r.target))&&s&&i&&typeof s=="function")return s.call(o,r)},document.addEventListener(Cm(),e[Rr],!1);},xm=function(e){document.removeEventListener(Cm(),e[Rr],!1),delete e[Rr];},h$=function(e,t,n){t.value!==t.oldValue&&_m(e,t,n);},m$={mounted:_m,updated:h$,unmounted:xm},g$=Te({__name:"Drawer",props:{isOpen:{type:Boolean,default:!1},maxWidth:{default:"600px"},speed:{default:100},bgColor:{default:"#fff"}},emits:["close"],setup(e,{emit:t}){const n=e,o=ne(!1),s=ne(!1),i=l=>{const c=document.querySelector("body");c.style.overflow=l?"hidden":"";},r=l=>{l.target.classList.contains("ce-drawer__overlay")&&(s.value||a("close"));},a=t;return Vt(()=>{o.value=n.isOpen;}),Xe(()=>n.isOpen,l=>{s.value=!0,l?(i(!0),o.value=!0):(i(!1),setTimeout(()=>o.value=!1,n.speed)),setTimeout(()=>s.value=!1,n.speed);}),(l,c)=>(S(),I("div",null,[d("div",{class:Ne(["ce-drawer",{"is-open":l.isOpen,"is-visible":o.value}])},[d("div",{class:"ce-drawer__overlay",style:jn({transitionDuration:`${l.speed}ms`})},null,4),oe((S(),I("div",{class:"ce-drawer__content",style:jn({maxWidth:l.maxWidth,transitionDuration:`${l.speed}ms`,backgroundColor:l.bgColor})},[Ze(l.$slots,"default")],4)),[[re(m$),r]])],2)]))}}),Pi=Re(g$,[["__file","Drawer.vue"]]),y$={class:"k-p-e"},w$={class:"ce-tag-plain"},b$={class:"text-primary"},v$={class:"text-success"},C$={key:0,class:"ce-hr"},_$=Te({__name:"KeywordPatternExamples",setup(e){return (t,n)=>(S(),I("div",y$,[n[2]||(n[2]=d("h4",{style:{"margin-bottom":"6px"}},"关键词说明(前4种类型已满足大部分需求场景)",-1)),(S(!0),I(Le,null,Je(re(KS),(o,s)=>(S(),I("div",{key:s},[d("div",null,[d("span",w$,K(o[0]),1),n[0]||(n[0]=L("  ")),d("span",b$,K(o[1]),1),n[1]||(n[1]=L("  ")),d("span",v$,K(o[2]),1)]),s===3?(S(),I("hr",C$)):be("",!0)]))),128))]))}}),km=Re(_$,[["__file","KeywordPatternExamples.vue"]]),x$={class:"group-manager"},k$={key:0,class:"label-readonly",title:"当前分组只可用于查询"},S$={key:1,class:"label-readonly",title:"当前分组特征为远程文本"},$$=["title"],E$={class:"groups-list"},P$={key:0,class:"text-danger"},A$={class:"pure-table pure-table-bordered"},I$={align:"center"},D$=["onClick"],T$={class:"group-confirm-delete"},O$=["onClick"],M$=["onClick"],L$={class:"pure-form pure-form-stacked group-form"},B$={class:"pure-control-group"},R$={class:"pure-control-group"},F$={key:0,class:"pure-control-group"},N$={class:"pure-form-message"},U$={class:"pure-control-group"},j$={class:"pure-form-message"},H$={key:0,class:"text-info"},V$={key:1,class:"text-info"},z$=["onClick"],q$={class:"values"},W$={class:"v-input"},K$={class:"v-help"},G$={class:"pure-control-group"},J$={class:"pure-control-group"},Y$=Te({__name:"GroupManager",props:{type:{},storageKey:{},config:{}},emits:["change"],setup(e,{emit:t}){const n=e,o=t,s=ne(!1),i=ne(Uo({type:n.type})),r=ne([]),a=ne(!1),l=ne(Uo({type:n.type})),c=ne(!1),u=ne(null),p=[on.video,on.audio,on.image,on.doc,on.app,on.archive];Xe(r,async ce=>{console.log("[groups change]",ce),Qs(n.storageKey,ce,!1),ce.length||(a.value=!1,c.value=!1);},{deep:!0});let m=!1;Vt(async()=>{if(!m){m=!0,r.value=eu(n.storageKey,[]),console.log("[groups]",r.value);const{suffixGroup:ce,keywordGroup:H}=n.config;if(r.value.length){const j=r.value.find(ee=>ee.id===(n.type===qe.suffix?ce:H));console.log("[group last choosen]",j),i.value=j||r.value[0],o("change",i.value);}else n.type===qe.suffix&&!ce&&(await D(),Qs(gt.cleanerConfig,{suffixGroup:i.value.id},!0)),n.type===qe.keyword&&!H&&(await D(),Qs(gt.cleanerConfig,{keywordGroup:i.value.id},!0));}}),ns(async()=>{});async function w(ce){const H=`#${ce}`;l.value.values.includes(H)||(l.value.values+=(`
`+H).trim()+`
`);}async function b(){s.value=!1;}async function C(){c.value=!1;}async function F(){c.value=!0,a.value=!1;}async function O(){u.value.show();}async function R(){u.value.hide();}async function T(){l.value.createdAt&&(l.value=Uo({type:n.type})),l.value.size=5,n.type===qe.keyword&&(l.value.size=100),s.value=!0;}async function D(){let ce=[];n.type===qe.suffix?ce=ZS:ce=n$;for(let H=0;H<ce.length;H++){const j={...Uo({type:ce[H].type}),...ce[H]};l.value=j,l.value.type=j.type,l.value.queryOnly=j.queryOnly,l.value.size=j.size,l.value.label=j.label,l.value.memo=j.memo,l.value.createdAt=0,l.value.updatedAt=0,Array.isArray(j.values)?l.value.values=j.values.join(`
`):l.value.values=j.values,await G(),await R();}r.value.length&&await ge(r.value[0]);}async function N(ce,H=!1){if(!H){const{isConfirmed:ee}=await ae.fire({html:`确定删除"${i.value.label}"?`,icon:"question"});if(!ee)return}let j=-1;for(let ee=0;ee<r.value.length;ee++)if(r.value[ee].id===i.value.id){j=ee;break}r.value.splice(j,1),r.value.length?i.value=r.value[0]:i.value=Uo({type:n.type}),o("change",i.value),await le({icon:"success",title:"删除成功!",timer:1500});}async function z(ce){l.value=ce,s.value=!0;}async function G(){let ce=[];try{ce=await No(l.value.values,l.value.type);}catch(Ce){await ae.fire({icon:"error",text:Ce.message});return}if(l.value.label=l.value.label.trim(),l.value.memo=l.value.memo.trim(),l.value.label===""){await le({icon:"warning",text:"请输入标题!"});return}let H=-1;for(let Ce=0;Ce<r.value.length;Ce++)if(r.value[Ce].id===l.value.id&&l.value.id){H=Ce;break}const j=xs();l.value.updatedAt=j,l.value.createdAt||(l.value.createdAt=j);let ee=[];for(let Ce=0;Ce<ce.length;Ce++)ee.push(ce[Ce].value);l.value.values=ee.join(`
`).trim(),console.log("[saveGroup]",l.value,H),H===-1?(r.value.push(l.value),le({icon:"success",text:"添加成功"})):(r.value[H]=l.value,le({icon:"success",text:"更新成功"}));const de=!i.value.createdAt;de&&(i.value=l.value),(l.value.id===i.value.id||de)&&o("change",l.value),await b();}async function ge(ce){i.value=ce;const{id:H}=i.value;n.type===qe.suffix&&(n.config.suffixGroup=H,Qs(gt.cleanerConfig,{suffixGroup:H},!0)),n.type===qe.keyword&&(n.config.keywordGroup=H,Qs(gt.cleanerConfig,{keywordGroup:H},!0)),o("change",ce);}async function we(ce,H=!1){try{await p$(ce);}catch(j){console.error(j),le({icon:"error",text:j.message});return}H?(l.value=ce,await G()):le({icon:"success",text:"读取成功"});}return (ce,H)=>{const j=_o("VDropdown");return S(),I("div",x$,[i.value.queryOnly?(S(),I("span",k$," 🔍 只查询 ")):be("",!0),i.value.url?(S(),I("span",S$," 🔗 远程 ")):be("",!0),i.value.createdAt?(S(),I("span",{key:2,class:"group-label",title:`当前使用的分组: ${i.value.label}`},[d("span",null,[H[11]||(H[11]=d("small",null,"分组:",-1)),L(" "+K(i.value.label),1)])],8,$$)):be("",!0),i.value.url?(S(),I("a",{key:3,href:"javascript:void(0)",class:"pure-button button-success",onClick:H[0]||(H[0]=ee=>we(i.value,!0))}," ↓ 同步关键词")):be("",!0),d("a",{href:"javascript:void(0)",class:"pure-button",onClick:H[1]||(H[1]=ee=>z(i.value))}," ✎ 编辑 "),H[36]||(H[36]=L("    ")),d("a",{href:"javascript:void(0)",class:"pure-button button-small",onClick:T},"+ 新增分组"),me(j,{ref_key:"list",ref:u,onHide:C,onShow:F,distance:5},{popper:xe(()=>[d("div",E$,[r.value.length?be("",!0):(S(),I("h3",P$,[H[12]||(H[12]=L(" 还没有添加任何分组。你可以: ")),d("button",{type:"button",class:"pure-button button-small",onClick:T},"添加"),H[13]||(H[13]=L("   ")),H[14]||(H[14]=d("span",{class:"text-info"},"或",-1)),H[15]||(H[15]=L("   ")),d("button",{type:"button",class:"pure-button button-small",onClick:D},"使用脚本内置"),H[16]||(H[16]=d("br",null,null,-1)),H[17]||(H[17]=d("br",null,null,-1))])),d("table",A$,[H[21]||(H[21]=d("thead",null,[d("tr",null,[d("th",{width:"25"},"#"),d("th",{width:"70"},"只查询"),d("th",{width:"150"},"名称"),d("th",{width:"150"},"备注"),d("th",{width:"70"},[L("大小"),d("small",null,"MB")]),d("th",{width:"220"},"操作")])],-1)),d("tbody",null,[(S(!0),I(Le,null,Je(r.value,(ee,de)=>(S(),I("tr",{key:de},[d("td",null,K(de+1),1),d("td",I$,K(ee.queryOnly?"是":"否"),1),d("td",null,K(ee.label),1),d("td",null,K(ee.memo),1),d("td",null,K(ee.size),1),d("td",null,[d("button",{type:"button",class:"pure-button button-xsmall text-primary",onClick:Ce=>ge(ee)},"载入",8,D$),H[19]||(H[19]=L("   ")),me(j,null,{popper:xe(()=>[d("div",T$,[d("button",{type:"button",class:"pure-button button-error",onClick:Ce=>N(ee,!0)},"确定",8,O$)])]),default:xe(()=>[H[18]||(H[18]=d("button",{type:"button",class:"pure-button button-xsmall text-danger"},"删除",-1))]),_:2},1024),H[20]||(H[20]=L("   ")),d("button",{type:"button",class:"pure-button button-xsmall",onClick:Ce=>z(ee)},"编辑",8,M$)])]))),128))])])])]),default:xe(()=>[d("a",{href:"javascript:void(0)",class:"pure-button button-small",onClick:O},"≡ 分组列表")]),_:1},512),me(Pi,{"is-open":s.value,onClose:H[10]||(H[10]=ee=>s.value=!1),"max-width":"1030px",speed:100,"bg-color":"#fff"},{default:xe(()=>[d("form",L$,[d("fieldset",null,[d("div",B$,[H[22]||(H[22]=d("label",{for:"groupLabel"},"* 标题",-1)),oe(d("input",{type:"text","onUpdate:modelValue":H[2]||(H[2]=ee=>l.value.label=ee),id:"groupLabel",class:"pure-input-1-2",placeholder:"分组标题"},null,512),[[We,l.value.label]]),H[23]||(H[23]=L("    ")),l.value.queryOnly?(S(),I("button",{key:0,type:"button",class:"pure-button button-small button-warning",onClick:H[3]||(H[3]=ee=>l.value.queryOnly=!1)},"已设置为仅用于查询 | 点击取消设置")):be("",!0),l.value.queryOnly?be("",!0):(S(),I("button",{key:1,type:"button",class:"pure-button button-small pure-button-primary",onClick:H[4]||(H[4]=ee=>l.value.queryOnly=!0)},"设置为仅用于查询"))]),d("div",R$,[H[24]||(H[24]=d("label",{for:"groupMemo"},"备注",-1)),oe(d("input",{type:"text","onUpdate:modelValue":H[5]||(H[5]=ee=>l.value.memo=ee),id:"groupMemo",placeholder:"分组备注"},null,512),[[We,l.value.memo]])]),n.type===re(qe).keyword?(S(),I("div",F$,[H[27]||(H[27]=d("label",{for:"groupUrl"},"远程链接",-1)),d("div",N$,[H[25]||(H[25]=d("span",null,"纯文本, utf-8编码",-1)),H[26]||(H[26]=L("    ")),l.value.url?(S(),I("button",{key:0,type:"button",class:"pure-button button-small button-success",onClick:H[6]||(H[6]=ee=>we(l.value,!1))}," 读取 ")):be("",!0)]),oe(d("input",{type:"text","onUpdate:modelValue":H[7]||(H[7]=ee=>l.value.url=ee),id:"groupUrl",placeholder:"远程链接"},null,512),[[We,l.value.url]])])):be("",!0),d("div",U$,[H[32]||(H[32]=d("label",{for:"groupValues"},"* 特征列表",-1)),d("div",j$,[n.type===re(qe).keyword?(S(),I("span",H$,[H[28]||(H[28]=L(" 默认只匹配文件名。前面带")),d("b",null,K(re(Yu)),1),H[29]||(H[29]=L("则只匹配目录名。 "))])):be("",!0),n.type===re(qe).suffix?(S(),I("span",V$,[H[30]||(H[30]=L(" 支持115自带筛选: ")),(S(),I(Le,null,Je(p,(ee,de)=>d("span",{class:"filter-label text-success",key:de,onClick:Ce=>w(ee)}," #"+K(ee),9,z$)),64)),H[31]||(H[31]=d("small",{class:"text-primary"},"(点击添加)",-1))])):be("",!0)]),d("div",q$,[d("div",W$,[oe(d("textarea",{id:"groupValues","onUpdate:modelValue":H[8]||(H[8]=ee=>l.value.values=ee),rows:"14",placeholder:"每行一个"},null,512),[[We,l.value.values]])]),d("div",K$,[me(km)])])]),d("div",G$,[H[33]||(H[33]=d("label",{for:"groupMemo"},"* 文件大小",-1)),H[34]||(H[34]=d("div",{class:"pure-form-message"},[L("只清理小于该大小的文件,单位"),d("b",null,"MB")],-1)),oe(d("input",{type:"number","onUpdate:modelValue":H[9]||(H[9]=ee=>l.value.size=ee),class:"pure-input-1-4",placeholder:"文件大小小于该数值才清理"},null,512),[[We,l.value.size]])]),d("div",J$,[d("button",{type:"button",class:"pure-button pure-button-primary",onClick:G},K(l.value.createdAt?"更新":"添加"),1),H[35]||(H[35]=L("      ")),d("button",{type:"button",class:"pure-button",onClick:b},"取消")])])])]),_:1},8,["is-open"])])}}}),af=Re(Y$,[["__file","GroupManager.vue"]]),Q$={class:"cloud115-eh-cleaner-help"},X$=Te({__name:"Help",setup(e){return (t,n)=>(S(),I("div",Q$,[d("div",null,[n[3]||(n[3]=Sh('<h2>免责声明</h2><div><p>该工具仅作为学习测试用途,使用该工具造成的任何结果由使用人承担。</p></div><hr><h2>说明</h2><ul style="color:#f40;"><li class="text-primary">始于清理,但不止于清理!</li><li>* 仅对当前选中的目录及其子目录生效。</li><li>* 通过<b class="text-primary">新增分组 / 分组列表</b>管理你的清理特征。</li><li>* 建议整理自己的特征,也欢迎在交流中分享你的特征。</li><li>* <b class="text-primary">只查询</b>按钮,只会进行查询。</li><li>* <b class="text-primary">一键清理</b>是先查询,再进行删除!</li><li>* 由于搜索接口限制,如果某个关键词结果数量超过1万,可能会清理不完全,可以多执行几次清理。</li><li>* <b>清理期间,请保持当前页面处于激活状态!</b></li><li>* <b>请谨慎操作!请谨慎操作!请谨慎操作!</b></li></ul><hr><h3>按 后缀名 清理</h3><div><p>1. 点击<b class="text-primary">分组列表</b>,选择一个分组;</p><p>2. 确认后缀名和文件大小限制等的设定;</p><p>3. 点击<b class="text-primary">一键清理</b>按钮,耐心等待。</p></div><hr><h3>按 关键词 清理</h3>',10)),d("div",null,[n[0]||(n[0]=d("p",{class:"text-danger"},[L("目录名关键词使用"),d("b",null,"搜索"),L("接口查找匹配,只能逐个关键词进行处理,请尽量使用简单的关键词,否则可能会匹配不到。")],-1)),n[1]||(n[1]=d("p",{class:"text-danger"},[L("文件名关键词使用"),d("b",null,"列表"),L("接口查找匹配,速度较快,且支持更灵活的关键词。")],-1)),n[2]||(n[2]=d("br",null,null,-1)),me(km)])])]))}}),Z$=Re(X$,[["__file","Help.vue"]]),e2={key:0},t2={key:1},n2={key:2},o2={key:3},s2={key:4},i2={key:5},r2={key:6},a2={key:7},l2={key:8},u2={key:9},c2=Te({__name:"Pager",props:{totalItems:{type:Number,required:!0},itemsPerPage:{type:Number,default:10,validator:e=>{if(e<=0){const t="itemsPerPage attribute must be greater than 0.";throw console.error(t),new TypeError(t)}return !0}},currentPage:{type:Number,default:1,validator:e=>{const t="currentPage attribute must be greater than 0.";if(e<=0)throw console.error(t),new TypeError(t);return !0}},modelValue:{type:Number,required:!0,validator:e=>{const t="v-model is required and must be greater than 0.";if(e<=0)throw console.error(t),new TypeError(t);return !0}},maxPagesShown:{type:Number,default:5,validator:e=>{const t="maxPagesShown attribute must be greater than 0.";if(e<=0)throw console.error(t),new TypeError(t);return !0}},dir:{type:String,default:"ltr",validator:e=>{const t='dir attribute must be either "ltr" or "rtl".';if(e!=="ltr"&&e!=="rtl")throw console.error(t),new TypeError(t);return !0}},type:{type:String,default:"button",validator:e=>{const t=["link","button"],n="type attribute must be one of the following: "+t.join(", ");if(t.indexOf(e)===-1)throw console.error(n),new TypeError(n);return !0}},onClick:{type:Function,default:()=>{}},prevButtonContent:{type:String,default:"<"},nextButtonContent:{type:String,default:">"},hidePrevNext:{type:Boolean,default:!1},hidePrevNextWhenEnds:{type:Boolean,default:!1},showBreakpointButtons:{type:Boolean,default:!0},disableBreakpointButtons:{type:Boolean,default:!1},startingBreakpointContent:{type:String,default:"..."},endingBreakpointButtonContent:{type:String,default:"..."},showJumpButtons:{type:Boolean,default:!1},linkUrl:{type:String,default:"#"},backwardJumpButtonContent:{type:String,default:"<<"},forwardJumpButtonContent:{type:String,default:">>"},disablePagination:{type:Boolean,default:!1},showEndingButtons:{type:Boolean,default:!1},firstPageContent:{type:String,default:"First"},lastPageContent:{type:String,default:"Last"},backButtonClass:{type:String,default:"back-button"},nextButtonClass:{type:String,default:"next-button"},firstButtonClass:{type:String,default:"first-button"},lastButtonClass:{type:String,default:"last-button"},numberButtonsClass:{type:String,default:"number-buttons"},startingBreakpointButtonClass:{type:String,default:"starting-breakpoint-button"},endingBreakPointButtonClass:{type:String,default:"ending-breakpoint-button"},firstPageButtonClass:{type:String,default:"first-page-button"},lastPageButtonClass:{type:String,default:"last-page-button"},paginateButtonsClass:{type:String,default:"paginate-buttons pure-button"},disabledPaginateButtonsClass:{type:String,default:"disabled-paginate-buttons"},activePageClass:{type:String,default:"active-page"},paginationContainerClass:{type:String,default:"pagination-container"},disabledBreakPointButtonClass:{type:String,default:"disabled-breakpoint-button"},backwardJumpButtonClass:{type:String,default:"backward-jump-button"},forwardJumpButtonClass:{type:String,default:"forward-jump-button"},disabledBackwardJumpButtonClass:{type:String,default:"disabled-backward-jump-button"},disabledBackButtonClass:{type:String,default:"disabled-back-button"},disabledFirstButtonClass:{type:String,default:"disabled-first-button"},disabledLastButtonClass:{type:String,default:"disabled-last-button"},disabledNextButtonClass:{type:String,default:"disabled-next-button"},disabledForwardJumpButtonClass:{type:String,default:"disabled-forward-jump-button"}},emits:["update:modelValue","click"],setup(e,{emit:t}){const n=e;if(n.currentPage&&!n.modelValue)throw new Error("currentPage/current-page is now deprecated, use v-model instead to set the current page.");if(!n.modelValue)throw new TypeError("v-model is required for the paginate component.");const o=d0(n,"modelValue"),s=t,i=T=>{T!==o.value&&(T>l.value||T<1||n.disablePagination||(s("update:modelValue",T),s("click",T)));},r=T=>T,a=T=>n.type!=="link"?"":n.linkUrl.replace("[page]",T.toString()),l=rt(()=>Math.ceil(n.totalItems/n.itemsPerPage)),c=rt(()=>{let T,D;if(l.value<=n.maxPagesShown)T=1,D=l.value;else {let z=Math.floor(n.maxPagesShown/2),G=Math.ceil(n.maxPagesShown/2)-1;o.value<=z?(T=1,D=n.maxPagesShown):o.value+G>=l.value?(T=l.value-n.maxPagesShown+1,D=l.value):(T=o.value-z,D=o.value+G);}let N=Array.from(Array(D+1-T).keys()).map(z=>T+z);return n.dir==="rtl"&&(N=N.reverse()),{totalItems:n.totalItems,currentPage:o.value,itemsPerPage:n.itemsPerPage,totalPages:l,startPage:T,endPage:D,pages:N}}),u=rt(()=>n.dir==="rtl"),p=rt(()=>u.value?!n.hidePrevNextWhenEnds||o.value!==l.value:!n.hidePrevNextWhenEnds||o.value!==1),m=rt(()=>u.value?!n.hidePrevNextWhenEnds||o.value!==1:!n.hidePrevNextWhenEnds||o.value!==l.value),w=rt(()=>u.value?c.value.pages[0]<l.value-1:c.value.pages[0]>=3),b=rt(()=>u.value?c.value.pages[c.value.pages.length-1]>=3:c.value.pages[c.value.pages.length-1]<l.value-1),C=rt(()=>u.value?c.value.pages[0]<l.value:c.value.pages[0]>=2),F=rt(()=>u.value?c.value.pages[c.value.pages.length-1]>=2:c.value.pages[c.value.pages.length-1]<l.value),O=rt(()=>o.value!==1),R=rt(()=>o.value!==l.value);if(n.type==="link"&&n.linkUrl==="#")throw console.error("linkUrl attribute is required if type attribute is 'link'"),new TypeError("linkUrl attribute is required if type attribute is 'link'");if(n.type==="link"&&!n.linkUrl.includes("[page]"))throw console.error("linkUrl attribute must contain '[page]' substring"),new TypeError("linkUrl attribute must contain '[page]' substring");return (T,D)=>(S(),I("ul",{id:"componentContainer",class:Ne(e.paginationContainerClass)},[e.showEndingButtons&&O.value?(S(),I("li",e2,[(S(),it(xn(e.type==="button"?"button":"a"),{href:a(u.value?l.value:1),onClick:D[0]||(D[0]=mn(N=>i(u.value?l.value:1),["prevent"])),class:Ne([e.firstPageButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:""]),disabled:e.disablePagination},{default:xe(()=>[Ze(T.$slots,"first-page-button",{},()=>[L(K(e.firstPageContent),1)])]),_:3},8,["href","class","disabled"]))])):be("",!0),e.showJumpButtons&&w.value?(S(),I("li",t2,[(S(),it(xn(e.type==="button"?"button":"a"),{href:a(u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),onClick:D[1]||(D[1]=mn(N=>i(u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),["prevent"])),class:Ne([e.backwardJumpButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledBackwardJumpButtonClass:""]),disabled:e.disablePagination},{default:xe(()=>[Ze(T.$slots,"backward-jump-button",{},()=>[L(K(e.backwardJumpButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):be("",!0),!e.hidePrevNext&&p.value?(S(),I("li",n2,[(S(),it(xn(e.type==="button"?"button":"a"),{href:a(u.value?o.value+1:o.value-1),onClick:D[2]||(D[2]=mn(N=>i(u.value?o.value+1:o.value-1),["prevent"])),class:Ne([e.backButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledBackButtonClass:""]),disabled:e.disablePagination},{default:xe(()=>[Ze(T.$slots,"prev-button",{},()=>[L(K(e.prevButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):be("",!0),e.showBreakpointButtons&&C.value?(S(),I("li",o2,[(S(),it(xn(e.type==="button"?"button":"a"),{href:a(u.value?l.value:1),onClick:D[3]||(D[3]=mn(N=>i(u.value?l.value:1),["prevent"])),class:Ne([e.firstButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledFirstButtonClass:""]),disabled:e.disablePagination},{default:xe(()=>[L(K(u.value?r(l.value):r(1)),1)]),_:1},8,["href","class","disabled"]))])):be("",!0),e.showBreakpointButtons&&w.value?(S(),I("li",s2,[(S(),it(xn(e.type==="button"?"button":"a"),{href:a(e.disableBreakpointButtons?o.value:u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),onClick:D[4]||(D[4]=mn(N=>i(e.disableBreakpointButtons?o.value:u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),["prevent"])),disabled:e.disableBreakpointButtons||e.disablePagination,class:Ne([e.startingBreakpointButtonClass,e.paginateButtonsClass,e.disableBreakpointButtons||e.disablePagination?`${e.disabledPaginateButtonsClass} ${e.disabledBreakPointButtonClass}`:""])},{default:xe(()=>[Ze(T.$slots,"starting-breakpoint-button",{},()=>[L(K(e.startingBreakpointContent),1)])]),_:3},8,["href","disabled","class"]))])):be("",!0),(S(!0),I(Le,null,Je(c.value.pages,(N,z)=>(S(),I("li",{key:z},[(S(),it(xn(e.type==="button"?"button":"a"),{href:a(N),onClick:mn(()=>i(N),["prevent"]),class:Ne([e.paginateButtonsClass,e.numberButtonsClass,N===o.value?e.activePageClass:"",e.disablePagination?e.disabledPaginateButtonsClass:""]),disabled:e.disablePagination},{default:xe(()=>[L(K(r(N)),1)]),_:2},1032,["href","onClick","class","disabled"]))]))),128)),e.showBreakpointButtons&&b.value?(S(),I("li",i2,[(S(),it(xn(e.type==="button"?"button":"a"),{href:a(e.disableBreakpointButtons?o.value:u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),onClick:D[5]||(D[5]=mn(N=>i(e.disableBreakpointButtons?o.value:u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),["prevent"])),disabled:e.disableBreakpointButtons||e.disablePagination,class:Ne([e.endingBreakPointButtonClass,e.paginateButtonsClass,e.disableBreakpointButtons||e.disablePagination?`${e.disabledPaginateButtonsClass} ${e.disabledBreakPointButtonClass}`:""])},{default:xe(()=>[Ze(T.$slots,"ending-breakpoint-button",{},()=>[L(K(e.endingBreakpointButtonContent),1)])]),_:3},8,["href","disabled","class"]))])):be("",!0),e.showBreakpointButtons&&F.value?(S(),I("li",r2,[(S(),it(xn(e.type==="button"?"button":"a"),{href:a(u.value?1:l.value),onClick:D[6]||(D[6]=mn(N=>i(u.value?1:l.value),["prevent"])),class:Ne([e.lastButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledLastButtonClass:""]),disabled:e.disablePagination},{default:xe(()=>[L(K(u.value?r(1):r(l.value)),1)]),_:1},8,["href","class","disabled"]))])):be("",!0),!e.hidePrevNext&&m.value?(S(),I("li",a2,[(S(),it(xn(e.type==="button"?"button":"a"),{href:a(u.value?o.value-1:o.value+1),onClick:D[7]||(D[7]=mn(N=>i(u.value?o.value-1:o.value+1),["prevent"])),class:Ne([e.paginateButtonsClass,e.nextButtonClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledNextButtonClass:""]),disabled:e.disablePagination},{default:xe(()=>[Ze(T.$slots,"next-button",{},()=>[L(K(e.nextButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):be("",!0),e.showJumpButtons&&b.value?(S(),I("li",l2,[(S(),it(xn(e.type==="button"?"button":"a"),{href:a(u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),onClick:D[8]||(D[8]=mn(N=>i(u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),["prevent"])),class:Ne([e.forwardJumpButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledForwardJumpButtonClass:""]),disabled:e.disablePagination},{default:xe(()=>[Ze(T.$slots,"forward-jump-button",{},()=>[L(K(e.forwardJumpButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):be("",!0),e.showEndingButtons&&R.value?(S(),I("li",u2,[(S(),it(xn(e.type==="button"?"button":"a"),{href:a(u.value?1:l.value),onClick:D[9]||(D[9]=mn(N=>i(u.value?1:l.value),["prevent"])),class:Ne([e.lastPageButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:""]),disabled:e.disablePagination},{default:xe(()=>[Ze(T.$slots,"last-page-button",{},()=>[L(K(e.lastPageContent),1)])]),_:3},8,["href","class","disabled"]))])):be("",!0)],2))}}),lf=Re(c2,[["__file","Pager.vue"]]),d2=Te({__name:"Divider",props:{paddingY:{default:10},color:{default:"#eee"},transparent:{type:Boolean,default:!1}},setup(e){const t=e,n=rt(()=>{const o=t.transparent?"transparent":t.color,s=`${t.paddingY}px`;return {marginTop:s,height:s,borderTop:`1px solid ${o}`}});return (o,s)=>(S(),I("div",{class:"ce-divider",style:jn(n.value)},[Ze(o.$slots,"default")],4))}}),uf=Re(d2,[["__file","Divider.vue"]]),f2={class:"ce-file-list"},p2={class:"text-small text-info"},h2={class:"text-primary"},m2={class:"text-danger"},g2={class:"item-meta"},y2={key:0,class:"ce-label"},w2={key:1,class:"ce-label"},b2={key:2,class:"ce-label"},v2={key:3,class:"ce-label"},C2={key:4,class:"ce-label"},_2={key:5,class:"ce-label ce-label-danger"},x2={key:6,class:"ce-label ce-label-danger"},k2={key:7,class:"text-info"},S2={class:"text-success"},$2={class:"pure-table pure-table-bordered"},E2={class:"text-small"},P2={class:"text-success"},A2=Te({__name:"FileList",props:{group:{},pattern:{},files:{}},setup(e){const t=e,n=ne([]),o=ne(0),s=ne(15),i=ne(5),r=ne(1);At(async()=>{var c;o.value=((c=t.pattern.fileIds)==null?void 0:c.length)||0,a();});function a(c=1){const u=[],{fileIds:p=[]}=t.pattern,m=s.value*(c-1),w=p.slice(m,m+s.value);for(const b of w){const C=t.files.get(b);if(C){const F=es(C);u.push(F);}}n.value=u;}function l(c){a(c);}return (c,u)=>(S(),I("div",f2,[d("div",null,[d("div",p2,[u[2]||(u[2]=d("small",null,"原始:",-1)),u[3]||(u[3]=L()),d("span",h2,K(c.pattern.value),1),u[4]||(u[4]=L(", ")),u[5]||(u[5]=d("small",null,"类型:",-1)),u[6]||(u[6]=L()),d("span",m2,K(re(ym)[c.pattern.type]),1),d("div",null," fullMatch: "+K(c.pattern.fullMatch)+", caseSensitive: "+K(c.pattern.caseSensitive)+", impartible: "+K(c.pattern.impartible)+", isRegexp: "+K(c.pattern.isRegexp)+", maxSize: "+K(c.pattern.maxSize)+", patternRegexp: "+K(c.pattern.patternRegexp),1)]),u[8]||(u[8]=d("hr",null,null,-1)),d("div",g2,[c.pattern.fullMatch?(S(),I("span",y2,"全等")):be("",!0),c.pattern.caseSensitive?(S(),I("span",w2,"区分大小写")):be("",!0),c.pattern.impartible?(S(),I("span",b2,"匹配空格")):be("",!0),c.pattern.isRegexp?(S(),I("span",v2,"正则")):be("",!0),c.pattern.type===re(at).fileHash?(S(),I("span",C2,"sha1")):be("",!0),c.pattern.maxSize===0?(S(),I("span",_2,"任意大小")):be("",!0),c.pattern.maxSize>0?(S(),I("span",x2,"不大于"+K(c.pattern.maxSize)+"MB",1)):be("",!0),c.pattern.memo?(S(),I("div",k2,[u[7]||(u[7]=d("small",null,"备注:",-1)),L(" "+K(c.pattern.memo),1)])):be("",!0)])]),u[10]||(u[10]=d("br",null,null,-1)),d("div",null,[o.value>s.value?(S(),it(lf,{key:0,"total-items":o.value,"items-per-page":s.value,"max-pages-shown":i.value,modelValue:r.value,"onUpdate:modelValue":u[0]||(u[0]=p=>r.value=p),onClick:l},null,8,["total-items","items-per-page","max-pages-shown","modelValue"])):be("",!0),d("span",S2,"数量: "+K(o.value),1),me(uf,{transparent:"","padding-y":5}),d("table",$2,[u[9]||(u[9]=d("thead",null,[d("tr",null,[d("th",null,"#"),d("th",{width:"30"},"类型"),d("th",null,"ID"),d("th",{width:"250"},"名称"),d("th",null,"大小"),d("th",{width:"305"},"SHA1")])],-1)),d("tbody",null,[(S(!0),I(Le,null,Je(n.value,(p,m)=>(S(),I("tr",{key:m},[d("td",null,K(s.value*(r.value-1)+m+1),1),d("td",null,K(p.isDir?"目录":"文件"),1),d("td",null,K(p.id),1),d("td",null,K(p.name),1),d("td",null,K(p.sizeDesc),1),d("td",E2,K(p.hash),1)]))),128))])]),me(uf,{transparent:"","padding-y":5}),o.value>s.value?(S(),it(lf,{key:1,"total-items":o.value,"items-per-page":s.value,"max-pages-shown":i.value,modelValue:r.value,"onUpdate:modelValue":u[1]||(u[1]=p=>r.value=p),onClick:l},null,8,["total-items","items-per-page","max-pages-shown","modelValue"])):be("",!0),d("span",P2,"数量: "+K(o.value),1)])]))}}),I2=Re(A2,[["__scopeId","data-v-89339f2e"],["__file","FileList.vue"]]),D2=Te({__name:"GoTop",props:{label:{default:"回到顶部"},container:{default:"body"}},setup(e){const t=e;async function n(){if(t.container instanceof HTMLElement)t.container.scrollTo(0,0);else {const o=document.querySelector(t.container);o==null||o.scrollTo(0,0);}}return (o,s)=>Ze(o.$slots,"default",{},()=>[d("button",{type:"button",class:"pure-button button-small",onClick:n},K(o.label),1)])}}),Sm=Re(D2,[["__file","GoTop.vue"]]),T2={type:"button",class:"pure-button button-success"},O2=Te({__name:"DirSelector",props:{label:{default:"切换目录"},purpose:{default:"操作"},confirmLabel:{default:"选择该目录"},onlyDir:{type:Boolean,default:!0},showRecord:{type:Boolean,default:!0},showCopy:{type:Boolean,default:!0}},emits:["select"],setup(e,{emit:t}){const n=e,o=t;async function s(){unsafeWindow.parent.Core.FileSelectDG.Open(async(i,r)=>{console.log("[Core.FileSelectDG.Open]",i,r),o("select",{items:i,xx:r});},{select:1,nf:n.onlyDir?1:0,show_record:n.showRecord?1:0,show_copy:n.showCopy?1:0,btn_txt:n.confirmLabel,select_txt:n.purpose});}return (i,r)=>(S(),I("span",{onClick:s},[Ze(i.$slots,"default",{},()=>[d("button",T2,K(i.label),1)])]))}}),Ai=Re(O2,[["__file","DirSelector.vue"]]);function M2(e,t){return Object.entries(e).map(([n,o])=>({label:o,value:n,checked:t?t(n):!1}))}const L2={class:"ce-button-group"},B2=["onClick"],R2=Te({__name:"index",props:{modelValue:{type:[String,Number,Boolean,Array]},multiple:{type:Boolean,default:!1},options:{},mapping:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=t,s=rt(()=>{let a=[];const l=c=>n.multiple?n.modelValue.includes(c):n.modelValue===c;return n.mapping?a=M2(n.mapping,l):n.options&&(a=cu(n.options).map(c=>({...c,checked:l(c.value)}))),a}),i=ne(n.modelValue);function r(a){n.multiple?(a.checked=!a.checked,i.value=s.value.filter(l=>l.checked).map(l=>l.value)):(s.value.forEach(l=>{l.checked=l.value===a.value;}),i.value=a.value),o("update:modelValue",i.value);}return (a,l)=>(S(),I("span",L2,[(S(!0),I(Le,null,Je(s.value,c=>{var u;return S(),I("button",{key:(u=c.value)==null?void 0:u.toString(),type:"button",class:Ne(["pure-button",{"pure-button-primary":c.checked}]),onClick:p=>r(c)},K(c.label),11,B2)}),128))]))}}),cf=Re(R2,[["__file","index.vue"]]),F2={class:"cloud115-eh-cleaner ce-cleaner-x"},N2={class:"header actions-bar"},U2={class:"close"},j2={class:"ce-path ce-label ce-label-primary-plain"},H2=["href"],V2={class:"by-box by-suffix"},z2={class:"by-header"},q2={class:"pure-button-group",role:"group"},W2=["disabled"],K2={class:"pure-table pure-table-bordered"},G2=["onClick"],J2=["onClick"],Y2=["onClick"],Q2=["onClick"],X2={class:"by-header"},Z2={class:"pure-button-group",role:"group"},eE=["disabled"],tE={class:"item-index"},nE={class:"item-val"},oE=["href"],sE={class:"file-type tp-folder"},iE={class:"item-meta"},rE={key:0,class:"ce-label"},aE={key:1,class:"ce-label"},lE={key:2,class:"ce-label"},uE={key:3,class:"ce-label"},cE={key:4,class:"ce-label"},dE={key:5,class:"ce-label ce-label-danger"},fE={key:6,class:"ce-label ce-label-danger"},pE={key:7,class:"text-info"},hE={key:0,class:"text-small text-info"},mE={class:"text-primary"},gE={class:"text-danger"},yE={class:"item-num"},wE={class:"item-size"},bE={class:"item-actions"},vE=["onClick"],CE=["onClick"],_E=["onClick"],xE={class:"item-status"},kE={class:"footer actions-bar"},SE={class:"ce-path ce-label ce-label-primary-plain"},$E=["href"],EE=Te({__name:"Cleaner",setup(e){const t=ne(!1),n=ne(!0),o=ne(Uo({type:qe.suffix})),s=ne(Uo({type:qe.keyword})),i=ne({maxSize:5,matchName:!1}),r=ne({maxSize:100,matchName:!0,keywordCategory:ni.all,resultCategory:Br.all}),a=ne([]),l=ne([]),c=ne(!1),u=ne(mm()),p=ne(!1),m=ne(""),w=ne([]),b=ne(null),C=ne(!1),F=rt(()=>m.value?go(m.value):"");async function O(){C.value=!C.value;}const R=ne(!1),T=new Map,D=ne({});async function N(Q){for(const B of Q){const W=B.fid||B.cid;W&&!T.has(W)&&T.set(W,B);}}async function z(Q,B){D.value.files=T,D.value.group=Q,D.value.pattern=B,R.value=!0;}async function G(Q){Q.data.type===Jt.OPEN_CLEANER&&(ge(Q.data.payload),Wo({type:Jt.CLEANER_OPENED},Q.source));}At(async()=>{u.value=await Ca(),p.value=!0;}),Vt(async()=>{u.value.initialized||(u.value.initialized=!0,await gm({initialized:!0})),window.addEventListener("message",G);}),ns(()=>{window.removeEventListener("message",G);});async function ge(Q){t.value=!0;const B=await Qt();if(B==="0"||B===""){await we(),await ae.fire({icon:"warning",html:"<h2>不允许在根目录使用该工具!</h2>"});return}m.value&&m.value!==B&&console.warn("目录变化,重置"),b.value=await Bt(B),w.value=[...b.value.paths.slice(1).map(W=>W.file_name),b.value.file_name],m.value=B;}async function we(){t.value=!1;}async function ce(Q){console.log("[onSelectDir]",Q);const{items:B}=Q,W=B[B.length-1];await ee(Ot.reset),await de(Ot.reset),m.value=W.cid,b.value=await Bt(W.cid),w.value=[...b.value.paths.slice(1).map(_=>_.file_name),b.value.file_name];}async function H(Q){const B={};Q.isFilter?B.type=Q.pattern:B.suffix=Q.pattern;let W=unsafeWindow.frames[0];for(let _=0;_<unsafeWindow.frames.length;_++)if(unsafeWindow.frames[_].name==="wangpan"){W=unsafeWindow.frames[_];break}Wo({type:Jt.INVOKE_FILTER,payload:B},W),await we(),le({icon:"info",text:`已调用115筛选: ${Q.value}`,timer:2500});}async function j(Q,B){const{value:W}=await ae.fire({input:"textarea",title:Q,html:"每行一个,最短两个字符。"+(B===qe.keyword?`<br>默认只匹配文件名,不匹配目录名。<br>使用 "<b>${Yu}目录名关键词</b>" 格式指定只匹配目录名的关键词。`:""),width:620,inputPlaceholder:"每行一个,最短两个字符",inputAttributes:{"aria-label":"每行一个,最短两个字符"},showCancelButton:!0});return W!==void 0?W.trim():""}async function ee(Q,B){let W="",_=[];switch(Q){case Ot.assign:W=B.trim(),W.trim()===""?a.value=[]:(_=await No(W,qe.suffix),a.value=_);break;case Ot.append:W=await j("添加后缀",qe.suffix),_=await No(W,qe.suffix);const E=[];a.value.forEach(U=>E.push(U.value.toLowerCase())),_.forEach(U=>{E.includes(U.value.toLowerCase())||a.value.push(U);});break;case Ot.cover:W=await j("覆盖后缀",qe.suffix),W.trim()!==""&&(_=await No(W,qe.suffix),a.value=_);break;case Ot.clear:a.value=[];break;case Ot.reset:a.value.forEach(U=>{U.num=-1,U.fileIds=[],U.status=Et.none,U.size=-1;});break}}async function de(Q,B){let W="",_=[];switch(Q){case Ot.assign:W=B.trim(),W.trim()===""?l.value=[]:(_=await No(W,qe.keyword),l.value=_);break;case Ot.append:W=await j("添加关键词",qe.keyword),_=await No(W,qe.keyword);const E=[];l.value.forEach(U=>E.push(U.value.toLowerCase())),_.forEach(U=>{E.includes(U.value.toLowerCase())||l.value.push(U);});break;case Ot.cover:W=await j("覆盖关键词",qe.keyword),W.trim()!==""&&(_=await No(W,qe.keyword),l.value=_);break;case Ot.clear:l.value=[];break;case Ot.reset:l.value.forEach(U=>{U.num=-1,U.fileIds=[],U.status=Et.none,U.size=-1;});break}}async function Ce(Q){if(console.log("[cleanBySuffix]",Q),await ee(Ot.reset),!a.value.length){await ae.fire({icon:"warning",text:"请先设置后缀!"});return}if(_e=[],!Q){const{isConfirmed:B}=await ae.fire({icon:"warning",html:'请在清理前确认"后缀和大小限制的设置"是否符合预期!',confirmButtonText:"没问题,开始清理",showDenyButton:!0,denyButtonText:"等会"});if(!B)return}c.value=!0;try{for(let B=0;B<a.value.length;B++){const W=a.value[B];await Se(W,Q,!1,!0,!1);}Q||(c.value=!0,await pt(qe.suffix));}catch(B){console.error(B),ae.fire({title:"按后缀名清理 - 发生错误",html:B.toString()});}finally{c.value=!1,Q||ae.fire({title:"按后缀名清理 - 完成"});}}async function Se(Q,B,W,_,E){var U;if(console.log("[cleanBySuffixSingle]",Q,B),!B&&!_){const{isConfirmed:q}=await ae.fire({icon:"warning",html:`确认执行条件 "后缀: <b class="text-primary">${Q.pattern}</b>, 不大于: <b>${i.value.maxSize}</b> MB" 的清理?`,confirmButtonText:"没问题,开始清理",showDenyButton:!0,denyButtonText:"等会"});if(!q)return}try{if(!W){c.value=!0,Q.fileIds=[],Q.size=-1,Q.num=-1,Q.status=Et.prepare;const q=await Ie(Q);await N(q),Q.status=Et.prepared;const{fileIds:J=[],size:ie}=rf(Q,q,i.value);Q.fileIds=J,Q.size=ie,Q.num=J.length,c.value=!1;}if(!B)if(Q.num&&Q.num>0){Q.status=Et.deleting,c.value=!0;const q=((U=Q.fileIds)==null?void 0:U.length)||0;E?await Na(m.value,Q.fileIds||[],u.value.deleteSize,1e3):ze(qe.suffix,Q.fileIds||[],!1),c.value=!1,q>0?Q.status=Et.success+` / 数量 <= ${q}`:Q.status=Et.failed;}else Q.status=Et.success+" / 无";}catch(q){console.error(q),c.value=!1,await ae.fire({title:"cleanBySuffixSingle - 发生错误",html:q.toString()});}}async function Pe(){const Q=[at.fileKeyword,at.fileHash];return l.value.some(B=>Q.includes(B.type))}async function $e(Q,B){if(console.log("[cleanByKeyword]",Q,B),await de(Ot.reset),!l.value.length){await ae.fire({icon:"warning",text:"请先设置关键词!"});return}if(M=[],!Q){const W={icon:"warning",html:'请在清理前确认"关键词和大小限制的设置"是否符合预期!',confirmButtonText:"没问题,开始清理",showDenyButton:!0,denyButtonText:"等会"},{isConfirmed:_,value:E}=await ae.fire(W);if(!_)return}c.value=!0,console.time("cleanByKeyword");try{let W;await Pe()&&(W=await Ve(),await N(W));const _=B||r.value.keywordCategory;for(let E=0;E<l.value.length;E++){const U=l.value[E];if(_!==ni.all){const q=U.type===at.dirKeyword;if(_===ni.dir&&!q||_===ni.file&&q)continue}await nt(U,Q,!1,!0,W,!1);}Q||(c.value=!0,await pt(qe.keyword));}catch(W){console.error(W),ae.fire({title:"按关键词清理 - 发生错误",html:W.toString()});}finally{console.timeEnd("cleanByKeyword"),Q||ae.fire({title:"按关键词清理 - 完成"});}c.value=!1;}async function Ve(){const Q=m.value,B=Ho({cid:Q,limit:1150,type:kn.file,record_open_time:0});return await hs(B)}async function nt(Q,B,W,_,E,U){var q;if(console.log("[cleanByKeywordSingle]",Q,B),!B&&!_){const{isConfirmed:J}=await ae.fire({icon:"warning",html:`确认执行条件 "关键词: <b class="text-primary">${Q.pattern}</b>, 不大于: <b class="text-primary">${r.value.maxSize}</b> MB" 的清理?`,confirmButtonText:"没问题,开始清理",showDenyButton:!0,denyButtonText:"等会"});if(!J)return}try{if(!W){c.value=!0,Q.fileIds=[],Q.size=-1,Q.num=-1,Q.status=Et.prepare;let J=[];Q.type!==at.dirKeyword&&E!==void 0?J=E:(J=await ht(Q),await N(J)),Q.status=Et.prepared;const{fileIds:ie,size:ye,num:ue}=rf(Q,J,r.value);Q.fileIds=ie,Q.size=ye,Q.num=ue,c.value=!1;}if(!B)if(Q.num&&Q.num>0){Q.status=Et.deleting,c.value=!0;const J=((q=Q.fileIds)==null?void 0:q.length)||0;U?await Na(m.value,Q.fileIds||[],u.value.deleteSize,1e3):ze(qe.keyword,Q.fileIds||[],!1),c.value=!1,J>0?Q.status=Et.success+` / 数量 <= ${J}`:Q.status=Et.failed;}else Q.status=Et.success+" / 无";}catch(J){console.error(J),c.value=!1;let ie=!0;const ye={title:"cleanByKeywordSingle - 发生错误",html:J.toString()};J instanceof iu&&(Q.status=Et.prepareFailed+` / ${J.message}`,J instanceof Uf&&(ye.timer=2e3,ie=!1)),ie?await ae.fire(ye):ae.fire(ye);}}let _e=[],M=[];function ze(Q,B,W){Q===qe.suffix?_e=[..._e,...B]:M=[...M,...B];}async function pt(Q){const B=Q===qe.suffix?_e:M;if(!B.length)return;const W=Array.from(new Set(B));console.log("[deleteFiles] num=",W.length),await Na(m.value,W,1150,1e3);}async function Ie(Q){const B=m.value,W=Ho({cid:B,limit:u.value.pageSize});Q.isFilter?W.type=Q.pattern:W.suffix=Q.value;const _=await hs(W);return console.log("[files]",_),_}async function ht(Q){const B=m.value,W=Cb({search_value:Q.pattern,cid:B,limit:u.value.pageSize}),_=await yv(W,u.value.reqInterval,!0);return console.log("[files]",_),_}function xt(Q){return Yr({...d$(Q),cid:m.value},w.value[w.value.length-1])}async function Ft(Q){console.log("[onSuffixGroupChange]",Q),o.value=Q,i.value.maxSize=Q.size,await ee(Ot.assign,Q.values);}async function kt(Q){console.log("[onKeywordGroupChange]",Q),s.value=Q,r.value.maxSize=Q.size,await de(Ot.assign,Q.values);}return (Q,B)=>oe((S(),I("span",F2,[Ze(Q.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:ge},B[10]||(B[10]=[d("span",null,"清理文件",-1)]))]),me(Pi,{"is-open":t.value,speed:300,"max-width":"calc(100vw - 72px)",onClose:B[9]||(B[9]=W=>t.value=!1)},{default:xe(()=>[oe(d("div",{class:Ne(["cloud115-eh-cleaner-drawer",{loading:c.value}])},[me(Z$),d("div",N2,[B[13]||(B[13]=d("span",{class:"title"},"文件清理工具",-1)),d("span",U2,[d("button",{type:"button",class:"pure-button button-error",onClick:we},"关闭"),B[11]||(B[11]=L("      ")),me(Ai,{purpose:"清理文件",onSelect:ce})]),d("div",j2,[d("a",{target:"_blank",href:F.value,title:"打开目录"},[B[12]||(B[12]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),L(" "+K(w.value.join(" / ")),1)],8,H2)])]),d("div",V2,[d("div",z2,[B[14]||(B[14]=d("span",{class:"title"},[L("按"),d("b",null,"后缀名"),L("清理")],-1)),B[15]||(B[15]=L("      ")),d("div",q2,[d("button",{type:"button",class:"pure-button",onClick:B[0]||(B[0]=W=>Ce(!0))},"只查询"),d("button",{type:"button",class:"pure-button pure-button-primary",onClick:B[1]||(B[1]=W=>Ce(!1)),disabled:o.value.queryOnly}," 一键清理 ",8,W2)]),B[16]||(B[16]=L("   ")),B[17]||(B[17]=d("span",{class:"ce-label"},"不大于",-1)),B[18]||(B[18]=L("  ")),oe(d("input",{type:"number","onUpdate:modelValue":B[2]||(B[2]=W=>i.value.maxSize=W),class:"filter-size"},null,512),[[We,i.value.maxSize]]),B[19]||(B[19]=L(" MB ")),B[20]||(B[20]=d("small",null,"(0表示不限制)",-1)),p.value?(S(),it(af,{key:0,type:re(qe).suffix,"storage-key":"suffixGroups",onChange:Ft,config:u.value},null,8,["type","config"])):be("",!0)]),d("table",K2,[B[23]||(B[23]=d("thead",null,[d("tr",null,[d("th",{width:"25"},"#"),d("th",{width:"100"},"后缀名"),d("th",{width:"95"},"文件数量"),d("th",{width:"80"},"合计大小"),d("th",{width:"200"},"操作"),d("th",{width:"200"},"状态")])],-1)),d("tbody",null,[(S(!0),I(Le,null,Je(a.value,(W,_)=>(S(),I("tr",{key:_,class:Ne(re(of)(W))},[d("td",null,K(_+1),1),d("td",null,[d("a",{href:"javascript:void(0)",class:"pattern",onClick:E=>H(W),title:"筛选"},K(W.value),9,G2)]),d("td",null,K(W.num&&W.num>=0?W.num:""),1),d("td",null,K(W.size>0?re(ks)(W.size):""),1),d("td",null,[d("button",{type:"button",class:"pure-button button-xsmall",onClick:E=>Se(W,!0,!1,!0)},"查询",8,J2),B[21]||(B[21]=L("   ")),W.num&&W.num>0&&!o.value.queryOnly?(S(),I("button",{key:0,type:"button",class:"pure-button button-warning button-xsmall",onClick:E=>Se(W,!1,!0,!1,!0)},"清理",8,Y2)):be("",!0),B[22]||(B[22]=L("   ")),W.num&&W.num>0?(S(),I("button",{key:1,type:"button",class:"pure-button button-warning button-xsmall",onClick:E=>z(o.value,W)},"≡ 详情",8,Q2)):be("",!0)]),d("td",null,K(W.status),1)],2))),128))])])]),B[53]||(B[53]=d("br",null,null,-1)),me(Pi,{"is-open":R.value,onClose:B[3]||(B[3]=W=>R.value=!1),"max-width":"1030px",speed:100,"bg-color":"#fff"},{default:xe(()=>[R.value?(S(),it(I2,{key:0,files:D.value.files,group:D.value.group,pattern:D.value.pattern},null,8,["files","group","pattern"])):be("",!0)]),_:1},8,["is-open"]),d("div",{class:Ne(["by-box by-keyword",[`kw-cate-${r.value.keywordCategory}`]])},[d("div",X2,[B[24]||(B[24]=d("span",{class:"title"},[L("按"),d("b",null,"关键词"),L("清理")],-1)),B[25]||(B[25]=L("      ")),d("div",Z2,[d("button",{type:"button",class:"pure-button",onClick:B[4]||(B[4]=W=>$e(!0))},"只查询"),d("button",{type:"button",class:"pure-button pure-button-primary",onClick:B[5]||(B[5]=W=>$e(!1)),disabled:s.value.queryOnly}," 一键清理 ",8,eE)]),B[26]||(B[26]=L("   ")),B[27]||(B[27]=d("span",{class:"ce-label"},"不大于",-1)),B[28]||(B[28]=L("  ")),oe(d("input",{type:"number","onUpdate:modelValue":B[6]||(B[6]=W=>r.value.maxSize=W),class:"filter-size"},null,512),[[We,r.value.maxSize]]),B[29]||(B[29]=L(" MB ")),B[30]||(B[30]=d("small",null,"(0表示不限制)",-1)),B[31]||(B[31]=L("    ")),B[32]||(B[32]=d("span",{class:"ce-label"},"关键词类别",-1)),B[33]||(B[33]=L("  ")),me(cf,{modelValue:r.value.keywordCategory,"onUpdate:modelValue":B[7]||(B[7]=W=>r.value.keywordCategory=W),mapping:re(zS)},null,8,["modelValue","mapping"]),B[34]||(B[34]=L("    ")),B[35]||(B[35]=d("span",{class:"ce-label"},"结果筛选",-1)),B[36]||(B[36]=L("  ")),me(cf,{modelValue:r.value.resultCategory,"onUpdate:modelValue":B[8]||(B[8]=W=>r.value.resultCategory=W),mapping:re(qS)},null,8,["modelValue","mapping"]),p.value?(S(),it(af,{key:0,type:re(qe).keyword,"storage-key":"keywordGroups",onChange:kt,config:u.value},null,8,["type","config"])):be("",!0)]),d("table",{class:Ne(["pure-table pure-table-bordered fixed-header-table",[`table-${r.value.resultCategory}`]])},[d("thead",null,[d("tr",null,[B[38]||(B[38]=d("th",{width:"25"},"#",-1)),d("th",{width:"280"},[B[37]||(B[37]=L(" 关键词 ")),d("small",{class:"text-info",onClick:O},"显示调试信息")]),B[39]||(B[39]=d("th",{width:"95"},"文件/目录数量",-1)),B[40]||(B[40]=d("th",{width:"80"},"合计大小",-1)),B[41]||(B[41]=d("th",{width:"150"},"操作",-1)),B[42]||(B[42]=d("th",{width:"200"},"状态",-1))])]),d("tbody",null,[(S(!0),I(Le,null,Je(l.value,(W,_)=>{var E;return S(),I("tr",{key:_,class:Ne(re(of)(W,r.value))},[d("td",tE,K(_+1),1),d("td",nE,[d("a",{href:xt(W),target:"_blank",class:"pattern",title:"搜索"},[oe(d("i",sE,null,512),[[Gt,W.type===re(at).dirKeyword]]),L(" "+K(W.pattern),1)],8,oE),d("span",iE,[W.fullMatch?(S(),I("span",rE,"全等")):be("",!0),W.caseSensitive?(S(),I("span",aE,"区分大小写")):be("",!0),W.impartible?(S(),I("span",lE,"匹配空格")):be("",!0),W.isRegexp?(S(),I("span",uE,"正则")):be("",!0),W.type===re(at).fileHash?(S(),I("span",cE,"sha1")):be("",!0),W.maxSize===0?(S(),I("span",dE,"任意大小")):be("",!0),W.maxSize>0?(S(),I("span",fE,"不大于"+K(W.maxSize)+"MB",1)):be("",!0),W.memo?(S(),I("div",pE,[B[43]||(B[43]=d("small",null,"备注:",-1)),L(" "+K(W.memo),1)])):be("",!0)]),C.value?(S(),I("div",hE,[B[44]||(B[44]=d("small",null,"raw:",-1)),B[45]||(B[45]=L()),d("span",mE,K(W.value),1),B[46]||(B[46]=L(", ")),B[47]||(B[47]=d("small",null,"type:",-1)),B[48]||(B[48]=L()),d("span",gE,K(re(ym)[W.type]),1),d("div",null," fullMatch: "+K(W.fullMatch)+", caseSensitive: "+K(W.caseSensitive)+", impartible: "+K(W.impartible)+", isRegexp: "+K(W.isRegexp)+", maxSize: "+K(W.maxSize)+", patternRegexp: "+K((E=W.patternRegexp)==null?void 0:E.toString()),1)])):be("",!0)]),d("td",yE,K(W.num&&W.num>=0?W.num:""),1),d("td",wE,K(W.size>0?re(ks)(W.size):""),1),d("td",bE,[W.type!==re(at).fileKeyword?(S(),I("button",{key:0,type:"button",class:"pure-button button-xsmall",onClick:U=>nt(W,!0,!1,!0)},"查询",8,vE)):be("",!0),W.type!==re(at).fileKeyword&&W.num&&W.num>0&&!s.value.queryOnly?(S(),I("button",{key:1,type:"button",class:"pure-button button-warning button-xsmall",onClick:U=>nt(W,!1,!0,!1,void 0,!0)},"清理",8,CE)):be("",!0),W.num&&W.num>0?(S(),I("button",{key:2,type:"button",class:"pure-button button-xsmall",onClick:U=>z(s.value,W)},"≡ 详情",8,_E)):be("",!0)]),d("td",xE,K(W.status),1)],2)}),128))])],2)],2),B[54]||(B[54]=d("br",null,null,-1)),d("div",kE,[B[50]||(B[50]=d("span",{class:"title"},"文件清理工具",-1)),d("span",{class:"close"},[d("button",{type:"button",class:"pure-button button-error",onClick:we},"关闭")]),B[51]||(B[51]=L("      ")),me(Ai,{purpose:"清理文件",onSelect:ce}),B[52]||(B[52]=L("      ")),me(Sm,{container:".cloud115-eh-cleaner-drawer"}),d("div",SE,[d("a",{target:"_blank",href:F.value,title:"打开目录"},[B[49]||(B[49]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),L(" "+K(w.value.join(" / ")),1)],8,$E)])])],2),[[Gt,t.value]])]),_:1},8,["is-open"])],512)),[[Gt,n.value]])}}),PE=Re(EE,[["__file","Cleaner.vue"]]),AE={class:"ce-empty-cleaner-trigger"},IE=Te({__name:"Trigger",setup(e){ne(!1);const t=ne(!0);async function n(a){switch(a.data.type){case Jt.EMPTY_CLEANER_OPENED:await r(a.data.payload);break}}Vt(async()=>{window.addEventListener("message",n);}),ns(()=>{window.removeEventListener("message",n);});async function o(){await i(),Wo({type:Jt.OPEN_EMPTY_CLEANER},window.parent);}let s;async function i(){const a=Vr("cid");!a||a==="0"||(clearTimeout(s),s=setTimeout(async()=>{le({icon:"error",text:"打开清理空文件夹工具失败!"+location.href});},1e3));}async function r(a){console.log("成功打开EmptyCleaner"),clearTimeout(s);}return (a,l)=>oe((S(),I("span",AE,[Ze(a.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:o,title:"打开清理空文件夹工具"},l[0]||(l[0]=[d("span",null,"空文件夹",-1)]))])],512)),[[Gt,t.value]])}}),DE=Re(IE,[["__file","Trigger.vue"]]),TE=/^(?:\| )+\|-/;async function*OE(e){const t=["/"],n=e.trim().split(`
`);let o=0;for(const s of n){const i=TE.exec(s);if(i===null)continue;const a=i[0].length,l=a/2-1,c=s.slice(a);l>=t.length?t.push(c):t[l]=c,o+=1;const u=t.slice(0,l+1).join("/");yield {index:o,name:c,path:Kf(u)};}}function tl(e={}){return {name:"",path:"",id:"",url:"",checked:!1,deleted:!1,disabled:!1,repeated:!1,ensured:!1,...e}}function nl(){return {suffixes:new Set,treeNameCounter:{},treeNameToPaths:{},repeatedPaths:new Set,maybeDirs:{},filesNameCounter:{},violationFiles:[]}}let ME=class{constructor(t,n=!1){ve(this,"logs",[]);ve(this,"_dirId","");ve(this,"_dirPath","");ve(this,"_dirAttr",null);ve(this,"_treeText","");ve(this,"_keepTree",!1);ve(this,"_treeFile",null);ve(this,"_tailData",nl());ve(this,"_emptyItems",new Map);ve(this,"_checkedRepeatedPaths",new Set);ve(this,"_pendingPaths",new Set);ve(this,"logSubscribers",[]);ve(this,"emptyItemSubscribers",[]);ve(this,"treeFileSubscribers",[]);t&&this.setDirId(t),this._keepTree=n;}addLogSubscriber(t){this.logSubscribers.push(t);}addEmptyItemSubscriber(t){this.emptyItemSubscribers.push(t);}addTreeFileSubscriber(t){this.treeFileSubscribers.push(t);}async setDirId(t){this._dirId=t,this._dirAttr=await Bt(t);const n=[...this._dirAttr.paths.slice(1).map(o=>o.file_name),this._dirAttr.file_name];this._dirPath=n.join("/");}async setKeepTree(t){this._keepTree=t;}getTreeFile(){return this._treeFile}async isReady(){return !!this._dirPath}async run(){var o;if(!await this.isReady()){this.log(`运行异常!未获取到目录路径,目录ID=${this._dirId}`);return}if(((o=this._dirAttr)==null?void 0:o.folder_count)===0){this.log(`目录(id=${this._dirId}) "${this._dirPath}" 没有子目录,无需清理`);return}const t=Date.now();await this.exportTree(),await this.parseTree(),await this.queryFiles(),await this.handleMaybeDirs(),await this.detectEmpty(),await this.checkRealEmpty();const n=((Date.now()-t)/1e3).toFixed(2);this.log(`清理空目录检测阶段完成,合计耗时 ${n} 秒`),console.log("emptyItems:",this._emptyItems);}async exportTree(){const t=Date.now();this.log(`========导出目录树(目录ID=${this._dirId}, 路径=${this._dirPath})========`);const n=await Cv(this._dirId);console.log("exportTree",n),this.log("已发起导出处理,等待导出完成...");const o=await _v(n.data.export_id,2e3);console.log("exportTree",o),this.log(`导出目录树成功,PickCode为${o.data.pick_code}`);const s=await bv(o.data.pick_code);console.log("downloadItem",s),this.log("正在读取目录树文件内容...");let i=!0;try{this._treeText=await this._readFile(s),this.log("目录树文件内容读取完成");}catch(a){this.log(`读取目录树文件内容失败,${a.toString()}`),i=!1;}if(this._keepTree)this.onTreeFileGenerated(s),this.log(`目录树文件保留,不会被删除。文件: ${s.file_name}`);else {const a=await hu(this._dirId,[s.file_id]);console.log("deleteResult",a),this.log("目录树文件已删除");}const r=((Date.now()-t)/1e3).toFixed(2);i?this.log(`导出目录树完成,耗时 ${r} 秒`):this.log(`导出目录树失败,耗时 ${r} 秒`),this.log("=".repeat(60));}async _readFile(t){const n=f$({okStatus:[200,206],useFileReader:!0,fileReader:{checkBlank:!0,encoding:"utf-16le"}});return await vm(t.url.url,n)}async parseTree(){const t=Date.now();this.log("解析目录树...");const n=nl(),o=[],s=this._dirPath.split("/").slice(0,-1).join("/");console.log("[parseTree] parentPath:",s);for await(const r of OE(this._treeText)){const a=s+r.path;o.includes(a)&&n.repeatedPaths.add(a),o.push(a);}for(let r=0;r<o.length;r++){if(o[r+1]&&o[r+1].startsWith(o[r]+"/"))continue;let a=o[r].split("/").pop();if(!a)a=o[r];else {const l=Jf(a,/^\w+$/);if(l)n.suffixes.add(l.toLowerCase());else {const c=o[r].replace(/\/[^\/]+$/,"");n.maybeDirs[c]||(n.maybeDirs[c]=new Set),n.maybeDirs[c].add(a);}}n.treeNameToPaths[a]||(n.treeNameToPaths[a]=[]),n.treeNameToPaths[a].push(o[r]),n.treeNameCounter[a]||(n.treeNameCounter[a]=0),n.treeNameCounter[a]+=1;}console.log("[parseTree] result:",n);const i=((Date.now()-t)/1e3).toFixed(2);this.log(`解析目录树完成,耗时 ${i} 秒`),this.log("=".repeat(60)),this._tailData=n;}async queryFiles(){const t=Date.now(),n=this._tailData;this.log("获取文件列表...");const o=Ho({type:kn.file,limit:1150,cid:this._dirId});try{const i=Date.now(),r=await hs(o),a=((Date.now()-i)/1e3).toFixed(2);this.log(`获取文件列表成功,文件数量:${r.length}。耗时 ${a} 秒`);for(const l of r)l.c===ul.violation?(console.warn(`违规: id=${l.fid}, pc=${l.pc}, cid=${l.cid}, name=${l.n}`),this._tailData.violationFiles.push(es(l))):l.c===ul.auditing&&console.warn(`审核中: id=${l.fid}, pc=${l.pc}, cid=${l.cid}, name=${l.n}`),n.treeNameCounter[l.n]&&n.treeNameCounter[l.n]--,n.filesNameCounter[l.n]||(n.filesNameCounter[l.n]=0),n.filesNameCounter[l.n]++;}catch(i){console.error("[queryFiles] getFiles error! error:",i),this.log(`获取文件列表失败!错误: ${i.toString()}`);}const s=((Date.now()-t)/1e3).toFixed(2);this.log(`获取文件列表完成。耗时 ${s} 秒`),this.log("=".repeat(60));}async handleMaybeDirs(){const t=Date.now(),n=this._tailData;this.log("========根据上级路径排除无后缀文件========");const o=this._tailData.violationFiles.length>0,s=Object.keys(n.maybeDirs).length;let i=0;for(const[a,l]of Object.entries(n.maybeDirs)){let c="";try{c=await ps(a,!1);}catch(p){console.error(`[handleMaybeDirs] getDirIdByPath error! path: ${a}, error:`,p),this.log(`[${i+1} / ${s}] 根据上级路径(cid=${a}) 获取目录ID失败!错误: ${p.toString()}`);continue}const u=Ho({limit:1150,cid:c});try{const p=Date.now();this.log(`[${i+1} / ${s}] 正在获取上级路径 "${a}" 的文件列表...`);const m=await hs(u),w=((Date.now()-p)/1e3).toFixed(2);this.log(`[${i+1} / ${s}] 获取上级路径 "${a}" 的文件列表成功,文件数量:${m.length}。耗时 ${w} 秒`);for(const b of m)if(l.has(b.n)){if(b.fid)this.log(`[${i+1} / ${s}] 上级路径 "${a}" 下的 "${b.n}" 是一个文件`),n.treeNameCounter[b.n]&&n.treeNameCounter[b.n]--;else if(!n.filesNameCounter[b.n]&&!o){const C=a+"/"+b.n;this.log(`[${i+1} / ${s}] 路径 "${C}" 是一个目录,该目录名称无对应的文件,且由于无违规文件,因此可确认为空目录`);const F=tl({id:b.cid,name:b.n,path:C,url:go(b.cid),ensured:!0});await this.addEmptyItem(F);}}}catch(p){console.error(`[handleMaybeDirs] getFiles error! cid: ${c}, error:`,p),this.log(`[${i+1} / ${s}] 获取上级路径(cid=${c}) "${a}" 的文件列表失败!错误: ${p.toString()}`);}i++;}const r=((Date.now()-t)/1e3).toFixed(2);this.log(`根据上级路径排除无后缀文件完成。耗时 ${r} 秒`),this.log("=".repeat(60));}async detectEmpty(){const t=Date.now(),n=this._tailData;this.log("========开始检测路径========");const o=this._tailData.violationFiles.length>0;let s=0,i=Object.keys(n.treeNameCounter).length;for(const[a,l]of Object.entries(n.treeNameCounter)){if(!l){s++;continue}const c=n.treeNameToPaths[a];this.log(`[${s+1} / ${i}] 名称 "${a}" 有 ${l} 个路径需要检测`);for(let u=0;u<c.length;u++){const p=c[u];if(this._emptyItems.has(p)){console.log(`[detectEmpty] path "${p}" already exists in _emptyItems`);continue}if(n.repeatedPaths.has(p)){await this.checkDirContainsRepeated(a,p);continue}this.log(`[${s+1} / ${i}] 正在检测名称 "${a}" 第 ${u+1}/${l} 个路径: ${p}`);try{const m=await ps(p,!1);if(m){this.log(`检测到该末端路径 "${p}" 是一个空目录(ID: ${m})`);const w=tl({id:m,name:a,path:p,url:go(m),ensured:!o});await this.addEmptyItem(w);}}catch(m){m instanceof ru?this.log(`路径 "${p}" 不是一个目录`):(console.error(`[detectEmpty] getDirIdByPath failed! path: ${p}, error:`,m),this.log(`获取路径 "${p}" 的ID失败!错误: ${m.toString()}`));}}s++;}const r=((Date.now()-t)/1e3).toFixed(2);this.log(`检测路径完成,耗时 ${r} 秒`),this.log("=".repeat(60));}async checkDirContainsRepeated(t,n){if(this._checkedRepeatedPaths.has(n))return;this.log(`名称 "${t}" 路径 "${n}" 存在重复,将对其所在的目录进行检测`);const o=dl(n,"..",mo.unix);console.log("[checkDirContainsRepeated] parentPath:",o);let s="";try{if(s=await ps(o,!1),!s){this.log(`❌ 根据路径"${o}"获取目录ID失败: 目录不存在!`);return}}catch(r){console.error(`[checkDirContainsRepeated] getDirIdByPath error! path: ${o}, error:`,r),this.log(`获取路径 "${o}" 的ID失败!错误: ${r.toString()}`);return}const i=Ho({limit:1150,cid:s});try{const r=Date.now();this.log(`正在获取目录(id=${s})的文件列表...`);const a=await hs(i),l=((Date.now()-r)/1e3).toFixed(2);this.log(`获取目录(id=${s})的文件列表成功,文件数量:${a.length}。耗时 ${l} 秒`);for(const c of a)if(!(c.fid||c.n!==t))try{const u=await Bt(c.cid);if(u.file_name){if(u.folder_count===0&&u.count===0){this.log(`目录(id=${s})的子目录(id=${c.cid})为空`);const p=tl({id:c.cid,name:u.file_name,path:[...u.paths.map(m=>m.file_name).slice(1),u.file_name].join("/"),url:go(c.cid),repeated:!0,ensured:!0,attr:u});await this.addEmptyItem(p);}else this.log(`目录(id=${s})的子目录(id=${c.cid})不为空`);this._checkedRepeatedPaths.add(n);}else this.log(`❌ 获取目录(id=${c.cid})属性失败!`);}catch(u){console.error(`[checkDirContainsRepeated] getAttr error! cid: ${c.cid}, error:`,u),this.log(`获取目录(id=${c.cid})属性失败!异常: ${u.toString()}`);}}catch(r){console.error(`[checkDirContainsRepeated] getFiles error! cid: ${s}, error:`,r),this.log(`获取目录(id=${s})的文件列表失败!错误: ${r.toString()}`);}}async checkRealEmpty(){const t=Date.now();this.log("========确认是否真的为空目录========");for(const o of this._emptyItems.values())if(!o.ensured)try{const s=await Bt(o.id);o.ensured=!0,o.attr=s,s.count===0&&s.folder_count===0?this.log(`目录(id=${o.id}) "${o.path}" 确认为空`):(o.disabled=!0,o.memo="目录不为空,请手动检查和处理",this.log(`目录(id=${o.id}) "${o.path}" 确认不为空,请手动检查和处理`));}catch(s){console.error(`[checkRealEmpty] getAttr error! cid: ${o.id}, error:`,s),this.log(`获取目录(id=${o.id}) "${o.path}" 属性失败!异常: ${s.toString()}`),o.disabled=!0,o.memo="确认是否为空目录失败,请手动检查和处理";}const n=((Date.now()-t)/1e3).toFixed(2);this.log(`确认是否真的为空目录完成,耗时 ${n} 秒`),this.log("=".repeat(60));}async onTreeFileGenerated(t){this._treeFile=t;for(const n of this.treeFileSubscribers)n(t);}async addEmptyItem(t){if(this._emptyItems.has(t.path)){console.log(`[addEmptyItem] path(id=${t.id}) "${t.path}" already exists in _emptyItems`);return}this._emptyItems.set(t.path,t);for(const n of this.emptyItemSubscribers)n(t);}async getEmptyItems(){return Array.from(this._emptyItems.values())}async log(t){t=`[${new Date().toLocaleString()}] ${t}`,this.logs.push(t);for(const n of this.logSubscribers)n(t);}async reset(){this.logs=[],this._emptyItems=new Map,this._tailData=nl(),this._treeFile=null,this._checkedRepeatedPaths=new Set,this._pendingPaths=new Set;}};const LE={},BE={class:"ce-empty-cleaner-help"};function RE(e,t){return S(),I("div",BE,t[0]||(t[0]=[Sh('<div data-v-ce900ab5><h2 data-v-ce900ab5>免责声明</h2><div data-v-ce900ab5><p data-v-ce900ab5>该工具仅作为学习测试用途,使用该工具造成的任何结果由使用人承担。</p></div><hr data-v-ce900ab5><h2 data-v-ce900ab5>说明</h2><ul style="color:#00f;" data-v-ce900ab5><li class="text-danger text-bold" data-v-ce900ab5> * <span style="font-size:120%;" data-v-ce900ab5>不要</span>直接清理一个巨大的文件夹!比如包含超过5万个文件夹。 太大的文件夹可能会导出目录树失败,且可能导致账号被系统风控。 </li><li data-v-ce900ab5>* 对于巨大的文件夹,可以分开清理下级文件夹。</li><li data-v-ce900ab5>* 只有违规文件的文件夹也会被检测到并列出,需要手动处理。</li><li data-v-ce900ab5>* 请谨慎操作!请谨慎操作!请谨慎操作!</li></ul><hr data-v-ce900ab5><h2 data-v-ce900ab5>流程</h2><ul style="color:#f40;" data-v-ce900ab5><li data-v-ce900ab5>1.确认当前显示的目录是否为需要进行清理的目录。</li><li data-v-ce900ab5>2.点击「检测空文件夹」按钮。</li><li data-v-ce900ab5>3.保持当前页面处于激活状态,留意日志区域的输出,耐心等待。</li><li data-v-ce900ab5>4.当看到「空文件夹检测已完成」的提示时,说明检测完成。</li><li data-v-ce900ab5>5.如果有空文件夹,会在空文件夹列表显示。</li><li data-v-ce900ab5>6.每个空文件夹都可以单独进行打开、获取详情、删除等操作。</li><li data-v-ce900ab5>7.批量删除: 勾选需要删除的空文件夹,点击「删除选中」进行删除。</li></ul><hr data-v-ce900ab5><h3 data-v-ce900ab5>原理和优劣</h3><div class="text-primary" data-v-ce900ab5> 本工具原理是导出目录树,然后查询文件,接着排除目录树中的文件,最后再判断目录树中剩余的项是否为空文件夹。 </div><ul data-v-ce900ab5><li class="text-bold text-success" data-v-ce900ab5>优点:</li><li class="text-success" data-v-ce900ab5>在子文件夹数量较多时,比逐层逐个查询文件列表要快得多。</li><li class="text-warning text-bold" data-v-ce900ab5>缺点:</li><li class="text-warning" data-v-ce900ab5>* 排除真实文件后,如剩余需判断项较多,耗时较长。</li><li class="text-warning" data-v-ce900ab5>* 不能判断大小为0且有空子文件夹的文件夹。</li></ul></div>',1)]))}const FE=Re(LE,[["render",RE],["__scopeId","data-v-ce900ab5"],["__file","Help.vue"]]);async function NE(){return (await Rt().get("https://115.com/?ct=tool&ac=clear_empty_folder",{timeout:12e4,withCredentials:!0})).data}async function Fr(){const e=t=>{ae.update({html:`清理失败!${t}`,showConfirmButton:!0,allowOutsideClick:!1});};try{const{isConfirmed:t,value:n}=await ae.fire({title:"一键全局清理空文件夹",html:`<div>
        <div class="text-warning">这是官方自带的功能,脚本只是调用对应的API。</div>
        <h4>功能特点:</h4>
        <p>1. 只能全局清理,不能指定只清理某个文件夹。</p>
        <p>2. 被删除的空文件夹会被永久删除,没有回收站记录。</p>
        <p>3. 清理时长跟文件夹(包括空的和非空的)数量成正比。</p>
        <p>4. 可能很快就提示"清空成功",但在文件夹数量较多时,服务端可能仍在进行清理处理。</p>
        <h4>一些建议:</h4>
        <p>1. 先仔细阅读并理解上面所说的,这很重要!</p>
        <p>2. 请谨慎操作!</p>
        <h3>请输入 yes 确认清理:</h3>
      </div>
      `,width:620,showDenyButton:!0,denyButtonText:"取消",showConfirmButton:!0,confirmButtonText:"确定清理空文件夹",customClass:"ce-swal-text-left",input:"text"});if(console.warn("isConfirmed",t,"value",n),!t||n!=="yes")return;ae.fire({html:"正在清理,请稍候..."}),ae.showLoading();const o=await NE();o.state?ae.update({html:o.msg}):e(`清理失败!${o.msg}`);}catch(t){console.error(t),e(`清理失败!${t.toString()}`);}finally{ae.hideLoading();}}const UE={class:"ce-empty-cleaner ce-cleaner-x"},jE={class:"header actions-bar"},HE={class:"ce-path ce-label ce-label-primary-plain"},VE=["href"],zE={class:"top-actions"},qE={class:"pure-form pure-form-aligned"},WE={class:"pure-control-group"},KE={key:0},GE={class:"text-primary"},JE={key:1},YE={class:"text-primary"},QE={key:0},XE=["href"],ZE={key:0},eP={key:0},tP={class:"text-primary"},nP={class:"ec-items"},oP={class:"pure-table pure-table-bordered"},sP={width:"30"},iP=["disabled"],rP=["onUpdate:modelValue","onChange","disabled"],aP={key:0},lP={class:"ce-label ce-label-danger"},uP={key:0},cP={key:1},dP=["onClick","disabled"],fP=["onClick"],pP=["href"],hP={key:0},mP={class:"footer actions-bar"},gP={class:"ce-path ce-label ce-label-primary-plain"},yP=["href"],wP=Te({__name:"EmptyCleaner",setup(e){const t=ne(!1),n=ne(!0),o=ne(!1),s=ne(""),i=ne([]),r=ne(null),a=ne([]),l=ne(!1),c=ne(null),u=ne([]),p=ne([]),m=ne(null),w=ne(null),b=rt(()=>w.value?rv(w.value.pick_code):""),C=rt(()=>s.value?go(s.value):"");let F;const O=ne({keepTree:!1});async function R(_e){_e.data.type===Jt.OPEN_EMPTY_CLEANER&&(T(_e.data.payload),Wo({type:Jt.EMPTY_CLEANER_OPENED},_e.source));}Vt(async()=>{window.addEventListener("message",R),F=new ME(s.value),F.addLogSubscriber(Ce),F.addEmptyItemSubscriber(Se),F.addTreeFileSubscriber(de);}),ns(()=>{window.removeEventListener("message",R);});async function T(_e){t.value=!0;const M=await Qt();if(M==="0"||M===""){await nt(),await ae.fire({icon:"warning",html:"<h2>不允许在根目录使用该工具!</h2>"});return}s.value&&s.value!==M&&console.warn("目录变化,重置"),r.value=await Bt(M),i.value=[...r.value.paths.slice(1).map(ze=>ze.file_name),r.value.file_name],s.value=M;}async function D(){l.value=!1,u.value=[],p.value=[],a.value=[],w.value=null;}async function N(){try{o.value=!0,await D(),await F.reset(),await F.setKeepTree(O.value.keepTree),await F.setDirId(s.value),await F.run(),ae.fire({title:"空文件夹检测已完成"});}catch(_e){console.error(_e),ae.fire({title:"空文件夹检测失败",text:_e.toString()});}finally{o.value=!1;}}async function z(_e){const M=p.value.join(`
`);if(_e==="copy")yt(M),le({text:"已复制清理空文件夹日志",timer:1200});else if(_e==="download"){let ze=`清理空文件夹日志-${s.value}.txt`;br(M,ze);}}async function G(_e,M,ze="path"){const pt=M==="all"?a.value:u.value;let Ie="";ze==="path"?Ie=pt.map(xt=>xt.path).join(`
`):ze==="full"&&(Ie=JSON.stringify(pt,null,2));const ht=ze==="path"?"路径":"数据";if(_e==="copy")yt(Ie),le({text:`已复制${ht}到剪贴板`,timer:1200});else if(_e==="download"){let xt=`空文件夹${ht}-${s.value}-数量${pt.length}`;br(Ie,`${xt}.${ze==="path"?"txt":"json"}`);}}async function ge(_e){const M=u.value;for(const ze of M)window.open(ze.url),await Yt(100);}async function we(_e){console.log("[onSelectDir]",_e);const{items:M}=_e,ze=M[M.length-1];await D(),s.value=ze.cid,r.value=await Bt(ze.cid),i.value=[...r.value.paths.slice(1).map(pt=>pt.file_name),r.value.file_name];}async function ce(_e,M){if(_e.deleted){le({text:"该目录已删除,不能再次删除!",showConfirmButton:!0});return}o.value=!0,await j([_e.id])&&(_e.deleted=!0),o.value=!1;}async function H(){if(!u.value.length)return;const _e=u.value.filter(M=>!M.deleted).map(M=>M.id);if(!_e.length){le({text:"没有可删除的目录!",showConfirmButton:!0});return}if(o.value=!0,await j(_e))for(const M of u.value)M.deleted=!0;o.value=!1;}async function j(_e){try{const M=await hu(s.value,_e);if(M.state)return !0;le({text:`删除失败: ${M.errno} - ${M.error}`});}catch(M){console.error(M),le({text:`删除失败!${M.toString()}`});}return !1}async function ee(_e){o.value=!0;try{const M=await Bt(_e.id),ze=Ie=>new Date(Number(Ie)*1e3).toLocaleString(),{isConfirmed:pt}=await ae.fire({title:"目录属性",html:`<div class="ce-ec-detail">
        <p><span>类型:</span> 文件夹</p>
        <p><span>大小:</span> ${M.size}</p>
        <p><span>创建时间:</span> ${ze(M.ptime)}</p>
        <p><span>修改时间:</span> ${ze(M.utime)}</p>
        <p><span>位置:</span> ${_e.path}</p>
      </div>
      `,showDenyButton:!0,denyButtonText:"关闭",showConfirmButton:!0,confirmButtonText:"查看目录"});pt&&window.open(_e.url);}catch(M){le({text:`获取目录属性失败!${M.toString()}`,timer:1e4,showConfirmButton:!0});}finally{o.value=!1;}}async function de(_e){w.value=_e;}async function Ce(_e){p.value.push(_e),await Yo(),m.value.scrollTop=m.value.scrollHeight;}async function Se(_e){a.value.push(_e);}async function Pe(){console.log("[onAllCheckedChange]",l.value);for(const _e of a.value)_e.disabled||(_e.checked=l.value);await Ve();}async function $e(_e,M){console.log("[onCheckChange]",_e,M),l.value=a.value.every(ze=>ze.checked),c.value.indeterminate=!l.value&&a.value.some(ze=>ze.checked),await Ve();}async function Ve(){u.value=a.value.filter(_e=>_e.checked);}async function nt(){t.value=!1;}return (_e,M)=>oe((S(),I("span",UE,[Ze(_e.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:T},M[15]||(M[15]=[d("span",null,"清理空文件夹",-1)]))]),me(Pi,{"is-open":t.value,speed:300,"max-width":"calc(100vw - 72px)",onClose:M[14]||(M[14]=ze=>t.value=!1)},{default:xe(()=>{var ze,pt;return [oe(d("div",{class:Ne(["ce-empty-cleaner-drawer",{loading:o.value}])},[me(FE),d("div",jE,[M[17]||(M[17]=d("span",{class:"title"},"空文件夹清理工具",-1)),d("span",{class:"close"},[d("button",{type:"button",class:"pure-button button-error",onClick:nt},"关闭")]),M[18]||(M[18]=L("     ")),me(Ai,{purpose:"清理空文件夹",onSelect:we}),d("button",{type:"button",class:"pure-button btn-global-clear",onClick:M[0]||(M[0]=(...Ie)=>re(Fr)&&re(Fr)(...Ie)),title:"不用怕误点击,点开后还需要确认呢"}," 一键全局清理空文件夹 "),d("div",HE,[d("a",{target:"_blank",href:C.value,title:"打开目录"},[M[16]||(M[16]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),L(" "+K(i.value.join(" / ")),1)],8,VE)])]),d("div",null,[d("div",zE,[d("div",null,[d("button",{type:"button",class:"pure-button pure-button-primary",onClick:N},"检测空文件夹")]),d("div",null,[d("form",qE,[d("fieldset",null,[d("div",WE,[r.value?(S(),I("label",KE,[M[19]||(M[19]=d("span",null,"文件夹数量:",-1)),M[20]||(M[20]=L("  ")),d("b",GE,K((ze=r.value)==null?void 0:ze.folder_count),1)])):be("",!0),r.value?(S(),I("label",JE,[M[21]||(M[21]=d("span",null,"文件数量:",-1)),M[22]||(M[22]=L("  ")),d("b",YE,K((pt=r.value)==null?void 0:pt.count),1)])):be("",!0),d("label",null,[oe(d("input",{type:"checkbox",class:"ce-checkbox","onUpdate:modelValue":M[1]||(M[1]=Ie=>O.value.keepTree=Ie)},null,512),[[Ae,O.value.keepTree]]),M[24]||(M[24]=L("  ")),M[25]||(M[25]=d("span",{title:"不会删除目录树文件"},"保留目录树文件",-1)),w.value?(S(),I("span",QE,[M[23]||(M[23]=L("    ")),d("a",{href:b.value,class:"text-primary",target:"_blank"},"查看目录树文件",8,XE)])):be("",!0)])])])])])]),d("h3",null,[M[28]||(M[28]=L(" 日志 ")),p.value.length?(S(),I("span",ZE,[M[26]||(M[26]=L("     ")),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[2]||(M[2]=Ie=>z("copy"))},"复制日志"),M[27]||(M[27]=L("     ")),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[3]||(M[3]=Ie=>z("download"))},"保存日志")])):be("",!0)]),d("div",{ref_key:"refLogs",ref:m,class:"ec-logs"},[(S(!0),I(Le,null,Je(p.value,(Ie,ht)=>(S(),I("div",{key:ht},K(Ie),1))),128))],512),d("h3",null,[M[33]||(M[33]=L(" 空文件夹 ")),a.value.length?(S(),I("span",eP,[d("span",tP," ( "+K(a.value.length)+" )",1),M[29]||(M[29]=L("     ")),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[4]||(M[4]=Ie=>G("copy","all","path"))},"复制路径"),M[30]||(M[30]=L("   ")),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[5]||(M[5]=Ie=>G("copy","all","full"))},"复制数据"),M[31]||(M[31]=L("     ")),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[6]||(M[6]=Ie=>G("download","all","path"))},"保存路径"),M[32]||(M[32]=L("   ")),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[7]||(M[7]=Ie=>G("download","all","full"))},"保存数据")])):be("",!0)]),d("div",nP,[d("table",oP,[d("thead",null,[d("tr",null,[M[34]||(M[34]=d("th",{width:"25"},"#",-1)),d("th",sP,[oe(d("input",{ref_key:"refAllChecked",ref:c,type:"checkbox",class:"ce-checkbox","onUpdate:modelValue":M[8]||(M[8]=Ie=>l.value=Ie),onChange:Pe,disabled:!a.value.length},null,40,iP),[[Ae,l.value]])]),M[35]||(M[35]=d("th",{width:"140"},"ID",-1)),M[36]||(M[36]=d("th",null,"路径",-1)),M[37]||(M[37]=d("th",{width:"150"},"操作",-1))])]),d("tbody",null,[(S(!0),I(Le,null,Je(a.value,(Ie,ht)=>(S(),I("tr",{key:ht,class:Ne({"tr-deleted":Ie.deleted})},[d("td",null,K(ht+1),1),d("td",null,[oe(d("input",{type:"checkbox",class:"ce-checkbox","onUpdate:modelValue":xt=>Ie.checked=xt,onChange:xt=>$e(Ie,ht),disabled:Ie.disabled},null,40,rP),[[Ae,Ie.checked]])]),d("td",null,K(Ie.id),1),d("td",null,[d("div",null,K(Ie.path),1),Ie.memo?(S(),I("div",aP,[d("span",lP,K(Ie.memo),1)])):be("",!0)]),d("td",null,[Ie.deleted?(S(),I("div",uP,M[38]||(M[38]=[d("span",{class:"label-danger"},"已删除",-1)]))):(S(),I("div",cP,[d("button",{type:"button",class:"pure-button button-xsmall button-error",onClick:xt=>ce(Ie,ht),disabled:Ie.disabled},"删除",8,dP),M[39]||(M[39]=L("   ")),d("button",{type:"button",class:"pure-button button-xsmall",onClick:xt=>ee(Ie)},"详情",8,fP),M[40]||(M[40]=L("   ")),d("a",{class:"pure-button button-xsmall",href:Ie.url,target:"_blank"},"打开",8,pP)]))])],2))),128))])]),u.value.length?(S(),I("div",hP,[M[41]||(M[41]=d("br",null,null,-1)),d("button",{type:"button",class:"pure-button button-error",onClick:H},"删除选中 ("+K(u.value.length)+")",1),M[42]||(M[42]=L("     ")),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[9]||(M[9]=Ie=>G("copy","checked","path"))},"复制已选路径"),M[43]||(M[43]=L("   ")),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[10]||(M[10]=Ie=>G("copy","checked","full"))},"复制已选数据"),M[44]||(M[44]=L("     ")),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[11]||(M[11]=Ie=>G("download","checked","path"))},"保存已选路径"),M[45]||(M[45]=L("   ")),d("button",{type:"button",class:"pure-button button-xsmall",onClick:M[12]||(M[12]=Ie=>G("download","checked","full"))},"保存已选数据"),M[46]||(M[46]=L("     ")),d("button",{type:"button",class:"pure-button button-success button-xsmall",onClick:M[13]||(M[13]=Ie=>ge("checked"))},"打开已选")])):be("",!0)])]),d("div",mP,[M[48]||(M[48]=d("span",{class:"title"},"空文件夹清理工具",-1)),d("span",{class:"close"},[d("button",{type:"button",class:"pure-button button-error",onClick:nt},"关闭")]),M[49]||(M[49]=L("      ")),me(Ai,{purpose:"清理空文件夹",onSelect:we}),M[50]||(M[50]=L("      ")),me(Sm,{container:".ce-empty-cleaner-drawer"}),d("div",gP,[d("a",{target:"_blank",href:C.value,title:"打开目录"},[M[47]||(M[47]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),L(" "+K(i.value.join(" / ")),1)],8,yP)])])],2),[[Gt,t.value]])]}),_:1},8,["is-open"])],512)),[[Gt,n.value]])}}),bP=Re(wP,[["__file","EmptyCleaner.vue"]]);function vP(){return {showEntryOnPathBar:!0}}async function $m(){const e=vP(),t=await tt.get(gt.emptyCleanerConfig,e);return {...e,...t}}async function CP(e){return await tt.set(gt.emptyCleanerConfig,e)}async function _P(){const{host:e}=location,t=await Ca(),n=await $m();e==="115.com"&&(console.log("[Cleaner] running..."),_n()?(await xP(t),await kP(n)):(await SP(),await $P()));}async function xP(e){if(!e.showEntryOnPathBar)return;const t="cloud115Cleaner",n=await lt("#js_path_add_dir"),o=st(`<span id="${t}"/>`);n.insertAdjacentElement("afterend",o),Gn(HS).mount(`#${t}`);}async function kP(e){if(!e.showEntryOnPathBar)return;const t="cloud115EmptyCleaner",n=await lt("#js_path_add_dir"),o=st(`<span id="${t}"/>`);n.insertAdjacentElement("afterend",o),Gn(DE).mount(`#${t}`);}async function SP(e){const t="cloud115Cleaner",n=st(`<div id="${t}"/>`);document.body.appendChild(n);const o=Gn(PE);o.component("VDropdown",Fs),o.mount(`#${t}`),oi("清理文件",async()=>{Wo({type:Jt.OPEN_CLEANER},window.parent);});}async function $P(e){const t="cloud115EmptyCleaner",n=st(`<div id="${t}"/>`);document.body.appendChild(n);const o=Gn(bP);o.component("VDropdown",Fs),o.mount(`#${t}`),oi("清理空目录",async()=>{Wo({type:Jt.OPEN_EMPTY_CLEANER},window.parent);});}function Em(e,t){return function(){return e.apply(t,arguments)}}const{toString:Pm}=Object.prototype,{getPrototypeOf:Qu}=Object,Xu=(e=>t=>{const n=Pm.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),so=e=>(e=e.toLowerCase(),t=>Xu(t)===e),_a=e=>t=>typeof t===e,{isArray:Ns}=Array,Ii=_a("undefined");function EP(e){return e!==null&&!Ii(e)&&e.constructor!==null&&!Ii(e.constructor)&&$o(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Am=so("ArrayBuffer");function PP(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Am(e.buffer),t}const AP=_a("string"),$o=_a("function"),Im=_a("number"),Zu=e=>e!==null&&typeof e=="object",IP=e=>e===!0||e===!1,mr=e=>{if(Xu(e)!=="object")return !1;const t=Qu(e);return (t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},DP=so("Date"),TP=so("File"),OP=so("Blob"),MP=so("FileList"),LP=e=>Zu(e)&&$o(e.pipe),BP=e=>{const t="[object FormData]";return e&&(typeof FormData=="function"&&e instanceof FormData||Pm.call(e)===t||$o(e.toString)&&e.toString()===t)},RP=so("URLSearchParams"),FP=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Ui(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let o,s;if(typeof e!="object"&&(e=[e]),Ns(e))for(o=0,s=e.length;o<s;o++)t.call(null,e[o],o,e);else {const i=n?Object.getOwnPropertyNames(e):Object.keys(e),r=i.length;let a;for(o=0;o<r;o++)a=i[o],t.call(null,e[a],a,e);}}function Dm(e,t){t=t.toLowerCase();const n=Object.keys(e);let o=n.length,s;for(;o-- >0;)if(s=n[o],t===s.toLowerCase())return s;return null}const Tm=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Om=e=>!Ii(e)&&e!==Tm;function jl(){const{caseless:e}=Om(this)&&this||{},t={},n=(o,s)=>{const i=e&&Dm(t,s)||s;mr(t[i])&&mr(o)?t[i]=jl(t[i],o):mr(o)?t[i]=jl({},o):Ns(o)?t[i]=o.slice():t[i]=o;};for(let o=0,s=arguments.length;o<s;o++)arguments[o]&&Ui(arguments[o],n);return t}const NP=(e,t,n,{allOwnKeys:o}={})=>(Ui(t,(s,i)=>{n&&$o(s)?e[i]=Em(s,n):e[i]=s;},{allOwnKeys:o}),e),UP=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),jP=(e,t,n,o)=>{e.prototype=Object.create(t.prototype,o),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n);},HP=(e,t,n,o)=>{let s,i,r;const a={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)r=s[i],(!o||o(r,e,t))&&!a[r]&&(t[r]=e[r],a[r]=!0);e=n!==!1&&Qu(e);}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},VP=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const o=e.indexOf(t,n);return o!==-1&&o===n},zP=e=>{if(!e)return null;if(Ns(e))return e;let t=e.length;if(!Im(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},qP=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Qu(Uint8Array)),WP=(e,t)=>{const o=(e&&e[Symbol.iterator]).call(e);let s;for(;(s=o.next())&&!s.done;){const i=s.value;t.call(e,i[0],i[1]);}},KP=(e,t)=>{let n;const o=[];for(;(n=e.exec(t))!==null;)o.push(n);return o},GP=so("HTMLFormElement"),JP=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,o,s){return o.toUpperCase()+s}),df=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),YP=so("RegExp"),Mm=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),o={};Ui(n,(s,i)=>{t(s,i,e)!==!1&&(o[i]=s);}),Object.defineProperties(e,o);},QP=e=>{Mm(e,(t,n)=>{if($o(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return !1;const o=e[n];if($o(o)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")});}});},XP=(e,t)=>{const n={},o=s=>{s.forEach(i=>{n[i]=!0;});};return Ns(e)?o(e):o(String(e).split(t)),n},ZP=()=>{},eA=(e,t)=>(e=+e,Number.isFinite(e)?e:t),ol="abcdefghijklmnopqrstuvwxyz",ff="0123456789",Lm={DIGIT:ff,ALPHA:ol,ALPHA_DIGIT:ol+ol.toUpperCase()+ff},tA=(e=16,t=Lm.ALPHA_DIGIT)=>{let n="";const{length:o}=t;for(;e--;)n+=t[Math.random()*o|0];return n};function nA(e){return !!(e&&$o(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const oA=e=>{const t=new Array(10),n=(o,s)=>{if(Zu(o)){if(t.indexOf(o)>=0)return;if(!("toJSON"in o)){t[s]=o;const i=Ns(o)?[]:{};return Ui(o,(r,a)=>{const l=n(r,s+1);!Ii(l)&&(i[a]=l);}),t[s]=void 0,i}}return o};return n(e,0)},se={isArray:Ns,isArrayBuffer:Am,isBuffer:EP,isFormData:BP,isArrayBufferView:PP,isString:AP,isNumber:Im,isBoolean:IP,isObject:Zu,isPlainObject:mr,isUndefined:Ii,isDate:DP,isFile:TP,isBlob:OP,isRegExp:YP,isFunction:$o,isStream:LP,isURLSearchParams:RP,isTypedArray:qP,isFileList:MP,forEach:Ui,merge:jl,extend:NP,trim:FP,stripBOM:UP,inherits:jP,toFlatObject:HP,kindOf:Xu,kindOfTest:so,endsWith:VP,toArray:zP,forEachEntry:WP,matchAll:KP,isHTMLForm:GP,hasOwnProperty:df,hasOwnProp:df,reduceDescriptors:Mm,freezeMethods:QP,toObjectSet:XP,toCamelCase:JP,noop:ZP,toFiniteNumber:eA,findKey:Dm,global:Tm,isContextDefined:Om,ALPHABET:Lm,generateString:tA,isSpecCompliantForm:nA,toJSONObject:oA};function Ye(e,t,n,o,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),o&&(this.request=o),s&&(this.response=s);}se.inherits(Ye,Error,{toJSON:function(){return {message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:se.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Bm=Ye.prototype,Rm={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Rm[e]={value:e};});Object.defineProperties(Ye,Rm);Object.defineProperty(Bm,"isAxiosError",{value:!0});Ye.from=(e,t,n,o,s,i)=>{const r=Object.create(Bm);return se.toFlatObject(e,r,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),Ye.call(r,e.message,t,n,o,s),r.cause=e,r.name=e.name,i&&Object.assign(r,i),r};const sA=null;function Hl(e){return se.isPlainObject(e)||se.isArray(e)}function Fm(e){return se.endsWith(e,"[]")?e.slice(0,-2):e}function pf(e,t,n){return e?e.concat(t).map(function(s,i){return s=Fm(s),!n&&i?"["+s+"]":s}).join(n?".":""):t}function iA(e){return se.isArray(e)&&!e.some(Hl)}const rA=se.toFlatObject(se,{},null,function(t){return /^is[A-Z]/.test(t)});function xa(e,t,n){if(!se.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=se.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(C,F){return !se.isUndefined(F[C])});const o=n.metaTokens,s=n.visitor||u,i=n.dots,r=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&se.isSpecCompliantForm(t);if(!se.isFunction(s))throw new TypeError("visitor must be a function");function c(b){if(b===null)return "";if(se.isDate(b))return b.toISOString();if(!l&&se.isBlob(b))throw new Ye("Blob is not supported. Use a Buffer instead.");return se.isArrayBuffer(b)||se.isTypedArray(b)?l&&typeof Blob=="function"?new Blob([b]):Buffer.from(b):b}function u(b,C,F){let O=b;if(b&&!F&&typeof b=="object"){if(se.endsWith(C,"{}"))C=o?C:C.slice(0,-2),b=JSON.stringify(b);else if(se.isArray(b)&&iA(b)||(se.isFileList(b)||se.endsWith(C,"[]"))&&(O=se.toArray(b)))return C=Fm(C),O.forEach(function(T,D){!(se.isUndefined(T)||T===null)&&t.append(r===!0?pf([C],D,i):r===null?C:C+"[]",c(T));}),!1}return Hl(b)?!0:(t.append(pf(F,C,i),c(b)),!1)}const p=[],m=Object.assign(rA,{defaultVisitor:u,convertValue:c,isVisitable:Hl});function w(b,C){if(!se.isUndefined(b)){if(p.indexOf(b)!==-1)throw Error("Circular reference detected in "+C.join("."));p.push(b),se.forEach(b,function(O,R){(!(se.isUndefined(O)||O===null)&&s.call(t,O,se.isString(R)?R.trim():R,C,m))===!0&&w(O,C?C.concat(R):[R]);}),p.pop();}}if(!se.isObject(e))throw new TypeError("data must be an object");return w(e),t}function hf(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(o){return t[o]})}function ec(e,t){this._pairs=[],e&&xa(e,this,t);}const Nm=ec.prototype;Nm.append=function(t,n){this._pairs.push([t,n]);};Nm.toString=function(t){const n=t?function(o){return t.call(this,o,hf)}:hf;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function aA(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Um(e,t,n){if(!t)return e;const o=n&&n.encode||aA,s=n&&n.serialize;let i;if(s?i=s(t,n):i=se.isURLSearchParams(t)?t.toString():new ec(t,n).toString(o),i){const r=e.indexOf("#");r!==-1&&(e=e.slice(0,r)),e+=(e.indexOf("?")===-1?"?":"&")+i;}return e}class mf{constructor(){this.handlers=[];}use(t,n,o){return this.handlers.push({fulfilled:t,rejected:n,synchronous:o?o.synchronous:!1,runWhen:o?o.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null);}clear(){this.handlers&&(this.handlers=[]);}forEach(t){se.forEach(this.handlers,function(o){o!==null&&t(o);});}}const jm={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},lA=typeof URLSearchParams<"u"?URLSearchParams:ec,uA=typeof FormData<"u"?FormData:null,cA=(()=>{let e;return typeof navigator<"u"&&((e=navigator.product)==="ReactNative"||e==="NativeScript"||e==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),dA=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Fn={isBrowser:!0,classes:{URLSearchParams:lA,FormData:uA,Blob},isStandardBrowserEnv:cA,isStandardBrowserWebWorkerEnv:dA,protocols:["http","https","file","blob","url","data"]};function fA(e,t){return xa(e,new Fn.classes.URLSearchParams,Object.assign({visitor:function(n,o,s,i){return Fn.isNode&&se.isBuffer(n)?(this.append(o,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function pA(e){return se.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function hA(e){const t={},n=Object.keys(e);let o;const s=n.length;let i;for(o=0;o<s;o++)i=n[o],t[i]=e[i];return t}function Hm(e){function t(n,o,s,i){let r=n[i++];const a=Number.isFinite(+r),l=i>=n.length;return r=!r&&se.isArray(s)?s.length:r,l?(se.hasOwnProp(s,r)?s[r]=[s[r],o]:s[r]=o,!a):((!s[r]||!se.isObject(s[r]))&&(s[r]=[]),t(n,o,s[r],i)&&se.isArray(s[r])&&(s[r]=hA(s[r])),!a)}if(se.isFormData(e)&&se.isFunction(e.entries)){const n={};return se.forEachEntry(e,(o,s)=>{t(pA(o),s,n,0);}),n}return null}const mA={"Content-Type":void 0};function gA(e,t,n){if(se.isString(e))try{return (t||JSON.parse)(e),se.trim(e)}catch(o){if(o.name!=="SyntaxError")throw o}return (n||JSON.stringify)(e)}const Us={transitional:jm,adapter:["xhr","http"],transformRequest:[function(t,n){const o=n.getContentType()||"",s=o.indexOf("application/json")>-1,i=se.isObject(t);if(i&&se.isHTMLForm(t)&&(t=new FormData(t)),se.isFormData(t))return s&&s?JSON.stringify(Hm(t)):t;if(se.isArrayBuffer(t)||se.isBuffer(t)||se.isStream(t)||se.isFile(t)||se.isBlob(t))return t;if(se.isArrayBufferView(t))return t.buffer;if(se.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(i){if(o.indexOf("application/x-www-form-urlencoded")>-1)return fA(t,this.formSerializer).toString();if((a=se.isFileList(t))||o.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return xa(a?{"files[]":t}:t,l&&new l,this.formSerializer)}}return i||s?(n.setContentType("application/json",!1),gA(t)):t}],transformResponse:[function(t){const n=this.transitional||Us.transitional,o=n&&n.forcedJSONParsing,s=this.responseType==="json";if(t&&se.isString(t)&&(o&&!this.responseType||s)){const r=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t)}catch(a){if(r)throw a.name==="SyntaxError"?Ye.from(a,Ye.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Fn.classes.FormData,Blob:Fn.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};se.forEach(["delete","get","head"],function(t){Us.headers[t]={};});se.forEach(["post","put","patch"],function(t){Us.headers[t]=se.merge(mA);});const yA=se.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),wA=e=>{const t={};let n,o,s;return e&&e.split(`
`).forEach(function(r){s=r.indexOf(":"),n=r.substring(0,s).trim().toLowerCase(),o=r.substring(s+1).trim(),!(!n||t[n]&&yA[n])&&(n==="set-cookie"?t[n]?t[n].push(o):t[n]=[o]:t[n]=t[n]?t[n]+", "+o:o);}),t},gf=Symbol("internals");function Xs(e){return e&&String(e).trim().toLowerCase()}function gr(e){return e===!1||e==null?e:se.isArray(e)?e.map(gr):String(e)}function bA(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let o;for(;o=n.exec(e);)t[o[1]]=o[2];return t}function vA(e){return /^[-_a-zA-Z]+$/.test(e.trim())}function sl(e,t,n,o,s){if(se.isFunction(o))return o.call(this,t,n);if(s&&(t=n),!!se.isString(t)){if(se.isString(o))return t.indexOf(o)!==-1;if(se.isRegExp(o))return o.test(t)}}function CA(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,o)=>n.toUpperCase()+o)}function _A(e,t){const n=se.toCamelCase(" "+t);["get","set","has"].forEach(o=>{Object.defineProperty(e,o+n,{value:function(s,i,r){return this[o].call(this,t,s,i,r)},configurable:!0});});}let bn=class{constructor(t){t&&this.set(t);}set(t,n,o){const s=this;function i(a,l,c){const u=Xs(l);if(!u)throw new Error("header name must be a non-empty string");const p=se.findKey(s,u);(!p||s[p]===void 0||c===!0||c===void 0&&s[p]!==!1)&&(s[p||l]=gr(a));}const r=(a,l)=>se.forEach(a,(c,u)=>i(c,u,l));return se.isPlainObject(t)||t instanceof this.constructor?r(t,n):se.isString(t)&&(t=t.trim())&&!vA(t)?r(wA(t),n):t!=null&&i(n,t,o),this}get(t,n){if(t=Xs(t),t){const o=se.findKey(this,t);if(o){const s=this[o];if(!n)return s;if(n===!0)return bA(s);if(se.isFunction(n))return n.call(this,s,o);if(se.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=Xs(t),t){const o=se.findKey(this,t);return !!(o&&this[o]!==void 0&&(!n||sl(this,this[o],o,n)))}return !1}delete(t,n){const o=this;let s=!1;function i(r){if(r=Xs(r),r){const a=se.findKey(o,r);a&&(!n||sl(o,o[a],a,n))&&(delete o[a],s=!0);}}return se.isArray(t)?t.forEach(i):i(t),s}clear(t){const n=Object.keys(this);let o=n.length,s=!1;for(;o--;){const i=n[o];(!t||sl(this,this[i],i,t,!0))&&(delete this[i],s=!0);}return s}normalize(t){const n=this,o={};return se.forEach(this,(s,i)=>{const r=se.findKey(o,i);if(r){n[r]=gr(s),delete n[i];return}const a=t?CA(i):String(i).trim();a!==i&&delete n[i],n[a]=gr(s),o[a]=!0;}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return se.forEach(this,(o,s)=>{o!=null&&o!==!1&&(n[s]=t&&se.isArray(o)?o.join(", "):o);}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
`)}get[Symbol.toStringTag](){return "AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const o=new this(t);return n.forEach(s=>o.set(s)),o}static accessor(t){const o=(this[gf]=this[gf]={accessors:{}}).accessors,s=this.prototype;function i(r){const a=Xs(r);o[a]||(_A(s,r),o[a]=!0);}return se.isArray(t)?t.forEach(i):i(t),this}};bn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);se.freezeMethods(bn.prototype);se.freezeMethods(bn);function il(e,t){const n=this||Us,o=t||n,s=bn.from(o.headers);let i=o.data;return se.forEach(e,function(a){i=a.call(n,i,s.normalize(),t?t.status:void 0);}),s.normalize(),i}function Vm(e){return !!(e&&e.__CANCEL__)}function ji(e,t,n){Ye.call(this,e??"canceled",Ye.ERR_CANCELED,t,n),this.name="CanceledError";}se.inherits(ji,Ye,{__CANCEL__:!0});function xA(e,t,n){const o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new Ye("Request failed with status code "+n.status,[Ye.ERR_BAD_REQUEST,Ye.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n));}const kA=Fn.isStandardBrowserEnv?function(){return {write:function(n,o,s,i,r,a){const l=[];l.push(n+"="+encodeURIComponent(o)),se.isNumber(s)&&l.push("expires="+new Date(s).toGMTString()),se.isString(i)&&l.push("path="+i),se.isString(r)&&l.push("domain="+r),a===!0&&l.push("secure"),document.cookie=l.join("; ");},read:function(n){const o=document.cookie.match(new RegExp("(^|;\\s*)("+n+")=([^;]*)"));return o?decodeURIComponent(o[3]):null},remove:function(n){this.write(n,"",Date.now()-864e5);}}}():function(){return {write:function(){},read:function(){return null},remove:function(){}}}();function SA(e){return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function $A(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function zm(e,t){return e&&!SA(t)?$A(e,t):t}const EA=Fn.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let o;function s(i){let r=i;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return o=s(window.location.href),function(r){const a=se.isString(r)?s(r):r;return a.protocol===o.protocol&&a.host===o.host}}():function(){return function(){return !0}}();function PA(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function AA(e,t){e=e||10;const n=new Array(e),o=new Array(e);let s=0,i=0,r;return t=t!==void 0?t:1e3,function(l){const c=Date.now(),u=o[i];r||(r=c),n[s]=l,o[s]=c;let p=i,m=0;for(;p!==s;)m+=n[p++],p=p%e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),c-r<t)return;const w=u&&c-u;return w?Math.round(m*1e3/w):void 0}}function yf(e,t){let n=0;const o=AA(50,250);return s=>{const i=s.loaded,r=s.lengthComputable?s.total:void 0,a=i-n,l=o(a),c=i<=r;n=i;const u={loaded:i,total:r,progress:r?i/r:void 0,bytes:a,rate:l||void 0,estimated:l&&r&&c?(r-i)/l:void 0,event:s};u[t?"download":"upload"]=!0,e(u);}}const IA=typeof XMLHttpRequest<"u",DA=IA&&function(e){return new Promise(function(n,o){let s=e.data;const i=bn.from(e.headers).normalize(),r=e.responseType;let a;function l(){e.cancelToken&&e.cancelToken.unsubscribe(a),e.signal&&e.signal.removeEventListener("abort",a);}se.isFormData(s)&&(Fn.isStandardBrowserEnv||Fn.isStandardBrowserWebWorkerEnv)&&i.setContentType(!1);let c=new XMLHttpRequest;if(e.auth){const w=e.auth.username||"",b=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(w+":"+b));}const u=zm(e.baseURL,e.url);c.open(e.method.toUpperCase(),Um(u,e.params,e.paramsSerializer),!0),c.timeout=e.timeout;function p(){if(!c)return;const w=bn.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders()),C={data:!r||r==="text"||r==="json"?c.responseText:c.response,status:c.status,statusText:c.statusText,headers:w,config:e,request:c};xA(function(O){n(O),l();},function(O){o(O),l();},C),c=null;}if("onloadend"in c?c.onloadend=p:c.onreadystatechange=function(){!c||c.readyState!==4||c.status===0&&!(c.responseURL&&c.responseURL.indexOf("file:")===0)||setTimeout(p);},c.onabort=function(){c&&(o(new Ye("Request aborted",Ye.ECONNABORTED,e,c)),c=null);},c.onerror=function(){o(new Ye("Network Error",Ye.ERR_NETWORK,e,c)),c=null;},c.ontimeout=function(){let b=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const C=e.transitional||jm;e.timeoutErrorMessage&&(b=e.timeoutErrorMessage),o(new Ye(b,C.clarifyTimeoutError?Ye.ETIMEDOUT:Ye.ECONNABORTED,e,c)),c=null;},Fn.isStandardBrowserEnv){const w=(e.withCredentials||EA(u))&&e.xsrfCookieName&&kA.read(e.xsrfCookieName);w&&i.set(e.xsrfHeaderName,w);}s===void 0&&i.setContentType(null),"setRequestHeader"in c&&se.forEach(i.toJSON(),function(b,C){c.setRequestHeader(C,b);}),se.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),r&&r!=="json"&&(c.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&c.addEventListener("progress",yf(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&c.upload&&c.upload.addEventListener("progress",yf(e.onUploadProgress)),(e.cancelToken||e.signal)&&(a=w=>{c&&(o(!w||w.type?new ji(null,e,c):w),c.abort(),c=null);},e.cancelToken&&e.cancelToken.subscribe(a),e.signal&&(e.signal.aborted?a():e.signal.addEventListener("abort",a)));const m=PA(u);if(m&&Fn.protocols.indexOf(m)===-1){o(new Ye("Unsupported protocol "+m+":",Ye.ERR_BAD_REQUEST,e));return}c.send(s||null);})},yr={http:sA,xhr:DA};se.forEach(yr,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t});}catch{}Object.defineProperty(e,"adapterName",{value:t});}});const TA={getAdapter:e=>{e=se.isArray(e)?e:[e];const{length:t}=e;let n,o;for(let s=0;s<t&&(n=e[s],!(o=se.isString(n)?yr[n.toLowerCase()]:n));s++);if(!o)throw o===!1?new Ye(`Adapter ${n} is not supported by the environment`,"ERR_NOT_SUPPORT"):new Error(se.hasOwnProp(yr,n)?`Adapter '${n}' is not available in the build`:`Unknown adapter '${n}'`);if(!se.isFunction(o))throw new TypeError("adapter is not a function");return o},adapters:yr};function rl(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new ji(null,e)}function wf(e){return rl(e),e.headers=bn.from(e.headers),e.data=il.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),TA.getAdapter(e.adapter||Us.adapter)(e).then(function(o){return rl(e),o.data=il.call(e,e.transformResponse,o),o.headers=bn.from(o.headers),o},function(o){return Vm(o)||(rl(e),o&&o.response&&(o.response.data=il.call(e,e.transformResponse,o.response),o.response.headers=bn.from(o.response.headers))),Promise.reject(o)})}const bf=e=>e instanceof bn?e.toJSON():e;function Ts(e,t){t=t||{};const n={};function o(c,u,p){return se.isPlainObject(c)&&se.isPlainObject(u)?se.merge.call({caseless:p},c,u):se.isPlainObject(u)?se.merge({},u):se.isArray(u)?u.slice():u}function s(c,u,p){if(se.isUndefined(u)){if(!se.isUndefined(c))return o(void 0,c,p)}else return o(c,u,p)}function i(c,u){if(!se.isUndefined(u))return o(void 0,u)}function r(c,u){if(se.isUndefined(u)){if(!se.isUndefined(c))return o(void 0,c)}else return o(void 0,u)}function a(c,u,p){if(p in t)return o(c,u);if(p in e)return o(void 0,c)}const l={url:i,method:i,data:i,baseURL:r,transformRequest:r,transformResponse:r,paramsSerializer:r,timeout:r,timeoutMessage:r,withCredentials:r,adapter:r,responseType:r,xsrfCookieName:r,xsrfHeaderName:r,onUploadProgress:r,onDownloadProgress:r,decompress:r,maxContentLength:r,maxBodyLength:r,beforeRedirect:r,transport:r,httpAgent:r,httpsAgent:r,cancelToken:r,socketPath:r,responseEncoding:r,validateStatus:a,headers:(c,u)=>s(bf(c),bf(u),!0)};return se.forEach(Object.keys(e).concat(Object.keys(t)),function(u){const p=l[u]||s,m=p(e[u],t[u],u);se.isUndefined(m)&&p!==a||(n[u]=m);}),n}const qm="1.3.3",tc={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{tc[e]=function(o){return typeof o===e||"a"+(t<1?"n ":" ")+e};});const vf={};tc.transitional=function(t,n,o){function s(i,r){return "[Axios v"+qm+"] Transitional option '"+i+"'"+r+(o?". "+o:"")}return (i,r,a)=>{if(t===!1)throw new Ye(s(r," has been removed"+(n?" in "+n:"")),Ye.ERR_DEPRECATED);return n&&!vf[r]&&(vf[r]=!0,console.warn(s(r," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,r,a):!0}};function OA(e,t,n){if(typeof e!="object")throw new Ye("options must be an object",Ye.ERR_BAD_OPTION_VALUE);const o=Object.keys(e);let s=o.length;for(;s-- >0;){const i=o[s],r=t[i];if(r){const a=e[i],l=a===void 0||r(a,i,e);if(l!==!0)throw new Ye("option "+i+" must be "+l,Ye.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Ye("Unknown option "+i,Ye.ERR_BAD_OPTION)}}const Vl={assertOptions:OA,validators:tc},ro=Vl.validators;let qo=class{constructor(t){this.defaults=t,this.interceptors={request:new mf,response:new mf};}request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Ts(this.defaults,n);const{transitional:o,paramsSerializer:s,headers:i}=n;o!==void 0&&Vl.assertOptions(o,{silentJSONParsing:ro.transitional(ro.boolean),forcedJSONParsing:ro.transitional(ro.boolean),clarifyTimeoutError:ro.transitional(ro.boolean)},!1),s!==void 0&&Vl.assertOptions(s,{encode:ro.function,serialize:ro.function},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let r;r=i&&se.merge(i.common,i[n.method]),r&&se.forEach(["delete","get","head","post","put","patch","common"],b=>{delete i[b];}),n.headers=bn.concat(r,i);const a=[];let l=!0;this.interceptors.request.forEach(function(C){typeof C.runWhen=="function"&&C.runWhen(n)===!1||(l=l&&C.synchronous,a.unshift(C.fulfilled,C.rejected));});const c=[];this.interceptors.response.forEach(function(C){c.push(C.fulfilled,C.rejected);});let u,p=0,m;if(!l){const b=[wf.bind(this),void 0];for(b.unshift.apply(b,a),b.push.apply(b,c),m=b.length,u=Promise.resolve(n);p<m;)u=u.then(b[p++],b[p++]);return u}m=a.length;let w=n;for(p=0;p<m;){const b=a[p++],C=a[p++];try{w=b(w);}catch(F){C.call(this,F);break}}try{u=wf.call(this,w);}catch(b){return Promise.reject(b)}for(p=0,m=c.length;p<m;)u=u.then(c[p++],c[p++]);return u}getUri(t){t=Ts(this.defaults,t);const n=zm(t.baseURL,t.url);return Um(n,t.params,t.paramsSerializer)}};se.forEach(["delete","get","head","options"],function(t){qo.prototype[t]=function(n,o){return this.request(Ts(o||{},{method:t,url:n,data:(o||{}).data}))};});se.forEach(["post","put","patch"],function(t){function n(o){return function(i,r,a){return this.request(Ts(a||{},{method:t,headers:o?{"Content-Type":"multipart/form-data"}:{},url:i,data:r}))}}qo.prototype[t]=n(),qo.prototype[t+"Form"]=n(!0);});let MA=class Wm{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(i){n=i;});const o=this;this.promise.then(s=>{if(!o._listeners)return;let i=o._listeners.length;for(;i-- >0;)o._listeners[i](s);o._listeners=null;}),this.promise.then=s=>{let i;const r=new Promise(a=>{o.subscribe(a),i=a;}).then(s);return r.cancel=function(){o.unsubscribe(i);},r},t(function(i,r,a){o.reason||(o.reason=new ji(i,r,a),n(o.reason));});}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t];}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1);}static source(){let t;return {token:new Wm(function(s){t=s;}),cancel:t}}};function LA(e){return function(n){return e.apply(null,n)}}function BA(e){return se.isObject(e)&&e.isAxiosError===!0}const zl={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(zl).forEach(([e,t])=>{zl[t]=e;});function Km(e){const t=new qo(e),n=Em(qo.prototype.request,t);return se.extend(n,qo.prototype,t,{allOwnKeys:!0}),se.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return Km(Ts(e,s))},n}const $t=Km(Us);$t.Axios=qo;$t.CanceledError=ji;$t.CancelToken=MA;$t.isCancel=Vm;$t.VERSION=qm;$t.toFormData=xa;$t.AxiosError=Ye;$t.Cancel=$t.CanceledError;$t.all=function(t){return Promise.all(t)};$t.spread=LA;$t.isAxiosError=BA;$t.mergeConfig=Ts;$t.AxiosHeaders=bn;$t.formToJSON=e=>Hm(se.isHTMLForm(e)?new FormData(e):e);$t.HttpStatusCode=zl;$t.default=$t;const{Axios:qL,AxiosError:RA,CanceledError:WL,isCancel:KL,CancelToken:GL,VERSION:JL,all:YL,Cancel:QL,isAxiosError:XL,spread:ZL,toFormData:eB,AxiosHeaders:tB,HttpStatusCode:nB,formToJSON:oB,mergeConfig:sB}=$t,FA=new Set(["ENOTFOUND","ENETUNREACH","UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_CRL","UNABLE_TO_DECRYPT_CERT_SIGNATURE","UNABLE_TO_DECRYPT_CRL_SIGNATURE","UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY","CERT_SIGNATURE_FAILURE","CRL_SIGNATURE_FAILURE","CERT_NOT_YET_VALID","CERT_HAS_EXPIRED","CRL_NOT_YET_VALID","CRL_HAS_EXPIRED","ERROR_IN_CERT_NOT_BEFORE_FIELD","ERROR_IN_CERT_NOT_AFTER_FIELD","ERROR_IN_CRL_LAST_UPDATE_FIELD","ERROR_IN_CRL_NEXT_UPDATE_FIELD","OUT_OF_MEM","DEPTH_ZERO_SELF_SIGNED_CERT","SELF_SIGNED_CERT_IN_CHAIN","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","UNABLE_TO_VERIFY_LEAF_SIGNATURE","CERT_CHAIN_TOO_LONG","CERT_REVOKED","INVALID_CA","PATH_LENGTH_EXCEEDED","INVALID_PURPOSE","CERT_UNTRUSTED","CERT_REJECTED","HOSTNAME_MISMATCH"]);var NA=e=>!FA.has(e&&e.code);const UA=au(NA),nc="axios-retry";function Gm(e){const t=["ERR_CANCELED","ECONNABORTED"];return e.response||!e.code||t.includes(e.code)?!1:UA(e)}const Jm=["get","head","options"],jA=Jm.concat(["put","delete"]);function oc(e){return e.code!=="ECONNABORTED"&&(!e.response||e.response.status===429||e.response.status>=500&&e.response.status<=599)}function HA(e){var t;return (t=e.config)!=null&&t.method?oc(e)&&Jm.indexOf(e.config.method)!==-1:!1}function Ym(e){var t;return (t=e.config)!=null&&t.method?oc(e)&&jA.indexOf(e.config.method)!==-1:!1}function Qm(e){return Gm(e)||Ym(e)}function Xm(e=void 0){var o;const t=(o=e==null?void 0:e.response)==null?void 0:o.headers["retry-after"];if(!t)return 0;let n=(Number(t)||0)*1e3;return n===0&&(n=(new Date(t).valueOf()||0)-Date.now()),Math.max(0,n)}function VA(e=0,t=void 0){return Math.max(0,Xm(t))}function zA(e=0,t=void 0,n=100){const o=2**e*n,s=Math.max(o,Xm(t)),i=s*.2*Math.random();return s+i}const qA={retries:3,retryCondition:Qm,retryDelay:VA,shouldResetTimeout:!1,onRetry:()=>{},onMaxRetryTimesExceeded:()=>{},validateResponse:null};function WA(e,t){return {...qA,...t,...e[nc]}}function Cf(e,t){const n=WA(e,t||{});return n.retryCount=n.retryCount||0,n.lastRequestTime=n.lastRequestTime||Date.now(),e[nc]=n,n}function KA(e,t){e.defaults.agent===t.agent&&delete t.agent,e.defaults.httpAgent===t.httpAgent&&delete t.httpAgent,e.defaults.httpsAgent===t.httpsAgent&&delete t.httpsAgent;}async function GA(e,t){const{retries:n,retryCondition:o}=e,s=(e.retryCount||0)<n&&o(t);if(typeof s=="object")try{return await s!==!1}catch{return !1}return s}async function JA(e,t,n,o){var l;t.retryCount+=1;const{retryDelay:s,shouldResetTimeout:i,onRetry:r}=t,a=s(t.retryCount,n);if(KA(e,o),!i&&o.timeout&&t.lastRequestTime){const c=Date.now()-t.lastRequestTime,u=o.timeout-c-a;if(u<=0)return Promise.reject(n);o.timeout=u;}return o.transformRequest=[c=>c],await r(t.retryCount,n,o),(l=o.signal)!=null&&l.aborted?Promise.resolve(e(o)):new Promise(c=>{var m;const u=()=>{clearTimeout(p),c(e(o));},p=setTimeout(()=>{var w;c(e(o)),(w=o.signal)!=null&&w.removeEventListener&&o.signal.removeEventListener("abort",u);},a);(m=o.signal)!=null&&m.addEventListener&&o.signal.addEventListener("abort",u,{once:!0});})}async function YA(e,t){e.retryCount>=e.retries&&await e.onMaxRetryTimesExceeded(t,e.retryCount);}const ss=(e,t)=>{const n=e.interceptors.request.use(s=>{var i;return Cf(s,t),(i=s[nc])!=null&&i.validateResponse&&(s.validateStatus=()=>!1),s}),o=e.interceptors.response.use(null,async s=>{var a;const{config:i}=s;if(!i)return Promise.reject(s);const r=Cf(i,t);return s.response&&((a=r.validateResponse)!=null&&a.call(r,s.response))?s.response:await GA(r,s)?JA(e,r,s,i):(await YA(r,s),Promise.reject(s))});return {requestInterceptorId:n,responseInterceptorId:o}};ss.isNetworkError=Gm;ss.isSafeRequestError=HA;ss.isIdempotentRequestError=Ym;ss.isNetworkOrIdempotentRequestError=Qm;ss.exponentialDelay=zA;ss.isRetryableError=oc;const QA="pan115_api";var Nr=(e=>(e.evenly="evenly",e.asap="asap",e))(Nr||{});const Zm={points:1,duration:1,execEvenly:!0};function eg(e){return {clientId:QA,rateLimit:Zm,msDelayAdjustment:30,...e}}function XA(e){const t=eg(e),n=$t.create({});ss(n,{retries:5,shouldResetTimeout:!0,retryDelay:s=>(console.log(`[axios] Retry ${s}...`),s*1e3)});const o=new Cr.RateLimiterMemory(t.rateLimit);return n.interceptors.request.use(async s=>{try{const i=await o.consume(t.clientId);return s}catch(i){if(console.warn("[axios] RateLimiter:",i),i instanceof Cr.RateLimiterRes){const r=i.msBeforeNext+t.msDelayAdjustment;return console.log(`[axios] Delay ${r}ms for next request...`),await Yt(r),s}else throw new RA(i)}},s=>(console.warn("[axios] onRejected:",s),Promise.reject(s))),n}const tg=gt.basic;function ZA(e){return {limiterDuration:1,limiterPoints:1,limitExecPolicy:Nr.evenly,showOfflineEntry:!1,offlineEntryLabel:"云下载",showAddOffline2:!0,addOfflineLabel:"添加",transferDefaultOffline:!1,showFavEntry:!1,favEntryLabel:"星标",hideMusicEntry:!1,hideWatermark:!0,fakeAccountEnabled:!1,fakeAccountId:"",fakeAccountName:"",fakeAccountAvatar:"",fakeAccountVip:"",...e}}async function ka(){const e=ZA(),t=await tt.get(tg,e);return {...e,...t}}async function eI(e){await tt.set(tg,e);}var tI={name:"115不大助手",version:"0.7.75",author:{name:"生瓜太保",email:"[email protected]"},greasyforkUrl:"http://greasyfork.icu/zh-CN/scripts/474231-115%E4%B8%8D%E5%A4%A7%E5%8A%A9%E6%89%8B-full?locale_override=1"};const sc=tI;async function nI(e){if(!e.showOfflineEntry||!_n())return;console.log("[Cloud115 Enhancer] showOfflineEntry");const t=await po("a#js_filter_btn"),n="https://115.com/?ct=index&ac=offline_new_tpl&offline=1&tab=offline",o="background:#fffcea;",s=`点击跳转到「云下载」页面。该按钮由 ${sc.name} 注入`,i=e.offlineEntryLabel?`<span>${e.offlineEntryLabel}</span>`:"",r=$(`<a href="javascript:;" class="button btn-line" title="${s}" tab_btn="wangpan" mode-tab="offline" style="${o}">
    <i class="icon-operate ifo-linktask"></i>
    ${i}
  </a>`);t.after(r),r.on("click",()=>{try{en().oofUtil.urlMaintain.changeMode("wangpan",{tab:"offline"});}catch(a){console.log('[Cloud115 Enhancer] showOfflineEntry failed with "top.oofUtil.urlMaintain.changeMode".',a),location.href=n;}});}async function oI(e){if(!_n())return;const{showAddOffline2:t,addOfflineLabel:n}=e,o=Qe('a[menu="offline_task"]');if(o){if(!t){o.style.display="none";return}const c=o.querySelector("span");c&&(c.textContent=n);return}if(!t)return;const s=await po("a#js_filter_btn"),i="background:#fffcea;",r=`点击打开到「添加云下载」对话框。该按钮由 ${sc.name} 注入`,a=e.addOfflineLabel?`<span>${e.addOfflineLabel}</span>`:"",l=$(`<a href="javascript:;" class="button btn-line" menu="offline_task" style="${i}" title="${r}">
    <i class="icon-operate ifo-linktask"></i>${a}
  </a>`);s.after(l);}async function sI(e){if(!e.showFavEntry||!_n())return;console.log("[Cloud115 Enhancer] showFavEntry");const t=await po("a#js_filter_btn"),n="https://115.com/?tab=label&show_label=1&label_id=-1&mode=wangpan",o="background:#fffcea;",s=`点击跳转到「星标」页面。该按钮由 ${sc.name} 注入`,i=e.favEntryLabel?`<span>${e.favEntryLabel}</span>`:"",r=$(`<a href="javascript:;" class="button btn-line" title="${s}" tab_btn="wangpan" mode-tab="{tab:'label',label_id:-1,show_label:1}" style="${o}">
    <i class="icon-operate ifo-fav"></i>
    ${i}
  </a>`);t.after(r),r.on("click",()=>{try{en().oofUtil.urlMaintain.changeMode("wangpan",{tab:"label",label_id:-1,show_label:1});}catch(a){console.log('[Cloud115 Enhancer] showFavEntry failed with "top.oofUtil.urlMaintain.changeMode".',a),location.href=n;}});}async function iI(e){if(!e.hideMusicEntry||!_n())return;console.log("[Cloud115 Enhancer] hideMusicEntry"),await lt("#js_top_panel_box");const t=Qe("a#top_btn_music_play");t&&(t.style.display="none");}async function rI(e){if(!e.transferDefaultOffline)return;const{search:t}=location;if(window.top!==window||!t.includes("mode=wangpan"))return;console.log("[Cloud115 Enhancer] makeTransferDefaultOffline");const n=await po('#js_sub_nav_scroller a[mode-tab="upload"]');n.attr("mode-tab","offline").attr("href","https://115.com/?tab=offline&mode=wangpan"),n.find("i").removeClass("icon-ns-transfer").removeClass("icon-nv-file inf-transmit").addClass("icon-operate ifo-linktask").css({filter:"invert(0.6)",marginRight:12,zoom:1.2});}async function aI(e){if(e.hideWatermark){console.log("[Cloud115 Enhancer] hideWatermark");try{const t=await lt('div[class^="fp-"]');t.classList.add("hidden-watermark"),t.style.display="none";}catch(t){console.error("[Cloud115 Enhancer] hideWatermark",t.message);}}}async function lI(e){window.top===window.self&&(await Yt(1e3),ql(e),window.addEventListener("message",async t=>{const n=t.data.event,o=t.data.body;n===mt.basicConfigChange&&(console.log("[Cloud115 Enhancer] basicConfigChange"),ql(o));}));}let hi=null;async function uI(){hi&&clearTimeout(hi),hi=setTimeout(async()=>{const e=await ka();ql(e);},5e3);}async function ql(e){hi&&clearTimeout(hi);const t=async(n,o)=>{const s=await po('[rel="user_id"]',100);s.data("origin")||s.data("origin",s.text()),o?s.text(s.data("origin")):s.text(n.fakeAccountId);const i=await po('[rel="user_name"]',100);i.data("origin")||i.data("origin",$(i[0]).text()),o?i.text(i.data("origin")):i.text(n.fakeAccountName);const r=await po('img[rel="user_face"], .user-avatar img',100);r.data("origin")||r.data("origin",r.attr("src")),o?r.attr("src",r.data("origin")):(r.attr("rel","noreferrer"),r.attr("src",n.fakeAccountAvatar));const a=await po(".sign-vip-card",100);a.data("origin")||a.data("origin",$(a[0]).text()),o?a.text(a.data("origin")):a.text(n.fakeAccountVip);};try{e.fakeAccountEnabled?await t(e,!1):await t(e,!0);}catch(n){console.error(n);}finally{e.fakeAccountEnabled&&uI();}}async function cI(){const e=await ka(),{host:t}=location;/115\.com$/.test(t)&&(aI(e),nI(e),oI(e),sI(e),iI(e),rI(e),lI(e));}const ng=Symbol("addTab"),og=Symbol("updateTab"),sg=Symbol("deleteTab"),ig=Symbol("tabsProvider");function ar(e,t){const n=li(e,t);if(typeof n>"u")throw new Error(`Could not resolve ${e.description}`);return n}const dI=["data-tab-id","aria-hidden"],hn=Te({__name:"Tab",props:{panelClass:{type:[String,Object,Array],default:"tabs-component-panel"},id:{type:String,default:null},name:{type:String,required:!0},prefix:{type:String,default:""},suffix:{type:String,default:""},isDisabled:{type:Boolean,default:!1},navItemClass:{type:[String,Object,Array],required:!1,default:null},navItemLinkClass:{type:[String,Object,Array],required:!1,default:null}},setup(e,{expose:t}){const n=e,o=ne(!1),s=ar(ig),i=ar(ng),r=ar(og),a=ar(sg),l=n.prefix+n.name+n.suffix,c=n.id?n.id:n.name.toLowerCase().replace(/ /g,"-"),u=c+"-pane",p=rt(()=>"#"+(n.isDisabled?"":c));return Xe(()=>s.activeTabHash,()=>{o.value=p.value===s.activeTabHash;}),Xe(()=>Object.assign({},n),()=>{r(c,{name:n.name,header:n.prefix+n.name+n.suffix,isDisabled:n.isDisabled,hash:p.value,index:s.tabs.length,computedId:c,paneId:u,navItemClass:n.navItemClass,navItemLinkClass:n.navItemLinkClass});}),At(()=>{i({name:n.name,header:l,isDisabled:n.isDisabled,hash:p.value,index:s.tabs.length,computedId:c,paneId:u,navItemClass:n.navItemClass,navItemLinkClass:n.navItemLinkClass});}),Zp(()=>{a(c);}),t({header:l,computedId:c,paneId:u,hash:p,isActive:o}),(m,w)=>oe((S(),I("section",{ref:"tab",id:u,"data-tab-id":re(c),"aria-hidden":!o.value,class:Ne(e.panelClass),role:"tabpanel",tabindex:"-1"},[Ze(m.$slots,"default")],10,dI)),[[Gt,o.value]])}});class fI{get(t){const n=localStorage.getItem(t);if(n===null)return null;const o=JSON.parse(n);return o?new Date(o.expires)<new Date?(localStorage.removeItem(t),null):o.value:null}set(t,n,o){const s=new Date().getTime(),i=new Date(s+o*6e4);localStorage.setItem(t,JSON.stringify({value:n,expires:i}));}}const _f=new fI,pI=["aria-controls","aria-selected","href","onClick","innerHTML"],hI=Te({__name:"Tabs",props:{cacheLifetime:{type:Number,default:5},options:{type:Object,required:!1,default:()=>({useUrlFragment:!0,defaultTabHash:null})},wrapperClass:{type:[String,Object,Array],default:"tabs-component"},panelsWrapperClass:{type:[String,Object,Array],default:"tabs-component-panels"},navClass:{type:[String,Object,Array],default:"tabs-component-tabs"},navItemClass:{type:[String,Object,Array],default:"tabs-component-tab"},navItemDisabledClass:{type:[String,Object,Array],default:"is-disabled"},navItemActiveClass:{type:[String,Object,Array],default:"is-active"},navItemInactiveClass:{type:[String,Object,Array],default:"is-inactive"},navItemLinkClass:{type:[String,Object,Array],default:"tabs-component-tab-a"},navItemLinkActiveClass:{type:[String,Object,Array],default:"is-active"},navItemLinkInactiveClass:{type:[String,Object,Array],default:"is-inactive"},navItemLinkDisabledClass:{type:[String,Object,Array],default:"is-disabled"}},emits:["changed","clicked"],setup(e,{expose:t,emit:n}){const o=e,s=ra({activeTabHash:"",lastActiveTabHash:"",tabs:[]});ti(ig,s),ti(ng,a=>{s.tabs.push(a);}),ti(og,(a,l)=>{const c=s.tabs.findIndex(u=>u.computedId===a);l.isActive=s.tabs[c].isActive,s.tabs[c]=l;}),ti(sg,a=>{const l=s.tabs.findIndex(c=>c.computedId===a);s.tabs.splice(l,1);});const i=(a,l)=>{l&&!o.options.useUrlFragment&&l.preventDefault();const c=r(a);if(!c)return;if(l&&c.isDisabled){l.preventDefault();return}if(s.lastActiveTabHash===c.hash){n("clicked",{tab:c});return}if(s.tabs.forEach(p=>{p.isActive=p.hash===c.hash;}),n("changed",{tab:c}),s.lastActiveTabHash=s.activeTabHash=c.hash,o.cacheLifetime<=0)return;const u=`vue-tabs-component.cache.${window.location.host}${window.location.pathname}`;_f.set(u,c.hash,o.cacheLifetime);},r=a=>s.tabs.find(l=>l.hash===a);return Vt(()=>{if(s.tabs.length){if(window.addEventListener("hashchange",()=>i(window.location.hash)),r(window.location.hash)){i(window.location.hash);return}if(o.cacheLifetime>0){const a=`vue-tabs-component.cache.${window.location.host}${window.location.pathname}`,l=_f.get(a);if(l!==null&&r(l)){i(l);return}if(o.options.defaultTabHash&&r("#"+o.options.defaultTabHash)){i("#"+o.options.defaultTabHash);return}}i(s.tabs[0].hash);}}),t({...l0(s),selectTab:i,findTab:r}),(a,l)=>(S(),I("div",{class:Ne(e.wrapperClass)},[d("ul",{role:"tablist",class:Ne(e.navClass)},[(S(!0),I(Le,null,Je(s.tabs,(c,u)=>{var p,m;return S(),I("li",{key:u,class:Ne([(p=c.navItemClass)!=null?p:e.navItemClass,c.isDisabled?e.navItemDisabledClass:"",c.isActive?e.navItemActiveClass:c.isDisabled?"":e.navItemInactiveClass]),role:"presentation"},[d("a",{role:"tab",class:Ne([(m=c.navItemLinkClass)!=null?m:e.navItemLinkClass,c.isDisabled?e.navItemLinkDisabledClass:"",c.isActive?e.navItemLinkActiveClass:c.isDisabled?"":e.navItemLinkInactiveClass]),"aria-controls":c.paneId,"aria-selected":c.isActive,href:c.hash,onClick:w=>i(c.hash,w),innerHTML:c.header,tabindex:"0"},null,10,pI)],2)}),128))],2),d("div",{class:Ne(e.panelsWrapperClass)},[Ze(a.$slots,"default")],2)],2))}});function Wl(e,t,n,o){return e<t||e>n?o:e}const mI={class:"ce-config ce-basic-config"},gI={class:"pure-form pure-form-aligned"},yI={class:"pure-control-group"},wI=["value"],bI=["value"],vI={class:"pure-control-group"},CI={class:"pure-form-message text-success"},_I={class:"pure-control-group"},xI={class:"pure-form-message text-success"},kI={class:"pure-control-group"},SI={class:"pure-control-group"},$I={class:"pure-form-message text-success"},EI={class:"pure-control-group"},PI={class:"pure-control-group"},AI={class:"pure-control-group"},II={class:"pure-control-group"},DI={class:"pure-control-group"},TI={class:"pure-control-group"},OI={class:"avatar-preview"},MI=["src"],LI={class:"pure-control-group"},BI=Te({__name:"Config",async setup(e){let t,n;const o=ne(([t,n]=Ht(()=>ka()),t=await t,n(),t)),s=!0;At(async()=>{});function i(c){const u=(p,m)=>Math.floor(Wl(p,1,m,1));return c.limiterDuration=u(c.limiterDuration,300),c.limiterPoints=u(c.limiterPoints,3e3),c}Xe(o,wt(async c=>{i(c),await eI(c),le({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:mt.basicConfigChange,body:cu(c)});},500),{deep:!0});async function r(c,u,p="warning"){const{isConfirmed:m}=await ae.fire({title:c,text:u,icon:p,showCancelButton:!0,confirmButtonText:"确认"});return m}async function a(){if(await r("导出配置","是否确认导出当前配置?"))try{await Zw(),le({icon:"success",title:"导出成功"});}catch(c){ae.fire(c.toString());}}async function l(){if(await r("导入配置","导入后将覆盖当前配置,是否继续?"))try{const c=await eb();console.log(c),fs.fire({icon:"success",title:"导入成功,刷新页面后生效。将在5秒后自动刷新页面...",timer:5e3}),setTimeout(()=>{window.location.reload();},5e3);}catch(c){ae.fire({title:"导入失败",html:c.toString()+'<br/><p class="text-danger">必须有字段 "_schema": "pan115_enhancer_configs" 。</p>'});}}return (c,u)=>(S(),I("div",mI,[d("form",gI,[d("fieldset",null,[u[46]||(u[46]=d("legend",null,"API",-1)),d("div",yI,[u[18]||(u[18]=d("label",null,"全局请求频率控制",-1)),re(s)?be("",!0):(S(),I(Le,{key:0},[oe(d("select",{"onUpdate:modelValue":u[0]||(u[0]=p=>o.value.limitExecPolicy=p)},[d("option",{value:re(Nr).asap},"尽快消耗",8,wI),d("option",{value:re(Nr).evenly},"尽量均匀",8,bI)],512),[[Tn,o.value.limitExecPolicy]]),u[17]||(u[17]=L(" 地 "))],64)),u[19]||(u[19]=L(" 在 ")),oe(d("input",{id:"basic_limiterDuration",type:"number",min:"1",max:"300",step:"1","onUpdate:modelValue":u[1]||(u[1]=p=>o.value.limiterDuration=p)},null,512),[[We,o.value.limiterDuration]]),u[20]||(u[20]=L(" 秒内最多请求 ")),oe(d("input",{id:"basic_limiterQps",type:"number",min:"1",max:"3000",step:"1","onUpdate:modelValue":u[2]||(u[2]=p=>o.value.limiterPoints=p)},null,512),[[We,o.value.limiterPoints]]),u[21]||(u[21]=L(" 次 ")),u[22]||(u[22]=d("div",{class:"pure-form-message text-success"},[L(" 默认 1 秒内最多 1 次。"),d("span",{class:"text-warning"},"请填写整数数值。")],-1))]),u[47]||(u[47]=d("legend",null,"UI优化",-1)),d("div",vI,[u[24]||(u[24]=d("label",{for:"basic_showOfflineEntry"},"显示云下载入口按钮",-1)),oe(d("input",{id:"basic_showOfflineEntry",type:"checkbox","onUpdate:modelValue":u[3]||(u[3]=p=>o.value.showOfflineEntry=p)},null,512),[[Ae,o.value.showOfflineEntry]]),d("div",CI,[u[23]||(u[23]=L(" 在「网盘」页面顶部工具栏显示「云下载」入口按钮。 按钮文本为 ")),oe(d("input",{"onUpdate:modelValue":u[4]||(u[4]=p=>o.value.offlineEntryLabel=p),class:"input-small",placeholder:"可以为空"},null,512),[[We,o.value.offlineEntryLabel]])])]),d("div",_I,[u[26]||(u[26]=d("label",{for:"basic_showAddOffline"},"显示添加云下载按钮",-1)),oe(d("input",{id:"basic_showAddOffline",type:"checkbox","onUpdate:modelValue":u[5]||(u[5]=p=>o.value.showAddOffline2=p)},null,512),[[Ae,o.value.showAddOffline2]]),d("div",xI,[u[25]||(u[25]=L(" 在「网盘」页面顶部工具栏显示添加云下载按钮。 按钮文本为 ")),oe(d("input",{"onUpdate:modelValue":u[6]||(u[6]=p=>o.value.addOfflineLabel=p),class:"input-small",placeholder:"可以为空"},null,512),[[We,o.value.addOfflineLabel]])])]),d("div",kI,[u[27]||(u[27]=d("label",{for:"basic_transferDefaultOffline"},"近期传输默认云下载",-1)),oe(d("input",{id:"basic_transferDefaultOffline",type:"checkbox","onUpdate:modelValue":u[7]||(u[7]=p=>o.value.transferDefaultOffline=p)},null,512),[[Ae,o.value.transferDefaultOffline]]),u[28]||(u[28]=d("div",{class:"pure-form-message text-success"}," 点击左边栏的「传输」默认进入「云下载」页面。 ",-1))]),d("div",SI,[u[30]||(u[30]=d("label",{for:"basic_showFavEntry"},"显示星标入口按钮",-1)),oe(d("input",{id:"basic_showFavEntry",type:"checkbox","onUpdate:modelValue":u[8]||(u[8]=p=>o.value.showFavEntry=p)},null,512),[[Ae,o.value.showFavEntry]]),d("div",$I,[u[29]||(u[29]=L(" 在「网盘」页面顶部工具栏显示「星标」入口按钮。 按钮文本为 ")),oe(d("input",{"onUpdate:modelValue":u[9]||(u[9]=p=>o.value.favEntryLabel=p),class:"input-small",placeholder:"可以为空"},null,512),[[We,o.value.favEntryLabel]])])]),d("div",EI,[u[31]||(u[31]=d("label",{for:"basic_hideMusicEntry"},'隐藏"我听"入口按钮',-1)),oe(d("input",{id:"basic_hideMusicEntry",type:"checkbox","onUpdate:modelValue":u[10]||(u[10]=p=>o.value.hideMusicEntry=p)},null,512),[[Ae,o.value.hideMusicEntry]]),u[32]||(u[32]=d("div",{class:"pure-form-message text-success"}," 在「网盘」页面顶部工具栏隐藏「我听」入口按钮。 ",-1))]),u[48]||(u[48]=d("legend",null,"配置管理",-1)),d("div",{class:"pure-control-group"},[d("button",{type:"button",class:"pure-button pure-button-primary",onClick:a},"导出配置"),u[33]||(u[33]=L("      ")),d("button",{type:"button",class:"pure-button button-success",onClick:l},"导入配置"),u[34]||(u[34]=d("br",null,null,-1)),u[35]||(u[35]=d("br",null,null,-1)),u[36]||(u[36]=d("div",{class:"text-success"},[d("b",null,"导入说明:"),L(" 如有导入部分配置的需求,可以自行编辑json配置文件,只保留需要的配置key(仅限第一级),但必须保留`_`开头的key。 ")],-1)),u[37]||(u[37]=d("br",null,null,-1))]),u[49]||(u[49]=d("legend",null,"隐私保护",-1)),d("div",PI,[u[38]||(u[38]=d("label",{for:"basic_hideWatermark"},"隐藏水印",-1)),oe(d("input",{id:"basic_hideWatermark",type:"checkbox","onUpdate:modelValue":u[11]||(u[11]=p=>o.value.hideWatermark=p)},null,512),[[Ae,o.value.hideWatermark]]),u[39]||(u[39]=d("div",{class:"pure-form-message text-success"}," 网页水印是肉眼看不到的,但通过一些处理可以看到,水印内容是你的账号标识。 如果你需要截图并发给别人,可以考虑开启隐藏。 ",-1))]),d("div",AI,[u[40]||(u[40]=d("label",{for:"basic_fakeAccountEnabled"},"隐藏身份",-1)),oe(d("input",{id:"basic_fakeAccountEnabled",type:"checkbox","onUpdate:modelValue":u[12]||(u[12]=p=>o.value.fakeAccountEnabled=p)},null,512),[[Ae,o.value.fakeAccountEnabled]]),u[41]||(u[41]=d("div",{class:"pure-form-message text-success"}," 修改左下角显示的账号信息,不会真的修改。编辑后即可生效,无需刷新页面。 ",-1))]),d("div",II,[u[42]||(u[42]=d("label",null,"账号ID",-1)),oe(d("input",{"onUpdate:modelValue":u[13]||(u[13]=p=>o.value.fakeAccountId=p),placeholder:"自定义账号ID",class:"pure-input-2-3"},null,512),[[We,o.value.fakeAccountId]])]),d("div",DI,[u[43]||(u[43]=d("label",null,"用户名",-1)),oe(d("input",{"onUpdate:modelValue":u[14]||(u[14]=p=>o.value.fakeAccountName=p),placeholder:"自定义用户名",class:"pure-input-2-3"},null,512),[[We,o.value.fakeAccountName]])]),d("div",TI,[u[44]||(u[44]=d("label",null,"头像",-1)),oe(d("input",{"onUpdate:modelValue":u[15]||(u[15]=p=>o.value.fakeAccountAvatar=p),placeholder:"支持网络图片地址或base64编码",class:"pure-input-2-3"},null,512),[[We,o.value.fakeAccountAvatar]]),d("span",OI,[o.value.fakeAccountAvatar?(S(),I("img",{key:0,src:o.value.fakeAccountAvatar,alt:"头像预览",width:"20",height:"20"},null,8,MI)):be("",!0)])]),d("div",LI,[u[45]||(u[45]=d("label",null,"VIP等级",-1)),oe(d("input",{"onUpdate:modelValue":u[16]||(u[16]=p=>o.value.fakeAccountVip=p),placeholder:"自定义VIP等级",class:"pure-input-2-3"},null,512),[[We,o.value.fakeAccountVip]])])])])]))}}),RI=Re(BI,[["__file","Config.vue"]]),FI={class:"pure-form pure-form-aligned"},NI=["disabled"],UI={class:"pure-control-group"},jI={class:"pure-control-group"},HI={class:"pure-control-group"},VI=["value"],zI={style:{width:"auto"}},qI={class:"text-success text-ul"},WI={class:"pure-control-group"},KI=Te({__name:"ConfigItem",props:{config:{},deletable:{type:Boolean}},emits:["change","delete","activate"],setup(e,{emit:t}){const n=e,o=t,s={content:"如果是macOS版,建议平台选「macos」,可以避免播放链接可能无效的问题,「版本小于 0.8.16」选项同理。"};At(async()=>{});async function i(){n.config.active=!0,o("activate",n.config);}async function r(){o("delete");}return Xe(n.config,wt(async a=>{o("change",a);},500),{deep:!0}),(a,l)=>{const c=O0("tooltip");return S(),I("div",{class:Ne(["ce-clouddrive-config-item",{active:a.config.active}])},[d("form",FI,[d("fieldset",null,[d("legend",null,[d("button",{type:"button",class:Ne(["pure-button button-small",[a.config.active?"button-success":"pure-button-primary"]]),onClick:i,disabled:a.config.active},K(a.config.active?"当前使用该配置":"使用该配置"),11,NI),a.deletable?(S(),I("button",{key:0,type:"button",class:"pure-button button-error button-small",onClick:r}," 删除 ")):be("",!0)]),d("div",UI,[l[5]||(l[5]=d("label",null,[d("span",{class:"text-danger"},"*"),L(" 地址")],-1)),oe(d("input",{"onUpdate:modelValue":l[0]||(l[0]=u=>a.config.url=u),placeholder:"CloudDrive服务地址,如「http://localhost:19798」",class:"pure-input-2-3"},null,512),[[We,a.config.url]])]),d("div",jI,[l[6]||(l[6]=d("label",null,[d("span",{class:"text-danger"},"*"),L(" 资源根路径")],-1)),oe(d("input",{"onUpdate:modelValue":l[1]||(l[1]=u=>a.config.root=u),placeholder:"即当前115账号在CloudDrive中的资源名称,如「115」",class:"pure-input-2-3"},null,512),[[We,a.config.root]])]),d("div",HI,[l[9]||(l[9]=d("label",null,[d("span",{class:"text-danger"},"*"),L(" 平台")],-1)),oe(d("select",{"onUpdate:modelValue":l[2]||(l[2]=u=>a.config.platform=u)},[(S(!0),I(Le,null,Je(re(ho),u=>(S(),I("option",{key:u,value:u},K(u),9,VI))),128))],512),[[Tn,a.config.platform]]),l[10]||(l[10]=L("   ")),d("label",zI,[oe(d("input",{type:"checkbox","onUpdate:modelValue":l[3]||(l[3]=u=>a.config.ver_lt_0816=u)},null,512),[[Ae,a.config.ver_lt_0816]]),l[7]||(l[7]=L(" 版本小于 0.8.16 "))]),l[11]||(l[11]=L("   ")),oe((S(),I("span",qI,l[8]||(l[8]=[L("说明")]))),[[c,s]])]),d("div",WI,[l[12]||(l[12]=d("label",null,"备注",-1)),oe(d("input",{"onUpdate:modelValue":l[4]||(l[4]=u=>a.config.memo=u),placeholder:"备注信息",class:"pure-input-2-3"},null,512),[[We,a.config.memo]])])])])],2)}}}),GI=Re(KI,[["__file","ConfigItem.vue"]]),JI={class:"ce-config ce-clouddrive-config"},YI={class:"ce-list"},QI={class:"ce-actions"},XI=["disabled"],ZI=Te({__name:"Config",async setup(e){let t,n;const o=ne(([t,n]=Ht(()=>Wf()),t=await t,n(),t));At(async()=>{});async function s(){await Fc(o.value),le({icon:"success",title:"设置已保存。",timer:800,position:"top-end"});}async function i(){o.value.push(lu());}async function r(l,c){const{isConfirmed:u}=await ae.fire({icon:"warning",html:`确定要删除第 ${c+1} 个配置「${l.url}」吗?`});u&&(o.value.splice(c,1),await s(),le({icon:"success",title:`「${l.url}」已删除!`}));}async function a(l,c){l.forEach((u,p)=>{u.active=p===c;}),await Fc(l),le({icon:"success",title:"设置已保存。",timer:800,position:"top-end"});}return (l,c)=>(S(),I("div",JI,[c[1]||(c[1]=d("div",{class:"ce-tips cd-tips"},[d("p",null,[d("a",{href:"https://www.clouddrive2.com/?ref=cloud115-enhancer",rel:"noreferer",target:"_blank",class:"text-bold text-primary"},"CloudDrive"),L(" 是一个强大的多云盘管理工具,为用户提供包含云盘本地挂载的一站式的多云盘解决方案。 ")]),d("p",null,"本脚本主要是借助CloudDrive实现原码视频播放的功能(具体可以在「播放菜单」面板中查看)。")],-1)),d("div",YI,[(S(!0),I(Le,null,Je(o.value,(u,p)=>(S(),it(GI,{key:p,config:u,index:p,deletable:o.value.length>1,onDelete:m=>r(u,p),onActivate:m=>a(o.value,p)},null,8,["config","index","deletable","onDelete","onActivate"]))),128))]),c[2]||(c[2]=d("div",{class:"ce-tips"},[d("p",{class:"text-primary"}," 暂时发现IINA是支持`file://`协议的,这时候播放器可以读取到同目录的字幕文件。 配置示例: 地址`file:///Users/you/,资源根路径`115`。 ")],-1)),c[3]||(c[3]=d("div",{class:"ce-tips"}," 编辑配置后,请记得点击「保存全部配置」。 ",-1)),d("div",QI,[d("button",{type:"button",class:"pure-button pure-button-primary button-large",onClick:s,disabled:!o.value.length}," 保存全部配置 ",8,XI),c[0]||(c[0]=L("      ")),d("button",{type:"button",class:"pure-button pure-button-success button-large",onClick:i}," + 添加配置 ")])]))}}),eD=Re(ZI,[["__file","Config.vue"]]),tD={class:"ce-config ce-list-config"},nD={class:"pure-form pure-form-aligned"},oD={class:"pure-control-group"},sD={class:"pure-control-group"},iD={class:"pure-control-group"},rD={class:"pure-control-group"},aD={class:"pure-control-group"},lD={class:"pure-control-group"},uD={class:"pure-control-group"},cD={class:"pure-control-group"},dD={class:"pure-control-group"},fD={class:"pure-control-group"},pD={class:"pure-control-group"},hD={class:"pure-control-group"},mD={class:"pure-control-group"},gD={class:"pure-control-group"},yD={class:"pure-control-group"},wD={class:"pure-control-group"},bD={class:"pure-control-group"},vD={class:"pure-control-group"},CD={class:"pure-control-group"},xf="按下 Command/Ctrl 键点击文件sha1时触发查找重复文件",kf="鼠标悬浮触发",_D=Te({__name:"Config",async setup(e){let t,n;const o=ne(([t,n]=Ht(()=>ya()),t=await t,n(),t));At(async()=>{}),Xe(o,wt(async i=>{await mx(i),le({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:mt.listConfigChange,body:JSON.parse(JSON.stringify(i))});},500),{deep:!0});async function s(){ae.fire({title:"列表快捷键说明",html:`<pre style="font-size:12px;">${gx.replace(/==/g,"=".repeat(32))}</pre>`,showCloseButton:!0,showConfirmButton:!1,width:720,customClass:{popup:"ce-swal-text-left"}});}return (i,r)=>(S(),I("div",tD,[d("form",nD,[d("fieldset",null,[r[33]||(r[33]=d("legend",null,"文件大小相关",-1)),d("div",oD,[r[23]||(r[23]=d("label",{for:"sizeSorter"},"大小排序",-1)),oe(d("input",{id:"sizeSorter",type:"checkbox","onUpdate:modelValue":r[0]||(r[0]=a=>o.value.sizeSorter=a)},null,512),[[Ae,o.value.sizeSorter]]),r[24]||(r[24]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「大小」列头部增加「排序」按钮,可以获取文件夹的大小,然后进行排序。"),d("div",null,"请注意该功能只会对当前加载的文件进行排序,如果有多页文件并需要对全部文件进行排序,请先点击「加载全部」后再使用该排序功能。")],-1))]),d("div",sD,[r[25]||(r[25]=d("label",{for:"showBatchFolderSizeButton"},"批量获取文件夹大小",-1)),oe(d("input",{id:"showBatchFolderSizeButton",type:"checkbox","onUpdate:modelValue":r[1]||(r[1]=a=>o.value.showBatchFolderSizeButton=a)},null,512),[[Ae,o.value.showBatchFolderSizeButton]]),r[26]||(r[26]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「大小」列头部增加「大小」按钮,可以获取文件夹的大小。"),d("div",null,"请注意该功能只会对当前加载的文件夹进行获取,如果有多页,请先点击「加载全部」后再使用该功能。")],-1))]),d("div",iD,[r[27]||(r[27]=d("label",{for:"showFolderSizeButton"},"显示文件夹获取大小按钮",-1)),oe(d("input",{id:"showFolderSizeButton",type:"checkbox","onUpdate:modelValue":r[2]||(r[2]=a=>o.value.showFolderSizeButton=a)},null,512),[[Ae,o.value.showFolderSizeButton]]),r[28]||(r[28]=L("    ")),d("small",{onClick:r[3]||(r[3]=a=>o.value.hoverShowFolderSize=!o.value.hoverShowFolderSize),class:Ne(["ce-label",{"ce-label-success":o.value.hoverShowFolderSize}])},K(o.value.hoverShowFolderSize?`✓ ${kf}(已启用)`:`× ${kf}(未启用)`),3),r[29]||(r[29]=d("div",{class:"pure-form-message text-success"}," 在官方的「大小」列增加「大小」按钮,点击按钮可以获取单个文件夹的大小。 ",-1))]),d("div",rD,[r[30]||(r[30]=d("label",{for:"showQuickViewButton"},[L(" 显示快速查看按钮 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),oe(d("input",{id:"showQuickViewButton",type:"checkbox","onUpdate:modelValue":r[4]||(r[4]=a=>o.value.showQuickViewButton=a)},null,512),[[Ae,o.value.showQuickViewButton]]),r[31]||(r[31]=L("    ")),r[32]||(r[32]=d("div",{class:"pure-form-message text-success"}," 在官方的「大小」列增加「查看」按钮,点击按钮可以在当前页面小窗口快速查看目录文件列表。 ",-1))])]),d("fieldset",null,[r[43]||(r[43]=d("legend",null,"列表显示与操作",-1)),d("div",aD,[r[34]||(r[34]=d("label",{for:"showSha1"},"显示文件SHA1",-1)),oe(d("input",{id:"showSha1",type:"checkbox","onUpdate:modelValue":r[5]||(r[5]=a=>o.value.showSha1=a)},null,512),[[Ae,o.value.showSha1]]),r[35]||(r[35]=L("    ")),d("small",{onClick:r[6]||(r[6]=a=>o.value.clickSha1WithCtrlToFindRepeat=!o.value.clickSha1WithCtrlToFindRepeat),class:Ne(["ce-label",{"ce-label-success":o.value.clickSha1WithCtrlToFindRepeat}])},K(o.value.clickSha1WithCtrlToFindRepeat?`✓ ${xf}(已启用)`:`× ${xf}(未启用)`),3),r[36]||(r[36]=d("div",{class:"pure-form-message text-success"}," 在文件名下方显示文件SHA1,点击可以复制。 ",-1))]),d("div",lD,[r[37]||(r[37]=d("label",{for:"followHistoryState"}," 文件列表跟随页面前进后退 ",-1)),oe(d("input",{id:"followHistoryState",type:"checkbox","onUpdate:modelValue":r[7]||(r[7]=a=>o.value.followHistoryState=a)},null,512),[[Ae,o.value.followHistoryState]]),r[38]||(r[38]=d("div",{class:"pure-form-message text-success"},[d("div",{class:"text-success"}," 默认情况下,点击浏览器的前进或后退,页面链接中的目录ID虽然会发生变化,但文件列表并没有随之更新。 这个功能尝试解决这个问题。 ")],-1))]),d("div",uD,[r[39]||(r[39]=d("label",{for:"showOnlyFileFilter"}," 显示「仅文件」筛选 ",-1)),oe(d("input",{id:"showOnlyFileFilter",type:"checkbox","onUpdate:modelValue":r[8]||(r[8]=a=>o.value.showOnlyFileFilter=a)},null,512),[[Ae,o.value.showOnlyFileFilter]])]),d("div",cD,[r[42]||(r[42]=d("label",{for:"fixShortcut"},[L(" 修复文件列表快捷键 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),oe(d("input",{id:"fixShortcut",type:"checkbox","onUpdate:modelValue":r[9]||(r[9]=a=>o.value.fixShortcut=a)},null,512),[[Ae,o.value.fixShortcut]]),d("div",{class:"pure-form-message text-success"},[r[40]||(r[40]=L(" 文件列表按下Ctrl+/显示了一些快捷键,但大部分并未生效,该功能尝试修复这些快捷键。 另外,官方的快捷键说明并不足够清晰,点 ")),d("a",{href:"javascript:void(0)",onClick:s,class:"pure-button button-small"},"这里"),r[41]||(r[41]=L(" 查看更详细的快捷键说明。 "))])])]),d("fieldset",null,[r[52]||(r[52]=d("legend",null,"目录操作增强",-1)),d("div",dD,[r[44]||(r[44]=d("label",{for:"showOpenDirContextMenu"},'显示"目录功能菜单"按钮',-1)),oe(d("input",{id:"showOpenDirContextMenu",type:"checkbox","onUpdate:modelValue":r[10]||(r[10]=a=>o.value.showOpenDirContextMenu=a)},null,512),[[Ae,o.value.showOpenDirContextMenu]]),r[45]||(r[45]=L("    ")),d("small",{onClick:r[11]||(r[11]=a=>o.value.hoverShowDirContextMenu=!o.value.hoverShowDirContextMenu),class:Ne(["ce-label",{"ce-label-success":o.value.hoverShowDirContextMenu}]),title:"鼠标悬浮在按钮代替点击操作"},K(o.value.hoverShowDirContextMenu?"✓ 鼠标悬浮触发(已启用)":"× 鼠标悬浮触发(未启用)"),3),r[46]||(r[46]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「文件名」列头部增加「目录功能菜单」按钮,点击即可打开当前目录的右键菜单。")],-1))]),d("div",fD,[r[47]||(r[47]=d("label",{for:"showCreateDirButton"},'显示"新建文件夹"按钮',-1)),oe(d("input",{id:"showCreateDirButton",type:"checkbox","onUpdate:modelValue":r[12]||(r[12]=a=>o.value.showCreateDirButton=a)},null,512),[[Ae,o.value.showCreateDirButton]]),r[48]||(r[48]=L("    ")),d("small",{onClick:r[13]||(r[13]=a=>o.value.hideTopCreateButton=!o.value.hideTopCreateButton),class:Ne(["ce-label",{"ce-label-success":o.value.hideTopCreateButton}]),title:"隐藏顶部「新建」按钮"},K(o.value.hideTopCreateButton?"✓ 隐藏顶部「新建」按钮(已启用)":"× 隐藏顶部「新建」按钮(未启用)"),3),r[49]||(r[49]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「文件名」列头部增加「新建文件夹」按钮。可以隐藏顶部「新建」按钮,页面左侧的「新建」中也有新建文档按钮。")],-1))]),d("div",pD,[r[50]||(r[50]=d("label",{for:"claimSelectedAfterCreateDir"}," 移动选中文件到新文件夹 ",-1)),oe(d("input",{id:"claimSelectedAfterCreateDir",type:"checkbox","onUpdate:modelValue":r[14]||(r[14]=a=>o.value.claimSelectedAfterCreateDir=a)},null,512),[[Ae,o.value.claimSelectedAfterCreateDir]]),r[51]||(r[51]=d("div",{class:"pure-form-message text-success text-linethrough"},[d("b",null,"启用后如果先选中文件,然后创建新文件夹,将会自动把选中文件移动到新文件夹。"),L(" 该选项可以在创建文件夹对话框里临时修改。 ")],-1))])]),d("fieldset",null,[r[57]||(r[57]=d("legend",null,"路径栏增强",-1)),d("div",hD,[r[53]||(r[53]=d("label",{for:"showCopyButtonOnPathBar"},"在路径栏显示复制按钮",-1)),oe(d("input",{id:"showCopyButtonOnPathBar",type:"checkbox","onUpdate:modelValue":r[15]||(r[15]=a=>o.value.showCopyButtonOnPathBar=a)},null,512),[[Ae,o.value.showCopyButtonOnPathBar]]),r[54]||(r[54]=d("div",{class:"pure-form-message text-success"}," 点击后,复制当前路径到剪贴板。 ",-1))]),d("div",mD,[r[55]||(r[55]=d("label",{for:"showGotoButtonOnPathBar"},[L(" 在路径栏显示前往按钮 "),d("small",{class:"ce-label"},"DEV")],-1)),oe(d("input",{id:"showGotoButtonOnPathBar",type:"checkbox","onUpdate:modelValue":r[16]||(r[16]=a=>o.value.showGotoButtonOnPathBar=a)},null,512),[[Ae,o.value.showGotoButtonOnPathBar]]),r[56]||(r[56]=d("div",{class:"pure-form-message text-success"}," 点击后,路径栏下方会显示路径输入框,输入路径后按回车即可前往该路径。 ",-1))])]),d("fieldset",null,[r[62]||(r[62]=d("legend",null,"刷新行为",-1)),d("div",gD,[r[58]||(r[58]=d("label",{for:"noUpdateDirAfterRename"}," 重命名后不刷新文件列表 ",-1)),oe(d("input",{id:"noUpdateDirAfterRename",type:"checkbox","onUpdate:modelValue":r[17]||(r[17]=a=>o.value.noUpdateDirAfterRename=a)},null,512),[[Ae,o.value.noUpdateDirAfterRename]]),r[59]||(r[59]=d("div",{class:"pure-form-message text-success"}," 仅支持单个文件或目录的重命名。在使用当前目录增强菜单项「重命名文件夹」时会忽略该选项。 ",-1))]),d("div",yD,[r[60]||(r[60]=d("label",{for:"noReloadAfterMove"}," 移动后不刷新文件列表 ",-1)),oe(d("input",{id:"noReloadAfterMove",type:"checkbox","onUpdate:modelValue":r[18]||(r[18]=a=>o.value.noReloadAfterMove=a)},null,512),[[Ae,o.value.noReloadAfterMove]]),r[61]||(r[61]=d("div",{class:"pure-form-message text-success text-linethrough"},[d("b",null,"启用后如果进行了移动操作,列表的全选会受影响,如已选数量不准确。"),d("br"),d("b",{class:"text-danger"},"该功能主要目的是持续高效地在进行移动操作,如果在移动后还需要其他操作,请记得手动刷新列表!")],-1))])]),d("fieldset",null,[r[69]||(r[69]=d("legend",null,"拖拽行为",-1)),d("div",wD,[r[63]||(r[63]=d("label",{for:"dragToQuickEntry"}," 支持拖动文件到快捷入口 ",-1)),oe(d("input",{id:"dragToQuickEntry",type:"checkbox","onUpdate:modelValue":r[19]||(r[19]=a=>o.value.dragToQuickEntry=a)},null,512),[[Ae,o.value.dragToQuickEntry]]),r[64]||(r[64]=d("div",{class:"pure-form-message text-success"},[L(" 可以从文件列表拖动文件到快捷入口,实现移动操作。 "),d("b",{class:"text-danger"},"选中文件时,顶部菜单可能会遮挡快捷入口,可按`Ctrl`键临时隐藏顶部菜单,或者开启「拖动文件时隐藏顶部菜单」选项。")],-1))]),d("div",bD,[r[65]||(r[65]=d("label",{for:"hideSelectionMenuOnDrag"},[L(" 拖动文件时隐藏顶部菜单 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),oe(d("input",{id:"hideSelectionMenuOnDrag",type:"checkbox","onUpdate:modelValue":r[20]||(r[20]=a=>o.value.hideSelectionMenuOnDrag=a)},null,512),[[Ae,o.value.hideSelectionMenuOnDrag]]),r[66]||(r[66]=L("     ")),r[67]||(r[67]=d("span",{class:"text-warning"},"该功能可能会影响页面性能,如发现该情况请先关闭并反馈🤝",-1)),r[68]||(r[68]=d("div",{class:"pure-form-message text-success"}," 选中文件时,顶部菜单可能会遮挡快捷入口等元素,开启此选项后,在拖动文件时会自动隐藏顶部菜单。 ",-1))])]),d("fieldset",null,[r[74]||(r[74]=d("legend",null,"其他功能",-1)),d("div",vD,[r[71]||(r[71]=d("label",{for:"fileSelectorDefaultView"},"文件选择器默认视图",-1)),oe(d("select",{id:"fileSelectorDefaultView","onUpdate:modelValue":r[21]||(r[21]=a=>o.value.fileSelectorDefaultView=a)},r[70]||(r[70]=[d("option",{value:"view"},"大图标",-1),d("option",{value:"list"},"列表",-1),d("option",{value:"_"},"系统默认",-1)]),512),[[Tn,o.value.fileSelectorDefaultView]]),r[72]||(r[72]=d("div",{class:"pure-form-message text-success"},[L(" 设置打开页面后初次使用的视图。 "),d("span",{class:"text-warning"},"如果在刷新页面前在选择器切换到了其他视图,该选项将不会生效,但刷新页面后会恢复。")],-1))]),d("div",CD,[r[73]||(r[73]=d("label",{for:"makeMoreImageViewable"}," 支持webp图片预览 ",-1)),oe(d("input",{id:"makeMoreImageViewable",type:"checkbox","onUpdate:modelValue":r[22]||(r[22]=a=>o.value.makeMoreImageViewable=a)},null,512),[[Ae,o.value.makeMoreImageViewable]])])])])]))}}),xD=Re(_D,[["__file","Config.vue"]]),rg=gt.search;function kD(e){return {showSelectTargetButtonOnPathBar:!0,showSelectAllDir:!1,resultWidth:"",...e}}async function ag(){const e=kD(),t=await tt.get(rg,e);return {...e,...t}}async function SD(e){await tt.set(rg,e);}const $D={class:"ce-config ce-search-config"},ED={class:"pure-form pure-form-aligned"},PD={class:"pure-control-group"},AD={class:"pure-control-group"},ID={class:"pure-control-group"},DD=Te({__name:"Config",async setup(e){let t,n;const o=ne(([t,n]=Ht(()=>ag()),t=await t,n(),t));return At(async()=>{}),Xe(o,wt(async s=>{await SD(s),le({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:mt.searchConfigChange,body:JSON.parse(JSON.stringify(s))});},500),{deep:!0}),(s,i)=>(S(),I("div",$D,[d("form",ED,[d("fieldset",null,[d("div",PD,[i[3]||(i[3]=d("label",{for:"showSelectTargetButtonOnPathBar"},'显示"选择目录"按钮',-1)),oe(d("input",{id:"showSelectTargetButtonOnPathBar",type:"checkbox","onUpdate:modelValue":i[0]||(i[0]=r=>o.value.showSelectTargetButtonOnPathBar=r)},null,512),[[Ae,o.value.showSelectTargetButtonOnPathBar]]),i[4]||(i[4]=d("div",{class:"pure-form-message text-success"},' 在路径栏显示"选择目录"按钮。即可以在搜索结果页直接选择其他目录进行搜索,而不必返回列表页进入目录后再搜索。 ',-1))]),d("div",AD,[i[5]||(i[5]=d("label",{for:"showSelectAllDir"},'显示"选中全部文件夹"按钮',-1)),oe(d("input",{id:"showSelectAllDir",type:"checkbox","onUpdate:modelValue":i[1]||(i[1]=r=>o.value.showSelectAllDir=r)},null,512),[[Ae,o.value.showSelectAllDir]]),i[6]||(i[6]=d("div",{class:"pure-form-message text-success"},' 在搜索结果文件列表顶部显示"选中全部文件夹"按钮。 ',-1))]),d("div",ID,[i[7]||(i[7]=d("label",{for:"resultWidth"},"搜索结果宽度",-1)),oe(d("input",{id:"resultWidth",class:"input-small","onUpdate:modelValue":i[2]||(i[2]=r=>o.value.resultWidth=r)},null,512),[[We,o.value.resultWidth]]),i[8]||(i[8]=d("div",{class:"pure-form-message text-success"},[L(" 默认为空。支持 1000px、100%、90vw 等有效的 "),d("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/CSS/width",target:"_blank",rel:"noreferrer noopener"},"css width数值 🔗"),L("。 ")],-1))])])])]))}}),TD=Re(DD,[["__file","Config.vue"]]);function Sa(e,t,n=""){let o="";if(e.status===405&&(o=`[${t}][${n}] - 检测到 405 错误,一般是因为被服务器风控,请等待30分钟后再尝试。`),e.status>=400&&e.status<500&&(o=`[${t}][${n}] - 检测到 ${e.status} 错误,请检查请求参数是否正确。`),e.status>=500&&e.status<600&&(o=`[${t}][${n}] - 检测到 ${e.status} 错误,服务器内部错误,请稍后再试。`),o)throw console.error(`[${t}] ${e.status}!`,e),new Error(o)}async function OD(e){const t=`https://qrcodeapi.115.com/api/1.0/${e}/1.0/token/`,n=await fetch(t);return Sa(n,"getQrcodeToken","获取二维码登录token失败"),n.json()}const MD={0:"等待扫码",1:"已扫码",2:"登录成功",[-1]:"已失效",[-2]:"已取消"};let Kl=new AbortController;async function LD(e){Kl.abort(e);}async function BD(e){const t=new URLSearchParams;t.append("uid",e.uid),t.append("time",e.time.toString()),t.append("sign",e.sign);const n="https://qrcodeapi.115.com/get/status/?"+t.toString();Kl=new AbortController;const o=await fetch(n,{signal:Kl.signal});return Sa(o,"getQrcodeStatus","获取扫码状态失败"),o.json()}function RD(e){return {domain:"",hostOnly:!1,httpOnly:!0,name:"",path:"",sameSite:"",secure:!1,session:!1,storeId:"0",value:"",id:0,...e}}async function FD(e){let t=`UID=${e.UID}; CID=${e.CID}; SEID=${e.SEID}`;return e.KID&&(t+=`; KID=${e.KID}`),t}async function ND(e,t=[]){const n=[],o=Object.keys(e);let s=["115.com",...t];s=[...new Set(s)];const i={hostOnly:!1,httpOnly:!0,path:"/",sameSite:"unspecified",secure:!1,session:!1,storeId:"0"};let r=1;for(let a=0;a<o.length;a++){const l=o[a],c=[];for(const u of s)c.push(RD({...i,name:l,value:e[l],domain:u,id:r++}));n.push(...c);}return n}function UD(e){const{errno:t,error:n}=e;return `错误码: ${t}, 错误信息: ${n}`}async function jD(e,t){const n=new FormData;n.append("app",t),n.append("account",e);const o=`https://passportapi.115.com/app/1.0/${t}/1.0/login/qrcode/`,s=await fetch(o,{method:"POST",body:n});return Sa(s,"postQrcodeResult","获取二维码登录结果失败"),s.json()}async function HD(e,t){const n=`https://qrcodeapi.115.com/api/1.0/web/1.0/qrcode?uid=${t}`,o=await fetch(n);return Sa(o,"getQrcode","获取二维码图片失败"),o.blob()}var ic=(e=>(e.web="web",e.android="android",e._115android="115android",e.ios="ios",e._115ipad="115ipad",e.tv="tv",e.alipaymini="alipaymini",e.wechatmini="wechatmini",e.qandroid="qandroid",e._115ios="115ios",e.harmony="harmony",e.ipad="ipad",e.qios="qios",e.qipad="qipad",e.linux="linux",e.mac="mac",e.windows="windows",e))(ic||{});const VD={web:"网页版",android:"115生活(Android端)","115android":"115(Android端)",ios:"115生活(iOS端)","115ipad":"115(iPad端)",tv:"115网盘(Android电视端)",alipaymini:"115生活(支付宝小程序)",wechatmini:"115生活(微信小程序)",qandroid:"115管理(Android端)","115ios":"115(iOS端)",harmony:"115(Harmony端) - 不能上传下载"};async function zD(e,t){return new Promise((n,o)=>{const s=new FileReader;s.onloadend=()=>{if(typeof s.result=="string"){if(t instanceof HTMLImageElement)t.src=s.result;else {const i=document.createElement("img");i.src=s.result,t.appendChild(i);}n();}else console.error("[renderQrcode]","reader.result is not string!"),o("reader.result is not string!");},s.onerror=i=>{console.error("[renderQrcode]",i),o(i);},s.readAsDataURL(e);})}async function qD(e){document.addEventListener("qrcodeStatusChange",t=>{const n=t.detail;e(n);});}async function WD(e){const t=new CustomEvent("qrcodeStatusChange",{detail:e});document.dispatchEvent(t);}async function KD(e,t,n=6e4){return new Promise(async(o,s)=>{console.log("[qrcodeLogin]",e,t,n);const i=await OD(e),r=await HD(e,i.data.uid);await zD(r,t);let a=!0,l=setTimeout(()=>{a=!1,s("[qrcode login] timeout!");},n),c="";for(;a;)try{const p=(await BD(i.data)).data.status;if(WD(p),p===0)console.log(`[qrcode login] status=${p} - waiting.`);else if(p===1)console.log(`[qrcode login] status=${p} - scanned.`);else if(p===2){console.log(`[qrcode login] status=${p} - signed.`);break}else if(p===-1){clearTimeout(l),c=`[qrcode login] status=${p} - expired.`;break}else if(p===-2){clearTimeout(l),c=`[qrcode login] status=${p} - canceled.`;break}}catch(u){console.error("[qrcode login]",u),c=u;break}clearTimeout(l),c?s(c):o(jD(i.data.uid,e));})}const lg=gt.tools;function GD(e){return {scanApp:ic.alipaymini,...e}}async function JD(){const e=GD(),t=await tt.get(lg,e);return {...e,...t}}async function YD(e){await tt.set(lg,e);}const QD={class:"ce-tools-item"},XD={class:"pure-form pure-form-aligned"},ZD={class:"pure-control-group"},eT=["disabled"],tT=["value"],nT=["disabled"],oT={key:0,class:"text-warning text-bold"},sT={key:1},iT={class:"pure-control-group"},rT=6e4,aT=Te({__name:"GetCookie",props:{app:{}},emits:["app-change"],setup(e,{emit:t}){const n=e,o=t,s=ne(n.app),i=ne(!1),r=ne(!1),a=ne(!1),l=ne(),c=ne(),u=rt(()=>c.value?MD[c.value]:""),p=rt(()=>{const R=[ic.harmony],T={};for(const[D,N]of Object.entries(VD))R.includes(D)||(T[D]=N);return T});Xe(s,R=>{o("app-change",R),w();}),At(async()=>{}),Vt(async()=>{await qD(C);});async function m(){await w();try{const R=document.querySelector("#ceGetCookieQrcode"),T=await KD(s.value,R,rT);let D="";if(T.data?l.value=T.data:D=UD(T)||"未知错误",D)throw new Error(D)}catch(R){if(console.error(R),R.name==="AbortError")return;ae.fire({icon:"error",title:"扫码失败",text:typeof R=="string"?R:R.toString()});}finally{i.value=!1,r.value=!1,c.value=void 0;}}async function w(){l.value=void 0,r.value=!1,a.value=!1,i.value=!1,c.value=void 0,await O();}async function b(){r.value=!0;}async function C(R){console.log("[handleStatusChange]",R),c.value=R;}async function F(R){var N;const T=(N=l.value)==null?void 0:N.cookie;if(!T)return;let D="";if(R==="text")D=await FD(T);else if(R==="json"){const z=await ND(T);D=JSON.stringify(z,null,2);}yt(D),fs.fire({icon:"success",title:"已复制到剪贴板",timer:1500});}async function O(){await LD();}return (R,T)=>(S(),I("div",QD,[d("form",XD,[d("fieldset",null,[T[7]||(T[7]=d("legend",null,"扫码获取Cookie",-1)),d("div",ZD,[oe(d("select",{"onUpdate:modelValue":T[0]||(T[0]=D=>s.value=D),disabled:i.value},[(S(!0),I(Le,null,Je(p.value,(D,N)=>(S(),I("option",{value:N,key:N},K(D),9,tT))),128))],8,eT),[[Tn,s.value]]),T[5]||(T[5]=L("    ")),d("button",{type:"button",class:"pure-button pure-button-primary",onClick:m,disabled:i.value}," 开始 ",8,nT),T[6]||(T[6]=L("    ")),u.value?(S(),I("span",oT,K(u.value),1)):be("",!0),l.value?(S(),I("span",sT,[T[3]||(T[3]=L("      ")),d("button",{type:"button",class:"pure-button button-success",onClick:T[1]||(T[1]=D=>F("text"))}," 复制文本格式Cookie "),T[4]||(T[4]=L("    ")),d("button",{type:"button",class:"pure-button button-success",onClick:T[2]||(T[2]=D=>F("json"))}," 复制JSON格式Cookie ")])):be("",!0)]),T[8]||(T[8]=d("div",{class:"text-danger"},"扫码登录后,所选设备之前的登录将会失效,所以请尽量选不常用的。",-1)),T[9]||(T[9]=d("div",{class:"text-primary"},"请注意,扫码得到的Cookie会跟随发起扫码的设备,如果发起扫码的设备退出登录,扫码得到的Cookie也会随之失效。",-1)),T[10]||(T[10]=d("div",{class:"text-success"},"如要避免上述问题,可以考虑使用手机验证码登录小程序并获取其Cookie。",-1)),oe(d("div",iT,[d("img",{id:"ceGetCookieQrcode",alt:"qrcode",onLoad:b},null,32)],512),[[Gt,r.value]])])])]))}}),lT=Re(aT,[["__file","GetCookie.vue"]]),uT={class:"ce-tools-item"},cT={class:"pure-form pure-form-aligned"},dT={class:"pure-control-group"},fT={class:"pure-control-group"},pT={class:"pure-control-group"},hT={class:"pure-control-group"},mT=Te({__name:"Cleaner",async setup(e){let t,n;const o=ne(([t,n]=Ht(()=>Ca()),t=await t,n(),t)),s=ne(([t,n]=Ht(()=>$m()),t=await t,n(),t));Xe(o,wt(async a=>{await gm({showEntryOnPathBar:a.showEntryOnPathBar}),le({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。"});},500),{deep:!0}),Xe(s,wt(async a=>{await CP(a),le({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。"});},500),{deep:!0});async function i(a,l){a&&(await r(),await Yt(1e3)),window.postMessage({event:mt.closeConfig}),postMessage({type:l==="FileCleaner"?Jt.OPEN_CLEANER:Jt.OPEN_EMPTY_CLEANER});}async function r(){return new Promise(async(a,l)=>{unsafeWindow.parent.Core.FileSelectDG.Open((c,u)=>{console.log("[Core.FileSelectDG.Open]",c,u);const p=c[c.length-1],m=unsafeWindow.parent.wangpan;try{m.Main.GotoDir(1,p.cid,0,""),a();}catch(w){ae.fire({icon:"error",title:"打开文件夹失败",text:`请在文件列表页面中打开!不要在离线任务之类的页面打开。异常: ${w.toString()}`});}},{select:1,nf:1,show_record:0,show_copy:1,btn_txt:"打开清理工具",select_txt:"清理"});})}return (a,l)=>(S(),I("div",uT,[d("form",cT,[d("fieldset",null,[l[14]||(l[14]=d("legend",null,"文件清理",-1)),d("div",dT,[l[7]||(l[7]=d("label",{for:"cleanerConfig_showEntryOnPathBar"},'在路径栏显示"清理文件"入口按钮',-1)),oe(d("input",{id:"cleanerConfig_showEntryOnPathBar",type:"checkbox","onUpdate:modelValue":l[0]||(l[0]=c=>o.value.showEntryOnPathBar=c)},null,512),[[Ae,o.value.showEntryOnPathBar]])]),d("div",fT,[l[8]||(l[8]=d("div",{class:"ce-tips"},"根据后缀、大小和名称等条件进行文件清理。请在「网盘」页中点击以下按钮。",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:l[1]||(l[1]=c=>i(!1,"FileCleaner"))}," 清理当前文件夹 "),l[9]||(l[9]=L("      ")),d("button",{type:"button",class:"pure-button button-success",onClick:l[2]||(l[2]=c=>i(!0,"FileCleaner"))}," 清理指定文件夹 ")]),l[15]||(l[15]=d("br",null,null,-1)),d("div",pT,[l[10]||(l[10]=d("label",{for:"emptyCleanConfig_emptyCleanConfig"},'在路径栏显示"空文件夹"入口按钮',-1)),oe(d("input",{id:"emptyCleanConfig_emptyCleanConfig",type:"checkbox","onUpdate:modelValue":l[3]||(l[3]=c=>s.value.showEntryOnPathBar=c)},null,512),[[Ae,s.value.showEntryOnPathBar]])]),d("div",hT,[l[11]||(l[11]=d("div",{class:"ce-tips"},"尽快找到空文件夹进行清理。请在「网盘」页中点击以下按钮。",-1)),d("button",{type:"button",class:"pure-button button-warning",onClick:l[4]||(l[4]=c=>i(!1,"EmptyCleaner"))}," 清理当前文件夹下的空文件夹 "),l[12]||(l[12]=L("      ")),d("button",{type:"button",class:"pure-button button-warning",onClick:l[5]||(l[5]=c=>i(!0,"EmptyCleaner"))}," 清理指定文件夹下的空文件夹 "),l[13]||(l[13]=L("      ")),d("button",{type:"button",class:"pure-button btn-global-clear",onClick:l[6]||(l[6]=(...c)=>re(Fr)&&re(Fr)(...c)),title:"不用怕误点击,点开后还需要确认呢"}," 一键全局清理空文件夹 ")])])])]))}}),gT=Re(mT,[["__file","Cleaner.vue"]]),yT={class:"ce-config ce-tools-config"},wT={class:"item"},bT=Te({__name:"Config",async setup(e){let t,n;const o=ne(([t,n]=Ht(()=>JD()),t=await t,n(),t));At(async()=>{}),Xe(o,wt(async i=>{await YD(i),window.postMessage({event:mt.toolsConfigChange,body:JSON.parse(JSON.stringify(i))});},100),{deep:!0});async function s(i){o.value.scanApp=i;}return (i,r)=>(S(),I("div",yT,[d("div",wT,[me(lT,{app:o.value.scanApp,onAppChange:s},null,8,["app"]),me(gT)])]))}}),vT=Re(bT,[["__file","Config.vue"]]),CT={class:"menu-config-block menu-basic-config"},_T={class:"pure-form pure-form-stacked"},xT={class:"pure-control-group"},kT={class:"pure-control-group"},ST={class:"pure-control-group"},$T={class:"pure-control-group"},ET={class:"pure-control-group"},PT=["value"],AT={class:"pure-control-group"},IT={class:"pure-control-group"},DT=Te({__name:"BasicConfig",props:{config:{}},setup(e){const t=e;async function n(s){const r={keyToTriggerManual:"在按下该按键时点击菜单项(搜索/播放),会触发手动输入模式,此时会打开一个输入框,修改文本后,点击「确定」或按下Ctrl+Enter,即可继续完成菜单项的操作。",m3u8TempDir:"「M3U8临时目录」用于临时存放生成的m3u8文件。在选中多个视频文件后,在顶部菜单栏会有一个「播放」菜单项,点击后会生成对应的m3u8文件,然后调用播放器播放这个m3u8以实现播放多个视频的效果。",cloudDriveFormalization:'<h2>使用CloudDrive的文件名规范」</h2><p>启用后,在使用脚本功能复制文件名或路径时,将会根据CloudDrive的规范对文件名进行处理,请确保当前使用的CloudDrive配置设置了正确的"平台"。</p>'}[s];r&&ae.fire({html:r,customClass:"ce-swal-text-left"});}function o(s){console.log("[onSelectM3U8Dir]",s),t.config.m3u8TempDir=s.items[s.items.length-1].path.slice(1).map(i=>i.name).join("/");}return (s,i)=>(S(),I("div",CT,[d("form",_T,[d("fieldset",null,[i[18]||(i[18]=d("legend",null,"全局设置",-1)),d("div",xT,[i[10]||(i[10]=d("label",{for:"basic_enabled"},"启用",-1)),oe(d("input",{id:"basic_enabled",type:"checkbox","onUpdate:modelValue":i[0]||(i[0]=r=>t.config.enabled=r)},null,512),[[Ae,t.config.enabled]])]),d("div",kT,[i[11]||(i[11]=d("label",{for:"basic_hideSelectionMenuLabel"},"隐藏顶部菜单文本",-1)),oe(d("input",{id:"basic_hideSelectionMenuLabel",type:"checkbox","onUpdate:modelValue":i[1]||(i[1]=r=>t.config.hideSelectionMenuLabel=r)},null,512),[[Ae,t.config.hideSelectionMenuLabel]])]),d("div",ST,[i[12]||(i[12]=d("label",{for:"basic_enableInSearch"},"在搜索结果页中启用",-1)),oe(d("input",{id:"basic_enableInSearch",type:"checkbox","onUpdate:modelValue":i[2]||(i[2]=r=>t.config.enableInSearch=r)},null,512),[[Ae,t.config.enableInSearch]])]),d("div",$T,[i[13]||(i[13]=d("label",{for:"basic_manageOfficialMenus"},"控制官方菜单",-1)),oe(d("input",{id:"basic_manageOfficialMenus",type:"checkbox","onUpdate:modelValue":i[3]||(i[3]=r=>t.config.manageOfficialMenus=r)},null,512),[[Ae,t.config.manageOfficialMenus]])]),d("div",ET,[i[14]||(i[14]=d("label",{for:"basic_forceManualBeforeOpenOnKey"},"强制使用手动输入模式的辅助键",-1)),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:i[4]||(i[4]=r=>n("keyToTriggerManual"))},"说明"),oe(d("select",{id:"basic_forceManualBeforeOpenOnKey","onUpdate:modelValue":i[5]||(i[5]=r=>t.config.keyToTriggerManual=r)},[(S(!0),I(Le,null,Je(re(Rn),(r,a)=>(S(),I("option",{key:a,value:a},K(r),9,PT))),128))],512),[[Tn,t.config.keyToTriggerManual]])]),d("div",AT,[i[16]||(i[16]=d("label",{for:"basic_m3u8TempDirName"},"M3U8临时目录",-1)),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:i[6]||(i[6]=r=>n("m3u8TempDir"))},"说明"),oe(d("input",{id:"basic_m3u8TempDirName","onUpdate:modelValue":i[7]||(i[7]=r=>t.config.m3u8TempDir=r)},null,512),[[We,t.config.m3u8TempDir]]),me(Ai,{purpose:"作为M3U8临时目录",onSelect:o},{default:xe(()=>i[15]||(i[15]=[d("a",{class:"text-primary",href:"javascript:void(0)"},"选择目录",-1)])),_:1})]),d("div",IT,[i[17]||(i[17]=d("label",{for:"basic_cloudDriveFormalization"},"CloudDrive文件名规范",-1)),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:i[8]||(i[8]=r=>n("cloudDriveFormalization"))},"说明"),oe(d("input",{id:"basic_cloudDriveFormalization",type:"checkbox","onUpdate:modelValue":i[9]||(i[9]=r=>t.config.cloudDriveFormalization=r)},null,512),[[Ae,t.config.cloudDriveFormalization]])])])])]))}}),TT=Re(DT,[["__file","BasicConfig.vue"]]),OT={class:"official-menu-config"},MT={class:"pure-form pure-form-stacked"},LT=["onClick"],BT={class:"menu-key"},RT=["onClick"],FT=Te({__name:"OfficialMenuConfig",setup(e){const t=ne([]),n=ne(!1);At(async()=>{t.value=await tm(),console.log("official menu groups",t.value,location.href);}),Vt(()=>{document.body.addEventListener("click",()=>{n.value||(n.value=!0);});}),Xe(t,wt(async i=>{if(!n.value)return;const r=await fx(i);await dx(r,!0),le({icon:"success",title:"官方菜单设置已保存,已生效。",timer:1e3,position:"top-end"});},500),{deep:!0});async function o(i){i.hidden=!i.hidden;}async function s(i){const{isConfirmed:r}=await ae.fire({icon:"warning",html:`确认要重置分组「${i.label}」的隐藏状态吗?`,confirmButtonText:"确认",showDenyButton:!0,denyButtonText:"关闭"});r&&i.items.forEach(a=>{a.hidden=!1;});}return (i,r)=>(S(),I("div",OT,[r[0]||(r[0]=d("div",{class:"ce-tips"},[d("p",null,"开启「菜单设置 - 全局设置 - 控制官方菜单」后才会生效。"),d("p",{class:"text-primary"},"该功能仅支持隐藏菜单。点击「隐藏」后刷新页面生效,如需取消请点击「取消隐藏」。")],-1)),(S(!0),I(Le,null,Je(t.value,(a,l)=>(S(),I("div",{key:l,class:"menu-config-block"},[d("form",MT,[d("fieldset",null,[d("legend",null,[L(K(a.label)+" ",1),d("span",{class:"ce-label ce-label-warning",title:"取消该分组下全部的隐藏设置",onClick:c=>s(a)}," 重置 ",8,LT)]),(S(!0),I(Le,null,Je(a.items,(c,u)=>(S(),I("div",{key:u,class:Ne([{hidden:c.hidden},"menu-item"])},[d("label",null,[L(K(c.label)+" ",1),d("small",BT,K(c.key),1)]),d("span",{class:"ce-toggle",onClick:p=>o(c)},K(c.hidden?"取消隐藏":"隐藏"),9,RT)],2))),128))])])]))),128))]))}}),NT=Re(FT,[["__file","OfficialMenuConfig.vue"]]);var _t=(e=>(e.input="text",e.number="number",e.password="password",e.textarea="textarea",e.checkbox="checkbox",e.select="select",e.radio="radio",e.date="date",e))(_t||{});function Hi(e,t={}){return e.map(n=>({...t,...n}))}const UT=["for"],jT={class:"ce-field-extra ce-field-prefix"},HT=["type","id","name","required","placeholder"],VT=["id","name","required","placeholder"],zT=["value"],qT={key:2},WT=["value","required"],KT=["id","name","required"],GT={key:3},JT=["value","required"],YT=["id","name","required"],QT={class:"ce-field-extra ce-field-suffix"},XT=Te({__name:"CeField",props:{field:{},modelValue:{},formConfig:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,o=e,s=ne(o.modelValue),i=rt(()=>(o.formConfig.idPrefix||"")+o.field.name);return Xe(s,(r,a)=>{console.log(`[CeField] mutValue changed from ${a} to ${r}`),n("update:modelValue",r);}),(r,a)=>(S(),I("div",{class:Ne(["ce-field",r.field.customClass||""])},[Ze(r.$slots,"label",{},()=>[d("label",{for:i.value},K(r.field.label),9,UT)]),d("span",jT,[Ze(r.$slots,"prefix")]),!r.field.type||r.field.type===re(_t).input||r.field.type===re(_t).number?oe((S(),I("input",{key:0,type:r.field.type,id:i.value,name:r.field.name,"onUpdate:modelValue":a[0]||(a[0]=l=>s.value=l),required:r.field.required,placeholder:r.field.placeholder},null,8,HT)),[[KC,s.value]]):r.field.type===re(_t).select?oe((S(),I("select",{key:1,id:i.value,name:r.field.name,"onUpdate:modelValue":a[1]||(a[1]=l=>s.value=l),required:r.field.required,placeholder:r.field.placeholder},[(S(!0),I(Le,null,Je(r.field.options,(l,c)=>(S(),I("option",{key:c,value:l.value},K(l.label),9,zT))),128))],8,VT)),[[Tn,s.value]]):r.field.type===re(_t).checkbox?(S(),I("span",qT,[r.field.options&&r.field.options.length>0?(S(!0),I(Le,{key:0},Je(r.field.options,(l,c)=>(S(),I("label",{key:c},[oe(d("input",{type:"checkbox",value:l.value,"onUpdate:modelValue":a[2]||(a[2]=u=>s.value=u),required:r.field.required},null,8,WT),[[Ae,s.value]]),L(" "+K(l.label),1)]))),128)):oe((S(),I("input",{key:1,type:"checkbox",id:i.value,name:r.field.name,"onUpdate:modelValue":a[3]||(a[3]=l=>s.value=l),required:r.field.required},null,8,KT)),[[Ae,s.value]])])):r.field.type===re(_t).radio?(S(),I("span",GT,[(S(!0),I(Le,null,Je(r.field.options,(l,c)=>(S(),I("label",{key:c},[oe(d("input",{type:"radio",value:l.value,"onUpdate:modelValue":a[4]||(a[4]=u=>s.value=u),required:r.field.required},null,8,JT),[[Ih,s.value]]),L(" "+K(l.label),1)]))),128))])):r.field.type===re(_t).date?oe((S(),I("input",{key:4,type:"date",id:i.value,name:r.field.name,"onUpdate:modelValue":a[5]||(a[5]=l=>s.value=l),required:r.field.required},null,8,YT)),[[We,s.value]]):be("",!0),d("span",QT,[Ze(r.$slots,"suffix")])],2))}}),ZT=Re(XT,[["__file","CeField.vue"]]),e5={class:"ce-form pure-form pure-form-stacked"},t5=Te({__name:"CeForm",props:{config:{},modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,o=e,s=(i,r)=>{console.log("[CeForm.handleFieldValueChange]",i,o.modelValue,r),n("update:modelValue",{...o.modelValue});};return (i,r)=>(S(),I("div",e5,[d("fieldset",null,[d("legend",null,[Ze(i.$slots,"header",{},()=>[L(K(i.config.label),1)])]),(S(!0),I(Le,null,Je(i.config.fields,a=>Ze(i.$slots,a.name,{key:a.name,data:a},()=>[me(ZT,{field:a,modelValue:i.modelValue[a.name],"onUpdate:modelValue":l=>i.modelValue[a.name]=l,"form-config":i.config,onChange:l=>s(a.name,l)},{label:xe(()=>[Ze(i.$slots,`${a.name}_label`,{data:a})]),prefix:xe(()=>[Ze(i.$slots,`${a.name}_prefix`,{data:a})]),suffix:xe(()=>[Ze(i.$slots,`${a.name}_suffix`,{data:a})]),_:2},1032,["field","modelValue","onUpdate:modelValue","form-config","onChange"])])),128)),Ze(i.$slots,"footer")])]))}}),js=Re(t5,[["__file","CeForm.vue"]]),n5={class:"menu-name-path-block menu-config-block"},o5=Te({__name:"NamePathConfig",props:{modelValue:{},include:{},exclude:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=t,s=ne(n.modelValue);Xe(s,l=>{o("update:modelValue",l);});const i=ne([{label:"完整名称",name:"copyFullName",type:_t.checkbox,disabled:!0},{label:"不含后缀的名称",name:"copyPureName",type:_t.checkbox},{label:"文件SHA1",name:"copySha1",type:_t.checkbox},{label:"文件SHA1(带文件名)",name:"copySha1WithName",type:_t.checkbox},{label:"Unix风格路径",name:"copyUnixPath",type:_t.checkbox},{label:"Windows风格路径",name:"copyWinPath",type:_t.checkbox},{label:"父目录Unix风格路径",name:"copyParentUnixPath",type:_t.checkbox},{label:"父目录Windows风格路径",name:"copyParentWinPath",type:_t.checkbox},{label:"在CloudDrive2 Web页面查看",name:"viewInCloudDrive",type:_t.checkbox}]);function r(l){const{include:c=[],exclude:u=[]}=n;return c.length>0?c.includes(l):u.length>0?!u.includes(l):!0}const a=ne({label:"名称路径子菜单设置",fields:i.value.filter(l=>r(l.name)),idPrefix:"namePath_"});return (l,c)=>(S(),I("div",n5,[d("div",null,[me(js,{modelValue:s.value,"onUpdate:modelValue":c[0]||(c[0]=u=>s.value=u),config:a.value},null,8,["modelValue","config"])])]))}}),s5=Re(o5,[["__file","NamePathConfig.vue"]]),i5={class:"menu-name-path-config-button"},r5=Te({__name:"NamePathConfigButton",props:{modelValue:{},include:{},exclude:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=t,s=ne(n.modelValue);return Xe(s,i=>{o("update:modelValue",i);}),(i,r)=>{const a=_o("VDropdown");return S(),I("span",i5,[me(a,{distance:5,triggers:["click"],placement:"left"},{popper:xe(()=>[me(s5,{modelValue:s.value,"onUpdate:modelValue":r[0]||(r[0]=l=>s.value=l),include:n.include,exclude:n.exclude},null,8,["modelValue","include","exclude"])]),default:xe(()=>[Ze(i.$slots,"default",{},()=>[r[1]||(r[1]=d("span",{class:"text-bold text-info"},">>",-1))])]),_:3})])}}}),Vi=Re(r5,[["__file","NamePathConfigButton.vue"]]);var Di={name:"115不大助手",version:"0.7.75",author:{name:"生瓜太保",email:"[email protected]"},greasyforkUrl:"http://greasyfork.icu/zh-CN/scripts/474231-115%E4%B8%8D%E5%A4%A7%E5%8A%A9%E6%89%8B-full?locale_override=1"};async function a5(){if(window!==window.parent)return;new MutationObserver(async([t])=>{t.type==="childList"&&window.postMessage({event:mt.topDomChanged});}).observe(document.body,{childList:!0});}async function l5(){const e=document.querySelector(".bottom-side .navigation-ceiling ul");if(!e){f5();return}const t=document.createElement("li"),n=document.createElement("a");n.href="javascript:;",n.style.textAlign="center",n.style.backgroundColor="#fefcea",n.style.padding="4px 10px 4px",n.addEventListener("click",async o=>{await Kn();}),n.title=`打开「${Di.name}」设置`,n.innerHTML='<i class="isn-setting"></i><span>不大助手</span>',t.appendChild(n),e.insertBefore(t,e.firstChild);}async function u5(){return !!document.querySelector("#js-login-box")}async function c5(){console.log("[handleLoginPage]"),await u5()&&(document.body.classList.add("ce-login-page"),d5());}async function d5(){console.log("[injectOpenConfigButtonOnLoginPage");const e=document.querySelector(".right-side a");if(!e){console.warn("[injectOpenConfigButtonOnLoginPage] '.right-side a' not found");return}const t=document.createElement("a");t.href="javascript:;",t.className="ce-entry",t.addEventListener("click",async o=>{await Kn();}),t.title=`打开「${Di.name}」设置`,t.innerHTML=`<i class="isn-setting"></i><span>${Di.name}</span>`,e.insertAdjacentElement("beforebegin",t);const n=document.createElement("a");n.href="javascript:;",n.className="ce-entry",n.addEventListener("click",async o=>{await Kn(Ct.tools);}),n.title="打开扫码获取Cookie",n.innerHTML='<i class="isn-scan"></i><span>扫码获取Cookie</span>',e.insertAdjacentElement("beforebegin",n);}async function f5(){const e=document.querySelector(".sub-footer ul");if(!e)return;const t=document.createElement("li"),n=document.createElement("a");n.href="javascript:;",n.addEventListener("click",async o=>{await Kn();}),n.title=`打开「${Di.name}」设置`,n.innerHTML=`<i class="isn-setting"></i><span>${Di.name}</span>`,t.appendChild(n),e.insertBefore(t,e.firstChild);}async function Kn(e){window.postMessage({event:mt.openConfig,body:e});}const p5={class:"menu-config-block"},h5={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},m5=Te({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=ne(e.modelValue);Xe(o,l=>{s("update:modelValue",l);});const s=t,i=Hi([{label:"启用",name:"enabled"},{label:"新标签页打开",name:"openInNewTab"},{label:"搜索",name:"search"},{label:"播放",name:"play"},{label:"名称路径",name:"copyNames"},{label:"查找重复文件",name:"findRepeat"}],{type:_t.checkbox}),r=ne(i),a=ne({label:Ko.listItemHover,fields:r.value,idPrefix:"listItemHover_"});return (l,c)=>(S(),I("div",p5,[d("div",null,[me(js,{modelValue:o.value,"onUpdate:modelValue":c[3]||(c[3]=u=>o.value=u),config:a.value},{search_label:xe(({data:u})=>[d("label",{class:"text-primary",onClick:c[0]||(c[0]=p=>re(Kn)(re(Ct).searchMenus))},K(u.label),1)]),play_label:xe(({data:u})=>[d("label",{class:"text-primary",onClick:c[1]||(c[1]=p=>re(Kn)(re(Ct).playMenus))},K(u.label),1)]),copyNames_label:xe(({data:u})=>[me(Vi,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":c[2]||(c[2]=p=>o.value.namePathConfig=p)},{default:xe(()=>[d("label",h5,[L(K(u.label)+" ",1),c[4]||(c[4]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),g5=Re(m5,[["__file","Config.vue"]]),y5={class:"menu-config-block"},w5={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},b5=Te({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=ne(e.modelValue),s=[];Xe(o,l=>{i("update:modelValue",l);});const i=t,r=ne(Hi([{label:"启用",name:"enabled"},{label:"名称路径",name:"copyNames"}],{type:_t.checkbox})),a=ne({label:Ko.listItemContext,fields:r.value,idPrefix:"listItemContext_"});return (l,c)=>(S(),I("div",y5,[d("div",null,[me(js,{modelValue:o.value,"onUpdate:modelValue":c[1]||(c[1]=u=>o.value=u),config:a.value},{copyNames_label:xe(({data:u})=>[me(Vi,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":c[0]||(c[0]=p=>o.value.namePathConfig=p),exclude:s},{default:xe(()=>[d("label",w5,[L(K(u.label)+" ",1),c[2]||(c[2]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),v5=Re(b5,[["__file","Config.vue"]]),C5={class:"menu-config-block"},_5={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},x5=Te({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=["viewInCloudDrive"],s=ne(n.modelValue);Xe(s,c=>{i("update:modelValue",c);});const i=t;function r(c){return Object.entries(c).map(([u,p])=>({value:u,label:p}))}const a=ne(Hi([{label:"启用",name:"enabled"},{label:"移动到同名目录",name:"moveToSelfNameDir"},{label:"名称路径",name:"copyNames"},{label:"播放",name:"play"},{label:"搜索",name:"search"},{label:"打开搜索页面方式",name:"searchOpenType",type:_t.select,options:r(g1),customClass:"ce-search-sub"}],{type:_t.checkbox})),l=ne({label:Ko.selection,fields:a.value,idPrefix:"selection_"});return (c,u)=>(S(),I("div",C5,[d("div",null,[me(js,{modelValue:s.value,"onUpdate:modelValue":u[3]||(u[3]=p=>s.value=p),config:l.value},{search_label:xe(({data:p})=>[d("label",{class:"text-primary",onClick:u[0]||(u[0]=m=>re(Kn)(re(Ct).searchMenus))},K(p.label),1)]),play_label:xe(({data:p})=>[d("label",{class:"text-primary",onClick:u[1]||(u[1]=m=>re(Kn)(re(Ct).playMenus))},K(p.label),1)]),copyNames_label:xe(({data:p})=>[me(Vi,{modelValue:s.value.namePathConfig,"onUpdate:modelValue":u[2]||(u[2]=m=>s.value.namePathConfig=m),exclude:o},{default:xe(()=>[d("label",_5,[L(K(p.label)+" ",1),u[4]||(u[4]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),k5=Re(x5,[["__file","Config.vue"]]),S5={class:"menu-config-block"},$5={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},E5=["onClick"],P5=Te({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=ne(e.modelValue);Xe(o,m=>{s("update:modelValue",m);});const s=t,i=Hi([{label:"启用",name:"enabled"},{label:"重命名",name:"rename"},{label:"删除",name:"delete"},{label:"播放全部",name:"play"},{label:"名称路径",name:"copyNames"},{label:"移动",name:"move"},{label:"复制",name:"copy"},{label:"复制到",name:"copyTo"},{label:"查看属性",name:"viewProp"},{label:"子文件夹大小",name:"showSubFolderSize"},{label:"子文件夹大小+排序",name:"showSubFolderSizeAndSort"}],{type:_t.checkbox}),r=ne(i),a=ne({label:Ko.dirContext,fields:r.value,idPrefix:"dirContext_"}),l=rt(()=>{const m=["enabled","play","copyNames"];return Object.keys(o.value).filter(w=>!m.includes(w))}),c=rt(()=>{const m=[];for(const w of Object.keys(o.value))m.push({name:w,prefix:`${w}_prefix`,suffix:`${w}_suffix`});return m}),u=m=>{o.value.topLevelMenus.includes(m.name)?o.value.topLevelMenus=o.value.topLevelMenus.filter(w=>w!==m.name):o.value.topLevelMenus.push(m.name);};async function p(){ae.fire({html:`<b>当前目录右键菜单的打开方式:</b>
    <br>1. 右键单击文件列表表头;
    <br>2. 右键单击文件列表空白处;
    <br>3.「文件名」列头部的「目录功能菜单」按钮。
    <hr class="ce-hr">
    <b>菜单显示层级:</b>
    <br>1.「播放全部」和「名称路径」强制显示为一级菜单;
    <br>2. 其他菜单可以通过点击 👁 图标设置是否显示为一级菜单。
  `,customClass:"ce-swal-text-left"});}return (m,w)=>(S(),I("div",S5,[d("div",null,[me(js,{modelValue:o.value,"onUpdate:modelValue":w[2]||(w[2]=b=>o.value=b),config:a.value},M0({header:xe(()=>[L(K(re(Ko).dirContext)+" ",1),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:p},"说明")]),play_label:xe(({data:b})=>[d("label",{class:"text-primary",onClick:w[0]||(w[0]=C=>re(Kn)(re(Ct).playMenus))},K(b.label),1)]),copyNames_label:xe(({data:b})=>[me(Vi,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":w[1]||(w[1]=C=>o.value.namePathConfig=C)},{default:xe(()=>[d("label",$5,[L(K(b.label)+" ",1),w[3]||(w[3]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:2},[Je(c.value,b=>({name:b.suffix,fn:xe(({data:C})=>[l.value.includes(C.name)?(S(),I("span",{key:0,class:Ne(["btn-toggle-top",{active:o.value.topLevelMenus.includes(C.name)}]),onClick:F=>u(C),title:"点亮表示显示为一级菜单,否则将显示在「更多」菜单中"},"👁",10,E5)):be("",!0)])}))]),1032,["modelValue","config"])])]))}}),A5=Re(P5,[["__file","Config.vue"]]),I5={class:"menu-config-block"},D5={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},T5=Te({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=ne(e.modelValue),s=["copyUnixPath","copyWinPath","copyParentUnixPath","copyParentWinPath","viewInCloudDrive"];Xe(o,l=>{i("update:modelValue",l);});const i=t,r=ne(Hi([{label:"启用",name:"enabled"},{label:"搜索",name:"search"},{label:"名称",name:"copyNames"}],{type:_t.checkbox})),a=ne({label:Ko.shareListItemHover,fields:r.value,idPrefix:"shareListItemHover_"});return (l,c)=>(S(),I("div",I5,[d("div",null,[me(js,{modelValue:o.value,"onUpdate:modelValue":c[2]||(c[2]=u=>o.value=u),config:a.value},{search_label:xe(({data:u})=>[d("label",{class:"text-primary",onClick:c[0]||(c[0]=p=>re(Kn)(re(Ct).searchMenus))},K(u.label),1)]),copyNames_label:xe(({data:u})=>[me(Vi,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":c[1]||(c[1]=p=>o.value.namePathConfig=p),exclude:s},{default:xe(()=>[d("label",D5,[L(K(u.label)+" ",1),c[3]||(c[3]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),O5=Re(T5,[["__file","Config.vue"]]),M5={key:0,class:"ce-menu-config"},L5=Te({__name:"MenuConfig",async setup(e){let t,n;const o=ne(([t,n]=Ht(()=>bt()),t=await t,n(),t));return At(async()=>{}),Xe(o,wt(async s=>{const i=await bt();s.defaultPlayer=i.defaultPlayer,await _p(s),le({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:!0}),(s,i)=>o.value.enabled!==void 0?(S(),I("div",M5,[i[6]||(i[6]=d("div",{class:"ce-tips"},[d("p",null,"「搜索」功能菜单支持自定义,可在「搜索菜单」设置面板中添加和管理。 「播放」功能菜单支持自定义,可在「播放菜单」设置面板中添加和管理。")],-1)),me(TT,{config:o.value},null,8,["config"]),me(g5,{modelValue:o.value.listItemHover,"onUpdate:modelValue":i[0]||(i[0]=r=>o.value.listItemHover=r)},null,8,["modelValue"]),me(v5,{modelValue:o.value.listItemContext,"onUpdate:modelValue":i[1]||(i[1]=r=>o.value.listItemContext=r)},null,8,["modelValue"]),me(k5,{modelValue:o.value.selection,"onUpdate:modelValue":i[2]||(i[2]=r=>o.value.selection=r)},null,8,["modelValue"]),me(A5,{modelValue:o.value.dirContext,"onUpdate:modelValue":i[3]||(i[3]=r=>o.value.dirContext=r)},null,8,["modelValue"]),me(O5,{modelValue:o.value.shareListItemHover,"onUpdate:modelValue":i[4]||(i[4]=r=>o.value.shareListItemHover=r)},null,8,["modelValue"]),i[7]||(i[7]=d("hr",{class:"ce-hr"},null,-1)),d("div",null,[i[5]||(i[5]=d("h1",null,"官方菜单设置",-1)),d("div",null,[me(NT)])])])):be("",!0)}}),B5=Re(L5,[["__file","MenuConfig.vue"]]),R5={class:"ce-custom-url"},F5={class:"pure-form pure-form-aligned"},N5={class:"ce-custom-url-index"},U5={class:"pure-control-group"},j5={class:"pure-control-group"},H5={class:"pure-control-group"},V5={class:"pure-control-group"},z5={key:0,class:"item-icon"},q5=["src"],W5={class:"pure-control-group"},K5={class:"pure-control-group"},G5={class:"pure-control-group"},J5={key:0,class:"pure-control-group"},Y5=Te({__name:"CustomUrl",props:{item:{},index:{}},emits:["delete"],setup(e,{emit:t}){const n=ne(!0),o=t;function s(){o("delete");}async function i(){n.value=!n.value,n.value&&le({title:"已开启高级模式",text:"请谨慎修改,不正确的代码可能会导致脚本崩溃。",icon:"info",timer:2e3});}async function r(){window.postMessage({event:"customUrlHelp"},"*");}async function a(){await ae.fire({title:"Mutation 说明",html:`
  <div style="text-align:left;">
    <p>自定义代码,用于生成最终的链接。</p><br>
    <p>代码会被包含在一个async匿名函数中执行,最终应该返回一个链接字符串。</p>
    <p>传入的参数名为「payload」,其结构如下:</p>
    <p>- url: 之前自动处理得到的链接</p>
    <p>- file:当前文件信息</p>
    <p>- customUrl:当前自定义规则信息</p>
    <p>- cloudDriveConfig:CloudDrive设置信息</p><br>
    <p>示例:</p>
    <pre style="text-align:left;font-size:12px;">
    const {
      url,
      file,
      customUrl,
      cloudDriveConfig
    } = payload
    const sth = await fetch(\`https://api.sth.com/foo?bar=\${file.pc}\`)
    return \`https://example.com/do?key=\${sth}\`
    </pre>
  </div>
  `,width:480,position:"top-start",backdrop:!1});}return (l,c)=>(S(),I("div",R5,[d("form",F5,[d("fieldset",null,[d("legend",null,[d("span",N5,"# "+K(l.index+1),1),d("button",{type:"button",class:"pure-button button-error button-small",onClick:s}," 删除 ")]),d("div",U5,[c[8]||(c[8]=d("label",null,"启用",-1)),oe(d("input",{"onUpdate:modelValue":c[0]||(c[0]=u=>l.item.enabled=u),type:"checkbox",id:"customUrl_enabled"},null,512),[[Ae,l.item.enabled]])]),d("div",j5,[c[9]||(c[9]=d("label",null,"唯一标识",-1)),oe(d("input",{"onUpdate:modelValue":c[1]||(c[1]=u=>l.item.key=u),id:"customUrl_key",class:"pure-input-2-3",placeholder:"英文、数字或下划线"},null,512),[[We,l.item.key]])]),d("div",H5,[c[10]||(c[10]=d("label",null,"显示名称",-1)),oe(d("input",{"onUpdate:modelValue":c[2]||(c[2]=u=>l.item.label=u),id:"customUrl_label",class:"pure-input-2-3",placeholder:"菜单文本,尽量简洁"},null,512),[[We,l.item.label]])]),d("div",V5,[c[11]||(c[11]=d("label",null,"图标",-1)),oe(d("input",{"onUpdate:modelValue":c[3]||(c[3]=u=>l.item.icon=u),id:"customUrl_icon",class:"pure-input-2-3",placeholder:"图标class、图片链接或图片data:image"},null,512),[[We,l.item.icon]]),c[12]||(c[12]=L("   ")),l.item.icon?(S(),I("span",z5,[d("img",{src:l.item.icon,referrerpolicy:"no-referrer",width:"25"},null,8,q5)])):be("",!0)]),d("div",W5,[d("label",{onDblclick:i}," 链接 ",32),oe(d("textarea",{"onUpdate:modelValue":c[4]||(c[4]=u=>l.item.url=u),id:"customUrl_url",class:"pure-input-2-3",placeholder:"链接地址,支持变量,变量列表请点击右侧「查看变量」"},null,512),[[We,l.item.url]]),c[13]||(c[13]=L("   ")),d("a",{href:"javascript:void(0)",class:"text-primary",onClick:r},"查看变量")]),d("div",K5,[c[14]||(c[14]=d("label",null,"后台打开",-1)),oe(d("input",{"onUpdate:modelValue":c[5]||(c[5]=u=>l.item.openInBackground=u),id:"customUrl_openInBackground",type:"checkbox"},null,512),[[Ae,l.item.openInBackground]])]),d("div",G5,[c[15]||(c[15]=d("label",null,"备注",-1)),oe(d("input",{"onUpdate:modelValue":c[6]||(c[6]=u=>l.item.memo=u),id:"customUrl_memo",class:"pure-input-2-3"},null,512),[[We,l.item.memo]])]),n.value?(S(),I("div",J5,[c[16]||(c[16]=d("label",null,"Mutation",-1)),oe(d("textarea",{"onUpdate:modelValue":c[7]||(c[7]=u=>l.item.mutation=u),id:"customUrl_mutation",class:"pure-input-2-3",placeholder:"自定义代码生成最终链接,具体请看右侧「查看说明」"},null,512),[[We,l.item.mutation]]),c[17]||(c[17]=L("   ")),d("a",{href:"javascript:void(0)",class:"text-primary",onClick:a},"查看说明")])):be("",!0)])])]))}}),ug=Re(Y5,[["__file","CustomUrl.vue"]]),Q5={class:"ce-config ce-search-urls ce-custom-urls"},X5={class:"ce-menu-urls-builtin"},Z5={class:"pure-form pure-form-aligned"},eO={key:0,class:"item-icon"},tO=["src"],nO=["for"],oO=["id","onUpdate:modelValue"],sO={class:"text-info item-memo"},iO=["onClick"],rO={class:"ce-custom-urls-list"},aO={class:"ce-custom-urls-actions"},lO=["disabled"],uO=Te({__name:"SearchUrls",async setup(e){let t,n;const o=ne(([t,n]=Ht(()=>Xr()),t=await t,n(),t)),s=ne(([t,n]=Ht(()=>Ls(to.search)),t=await t,n(),t));At(async()=>{}),Xe(o,wt(async u=>{const p=[];u.forEach(m=>{m.enabled&&p.push(m.key);}),await Nv(p),le({icon:"success",title:"预置搜索菜单设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:!0});async function i(){const u=[];for(const p of s.value){if(!await r(p,u.length))return;if(u.includes(p.key)){le({icon:"error",title:`第 ${u.length+1} 个记录的「唯一标识: ${p.key}」重复!`});return}u.push(p.key);}await cp(to.search,s.value),le({icon:"success",title:"保存成功!"});}async function r(u,p){const m=/^\w+$/;return u.key=u.key.trim(),m.test(u.key)?(u.label=u.label.trim(),u.label===""?(le({icon:"error",title:`第 ${p+1} 个记录的「显示名称」不能为空!`}),!1):(u.url=u.url.trim(),u.url===""?(le({icon:"error",title:`第 ${p+1} 个记录的「链接」不能为空!`}),!1):(u.icon=u.icon.trim(),u.memo=u.memo.trim(),!0))):(le({icon:"error",title:`第 ${p+1} 个记录的「唯一标识」错误!只能包含字母、数字、下划线。`}),!1)}async function a(){s.value.push(Pt({key:Wr()}));}async function l(u,p){const{isConfirmed:m}=await ae.fire({icon:"warning",html:`确定要删除第 ${p+1} 个记录「${u.label}」吗?`});m&&(s.value.splice(p,1),await i(),le({icon:"success",title:`「${u.label}」已删除!`}));}async function c(u){const p=JSON.stringify(u,null,2),m=`ce-url-item-denifition-${u.key}`,{isConfirmed:w}=await ae.fire({title:`「${u.label}」的定义`,html:`<h3>${u.memo}</h3>
      <pre id="${m}" style="text-align:left;font-size:12px;"></pre>`,confirmButtonText:"复制",showCancelButton:!0,position:"top-left",heightAuto:!0,didOpen:()=>{document.getElementById(m).textContent=p;}});w&&(navigator.clipboard.writeText(p),le({icon:"success",title:"已复制到剪贴板!"}));}return (u,p)=>(S(),I("div",Q5,[d("h1",null,[p[0]||(p[0]=L("预置搜索菜单 ")),oe(d("small",null,"( "+K(o.value.length)+" )",513),[[Gt,o.value.length]])]),d("div",X5,[d("form",Z5,[d("fieldset",null,[(S(!0),I(Le,null,Je(o.value,(m,w)=>(S(),I("div",{key:w,class:"pure-control-group"},[m.icon?(S(),I("span",eO,[d("img",{src:m.icon,referrerpolicy:"no-referrer",width:"25"},null,8,tO)])):be("",!0),d("label",{for:`builtin_${m.key}`},K(m.label),9,nO),oe(d("input",{id:`builtin_${m.key}`,type:"checkbox","onUpdate:modelValue":b=>m.enabled=b},null,8,oO),[[Ae,m.enabled]]),p[1]||(p[1]=L("      ")),d("span",sO,K(m.memo),1),p[2]||(p[2]=L("      ")),d("button",{type:"button",class:"pure-button button-small",onClick:b=>c(m)},"查看定义",8,iO)]))),128))])])]),d("h1",null,[p[3]||(p[3]=L("自定义搜索菜单 ")),oe(d("small",null,"( "+K(s.value.length)+" )",513),[[Gt,s.value.length]])]),d("div",rO,[(S(!0),I(Le,null,Je(s.value,(m,w)=>(S(),it(ug,{key:w,item:m,index:w,onDelete:b=>l(m,w)},null,8,["item","index","onDelete"]))),128))]),d("div",aO,[d("button",{type:"button",class:"pure-button pure-button-primary button-large",onClick:i,disabled:!s.value.length}," 保存自定义搜索菜单 ",8,lO),p[4]||(p[4]=L("      ")),d("button",{type:"button",class:"pure-button pure-button-success button-large",onClick:a}," + 添加自定义搜索菜单 ")])]))}}),cO=Re(uO,[["__file","SearchUrls.vue"]]),dO={class:"ce-config ce-play-urls ce-custom-urls"},fO={class:"pure-form pure-form-aligned"},pO=["value"],hO={class:"ce-menu-urls-builtin"},mO={class:"pure-form pure-form-aligned"},gO={key:0,class:"item-icon"},yO=["src"],wO=["for"],bO=["id","onUpdate:modelValue"],vO={class:"text-info item-memo"},CO=["onClick"],_O=["innerHTML"],xO={class:"ce-custom-urls-list"},kO={class:"ce-custom-urls-actions"},SO=["disabled"],$O=Te({__name:"PlayUrls",async setup(e){let t,n;const o=ne(([t,n]=Ht(()=>pp()),t=await t,n(),t)),s=ne(([t,n]=Ht(()=>Ls(to.play)),t=await t,n(),t)),i=([t,n]=Ht(()=>bt()),t=await t,n(),t),r=ne(i.defaultPlayer||""),a=rt(()=>[...o.value.filter(w=>w.enabled),...s.value.filter(w=>w.enabled)]);At(async()=>{}),Xe(o,wt(async w=>{const b=[];w.forEach(C=>{C.enabled&&b.push(C.key);}),await Uv(b),le({icon:"success",title:"预置搜索菜单设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:!0}),Xe(r,wt(async w=>{const b=await bt();b.defaultPlayer=w,await _p(b),le({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},250));async function l(){const w=[];for(const b of s.value){if(!await c(b,w.length))return;if(w.includes(b.key)){le({icon:"error",title:`第 ${w.length+1} 个记录的「唯一标识: ${b.key}」重复!`});return}w.push(b.key);}await cp(to.play,s.value),le({icon:"success",title:"保存成功!"});}async function c(w,b){const C=/^\w+$/;return w.key=w.key.trim(),C.test(w.key)?(w.label=w.label.trim(),w.label===""?(le({icon:"error",title:`第 ${b+1} 个记录的「显示名称」不能为空!`}),!1):(w.url=w.url.trim(),w.url===""?(le({icon:"error",title:`第 ${b+1} 个记录的「链接」不能为空!`}),!1):(w.icon=w.icon.trim(),w.memo=w.memo.trim(),!0))):(le({icon:"error",title:`第 ${b+1} 个记录的「唯一标识」错误!只能包含字母、数字、下划线。`}),!1)}async function u(){s.value.push(Pt({key:Wr()}));}async function p(w,b){const{isConfirmed:C}=await ae.fire({icon:"warning",html:`确定要删除第 ${b+1} 个记录「${w.label}」吗?`});C&&(s.value.splice(b,1),await l(),le({icon:"success",title:`「${w.label}」已删除!`}));}async function m(w){const b=JSON.stringify(w,null,2),C=`ce-url-item-denifition-${w.key}`,{isConfirmed:F}=await ae.fire({title:`「${w.label}」的定义`,html:`<h3>${w.memo}</h3>
      <pre id="${C}" style="text-align:left;font-size:12px;"></pre>`,confirmButtonText:"复制",showCancelButton:!0,position:"top-left",heightAuto:!0,didOpen:()=>{document.getElementById(C).innerText=b;}});F&&(navigator.clipboard.writeText(b),le({icon:"success",title:"已复制到剪贴板!"}));}return (w,b)=>(S(),I("div",dO,[d("form",fO,[d("fieldset",null,[b[1]||(b[1]=d("span",{class:"ce-label ce-label-primary"},"默认播放菜单: ",-1)),b[2]||(b[2]=L("   ")),oe(d("select",{"onUpdate:modelValue":b[0]||(b[0]=C=>r.value=C)},[(S(!0),I(Le,null,Je(a.value,(C,F)=>(S(),I("option",{key:F,value:C.key},K(C.label),9,pO))),128))],512),[[Tn,r.value]])])]),d("h1",null,[b[3]||(b[3]=L("预置播放菜单 ")),oe(d("small",null,"( "+K(o.value.length)+" )",513),[[Gt,o.value.length]])]),b[8]||(b[8]=d("div",{class:"ce-tips"},[d("p",null,[L("支持常见的视频、音频和图片格式,也支持目录播放。预置播放菜单使用的链接变量是 "),d("b",null,"{clouddrive_stream_url}"),L(" , 会根据文件或目录自动使用相应的链接。")]),d("p",null,"播放功能依赖CloudDrive,请先在「CloudDrive」设置面板中进行配置。")],-1)),d("div",hO,[d("form",mO,[d("fieldset",null,[(S(!0),I(Le,null,Je(o.value,(C,F)=>(S(),I("div",{key:F,class:"pure-control-group"},[C.icon?(S(),I("span",gO,[d("img",{src:C.icon,referrerpolicy:"no-referrer",width:"25"},null,8,yO)])):be("",!0),d("label",{for:`builtin_${C.key}`},K(C.label),9,wO),oe(d("input",{id:`builtin_${C.key}`,type:"checkbox","onUpdate:modelValue":O=>C.enabled=O},null,8,bO),[[Ae,C.enabled]]),b[4]||(b[4]=L("      ")),d("span",vO,K(C.memo),1),b[5]||(b[5]=L("      ")),d("button",{type:"button",class:"pure-button button-small",onClick:O=>m(C)},"查看定义",8,CO),C.extraMemo?(S(),I("span",{key:1,innerHTML:C.extraMemo,class:"extra-memo"},null,8,_O)):be("",!0)]))),128))])])]),d("h1",null,[b[6]||(b[6]=L("自定义播放菜单 ")),oe(d("small",null,"( "+K(s.value.length)+" )",513),[[Gt,s.value.length]])]),d("div",xO,[(S(!0),I(Le,null,Je(s.value,(C,F)=>(S(),it(ug,{key:F,item:C,index:F,onDelete:O=>p(C,F)},null,8,["item","index","onDelete"]))),128))]),b[9]||(b[9]=d("div",{class:"ce-tips"}," 编辑后,请记得点击「保存自定义播放菜单」。 ",-1)),d("div",kO,[d("button",{type:"button",class:"pure-button pure-button-primary button-large",onClick:l,disabled:!s.value.length}," 保存自定义播放菜单 ",8,SO),b[7]||(b[7]=L("      ")),d("button",{type:"button",class:"pure-button pure-button-success button-large",onClick:u}," + 添加自定义播放菜单 ")])]))}}),EO=Re($O,[["__file","PlayUrls.vue"]]),PO={class:"ce-config ce-anxia-config"},AO={class:"pure-form pure-form-aligned"},IO={class:"pure-control-group"},DO={class:"pure-control-group"},TO={class:"pure-control-group"},OO=["value"],MO=Te({__name:"Config",async setup(e){let t,n;const o=ne(([t,n]=Ht(()=>Xf()),t=await t,n(),t));return At(async()=>{}),Xe(o,wt(async s=>{await Gb(s),le({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:mt.listConfigChange,body:JSON.parse(JSON.stringify(s))});},500),{deep:!0}),(s,i)=>(S(),I("div",PO,[d("form",AO,[d("fieldset",null,[d("div",IO,[i[3]||(i[3]=d("label",{for:"defaultWebFull"},"自动网页全屏",-1)),oe(d("input",{id:"defaultWebFull",type:"checkbox","onUpdate:modelValue":i[0]||(i[0]=r=>o.value.defaultWebFull=r)},null,512),[[Ae,o.value.defaultWebFull]]),i[4]||(i[4]=d("div",{class:"pure-form-message text-success"},[d("div",null,"进入播放页后自动使播放器网页全屏。")],-1))]),d("div",DO,[i[5]||(i[5]=d("label",{for:"defaultOpenPlayList"},"自动展开播放列表",-1)),oe(d("input",{id:"defaultOpenPlayList",type:"checkbox","onUpdate:modelValue":i[1]||(i[1]=r=>o.value.defaultOpenPlayList=r)},null,512),[[Ae,o.value.defaultOpenPlayList]]),i[6]||(i[6]=d("div",{class:"pure-form-message text-success"},[d("div",null,"进入播放页后自动展开播放列表。")],-1))]),d("div",TO,[i[8]||(i[8]=d("label",{for:"defaultDefinition"},"默认清晰度",-1)),oe(d("select",{id:"defaultDefinition","onUpdate:modelValue":i[2]||(i[2]=r=>o.value.defaultDefinition=r)},[i[7]||(i[7]=d("option",{value:""},"官方默认",-1)),(S(!0),I(Le,null,Je(re(Qf),(r,a)=>(S(),I("option",{key:a,value:a},K(r),9,OO))),128))],512),[[Tn,o.value.defaultDefinition]]),i[9]||(i[9]=d("div",{class:"pure-form-message text-success"},[d("div",{class:"text-warning"},"如果没有该清晰度,则会使用官方默认。")],-1))])])])]))}}),LO=Re(MO,[["__file","Config.vue"]]),cg=gt.share;function BO(e){return {autoConfirmPassword:!0,pageWidth:"",showListSummary:!0,freshMode:!1,...e}}async function dg(){const e=BO(),t=await tt.get(cg,e);return {...e,...t}}async function RO(e){await tt.set(cg,e);}function FO(e,t=!0,n=!1){const o=Ff();let s=e.match(/((115|115cdn|anxia)\.com(\/s)?\/)?([a-z\d]{6,})(\?password=(\w{4,}))?/);if(!s)throw new Error("无法解析分享链接");const i=!!s[1];if(!i&&!n)throw new Error("无法解析分享链接: 缺少有效的域名或访问码");if(o.share_code=s[4],s[5])return o.receive_code=s[6],o;if(s=e.match(/(\?|&)password=(\w{4,})/),s&&(o.receive_code=s[2]),!o.receive_code&&t&&(s=e.match(/访问码(:|:)\s*(\w{4,})/),s&&(o.receive_code=s[2])),!i&&!o.receive_code)throw new Error("分享链接缺少访问码");return o}function NO(e){const t=Ff(),n=e.match(/\/([a-z\d]{6,})(?:-(\w{4,}))?\//);if(!n)throw new Error("无法解析口令");return t.share_code=n[1],n[2]&&(t.receive_code=n[2]),t}function UO(e,t=!0,n=!1){try{return FO(e,t,n)}catch{}try{return NO(e)}catch{}throw new Error("无法解析分享链接或口令")}function jO(e,t=!0,n=!1){const o=[],s=e.split(`
`).map(r=>r.trim()).filter(r=>r);for(const r of s)try{const a=UO(r,t,n);o.push(a);}catch{}const i={};for(const r of o)r.share_code&&!i[r.share_code]&&(i[r.share_code]=r);return Object.values(i)}function HO(e){const{share_code:t,receive_code:n}=e;if(!t)throw new Error("分享链接缺少 share_code");let o=`https://115.com/s/${t}`;return n&&(o+=`?password=${n}`),o}const VO={class:"ce-tools-item ce-share-tool"},zO={class:"pure-form pure-form-aligned"},qO={class:"pure-control-group"},WO={key:0,style:{padding:"4px 0"}},KO={style:{width:"auto"}},GO={key:0,style:{padding:"6px","max-height":"300px","overflow-y":"auto",border:"1px solid #ccc"}},JO=Te({__name:"ShareTool",setup(e){const n=ne(!1),o=ne(""),s=ne(null),i=ne([]);return At(async()=>{}),Vt(async()=>{}),Xe(o,wt(r=>{if(i.value=[],r=r.trim(),!!r)try{if(i.value=jO(r,!0,!0),console.log("[parseBatch]",i.value),!i.value.length)throw new Error("未找到有效的分享链接或口令");n.value;for(const a of i.value){const l=HO(a);wr(l,{active:!0});}o.value="";}catch(a){console.error(a),fs.fire({icon:"error",title:`解析分享内容失败:${a instanceof Error?a.message:String(a)}`}),s.value&&s.value.select();}},300),{immediate:!0}),(r,a)=>(S(),I("div",VO,[d("form",zO,[d("fieldset",null,[a[5]||(a[5]=d("legend",null,"分享工具",-1)),d("div",qO,[a[4]||(a[4]=d("div",null,[d("b",null,"打开分享详情"),L(" - 粘贴分享内容,自动打开分享详情页面,支持链接和口令,支持多个")],-1)),oe(d("textarea",{ref_key:"refShareText",ref:s,rows:"2","onUpdate:modelValue":a[0]||(a[0]=l=>o.value=l),placeholder:"请粘贴分享内容",style:{width:"80%"},onclick:"this.select()"},null,512),[[We,o.value]]),re(!0)?be("",!0):(S(),I("div",WO,[d("label",KO,[oe(d("input",{type:"checkbox","onUpdate:modelValue":a[1]||(a[1]=l=>n.value=l)},null,512),[[Ae,n.value]]),a[3]||(a[3]=L(" 调试模式"))]),d("button",{type:"button",onClick:a[2]||(a[2]=l=>o.value="")},"清空"),i.value&&i.value.length?(S(),I("div",GO,[d("pre",null,K(i.value),1)])):be("",!0)]))])])])]))}}),YO=Re(JO,[["__file","ShareTool.vue"]]),QO={class:"ce-config ce-share-config"},XO={class:"pure-form pure-form-aligned"},ZO={class:"pure-control-group"},eM={class:"pure-control-group"},tM={class:"pure-control-group"},nM={class:"pure-control-group"},oM=Te({__name:"Config",async setup(e){let t,n;const o=ne(([t,n]=Ht(()=>dg()),t=await t,n(),t));return At(async()=>{}),Xe(o,wt(async s=>{await RO(s),le({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:mt.shareConfigChange,body:JSON.parse(JSON.stringify(s))});},500),{deep:!0}),(s,i)=>(S(),I("div",QO,[me(YO),d("form",XO,[d("fieldset",null,[i[12]||(i[12]=d("legend",null,"分享设置",-1)),d("div",ZO,[i[4]||(i[4]=d("label",{for:"autoAccess"},"自动确定访问码",-1)),oe(d("input",{id:"autoAccess",type:"checkbox","onUpdate:modelValue":i[0]||(i[0]=r=>o.value.autoConfirmPassword=r)},null,512),[[Ae,o.value.autoConfirmPassword]]),i[5]||(i[5]=d("div",{class:"pure-form-message text-success"}," 如果打开页面时已有访问码,则自动确定进入分享详情。 ",-1))]),d("div",eM,[i[6]||(i[6]=d("label",{for:"pageWidth"},"页面宽度",-1)),oe(d("input",{id:"pageWidth",class:"input-small","onUpdate:modelValue":i[1]||(i[1]=r=>o.value.pageWidth=r)},null,512),[[We,o.value.pageWidth]]),i[7]||(i[7]=d("div",{class:"pure-form-message text-success"},[L(" 默认为空。支持 1000px、100%、90vw 等有效的 "),d("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/CSS/width",target:"_blank",rel:"noreferrer noopener"},"css width数值 🔗"),L("。 ")],-1))]),d("div",tM,[i[8]||(i[8]=d("label",{for:"showListSummary"},"显示列表概要",-1)),oe(d("input",{id:"showListSummary",type:"checkbox","onUpdate:modelValue":i[2]||(i[2]=r=>o.value.showListSummary=r)},null,512),[[Ae,o.value.showListSummary]]),i[9]||(i[9]=d("div",{class:"pure-form-message text-success"}," 在列表`名称`列头部显示当前列表的概要信息,如文件数量、文件合计大小、目录数量等。 ",-1))]),d("div",nM,[i[10]||(i[10]=d("label",{for:"freshMode"},"清爽模式",-1)),oe(d("input",{id:"freshMode",type:"checkbox","onUpdate:modelValue":i[3]||(i[3]=r=>o.value.freshMode=r)},null,512),[[Ae,o.value.freshMode]]),i[11]||(i[11]=d("div",{class:"pure-form-message text-success"},[L(" 隐藏顶部广告和底部警告。"),d("span",{class:"text-warning"},"请注意,这些区域的内容可能会发生变化,隐藏后可能会使你错过相关信息,比如新活动等。")],-1))])])])]))}}),sM=Re(oM,[["__file","Config.vue"]]);var iM={name:"115不大助手",version:"0.7.75",author:{name:"生瓜太保",email:"[email protected]"},greasyforkUrl:"http://greasyfork.icu/zh-CN/scripts/474231-115%E4%B8%8D%E5%A4%A7%E5%8A%A9%E6%89%8B-full?locale_override=1"};const rM=Te({__name:"FeedbackButton",setup(e){const t=iM,n=Gw;function o(){let i=`脚本: ${t.name} - v${t.version}
`;return i+=`TM: ${n.version}
`,i+=`UA: ${navigator.userAgent}
`,i+=`我在使用脚本的 xxxxxx 功能时,出现了问题,希望你能帮我解决。
`,i+=`复现步骤: xxxxxx
`,i+=`问题截图: 
`,i}function s(){let i=o();yt(i),le({icon:"success",text:"已复制反馈模版,请添加详细的描述以便排查和解决问题。"});}return (i,r)=>(S(),I("button",{type:"button",class:"pure-button pure-button-success",onClick:s}," 复制反馈模版 "))}}),aM=Re(rM,[["__file","FeedbackButton.vue"]]);var lM={name:"115不大助手",version:"0.7.75",author:{name:"生瓜太保",email:"[email protected]"},greasyforkUrl:"http://greasyfork.icu/zh-CN/scripts/474231-115%E4%B8%8D%E5%A4%A7%E5%8A%A9%E6%89%8B-full?locale_override=1"};const uM={class:"ce-about"},cM=["href"],dM=Te({__name:"About",setup(e){const t=lM;return (n,o)=>(S(),I("div",uM,[o[1]||(o[1]=d("p",null,"115不大助手(以下简称「脚本」),是一个仅用于学习编程的小脚本。",-1)),o[2]||(o[2]=d("br",null,null,-1)),o[3]||(o[3]=d("p",null,"脚本不会收集您的任何个人信息。",-1)),o[4]||(o[4]=d("p",null,"脚本仅借助了官方已有的功能,无任何破解行为。",-1)),o[5]||(o[5]=d("p",null,"脚本代码本身已包含全部依赖,无任何远程引用。",-1)),o[6]||(o[6]=d("br",null,null,-1)),o[7]||(o[7]=d("br",null,null,-1)),o[8]||(o[8]=d("br",null,null,-1)),d("div",null,[me(aM)]),o[9]||(o[9]=d("br",null,null,-1)),o[10]||(o[10]=d("hr",{class:"ce-hr"},null,-1)),d("div",null,[d("a",{href:re(t).greasyforkUrl,class:"text-bold text-primary",target:"_blank",rel:"noreferrer noopener",title:"到Greasyfork查看"},[L(K(re(t).name)+" ",1),d("small",null,"v"+K(re(t).version),1)],8,cM),o[0]||(o[0]=L("  ")),d("small",null,"by "+K(re(t).author.name),1)])]))}}),fM=Re(dM,[["__file","About.vue"]]);var pM={name:"115不大助手",version:"0.7.75",author:{name:"生瓜太保",email:"[email protected]"},greasyforkUrl:"http://greasyfork.icu/zh-CN/scripts/474231-115%E4%B8%8D%E5%A4%A7%E5%8A%A9%E6%89%8B-full?locale_override=1"};const hM={class:"ce-config-main"},mM={class:"ce-config-main-header"},gM={class:"ce-intro"},yM=["href"],wM={class:"ce-config-main-body"},bM=Te({__name:"Config",setup(e){const t=pM,n=ne(!1),o=ne(!1),s=ne();Vt(async()=>{window.addEventListener("message",c=>{const{event:u,body:p}=c.data;u===mt.openConfig&&(n.value||(n.value=!0),i(p)),u===mt.closeConfig&&r();},!1);});async function i(c){var u;o.value=!0,console.log("[openDrawer]",c),c&&(await Yo(),(u=s.value)==null||u.selectTab(`#${c}`));}async function r(){o.value=!1;}async function a(...c){console.log("[tabClicked]",c);}async function l(...c){console.log("[tabChanged]",c);}return (c,u)=>(S(),it(bh,null,{default:xe(()=>[d("div",hM,[me(Pi,{"is-open":o.value,onClose:r,"max-width":"1225px",speed:500},{default:xe(()=>[d("div",mM,[u[1]||(u[1]=d("h1",null,"设置",-1)),d("span",gM,[d("a",{href:re(t).greasyforkUrl,class:"text-bold text-primary",target:"_blank",rel:"noreferrer noopener",title:"到Greasyfork查看"},[L(K(re(t).name)+" ",1),d("small",null,"v"+K(re(t).version),1)],8,yM),u[0]||(u[0]=L("  ")),d("small",null,"by "+K(re(t).author.name),1)]),d("div",{class:"ce-config-main-close",onClick:r},"关闭")]),d("div",wM,[me(re(hI),{ref_key:"refTabs",ref:s,options:{useUrlFragment:!1},onClicked:a,onChanged:l},{default:xe(()=>[me(re(hn),{id:re(Ct).basic,name:re(pn).basic},{default:xe(()=>[me(RI)]),_:1},8,["id","name"]),me(re(hn),{id:re(Ct).clouddrive,name:re(pn).clouddrive},{default:xe(()=>[me(eD)]),_:1},8,["id","name"]),me(re(hn),{id:re(Ct).list,name:re(pn).list},{default:xe(()=>[me(xD)]),_:1},8,["id","name"]),me(re(hn),{id:re(Ct).search,name:re(pn).search},{default:xe(()=>[me(TD)]),_:1},8,["id","name"]),me(re(hn),{id:re(Ct).menus,name:re(pn).menus},{default:xe(()=>[me(B5)]),_:1},8,["id","name"]),me(re(hn),{id:re(Ct).searchMenus,name:re(pn).searchMenus},{default:xe(()=>[me(cO)]),_:1},8,["id","name"]),me(re(hn),{id:re(Ct).playMenus,name:re(pn).playMenus},{default:xe(()=>[me(EO)]),_:1},8,["id","name"]),me(re(hn),{id:re(Ct).offline,name:re(pn).offline},{default:xe(()=>[me(pm)]),_:1},8,["id","name"]),me(re(hn),{id:re(Ct).tools,name:re(pn).tools},{default:xe(()=>[me(vT)]),_:1},8,["id","name"]),me(re(hn),{id:re(Ct).anxia,name:re(pn).anxia},{default:xe(()=>[me(LO)]),_:1},8,["id","name"]),me(re(hn),{id:re(Ct).share,name:re(pn).share},{default:xe(()=>[me(sM)]),_:1},8,["id","name"]),me(re(hn),{id:re(Ct).about,name:re(pn).about},{default:xe(()=>[me(fM)]),_:1},8,["id","name"])]),_:1},512)])]),_:1},8,["is-open"])])]),_:1}))}}),vM=Re(bM,[["__file","Config.vue"]]);async function CM(){const{host:e}=location;["115.com","anxia.com","115cdn.com","share.115.com"].includes(e)&&window.top===window.self&&(console.log(`[Cloud115 Enhancer - main] running in ${e}`),_M(),l5(),a5());}async function _M(){console.log("[Cloud115 Enhancer - main] injectUI");const e="cloud115ConfigMain",t=document.createElement("div");t.id=e,document.body.appendChild(t);const n=Gn(vM);n.component("VDropdown",Fs),n.directive("tooltip",Z_),n.mount(`#${e}`),oi("设置",async()=>{window.postMessage({event:mt.openConfig});}),oi("扫码获取Cookie",async()=>{window.postMessage({event:mt.openConfig,body:Ct.tools});}),oi("解析分享文本",async()=>{window.postMessage({event:mt.openConfig,body:Ct.share});}),c5();}function no(e){return Array.isArray?Array.isArray(e):hg(e)==="[object Array]"}const xM=1/0;function kM(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-xM?"-0":t}function SM(e){return e==null?"":kM(e)}function Nn(e){return typeof e=="string"}function fg(e){return typeof e=="number"}function $M(e){return e===!0||e===!1||EM(e)&&hg(e)=="[object Boolean]"}function pg(e){return typeof e=="object"}function EM(e){return pg(e)&&e!==null}function dn(e){return e!=null}function al(e){return !e.trim().length}function hg(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const PM="Incorrect 'index' type",AM=e=>`Invalid value for key ${e}`,IM=e=>`Pattern length exceeds max of ${e}.`,DM=e=>`Missing ${e} property in key`,TM=e=>`Property 'weight' in key '${e}' must be a positive integer`,Sf=Object.prototype.hasOwnProperty;class OM{constructor(t){this._keys=[],this._keyMap={};let n=0;t.forEach(o=>{let s=mg(o);this._keys.push(s),this._keyMap[s.id]=s,n+=s.weight;}),this._keys.forEach(o=>{o.weight/=n;});}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function mg(e){let t=null,n=null,o=null,s=1,i=null;if(Nn(e)||no(e))o=e,t=$f(e),n=Gl(e);else {if(!Sf.call(e,"name"))throw new Error(DM("name"));const r=e.name;if(o=r,Sf.call(e,"weight")&&(s=e.weight,s<=0))throw new Error(TM(r));t=$f(r),n=Gl(r),i=e.getFn;}return {path:t,id:n,weight:s,src:o,getFn:i}}function $f(e){return no(e)?e:e.split(".")}function Gl(e){return no(e)?e.join("."):e}function MM(e,t){let n=[],o=!1;const s=(i,r,a)=>{if(dn(i))if(!r[a])n.push(i);else {let l=r[a];const c=i[l];if(!dn(c))return;if(a===r.length-1&&(Nn(c)||fg(c)||$M(c)))n.push(SM(c));else if(no(c)){o=!0;for(let u=0,p=c.length;u<p;u+=1)s(c[u],r,a+1);}else r.length&&s(c,r,a+1);}};return s(e,Nn(t)?t.split("."):t,0),o?n:n[0]}const LM={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},BM={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},RM={location:0,threshold:.6,distance:100},FM={useExtendedSearch:!1,getFn:MM,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1};var He={...BM,...LM,...RM,...FM};const NM=/[^ ]+/g;function UM(e=1,t=3){const n=new Map,o=Math.pow(10,t);return {get(s){const i=s.match(NM).length;if(n.has(i))return n.get(i);const r=1/Math.pow(i,.5*e),a=parseFloat(Math.round(r*o)/o);return n.set(i,a),a},clear(){n.clear();}}}class rc{constructor({getFn:t=He.getFn,fieldNormWeight:n=He.fieldNormWeight}={}){this.norm=UM(n,3),this.getFn=t,this.isCreated=!1,this.setIndexRecords();}setSources(t=[]){this.docs=t;}setIndexRecords(t=[]){this.records=t;}setKeys(t=[]){this.keys=t,this._keysMap={},t.forEach((n,o)=>{this._keysMap[n.id]=o;});}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,Nn(this.docs[0])?this.docs.forEach((t,n)=>{this._addString(t,n);}):this.docs.forEach((t,n)=>{this._addObject(t,n);}),this.norm.clear());}add(t){const n=this.size();Nn(t)?this._addString(t,n):this._addObject(t,n);}removeAt(t){this.records.splice(t,1);for(let n=t,o=this.size();n<o;n+=1)this.records[n].i-=1;}getValueForItemAtKeyId(t,n){return t[this._keysMap[n]]}size(){return this.records.length}_addString(t,n){if(!dn(t)||al(t))return;let o={v:t,i:n,n:this.norm.get(t)};this.records.push(o);}_addObject(t,n){let o={i:n,$:{}};this.keys.forEach((s,i)=>{let r=s.getFn?s.getFn(t):this.getFn(t,s.path);if(dn(r)){if(no(r)){let a=[];const l=[{nestedArrIndex:-1,value:r}];for(;l.length;){const{nestedArrIndex:c,value:u}=l.pop();if(dn(u))if(Nn(u)&&!al(u)){let p={v:u,i:c,n:this.norm.get(u)};a.push(p);}else no(u)&&u.forEach((p,m)=>{l.push({nestedArrIndex:m,value:p});});}o.$[i]=a;}else if(Nn(r)&&!al(r)){let a={v:r,n:this.norm.get(r)};o.$[i]=a;}}}),this.records.push(o);}toJSON(){return {keys:this.keys,records:this.records}}}function gg(e,t,{getFn:n=He.getFn,fieldNormWeight:o=He.fieldNormWeight}={}){const s=new rc({getFn:n,fieldNormWeight:o});return s.setKeys(e.map(mg)),s.setSources(t),s.create(),s}function jM(e,{getFn:t=He.getFn,fieldNormWeight:n=He.fieldNormWeight}={}){const{keys:o,records:s}=e,i=new rc({getFn:t,fieldNormWeight:n});return i.setKeys(o),i.setIndexRecords(s),i}function lr(e,{errors:t=0,currentLocation:n=0,expectedLocation:o=0,distance:s=He.distance,ignoreLocation:i=He.ignoreLocation}={}){const r=t/e.length;if(i)return r;const a=Math.abs(o-n);return s?r+a/s:a?1:r}function HM(e=[],t=He.minMatchCharLength){let n=[],o=-1,s=-1,i=0;for(let r=e.length;i<r;i+=1){let a=e[i];a&&o===-1?o=i:!a&&o!==-1&&(s=i-1,s-o+1>=t&&n.push([o,s]),o=-1);}return e[i-1]&&i-o>=t&&n.push([o,i-1]),n}const jo=32;function VM(e,t,n,{location:o=He.location,distance:s=He.distance,threshold:i=He.threshold,findAllMatches:r=He.findAllMatches,minMatchCharLength:a=He.minMatchCharLength,includeMatches:l=He.includeMatches,ignoreLocation:c=He.ignoreLocation}={}){if(t.length>jo)throw new Error(IM(jo));const u=t.length,p=e.length,m=Math.max(0,Math.min(o,p));let w=i,b=m;const C=a>1||l,F=C?Array(p):[];let O;for(;(O=e.indexOf(t,b))>-1;){let G=lr(t,{currentLocation:O,expectedLocation:m,distance:s,ignoreLocation:c});if(w=Math.min(G,w),b=O+u,C){let ge=0;for(;ge<u;)F[O+ge]=1,ge+=1;}}b=-1;let R=[],T=1,D=u+p;const N=1<<u-1;for(let G=0;G<u;G+=1){let ge=0,we=D;for(;ge<we;)lr(t,{errors:G,currentLocation:m+we,expectedLocation:m,distance:s,ignoreLocation:c})<=w?ge=we:D=we,we=Math.floor((D-ge)/2+ge);D=we;let ce=Math.max(1,m-we+1),H=r?p:Math.min(m+we,p)+u,j=Array(H+2);j[H+1]=(1<<G)-1;for(let de=H;de>=ce;de-=1){let Ce=de-1,Se=n[e.charAt(Ce)];if(C&&(F[Ce]=+!!Se),j[de]=(j[de+1]<<1|1)&Se,G&&(j[de]|=(R[de+1]|R[de])<<1|1|R[de+1]),j[de]&N&&(T=lr(t,{errors:G,currentLocation:Ce,expectedLocation:m,distance:s,ignoreLocation:c}),T<=w)){if(w=T,b=Ce,b<=m)break;ce=Math.max(1,2*m-b);}}if(lr(t,{errors:G+1,currentLocation:m,expectedLocation:m,distance:s,ignoreLocation:c})>w)break;R=j;}const z={isMatch:b>=0,score:Math.max(.001,T)};if(C){const G=HM(F,a);G.length?l&&(z.indices=G):z.isMatch=!1;}return z}function zM(e){let t={};for(let n=0,o=e.length;n<o;n+=1){const s=e.charAt(n);t[s]=(t[s]||0)|1<<o-n-1;}return t}class yg{constructor(t,{location:n=He.location,threshold:o=He.threshold,distance:s=He.distance,includeMatches:i=He.includeMatches,findAllMatches:r=He.findAllMatches,minMatchCharLength:a=He.minMatchCharLength,isCaseSensitive:l=He.isCaseSensitive,ignoreLocation:c=He.ignoreLocation}={}){if(this.options={location:n,threshold:o,distance:s,includeMatches:i,findAllMatches:r,minMatchCharLength:a,isCaseSensitive:l,ignoreLocation:c},this.pattern=l?t:t.toLowerCase(),this.chunks=[],!this.pattern.length)return;const u=(m,w)=>{this.chunks.push({pattern:m,alphabet:zM(m),startIndex:w});},p=this.pattern.length;if(p>jo){let m=0;const w=p%jo,b=p-w;for(;m<b;)u(this.pattern.substr(m,jo),m),m+=jo;if(w){const C=p-jo;u(this.pattern.substr(C),C);}}else u(this.pattern,0);}searchIn(t){const{isCaseSensitive:n,includeMatches:o}=this.options;if(n||(t=t.toLowerCase()),this.pattern===t){let b={isMatch:!0,score:0};return o&&(b.indices=[[0,t.length-1]]),b}const{location:s,distance:i,threshold:r,findAllMatches:a,minMatchCharLength:l,ignoreLocation:c}=this.options;let u=[],p=0,m=!1;this.chunks.forEach(({pattern:b,alphabet:C,startIndex:F})=>{const{isMatch:O,score:R,indices:T}=VM(t,b,C,{location:s+F,distance:i,threshold:r,findAllMatches:a,minMatchCharLength:l,includeMatches:o,ignoreLocation:c});O&&(m=!0),p+=R,O&&T&&(u=[...u,...T]);});let w={isMatch:m,score:m?p/this.chunks.length:1};return m&&o&&(w.indices=u),w}}class To{constructor(t){this.pattern=t;}static isMultiMatch(t){return Ef(t,this.multiRegex)}static isSingleMatch(t){return Ef(t,this.singleRegex)}search(){}}function Ef(e,t){const n=e.match(t);return n?n[1]:null}class qM extends To{constructor(t){super(t);}static get type(){return "exact"}static get multiRegex(){return /^="(.*)"$/}static get singleRegex(){return /^=(.*)$/}search(t){const n=t===this.pattern;return {isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class WM extends To{constructor(t){super(t);}static get type(){return "inverse-exact"}static get multiRegex(){return /^!"(.*)"$/}static get singleRegex(){return /^!(.*)$/}search(t){const o=t.indexOf(this.pattern)===-1;return {isMatch:o,score:o?0:1,indices:[0,t.length-1]}}}class KM extends To{constructor(t){super(t);}static get type(){return "prefix-exact"}static get multiRegex(){return /^\^"(.*)"$/}static get singleRegex(){return /^\^(.*)$/}search(t){const n=t.startsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class GM extends To{constructor(t){super(t);}static get type(){return "inverse-prefix-exact"}static get multiRegex(){return /^!\^"(.*)"$/}static get singleRegex(){return /^!\^(.*)$/}search(t){const n=!t.startsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class JM extends To{constructor(t){super(t);}static get type(){return "suffix-exact"}static get multiRegex(){return /^"(.*)"\$$/}static get singleRegex(){return /^(.*)\$$/}search(t){const n=t.endsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[t.length-this.pattern.length,t.length-1]}}}class YM extends To{constructor(t){super(t);}static get type(){return "inverse-suffix-exact"}static get multiRegex(){return /^!"(.*)"\$$/}static get singleRegex(){return /^!(.*)\$$/}search(t){const n=!t.endsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class wg extends To{constructor(t,{location:n=He.location,threshold:o=He.threshold,distance:s=He.distance,includeMatches:i=He.includeMatches,findAllMatches:r=He.findAllMatches,minMatchCharLength:a=He.minMatchCharLength,isCaseSensitive:l=He.isCaseSensitive,ignoreLocation:c=He.ignoreLocation}={}){super(t),this._bitapSearch=new yg(t,{location:n,threshold:o,distance:s,includeMatches:i,findAllMatches:r,minMatchCharLength:a,isCaseSensitive:l,ignoreLocation:c});}static get type(){return "fuzzy"}static get multiRegex(){return /^"(.*)"$/}static get singleRegex(){return /^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class bg extends To{constructor(t){super(t);}static get type(){return "include"}static get multiRegex(){return /^'"(.*)"$/}static get singleRegex(){return /^'(.*)$/}search(t){let n=0,o;const s=[],i=this.pattern.length;for(;(o=t.indexOf(this.pattern,n))>-1;)n=o+i,s.push([o,n-1]);const r=!!s.length;return {isMatch:r,score:r?0:1,indices:s}}}const Jl=[qM,bg,KM,GM,YM,JM,WM,wg],Pf=Jl.length,QM=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,XM="|";function ZM(e,t={}){return e.split(XM).map(n=>{let o=n.trim().split(QM).filter(i=>i&&!!i.trim()),s=[];for(let i=0,r=o.length;i<r;i+=1){const a=o[i];let l=!1,c=-1;for(;!l&&++c<Pf;){const u=Jl[c];let p=u.isMultiMatch(a);p&&(s.push(new u(p,t)),l=!0);}if(!l)for(c=-1;++c<Pf;){const u=Jl[c];let p=u.isSingleMatch(a);if(p){s.push(new u(p,t));break}}}return s})}const eL=new Set([wg.type,bg.type]);class tL{constructor(t,{isCaseSensitive:n=He.isCaseSensitive,includeMatches:o=He.includeMatches,minMatchCharLength:s=He.minMatchCharLength,ignoreLocation:i=He.ignoreLocation,findAllMatches:r=He.findAllMatches,location:a=He.location,threshold:l=He.threshold,distance:c=He.distance}={}){this.query=null,this.options={isCaseSensitive:n,includeMatches:o,minMatchCharLength:s,findAllMatches:r,ignoreLocation:i,location:a,threshold:l,distance:c},this.pattern=n?t:t.toLowerCase(),this.query=ZM(this.pattern,this.options);}static condition(t,n){return n.useExtendedSearch}searchIn(t){const n=this.query;if(!n)return {isMatch:!1,score:1};const{includeMatches:o,isCaseSensitive:s}=this.options;t=s?t:t.toLowerCase();let i=0,r=[],a=0;for(let l=0,c=n.length;l<c;l+=1){const u=n[l];r.length=0,i=0;for(let p=0,m=u.length;p<m;p+=1){const w=u[p],{isMatch:b,indices:C,score:F}=w.search(t);if(b){if(i+=1,a+=F,o){const O=w.constructor.type;eL.has(O)?r=[...r,...C]:r.push(C);}}else {a=0,i=0,r.length=0;break}}if(i){let p={isMatch:!0,score:a/i};return o&&(p.indices=r),p}}return {isMatch:!1,score:1}}}const Yl=[];function nL(...e){Yl.push(...e);}function Ql(e,t){for(let n=0,o=Yl.length;n<o;n+=1){let s=Yl[n];if(s.condition(e,t))return new s(e,t)}return new yg(e,t)}const Ur={AND:"$and",OR:"$or"},Xl={PATH:"$path",PATTERN:"$val"},Zl=e=>!!(e[Ur.AND]||e[Ur.OR]),oL=e=>!!e[Xl.PATH],sL=e=>!no(e)&&pg(e)&&!Zl(e),Af=e=>({[Ur.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function vg(e,t,{auto:n=!0}={}){const o=s=>{let i=Object.keys(s);const r=oL(s);if(!r&&i.length>1&&!Zl(s))return o(Af(s));if(sL(s)){const l=r?s[Xl.PATH]:i[0],c=r?s[Xl.PATTERN]:s[l];if(!Nn(c))throw new Error(AM(l));const u={keyId:Gl(l),pattern:c};return n&&(u.searcher=Ql(c,t)),u}let a={children:[],operator:i[0]};return i.forEach(l=>{const c=s[l];no(c)&&c.forEach(u=>{a.children.push(o(u));});}),a};return Zl(e)||(e=Af(e)),o(e)}function iL(e,{ignoreFieldNorm:t=He.ignoreFieldNorm}){e.forEach(n=>{let o=1;n.matches.forEach(({key:s,norm:i,score:r})=>{const a=s?s.weight:null;o*=Math.pow(r===0&&a?Number.EPSILON:r,(a||1)*(t?1:i));}),n.score=o;});}function rL(e,t){const n=e.matches;t.matches=[],dn(n)&&n.forEach(o=>{if(!dn(o.indices)||!o.indices.length)return;const{indices:s,value:i}=o;let r={indices:s,value:i};o.key&&(r.key=o.key.src),o.idx>-1&&(r.refIndex=o.idx),t.matches.push(r);});}function aL(e,t){t.score=e.score;}function lL(e,t,{includeMatches:n=He.includeMatches,includeScore:o=He.includeScore}={}){const s=[];return n&&s.push(rL),o&&s.push(aL),e.map(i=>{const{idx:r}=i,a={item:t[r],refIndex:r};return s.length&&s.forEach(l=>{l(i,a);}),a})}class Hs{constructor(t,n={},o){this.options={...He,...n},this.options.useExtendedSearch,this._keyStore=new OM(this.options.keys),this.setCollection(t,o);}setCollection(t,n){if(this._docs=t,n&&!(n instanceof rc))throw new Error(PM);this._myIndex=n||gg(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight});}add(t){dn(t)&&(this._docs.push(t),this._myIndex.add(t));}remove(t=()=>!1){const n=[];for(let o=0,s=this._docs.length;o<s;o+=1){const i=this._docs[o];t(i,o)&&(this.removeAt(o),o-=1,s-=1,n.push(i));}return n}removeAt(t){this._docs.splice(t,1),this._myIndex.removeAt(t);}getIndex(){return this._myIndex}search(t,{limit:n=-1}={}){const{includeMatches:o,includeScore:s,shouldSort:i,sortFn:r,ignoreFieldNorm:a}=this.options;let l=Nn(t)?Nn(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return iL(l,{ignoreFieldNorm:a}),i&&l.sort(r),fg(n)&&n>-1&&(l=l.slice(0,n)),lL(l,this._docs,{includeMatches:o,includeScore:s})}_searchStringList(t){const n=Ql(t,this.options),{records:o}=this._myIndex,s=[];return o.forEach(({v:i,i:r,n:a})=>{if(!dn(i))return;const{isMatch:l,score:c,indices:u}=n.searchIn(i);l&&s.push({item:i,idx:r,matches:[{score:c,value:i,norm:a,indices:u}]});}),s}_searchLogical(t){const n=vg(t,this.options),o=(a,l,c)=>{if(!a.children){const{keyId:p,searcher:m}=a,w=this._findMatches({key:this._keyStore.get(p),value:this._myIndex.getValueForItemAtKeyId(l,p),searcher:m});return w&&w.length?[{idx:c,item:l,matches:w}]:[]}const u=[];for(let p=0,m=a.children.length;p<m;p+=1){const w=a.children[p],b=o(w,l,c);if(b.length)u.push(...b);else if(a.operator===Ur.AND)return []}return u},s=this._myIndex.records,i={},r=[];return s.forEach(({$:a,i:l})=>{if(dn(a)){let c=o(n,a,l);c.length&&(i[l]||(i[l]={idx:l,item:a,matches:[]},r.push(i[l])),c.forEach(({matches:u})=>{i[l].matches.push(...u);}));}}),r}_searchObjectList(t){const n=Ql(t,this.options),{keys:o,records:s}=this._myIndex,i=[];return s.forEach(({$:r,i:a})=>{if(!dn(r))return;let l=[];o.forEach((c,u)=>{l.push(...this._findMatches({key:c,value:r[u],searcher:n}));}),l.length&&i.push({idx:a,item:r,matches:l});}),i}_findMatches({key:t,value:n,searcher:o}){if(!dn(n))return [];let s=[];if(no(n))n.forEach(({v:i,i:r,n:a})=>{if(!dn(i))return;const{isMatch:l,score:c,indices:u}=o.searchIn(i);l&&s.push({score:c,key:t,value:i,idx:r,norm:a,indices:u});});else {const{v:i,n:r}=n,{isMatch:a,score:l,indices:c}=o.searchIn(i);a&&s.push({score:l,key:t,value:i,norm:r,indices:c});}return s}}Hs.version="7.0.0";Hs.createIndex=gg;Hs.parseIndex=jM;Hs.config=He;Hs.parseQuery=vg;nL(tL);const uL={class:"ce-goto-input-wrap"},cL=["disabled"],dL=["disabled"],fL={class:"ce-goto-sug"},pL=["onMousedown","sid"],hL={class:"ce-goto-sug-index"},mL={class:"ce-goto-sug-prefix"},gL={class:"ce-goto-sug-name"},yL=Te({__name:"GotoPath",setup(e){const t=ne(!1),n=ne(!1),o=ne(null),s=ne(null),i=ne(""),r=ne([]),a=ne(!1),l=rt(()=>i.value.trim().length>0);let c="";Vt(async()=>{var j;t.value=!0,(j=s.value)==null||j.focus(),window.addEventListener("message",async ee=>{if(ee.data.event===mt.listRendered){const Ce=await Qt(!1);Ce!==c&&(r.value=[],await G(!1)),c=Ce;}});});async function u(j){if(console.log("[handleKeydown]",j.key),Of(j),j.key==="Enter"){D.value>-1?we():await ce(i.value);return}if(j.key==="Escape"){await H();return}["ArrowUp","ArrowDown"].includes(j.key)?N(j):p(j);}const p=wt(async j=>{m();},200);async function m(){try{r.value=[],await G(!1);const j={keyword:"",parentId:await Qt(!1),parentPath:fl(),isSubOfCurrent:!0};console.log("[getSug] searchData:",j);const ee=await R(j,!1);if(console.log("[searchData] items:",ee),!ee.length){le({icon:"warning",text:"没有匹配的建议",timer:1500,position:"top-right"});return}const de=await w(ee,j);console.log("[searchData] sugs:",de),r.value=de,D.value=-1,await G(de.length>0);}catch(j){console.warn(j),await G(!1),le({icon:"error",text:j.toString(),timer:2e3,position:"top-right"});}}async function w(j,ee){const de=[];for(let $e=0;$e<j.length;$e++){const Ve=j[$e];de.push({id:Ve.id,prefix:ee.parentPath==="/"?"":ee.parentPath,name:Ve.name,active:!1});}const Ce=i.value.trim();if(!Ce)return de;const Se=/^(\.\/)?[^\/]+/.test(Ce),Pe=dl(Ce,"../");if(console.log("[toSug] isSubOfCurrent:",Se,"kwParentPath:",Pe),Se||Pe===ee.parentPath){const $e=new Hs(de,{keys:["name"],threshold:.6,includeScore:!0});let Ve=Ce;if(Pe===ee.parentPath){const M=Ce.split(/[\\/]/).filter(Boolean);Ve=M[M.length-1];}const nt=$e.search(Ve);console.log("[toSug] fuse res:",nt);let _e=!1;return nt.forEach(M=>{M.score===void 0?(console.warn("[toSug] r.score is undefined:",M),_e=!0,M.score=0):M.score!==void 0&&isNaN(M.score)&&(console.warn("[toSug] r.score is NaN:",M),_e=!0,M.score=0);}),_e&&nt.sort((M,ze)=>M.score-ze.score),nt.map(M=>M.item)}return de}const b=new Map,C=new Map;async function F(j){return b.get(j)||!1}async function O(j,ee){b.set(j,ee);}async function R(j,ee){const de=C.get(j.parentPath);if(de)return console.log(`[getSubDirs] path "${j.parentPath}" is cached`),de.items;if(await F(j.parentPath))return console.warn(`[getSubDirs] path "${j.parentPath}" is loading`),[];await O(j.parentPath,!0);try{const Ce=Ho({cid:j.parentId,limit:1150,show_dir:su.true}),Se=await sp(Ce);if(!Se.count)return [];const Pe=[];for(let $e=0;$e<Se.data.length;$e++){const Ve=es(Se.data[$e]);Ve.isDir&&Pe.push(Ve);}return C.set(j.parentPath,{count:Pe.length,dirPath:j.parentPath,dirId:j.parentId,items:Pe}),Pe}catch(Ce){console.warn(Ce);}finally{await O(j.parentPath,!1);}return []}async function T(j,ee){console.log("[handleSugClick]",j,ee);const de=vr([j.prefix,j.name]);console.log("[handleSugClick] path:",de),await ce(de);}const D=ne(-1);async function N(j){var Se;console.log("[navigateSug]",j.key),j.preventDefault(),j.stopPropagation();let ee=D.value;if(j.key==="ArrowUp")ee--;else if(j.key==="ArrowDown")ee++;else if(j.key==="Enter"){const Pe=r.value[D.value];Pe&&await T(Pe,j);return}else return;ee<0?ee=0:ee>=r.value.length&&(ee=r.value.length-1),D.value=ee,r.value.forEach((Pe,$e)=>{Pe.active=$e===ee;});const de=r.value[ee];if(!de)return;const Ce=(Se=o.value)==null?void 0:Se.querySelector(`[sid="${de.id}"]`);Ce==null||Ce.scrollIntoView();}async function z(){var j;i.value="",(j=s.value)==null||j.focus(),await m();}async function G(j){var ee;a.value=j,j&&((ee=s.value)==null||ee.focus());}async function ge(j){if(jb(j))return "0";const ee=fl();return j=Kr(j,mo.unix),j=dl(ee,j,mo.unix),await ps(j,!0)}async function we(){const j=r.value[D.value];if(!j)return;const ee=vr([j.prefix,j.name],mo.unix);console.log("[gotoByCurrentSug] path:",ee),await ce(ee);}async function ce(j){var ee;if(!n.value){j=j.trim(),le({text:"正在获取路径信息...",timer:0,position:"top-right"}),ae.showLoading(),n.value=!0;try{const de=await ge(j);unsafeWindow.Main.GotoDir(1,de,0,""),le({icon:"success",text:"获取路径信息成功,现在打开...",timer:1e3,position:"top-right"}),(ee=s.value)==null||ee.focus(),r.value=[],D.value=-1;}catch(de){ae.fire({icon:"error",title:"跳转失败",text:de.message});}finally{ae.hideLoading(),n.value=!1;}}}async function H(){if(D.value>-1)r.value.forEach(j=>j.active=!1),D.value=-1,await G(!1);else {const j=document.querySelector("#ceGotoPathApp");j==null||j.style.setProperty("display","none");const ee=document.querySelector(".ce-goto-path-active");ee==null||ee.classList.remove("ce-goto-path-active"),t.value=!1;}}return (j,ee)=>(S(),I("div",{ref_key:"refMain",ref:o,class:Ne(["ce-goto-main",{"ce-goto-sug-shown":a.value}])},[d("div",uL,[oe(d("input",{ref_key:"refInput",ref:s,"onUpdate:modelValue":ee[0]||(ee[0]=de=>i.value=de),class:"ce-goto-input",placeholder:"回车确认跳转 | Esc关闭 | 可搜索当前目录的子目录显示下拉列表,上下方向键选择",onKeydown:u},null,544),[[We,i.value]]),d("button",{type:"button",class:"ce-goto-input-btn","data-cmd":"clear",onClick:z,title:"清空输入框",disabled:!l.value},"清空",8,cL),d("button",{type:"button",class:"ce-goto-input-btn","data-cmd":"toggle",onClick:ee[1]||(ee[1]=de=>G(!1)),title:"收起建议列表",disabled:!a.value},"收起",8,dL)]),d("div",fL,[(S(!0),I(Le,null,Je(r.value,(de,Ce)=>(S(),I("div",{key:Ce,class:Ne(["ce-goto-sug-item",{active:de.active}]),onMousedown:mn(Se=>T(de,Se),["left","stop","prevent"]),sid:de.id},[d("span",hL,K(Ce+1),1),d("span",mL,K(de.prefix),1),ee[2]||(ee[2]=d("span",{class:"ce-goto-sep"},"/",-1)),d("span",gL,K(de.name),1)],42,pL))),128))])],2))}}),wL=Re(yL,[["__file","GotoPath.vue"]]);async function bL(e){if(!_n())return;const t=await lt("#js_top_header_file_path_box");e.showGotoButtonOnPathBar&&CL(e,t),e.showCopyButtonOnPathBar&&vL(e,t);}async function vL(e,t){const n="ceCopyPath";let o=t.querySelector(`#${n}`);const s=async()=>{const r=fl();yt(r),le({icon:"success",text:"路径已复制",timer:1e3,position:"top-right"});};o||(o=await(async()=>{const r=st(`<button type="button" class="pure-button button-mini ce-path-btn" id="${n}" title="复制路径">
        <span>复制</span>
      </button>`);return r.addEventListener("click",s),r})(),t.prepend(o));}async function CL(e,t){const n=t.querySelector(".top-file-path"),o="ceGotoPath";let s=t.querySelector(`#${o}`);const i=Gn(wL),r="ceGotoPathApp",a=async()=>{await l();},l=async()=>{if(t.classList.toggle("ce-goto-path-active"),t.classList.contains("ce-goto-path-active"))await c();else {const m=t.querySelector(`#${r}`);m&&(m.style.display="none");}},c=async()=>{let m=t.querySelector(`#${r}`);m||(m=await p(),n.after(m)),m.querySelector(".ce-goto-main")?setTimeout(()=>{const b=document.querySelector(".ce-goto-input");b==null||b.focus();},200):i.mount(m),m.style.display="block";},u=async()=>{const m=document.createElement("button");return m.className="pure-button button-mini ce-path-btn text-primary",m.id=o,m.title=`
      【这是一个实验功能】
      跳转到指定路径。使用:
      - 空白、单个斜杠: 根目录
      - 相对路径1: 开头不带斜杠,当前目录下的子路径
      - 相对路径2: 开头带有../,当前目录的上级目录,可以多级
      - 绝对路径: 开头带有斜杠,从根目录开始的路径

      斜杠风格不限,支持模糊搜索当前目录的子目录。
      回车键跳转,Esc键关闭输入框。`,m.innerHTML="<span>跳转</span>",m.addEventListener("click",a),m},p=async()=>st(`<div id="${r}" style="width: 50%"/>`);s||(s=await u(),t.prepend(s));}async function _L(){const e=await ya(),{host:t,search:n}=location;/115\.com$/.test(t)&&(console.log("[List] running...",e),(_n()||Po())&&Nx(),bL(e),Ex(e),setTimeout(async()=>{yx().then(()=>{Ax(e),Ix(e),Dx(e);}).catch(o=>{console.error("awaitDataAPI error:",o);});},2e3),wx(e),bx(e),vx(e),Cx(),_x(e),kx(e),$x());}async function xL(e){const t=await lt(".top-file-path");kL(e,t),SL(e,t);}async function kL(e,t){if(!e.showSelectTargetButtonOnPathBar)return;console.log("[showSelectTargetButtonOnPathBar]");const n="ce-btn-select";let o=t.querySelector(`.${n}`);const s=async()=>{unsafeWindow.parent.Core.FileSelectDG.Open((r,a)=>{console.log("[Core.FileSelectDG.Open]",r,a);const l=r[r.length-1],c=st(`
          <a href="javascript:;" class="dir-tab" search_btn_file="${l.cid}" style="display: none;">
          ${l.cname}
          </a>
        `);t.querySelector(".file-path").append(c),c.click();},{select:1,nf:1,show_record:0,show_copy:1,btn_txt:"在该目录下搜索",select_txt:"搜索"});};o||(o=await(async()=>{const r=st(`
      <a href="javascript:;" class="dir-tab ${n}" title="选择指定目录进行搜索">选择目录</a>
    `);return r.addEventListener("click",s),r})(),t.append(o));}async function SL(e,t){if(!e.showSelectAllDir)return;const n="ce-btn-select-dir";let o=t.querySelector(`.${n}`);const s=async r=>{r.preventDefault(),r.stopPropagation();const a=[],l=document.querySelectorAll('li[rel="item"][file_type="0"]');for(let c=0;c<l.length;c++)a.push($(l[c]));unsafeWindow.Main.List.RecheckFiles(a);};o||(o=await(async()=>{const a=st(`
      <button type="button" class="pure-button button-success button-small ${n}" title="仅会选中已加载的文件夹">选中全部文件夹</label>
    `);return a.setAttribute("style","margin-left: 10px;"),a.addEventListener("click",s),a})(),t.append(o));}async function $L(e){let t=e.resultWidth.trim();if(t===""||window!==window.parent||new URL(window.location.href).searchParams.get("mode")!=="search")return;t=/^\d+$/.test(t)?`${t}px`:t;const o=await lt("div.wrap-view");o&&(o.style.width=`${t}`);}async function EL(e){document.body.classList.add("ce-search-page"),parent.document.body.classList.add("ce-search-page");}async function PL(){const e=await ag();$L(e),Po()&&(console.log("[Search] running...",e),EL(),xL(e));}async function AL(){console.log("[Tools] running...");}async function IL(e){const t=async o=>{const s=st(`<li pickcode="${o.pickCode}" style="padding:0px;"></li>`),i=st(`
      <a style="height:auto;text-decoration:none;padding:5px 0 5px 5px;">
        <span style="word-break:break-all">${o.name}</span>
      </a>
    `);return i.href="/?hls=1&pickcode="+o.pickCode,i.setAttribute("title",o.name),s.appendChild(i),s};let n="";window.addEventListener("message",async o=>{if(o.data.event==="play"){const s=await lt("ul#js-video_list"),i=o.data.body.id;if(n&&n===i)if(s.childElementCount){console.log(`[playSelected] same id: ${i} 但是播放列表已经渲染过了,忽略`);return}else console.warn(`[playSelected] same id: ${i} 但是播放列表为空,将会进行渲染`);n=i;const r=o.data.body.files;console.log(`[playSelected] id: ${i}, files: `,r);const a=await Promise.all(r.map(t));s==null||s.append(...a);const l=document.querySelector(".video-playlist .vpl-container");l&&(l.style.display="block");const c=s==null?void 0:s.querySelector("a");c==null||c.click();const u=document.querySelector("#js-video_container");u&&u.classList.remove("video-container-nolist");}});}async function DL(e){if(!e.defaultWebFull)return;const t=await lt('[rel="web_fullscreen"]');t.querySelector('[rel="tooltips"]').innerText==="网页全屏"&&t.click();}async function TL(e){if(!e.defaultOpenPlayList)return;const t=await lt("a#js_pl_control_expand");t.querySelector('[rel="tooltips"]').innerText==="展开播放列表"&&t.click();}async function OL(e){if(!e.defaultDefinition)return;const t=Qf[e.defaultDefinition],n=unsafeWindow.__HLS,o=n.setCurrentLevel;(async()=>{var a;const i=await lt('div[rel="level_menu"]'),r=await ou('a[btn="level"]',100,12e4,i);for(let l=0;l<r.length;l++){const c=r[l],u=c.classList.contains("current");if(((a=c.textContent)==null?void 0:a.trim())===t&&!u){console.log("[setDefinition _first] 找到目标清晰度元素:",c),c.click();break}}})(),n.setCurrentLevel=i=>{const r=n.hls();if(!r||!r.levels){o(i);return}const a=[];r.levels.forEach(c=>{a.push({name:c.name,bitrate:c.bitrate});}),a.sort((c,u)=>c.bitrate-u.bitrate);let l=i;for(let c=0;c<a.length;c++)if(a[c].name===e.defaultDefinition){l=c;break}l!==i&&console.warn(`[level changed] ${i} -> ${l}`),o(l);};}async function ML(){const{host:e}=location;if(!pu(e))return;console.log("[anxia] run");const t=await Xf();DL(t),TL(t),IL(),OL(t);}async function LL(){const e=await dg();pl()&&(console.log("[Share] running...",e),rm(e),wk(e),bk(e),lm(e),Ck());}location.host==="115.com"&&(window.COMMONHEADERUSERINFO=window.COMMONHEADERUSERINFO||{});(async()=>{console.log("Cloud115 Enhancer launched!");const e=await ka(),t=Wl(e.limiterDuration,1,3e3,1),n=Wl(e.limiterPoints,1,300,1),o=t*500/n,s=eg({rateLimit:{...Zm,duration:t,points:n,execEvenly:!0,execEvenlyMinDelayMs:o}}),i=XA(s);$b(i),$k(),RS(),_P(),cI(),_L(),PL(),AL(),ML(),LL(),CM();})();

})();