HEX
Server: nginx/1.28.3
System: Linux ip-172-31-12-242 6.17.0-1007-aws #7~24.04.1-Ubuntu SMP Thu Jan 22 21:04:49 UTC 2026 x86_64
User: root (0)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/server/panel/BTPanel/static/js/index13.js
import{g as R}from"./useStore.js?v=1777008528";import{e as ae,_ as ne,c7 as oe,c as Te,w as pe,k as S,f as De,di as Ee,K as H,M as j,cO as W,bY as Fe,cZ as xe,R as de,Q as qe,c4 as Be,d3 as Ve}from"./utils-lib.js?v=1777008528";import{c as D,j as A,C as h,v as s,e,p as t,x as b,q as r,ap as z,z as I,r as y,o as M,J as G,k as T,F as me,s as Re,bT as Ie,b7 as Ne,H as Y,Q as U,ad as J,ab as K,w as fe,I as ce,y as ke,K as ge,U as ze,V as Me,B as Oe,am as je,an as He,R as he,G as Ge,al as We,aj as Je,g as Ke}from"./base-lib.js?v=1777008528";import{C as F}from"./index213.js?v=1777008528";import{s as Qe,o as Ce}from"./useMethod2.js?v=1777008528";import{ai as Ye,aj as Ze,k as Xe,h as et,ak as tt,al as lt,am as we,U as st,an as at,ao as re,ap as ye,aq as nt,ar as Ae,a4 as ot,as as ut,at as it,au as rt,av as dt,aw as pt,T as mt,ax as ft,ay as be,az as ct,aA as _t,aB as vt}from"./config.js?v=1777008528";import{u as gt}from"./useController.js?v=1777008528";import{a2 as wt,g as yt}from"./index3.js?v=1777008528";import{a as bt,_ as xt,P as Vt,S as kt}from"./index.vue_vue_type_script_setup_true_lang22.js?v=1777008528";import{_ as Ue}from"./index118.js?v=1777008528";import{_ as Ct}from"./index217.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index119.js?v=1777008528";import"./index116.js?v=1777008528";import"./index117.js?v=1777008528";import"./useController8.js?v=1777008528";import"./site.js?v=1777008528";import"./ssl.js?v=1777008528";import"./useStore2.js?v=1777008528";import"./useStore3.js?v=1777008528";import"./useController18.js?v=1777008528";import"./useMethod3.js?v=1777008528";import"./useController13.js?v=1777008528";import"./useController19.js?v=1777008528";import"./useMethod12.js?v=1777008528";import"./index192.js?v=1777008528";import"./useController20.js?v=1777008528";const At=D({__name:"index",setup(E){const{refs:{panelConfig:i}}=R(),c=g=>{g?(i.value.passkey_status=!1,d(!0)):Qe(0)},d=(g=!1)=>{ae({area:80,title:"Passkey配置",component:()=>ne(()=>import("./config6.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:{isSwitch:g}})};return(g,n)=>{const u=z,w=I,a=oe;return A(),h(t(F),{label:"Passkey"},{value:s(()=>[e(u,{modelValue:t(i).passkey_status,"onUpdate:modelValue":n[0]||(n[0]=_=>t(i).passkey_status=_),onChange:c},null,8,["modelValue"]),e(w,{size:"small",class:"!ml-12px",onClick:n[1]||(n[1]=_=>d())},{default:s(()=>[...n[2]||(n[2]=[b(" Passkey配置 ",-1)])]),_:1})]),desc:s(()=>[r("span",null,[n[4]||(n[4]=b(" 启用 Passkey(通行密钥)登录验证,提高面板登录安全性,",-1)),e(a,{href:"https://docs.bt.cn/user-guide/config/safe/passkey"},{default:s(()=>[...n[3]||(n[3]=[b("了解详情",-1)])]),_:1})])]),_:1})}}}),Ut={class:"flex items-center gap-1.5 text-sm ml-1.2rem"},$t={class:"text-small"},St={key:1,href:"https://www.bt.cn/admin/userinfo",target:"_blank",class:"bt-danger text-small"},Pt=D({__name:"index",setup(E){const{refs:{panelConfig:i},getConfigData:c}=R(),{payment:d}=Te(),{openWechatLogin:g}=gt(),n=De(),u=y(!1),w=y({avatar:"",nickname:"",id:null,status:!1}),a=async f=>{try{if(f){if(!w.value.status){i.value.wechat_login_status=!f,d.value.bindUser?(n.warn("正在跳转至官网,请手动绑定微信账号"),setTimeout(()=>{window.open("https://www.bt.cn/admin/userinfo","_blank")},1500)):g();return}await pe({title:"启用微信登录",width:"45rem",content:"请妥善保管您的宝塔账号。启用后,将支持使用账号所绑定的微信登录宝塔面板,请注意账号安全。",type:"calc"})}await S({loading:"正在设置微信登录状态,请稍候...",request:Ye({status:f?1:0}),message:!0,success:o=>{o.status||(i.value.wechat_login_status=!i.value.wechat_login_status),c()}})}catch(o){o==="cancel"&&(i.value.wechat_login_status=!i.value.wechat_login_status)}};return M(async()=>{try{u.value=!0;const{data:f}=await Ze(),{msg:o}=f;w.value={avatar:o.avatar||"",nickname:o.nickname||"",id:o.id||null,status:Object.keys(o).length>0}}catch(f){}finally{u.value=!1}}),(f,o)=>{const p=z,l=Ie,m=Ne;return A(),h(t(F),{label:"微信登录"},{value:s(()=>[e(p,{modelValue:t(i).wechat_login_status,"onUpdate:modelValue":o[0]||(o[0]=V=>t(i).wechat_login_status=V),onChange:a},null,8,["modelValue"]),G((A(),T("div",Ut,[t(w).status?(A(),T(me,{key:0},[e(l,{src:t(w).avatar,size:24},null,8,["src"]),r("span",$t,Re(t(w).nickname),1)],64)):(A(),T("a",St,"未绑定"))])),[[m,t(u)]])]),desc:s(()=>[...o[1]||(o[1]=[r("span",null,"启用微信扫码登录验证,提高面板登录便捷性和安全性",-1)])]),_:1})}}}),Lt={class:"p-16px"},Tt=D({__name:"index",setup(E){const i=y([]),c=y(null),d=y(!1),g=y(!1),n=Y({type:[],options:"",id:""});let u=null;const w={type:[{required:!0,validator:(l,m,V)=>{n.type.length===0?V(new Error("请选择告警方式")):V()},trigger:["blur","change"]}]},a=async l=>{l?g.value=!0:await S({loading:"正在保存信息配置,请稍后...",request:Xe({task_id:n.id,status:l?1:0}),message:!0,success:m=>{m.status||(d.value=!l)}})},_=()=>{g.value=!1,p()},f=async()=>{await c.value.validate();let l={},m={send_interval:0,time_range:[0,86399]},V={day_num:0,total:0};u?l={task_data:u.task_data,sender:n.type,time_rule:m,number_rule:V}:l={task_data:{tid:"6",type:"panel_safe_push",title:"面板安全告警",status:d.value,count:0,interval:600,project:"",help:600},sender:n.type,time_rule:m,number_rule:V},await S({loading:"正在保存信息配置,请稍后...",request:et({task_data:JSON.stringify(l),template_id:"6"}),message:!0}),await o(),p(),g.value=!1},o=async()=>{await S({request:Ee(),data:{data:[Array,i]}})},p=()=>{var m;const l=(m=i.value)==null?void 0:m.find(V=>V.keyword==="panel_safe_push");l?(n.type=l.sender,d.value=l.status,n.id=l.id,u=l):(n.type=[],d.value=!1,u=null)};return M(async()=>{await o(),p()}),(l,m)=>{const V=z,k=I,q=J,L=wt,P=K,O=H;return A(),T("div",null,[e(t(F),{label:"面板安全告警"},{value:s(()=>[e(V,{modelValue:t(d),"onUpdate:modelValue":m[0]||(m[0]=C=>U(d)?d.value=C:null),onChange:a},null,8,["modelValue"]),e(k,{size:"small",class:"!ml-12px",onClick:m[1]||(m[1]=C=>g.value=!0)},{default:s(()=>[...m[6]||(m[6]=[b("提醒方式",-1)])]),_:1})]),desc:s(()=>[...m[7]||(m[7]=[r("span",null,"告警内容包含:面板用户变更、面板日志删除、面板开启开发者、面板开启API",-1)])]),_:1}),e(O,{title:"面板安全告警",modelValue:t(g),"onUpdate:modelValue":m[4]||(m[4]=C=>U(g)?g.value=C:null),showFooter:"",area:[48],onConfirm:m[5]||(m[5]=C=>f()),onCancel:_,confirmText:"保存配置"},{default:s(()=>[r("div",Lt,[e(P,{ref_key:"ruleFormRef",ref:c,"label-width":"10rem",rules:w,model:t(n)},{default:s(()=>[e(q,{label:"安全提醒"},{default:s(()=>[e(V,{modelValue:t(d),"onUpdate:modelValue":m[2]||(m[2]=C=>U(d)?d.value=C:null)},null,8,["modelValue"])]),_:1}),e(q,{label:"告警方式",prop:"type"},{default:s(()=>[e(L,{class:"!w-[30rem]",modelValue:t(n).type,"onUpdate:modelValue":m[3]||(m[3]=C=>t(n).type=C),limit:["sms"]},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},8,["modelValue"])])}}}),Dt=["innerHTML"],Et=D({__name:"index",setup(E){const{getCertListData:i}=R(),c=y({}),d=y('配置一个域名来访问面板,<span class="text-danger">注意: 通过域名访问面板时,重启Nginx会短暂断开连接</span>');let g=!1;const n=async a=>{a?u():await S({loading:"正在删除面板生成的域名,请稍候...",request:tt(),message:!0,success:i})},u=()=>{ae({title:"免端口访问配置",component:()=>ne(()=>import("./no-port-config.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:{...c.value,refresh:w},area:80,onCancel:()=>{c.value.proxy_stats=g}})},w=async()=>{await S({request:lt(),success:({data:a})=>{c.value={addr:(a==null?void 0:a.addr)||"",cert:(a==null?void 0:a.cert)||"",key:(a==null?void 0:a.key)||"",proxy_stats:(a==null?void 0:a.proxy_stats)||!1,domain:(a==null?void 0:a.domain)||"",use_ssl:(a==null?void 0:a.use_ssl)||!1},g=(a==null?void 0:a.proxy_stats)||!1}})};return M(()=>w()),(a,_)=>{const f=z,o=I;return A(),h(t(F),{label:"免端口访问"},{value:s(()=>[e(f,{modelValue:t(c).proxy_stats,"onUpdate:modelValue":_[0]||(_[0]=p=>t(c).proxy_stats=p),onChange:_[1]||(_[1]=p=>n(t(c).proxy_stats))},null,8,["modelValue"]),e(o,{size:"small",class:"!ml-12px",onClick:_[2]||(_[2]=p=>u())},{default:s(()=>[..._[3]||(_[3]=[b(" 免端口访问配置 ",-1)])]),_:1})]),desc:s(()=>[r("span",{innerHTML:t(d)},null,8,Dt)]),_:1})}}}),Ft={class:"p-[24px]"},qt=D({__name:"index",setup(E){const{refs:{safeConfig:i}}=R();y(!1);const c=y(!1);y(!1);const d=Y({basic_user:"",basic_pwd:"",open:!0}),g=async w=>{if(w)Ce({content:['<span class="text-danger">必须要用到且了解此功能才决定自己是否要开启!!<span>',"开启后,以任何方式访问面板,将先要求输入BasicAuth用户名和密码","开启后,能有效防止面板被扫描发现,但并不能代替面板本身的帐号密码","请牢记BasicAuth密码,一但忘记将无法访问面板","如忘记密码,可在SSH通过bt命令来关闭BasicAuth验证"],isShowAppCode:!1,checkTip:'我已了解详情,并愿意承担风险!<a class="bt-link" href="https://www.bt.cn/bbs/thread-34374-1-1.html" target="_blank" rel="noreferrer noopener">什么是BasicAuth认证?</a>',onConfirm:()=>c.value=!0,onCancel:()=>i.value.basicAuth=!1});else{const{data:a}=await we({open:"False",basic_user:"",basic_pwd:""});j.request(a),a.status&&setTimeout(()=>window.location.reload(),1e3)}},n=()=>{i.value.basicAuth=!i.value.basicAuth,d.open},u=async()=>{try{const{data:w}=await we({...d,open:d.open?"True":"False"});j.request(w),w.status&&(c.value=!1,window.location.reload())}catch(w){}};return(w,a)=>{const _=z,f=oe,o=J,p=W,l=I,m=K,V=H;return A(),T("div",null,[e(t(F),{label:"BasicAuth认证"},{value:s(()=>[e(_,{modelValue:t(i).basicAuth,"onUpdate:modelValue":a[0]||(a[0]=k=>t(i).basicAuth=k),onChange:a[1]||(a[1]=k=>g(t(i).basicAuth))},null,8,["modelValue"])]),desc:s(()=>[r("span",null,[a[10]||(a[10]=b("为面板增加一道基于BasicAuth的认证服务,有效防止面板被扫描,",-1)),e(f,{href:"https://www.bt.cn/bbs/thread-34374-1-1.html"},{default:s(()=>[...a[9]||(a[9]=[b("了解详情",-1)])]),_:1})])]),_:1}),e(V,{title:"配置BasicAuth认证",modelValue:t(c),"onUpdate:modelValue":a[7]||(a[7]=k=>U(c)?c.value=k:null),area:50,onCancel:a[8]||(a[8]=k=>n())},{default:s(()=>[r("div",Ft,[e(m,{modelValue:t(d),"onUpdate:modelValue":a[6]||(a[6]=k=>U(d)?d.value=k:null)},{default:s(()=>[e(o,{label:"服务状态"},{default:s(()=>[e(_,{modelValue:t(d).open,"onUpdate:modelValue":a[2]||(a[2]=k=>t(d).open=k)},null,8,["modelValue"])]),_:1}),e(o,{label:"用户名"},{default:s(()=>[e(p,{class:"!w-[28.8rem]",modelValue:t(d).basic_user,"onUpdate:modelValue":a[3]||(a[3]=k=>t(d).basic_user=k),placeholder:"请设置用户名"},null,8,["modelValue"])]),_:1}),e(o,{label:"密码"},{default:s(()=>[e(p,{class:"!w-[28.8rem]",modelValue:t(d).basic_pwd,"onUpdate:modelValue":a[4]||(a[4]=k=>t(d).basic_pwd=k),placeholder:"请输入密码"},null,8,["modelValue"])]),_:1}),e(o,{label:" "},{default:s(()=>[e(l,{type:"primary",onClick:a[5]||(a[5]=k=>u())},{default:s(()=>[...a[11]||(a[11]=[b("保存",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"]),a[12]||(a[12]=r("ul",{class:"pl-[32px] list-disc help leading-8"},[r("li",null,"注意:请不要在这里使用您的常用密码,这可能导致密码泄漏!"),r("li",null,"开启后,以任何方式访问面板,将先要求输入BasicAuth用户名和密码"),r("li",null,"开启后,能有效防止面板被扫描发现,但并不能代替面板本身的帐号密码"),r("li",null,"请牢记BasicAuth密码,一但忘记将无法访问面板"),r("li",null,"如忘记密码,可在SSH通过bt命令来关闭BasicAuth验证")],-1))])]),_:1},8,["modelValue"])])}}}),Bt=D({__name:"index",setup(E){const{refs:{safeConfig:i}}=R();y(!1);const c=a=>{i.value.checkTwoStep=!a,a?d():u(Number(a))},d=()=>{Ce({content:['<span class="text-danger">必须要用到且了解此功能才决定自己是否要开启!!<span>','<span class="text-danger">如果无法验证,命令行输入"bt 24" 取消动态口令认证<span>',"服务器的时间与网络时间需一致,否则无法验证。","开启服务后,请立即绑定,以免出现面板不能访问。","请先下载宝塔APP或(谷歌认证器),并完成安装和初始化。",'基于google Authenticator 开发,如遇到问题请<a class="btlink" href="https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=105839" rel="noreferrer noopener">查看详情</a>'],isShowAppCode:!0,onConfirm:()=>u(1)})},g=()=>{i.value.checkTwoStep?n():d()},n=()=>{ae({title:"动态口令配置",component:()=>ne(()=>import("./dyname-pwd-config.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),area:55})},u=async a=>{(await S({loading:"正在设置动态口令配置,请稍候...",request:st({act:a}),message:!0,success:()=>{a&&n()}})).status&&(i.value.checkTwoStep=!!a)},w=async()=>{const{data:a}=await at();i.value.checkTwoStep=a.status};return M(()=>{w()}),(a,_)=>{const f=z,o=I,p=oe;return A(),T("div",null,[e(t(F),{label:"动态口令认证"},{value:s(()=>[e(f,{modelValue:t(i).checkTwoStep,"onUpdate:modelValue":_[0]||(_[0]=l=>t(i).checkTwoStep=l),onChange:_[1]||(_[1]=l=>c(t(i).checkTwoStep))},null,8,["modelValue"]),e(o,{size:"small",class:"!ml-12px",onClick:g},{default:s(()=>[..._[2]||(_[2]=[b("动态口令配置",-1)])]),_:1})]),desc:s(()=>[r("span",null,[_[4]||(_[4]=b("(Google Authenticator,谷歌身份认证)为面板提供动态口令的登录的验证,",-1)),e(p,{href:"https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=105839"},{default:s(()=>[..._[3]||(_[3]=[b("了解详情",-1)])]),_:1})])]),_:1})])}}}),Rt={class:"p-[2rem]"},It={class:"flex mt-12px"},Nt={class:"flex-1 mr-20px relative"},zt={class:"placeholder"},Mt={class:"flex-1 relative"},Ot={class:"placeholder"},jt={key:1,class:"help-list !pl-20px mt-12px !py-0"},Ht={class:"text-small flex items-center"},ht=D({__name:"index",setup(E){const{refs:{safeConfig:i}}=R(),c=y(!1),d=y(!1),g=y(!1),n=Y({loading:!1,title:"正在获取证书信息,请稍候..."}),u=y({crl:"",cert:""}),w=async()=>{n.title="正在获取证书信息,请稍候...",n.loading=!0,c.value=!0;try{const{data:p}=await re();i.value.sslVerify=p.status,u.value.crl=p.crl,u.value.cert=p.ca}catch(p){c.value=!1}finally{n.loading=!1}},a=async p=>{try{if(!i.value.panelSSl){j.error("请先开启面板SSL证书后重试"),i.value.sslVerify=!1;return}const{data:l}=await re();if(u.value.crl=l.crl,u.value.cert=l.ca,d.value=!0,p)c.value=!0;else{const{data:m}=await ye({status:0});m.status&&window.location.reload()}}catch(l){}},_=()=>{d.value&&(i.value.sslVerify=!i.value.sslVerify),d.value=!1},f=async()=>{try{if(!u.value.crl)return j.error("注销列表(crl)不能为空"),!1;if(!u.value.cert)return j.error("证书(cert)不能为空"),!1;if(d.value&&!g.value)return j.error("请勾选并同意承担风险"),!1;n.title="正在保存,请稍候...",n.loading=!0;const p=await S({request:ye({crl:u.value.crl,cert:u.value.cert,status:d.value?1:0}),message:!0});return await Fe(),p.status&&window.location.reload(),p.status}catch(p){}finally{n.loading=!1}},o=async()=>{const{data:p}=await re();u.value.crl=p.crl,u.value.cert=p.ca,i.value.sslVerify=p.status};return fe(c,(p,l)=>{p||(u.value.crl="",u.value.cert="")}),M(()=>{o()}),(p,l)=>{const m=z,V=I,k=oe,q=W,L=ze,P=H,O=ce("bt-loading");return A(),T("div",null,[e(t(F),{label:"访问设备验证"},{value:s(()=>[e(m,{modelValue:t(i).sslVerify,"onUpdate:modelValue":l[0]||(l[0]=C=>t(i).sslVerify=C),onChange:l[1]||(l[1]=C=>a(t(i).sslVerify))},null,8,["modelValue"]),e(V,{size:"small",class:"!ml-12px",onClick:w},{default:s(()=>[...l[7]||(l[7]=[b("访问设备验证配置",-1)])]),_:1})]),desc:s(()=>[r("span",null,[l[9]||(l[9]=b(" 基于SSL证书双向验证,开启后电脑需要安装此证书,否则将无法访问,属于极高安全级别的访问限制方式,类似银行账号U盘密钥登录。",-1)),e(k,{href:"https://www.bt.cn/bbs/thread-77863-1-1.html"},{default:s(()=>[...l[8]||(l[8]=[b("了解详情",-1)])]),_:1})])]),_:1}),e(P,{title:"自定义证书",modelValue:t(c),"onUpdate:modelValue":l[5]||(l[5]=C=>U(c)?c.value=C:null),area:70,showFooter:"",onConfirm:f,onCancel:l[6]||(l[6]=C=>_())},{default:s(()=>[G((A(),T("div",Rt,[t(d)?(A(),T(me,{key:0},[l[10]||(l[10]=r("div",{class:"flex items-center"},[r("i",{class:"svgtofont-el-warning-filled text-warningDark !text-titleLarge pr-4"}),r("p",{class:"text-extraLarge"},"风险操作!此功能不懂请勿开启!")],-1)),l[11]||(l[11]=r("ul",{class:"help-list"},[r("li",{class:"text-danger"},"必须要用到且了解此功能才决定自己是否要开启!"),r("li",null,"开启后电脑需要安装此证书,否则将无法访问,属于【极高安全级别】的限制,类似银行账号U盘密钥登录。"),r("li",null,"注销列表(crl)和证书(cert)可通过企业版插件[堡塔限制访问型证书->双向认证->服务器证书]获取。"),r("li",null,"开启之前请先下载好对应的[客户端证书],否则将无法访问面板。"),r("li",null,"开启访问设备验证后,未授权的用户访问将会出现400错误。"),r("li",null,"开启后导致面板不能访问,命令行:bt 29 关闭访问设备验证。")],-1))],64)):ke("",!0),r("div",It,[r("div",Nt,[l[12]||(l[12]=r("div",{class:"text-small mb-8px"},"注销列表(crl)",-1)),e(q,{class:"text-small",type:"textarea",modelValue:t(u).crl,"onUpdate:modelValue":l[2]||(l[2]=C=>t(u).crl=C),rows:13,size:"small"},null,8,["modelValue"]),G(r("span",zt,"请粘贴您的注销列表(crl)",512),[[ge,t(u).crl===""]])]),r("div",Mt,[l[13]||(l[13]=r("div",{class:"text-small mb-8px"},"证书(cert)",-1)),e(q,{type:"textarea",modelValue:t(u).cert,"onUpdate:modelValue":l[3]||(l[3]=C=>t(u).cert=C),rows:13,size:"small"},null,8,["modelValue"]),G(r("span",Ot,"请粘贴您的证书(cert)",512),[[ge,t(u).cert===""]])])]),t(d)?(A(),h(L,{key:2,modelValue:t(g),"onUpdate:modelValue":l[4]||(l[4]=C=>U(g)?g.value=C:null),class:"mt-12px px-16px"},{default:s(()=>[r("div",Ht,[l[16]||(l[16]=b(" 已了经解详情,并愿意承担风险! ",-1)),e(k,{href:"https://www.bt.cn/bbs/thread-77863-1-1.html",target:"_blank"},{default:s(()=>[...l[15]||(l[15]=[b(" 了解详情 ",-1)])]),_:1})])]),_:1},8,["modelValue"])):(A(),T("ul",jt,[...l[14]||(l[14]=[r("li",null,"粘贴您的注销列表(crl)以及证书(cert),然后保存即可。",-1),r("li",null,"注销列表(crl)和证书(cert)可通过企业版插件[堡塔限制访问型证书->双向认证->服务器证书]获取。",-1)])]))])),[[O,t(n).loading],[O,t(n).title,"title"]])]),_:1},8,["modelValue"])])}}}),Gt=xe(ht,[["__scopeId","data-v-8b376b67"]]),Wt=D({__name:"index",setup(E){const{refs:{safeConfig:i}}=R(),c=y(!1),d=y(!1),g=_=>{_?c.value=!0:d.value=!0},n=_=>{const f=_?c:d;f.value&&(i.value.pawComplexity=!i.value.pawComplexity,f.value=!1)},u=_=>{const f=_?c:d;f.value&&(f.value=!1,a())},w=async()=>{try{const{data:_}=await Ae();i.value.pawComplexity=_.password_safe}catch(_){}},a=async()=>{await S({loading:"正在设置密码复杂度,请稍候...",request:nt(),message:!0,success:w})};return(_,f)=>{const o=z,p=H;return A(),T("div",null,[e(t(F),{label:"密码复杂度验证"},{value:s(()=>[e(o,{modelValue:t(i).pawComplexity,"onUpdate:modelValue":f[0]||(f[0]=l=>t(i).pawComplexity=l),onChange:g},null,8,["modelValue"])]),desc:s(()=>[...f[7]||(f[7]=[r("span",null,"为面板密码提供复杂度验证方式,复杂度验证规则:",-1),r("span",{class:"text-danger"},"密码必须满足密码长度大于8位且大写字母、小写字母、数字、特殊字符至少3项组合",-1)])]),_:1}),e(p,{title:"开启 密码复杂度验证",modelValue:t(c),"onUpdate:modelValue":f[1]||(f[1]=l=>U(c)?c.value=l:null),area:36,"show-footer":!0,onConfirm:f[2]||(f[2]=l=>u(!0)),onCancel:f[3]||(f[3]=l=>n(!0))},{default:s(()=>[...f[8]||(f[8]=[r("div",{class:"p-[2rem] flex"},[r("i",{class:"svgtofont-el-warning-filled text-warningDark !text-titleLarge pr-4"}),r("p",{class:"text-base leading-8"},[b(" 开启密码复杂度验证后,将会对密码进行复杂度判断,规则: "),r("span",{class:"text-danger"},"密码必须满足密码长度大于8位且大写字母、小写字母、数字、特殊字符至少3项组合"),b(" ,继续操作! ")])],-1)])]),_:1},8,["modelValue"]),e(p,{title:"关闭 密码复杂度验证",modelValue:t(d),"onUpdate:modelValue":f[4]||(f[4]=l=>U(d)?d.value=l:null),area:[36,"auto"],"show-footer":!0,onConfirm:f[5]||(f[5]=l=>u(!1)),onCancel:f[6]||(f[6]=l=>n(!1))},{default:s(()=>[...f[9]||(f[9]=[r("div",{class:"p-[2rem] flex"},[r("i",{class:"svgtofont-el-warning-filled text-warningDark !text-titleLarge pr-4"}),r("p",{class:"text-base leading-8"},"关闭密码复杂度后,密码登录将不再验证密码复杂度,这将会导致面板安全性下降,继续操作!")],-1)])]),_:1},8,["modelValue"])])}}}),Jt={class:"w-[26rem]"},Kt=D({__name:"index",setup(E){const{refs:{safeConfig:i},saveConfig:c}=R(),d=async()=>{let g=/^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}$/,n=i.value.limitip.split(",").join("-").split("-"),u=!0;if(n.length)for(let w=0;w<n.length;w++)g.test(n[w])==!1&&(u=!1);if(!u&&i.value.limitip.length>0)return j.error("请输入正确的ip地址");c("正在保存授权IP,请稍候...")};return(g,n)=>{const u=W,w=I;return A(),h(t(F),{label:"授权IP"},{value:s(()=>[r("div",Jt,[e(u,{modelValue:t(i).limitip,"onUpdate:modelValue":n[0]||(n[0]=a=>t(i).limitip=a),placeholder:"示例: 1.1.1.1,2.2.2.1-2.2.2.2"},null,8,["modelValue"])]),e(w,{type:"primary",class:"!ml-12px",onClick:n[1]||(n[1]=a=>d())},{default:s(()=>[...n[2]||(n[2]=[b("保存",-1)])]),_:1})]),desc:s(()=>[...n[3]||(n[3]=[r("span",null,"设置访问授权IP,多个IP地址,请使用“,”分割,",-1),r("span",{class:"text-danger"},"注意:一旦设置授权IP,只有指定IP的电脑能访问面板",-1)])]),_:1})}}}),Qt={class:"p-[2rem]"},Yt=D({__name:"index",setup(E){var _;const{refs:{safeConfig:i}}=R(),c=Me([{key:403,title:"403-拒绝访问"},{key:404,title:"404-页面不存在"},{key:416,title:"416-无效的请求"},{key:408,title:"408-客户端超时"},{key:400,title:"400-客户端请求错误"},{key:401,title:"401-未授权访问"}]),d=y(!1),g=y(404),n=y((_=c.value.find(f=>f.key===i.value.statusCode))==null?void 0:_.title),u=()=>{d.value=!0,c.value.forEach(f=>{f.key==i.value.statusCode&&(g.value=f.key)})},w=()=>{d.value=!1,a(g.value)},a=async f=>{f?Number(f):f+="",await S({loading:"正在设置未认证响应状态,请稍候...",request:ot({status_code:f}),message:!0}),c.value.forEach(o=>{o.key==g.value&&(i.value.statusCode=o.key,n.value=o.title)})};return fe(()=>i.value.statusCode,f=>{c.value.forEach(o=>{o.key===i.value.statusCode&&(n.value=o.title)})}),(f,o)=>{const p=W,l=I,m=je,V=He,k=J,q=K,L=H;return A(),T("div",null,[e(t(F),{label:"未认证响应状态"},{value:s(()=>[e(p,{modelValue:t(n),"onUpdate:modelValue":o[0]||(o[0]=P=>U(n)?n.value=P:null),disabled:"",class:"!w-[26rem]"},null,8,["modelValue"]),e(l,{type:"primary",class:"!ml-12px",onClick:o[1]||(o[1]=P=>u())},{default:s(()=>[...o[5]||(o[5]=[b("设置",-1)])]),_:1})]),desc:s(()=>[...o[6]||(o[6]=[r("span",null,"陌生IP在未登录且未正确输入安全入口时的响应,可用于隐藏面板特征",-1)])]),_:1}),e(L,{title:"设置未认证时的响应状态",modelValue:t(d),"onUpdate:modelValue":o[3]||(o[3]=P=>U(d)?d.value=P:null),area:42,"show-footer":"",onConfirm:o[4]||(o[4]=P=>w())},{default:s(()=>[r("div",Qt,[e(q,{class:"my-[12px] flex justify-center","label-position":"right"},{default:s(()=>[e(k,{label:"响应状态"},{default:s(()=>[e(V,{modelValue:t(g),"onUpdate:modelValue":o[2]||(o[2]=P=>U(g)?g.value=P:null),placeholder:"请选择",class:"!w-[20rem]"},{default:s(()=>[(A(!0),T(me,null,Oe(t(c),P=>(A(),h(m,{key:P.key,label:P.title,value:P.key},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),o[7]||(o[7]=r("ul",{class:"px-[16px] py-[2px] list-disc"},[r("li",{class:"h-[2.4rem] text-danger"},"用于未登录且未正确输入安全入口时的响应,用于隐藏面板特征")],-1))])]),_:1},8,["modelValue"])])}}}),Zt=xe(Yt,[["__scopeId","data-v-548f910f"]]),Xt={class:"w-[26rem]"},el={class:"p-[2rem]"},tl=D({__name:"index",setup(E){const{refs:{safeConfig:i}}=R(),c=y(),d=y({day:0}),g=y(""),n=y(!1);let u=0;const w=Y({day:[{validator:(o,p,l)=>{Number.parseInt(p)<0||!Number.isInteger(parseFloat(p))?l(new Error("请输入大于等于0的整数")):l()},trigger:["input","change"]}]});fe(()=>n.value,o=>{o&&(d.value.day=u)});const a=async()=>{await c.value.validate(),n.value=!1,f(d.value.day),_()},_=async()=>{try{const{data:o}=await Ae();o.expire?g.value=de(o.expire_time,"yyyy/MM/dd HH:mm:ss")+" (剩余"+o.expire_day+"天过期)":g.value="未设置",d.value.day=o.expire,u=o.expire,i.value.pawComplexity=o.password_safe}catch(o){}},f=async o=>{await S({loading:"正在设置密码过期时间,请稍候...",request:ut({expire:o}),message:!0})};return M(()=>{_()}),(o,p)=>{const l=W,m=I,V=J,k=K,q=H;return A(),T("div",null,[e(t(F),{label:"密码过期时间"},{value:s(()=>[r("div",Xt,[e(l,{modelValue:t(g),"onUpdate:modelValue":p[0]||(p[0]=L=>U(g)?g.value=L:null),disabled:""},null,8,["modelValue"])]),e(m,{type:"primary",class:"!ml-12px",onClick:p[1]||(p[1]=L=>n.value=!0)},{default:s(()=>[...p[6]||(p[6]=[b("设置",-1)])]),_:1})]),desc:s(()=>[...p[7]||(p[7]=[r("span",null,"为面板密码设置过期时间,过期后需要重新设置密码",-1)])]),_:1}),e(q,{title:"设置密码过期时间",modelValue:t(n),"onUpdate:modelValue":p[4]||(p[4]=L=>U(n)?n.value=L:null),area:40,"show-footer":!0,onConfirm:p[5]||(p[5]=L=>a())},{default:s(()=>[r("div",el,[e(k,{ref_key:"pwdFormRef",ref:c,rules:t(w),model:t(d),class:"my-[12px] flex justify-center","label-position":"left",onSubmit:p[3]||(p[3]=he(()=>{},["prevent"]))},{default:s(()=>[e(V,{label:"密码过期时间",prop:"day"},{default:s(()=>[e(l,{modelValue:t(d).day,"onUpdate:modelValue":p[2]||(p[2]=L=>t(d).day=L),"text-type":"天",type:"number",min:"0",class:"!w-[16rem]"},{append:s(()=>[...p[8]||(p[8]=[b(" 天 ",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["rules","model"]),p[9]||(p[9]=r("ul",{class:"px-[1.6rem] py-[.2rem] list-disc"},[r("li",{class:"h-[2.4rem] text-danger"},"面板密码过期时间设置,过期后需要重新设置密码"),r("li",{class:"h-[2.4rem]"},"密码过期时间为“0天”,则关闭密码过期时间功能")],-1))])]),_:1},8,["modelValue"])])}}}),ll={class:"p-[2rem] flex"},sl={class:"p-[2rem]"},al=D({__name:"index",setup(E){const i=y(!1),c=y([]),d=y(!1),g=y(0),n=Y({p:1,rows:10}),u=y(!1),w=y(!1),a=y([]),_=y(!1),f=y(),o=y({checkboxValue:"3小时",day:1}),p=y(""),l=y(),m=y(),V=y(!1),k={day:[{validator:(x,v,N)=>{(v<=0||v%1!==0)&&o.value.checkboxValue==="自定义"?N(new Error("自定义时间为大于0的整数!")):N()},trigger:["blur","change","input"]}]},q=async()=>i.value=!0,L=[{label:"登录IP",render:x=>x.login_addr||"未登录"},{label:"状态",width:90,render:(x,v)=>{switch(x.state){case-1:return e("span",{class:"text-[brown]"},[b("已过期")]);case 0:return e("span",{class:"text-primary"},[b("待使用")]);case 1:return"已使用"}}},{label:"登录时间",render:x=>x.login_time==0?"未登录":de(x.addtime,"yyyy/MM/dd HH:mm:ss")},{label:"过期时间",render:x=>de(x.expire)},{label:"操作",width:120,align:"right",render:x=>e("div",{class:"flex items-center justify-end"},[e("div",{class:x.state=="1"?"":"hidden"},[e("span",{class:"bt-link",onClick:()=>Z(x.id,x.login_addr)},[b("操作日志")]),e(Ge,{direction:"vertical"},null)]),e("span",{class:"bt-link",onClick:()=>ue(x.id)},[b("删除")])])}],P=[{label:"操作类型",prop:"type"},{label:"操作时间",prop:"addtime"},{label:"日志",prop:"log",width:350}],O=async()=>{await f.value.validate(),V.value=!1;const x=await $e();x!=null&&x.status&&(_.value=!0)},C=x=>qe({value:x}),ue=async x=>{l.value=x,await pe({title:"删除授权",content:"删除授权记录,是否继续?",icon:"warning-filled"}),await S({loading:"正在删除临时授权,请稍候...",request:it({id:x}),message:!0}),X()},Z=(x,v)=>{u.value=!0,l.value=x,m.value=v,B()},B=()=>Se(l.value),$e=async()=>{const{checkboxValue:x,day:v}=o.value;let N=x==="自定义"?v*24:x.replaceAll("小时",""),ee=Math.floor(Date.now()/1e3);N=parseInt(N)*60*60+ee;const te=await S({loading:"正在创建临时授权链接,请稍候...",request:rt({expire_time:N}),message:!0,data:{token:String,expire:Number,status:Boolean}});X();let le=window.location.protocol+"//"+window.location.host+"/login?";return p.value="".concat(le,"tmp_token=").concat(te.token),te},Se=async x=>{await S({loading:w,request:dt({id:x}),data:[Array,a]})},X=async()=>{await S({loading:d,request:pt(n),data:{data:[Array,c],page:Be(g)}})};return M(()=>{X()}),(x,v)=>{const N=I,ee=Ve,te=Ct,le=Ue,se=H,Q=We,Pe=Je,_e=J,ve=W,Le=K,ie=ce("bt-loading");return A(),T("div",null,[e(t(F),{label:"临时访问授权"},{value:s(()=>[e(N,{type:"primary",onClick:v[0]||(v[0]=$=>q())},{default:s(()=>[...v[13]||(v[13]=[b("临时访问授权管理",-1)])]),_:1})]),desc:s(()=>[...v[14]||(v[14]=[r("span",null,"为非管理员临时提供面板访问权限",-1)])]),_:1}),e(se,{title:"临时授权管理",modelValue:t(i),"onUpdate:modelValue":v[4]||(v[4]=$=>U(i)?i.value=$:null),area:70},{default:s(()=>[e(le,{class:"p-6"},{"header-left":s(()=>[e(N,{type:"primary",onClick:v[1]||(v[1]=$=>V.value=!0)},{default:s(()=>[...v[15]||(v[15]=[b("创建临时授权 ",-1)])]),_:1})]),content:s(()=>[G(e(ee,{ref:"tempAuthTable",data:t(c),column:L,"max-height":380},null,8,["data"]),[[ie,t(d)]])]),"footer-right":s(()=>[e(te,{page:t(n).p,"onUpdate:page":v[2]||(v[2]=$=>t(n).p=$),row:t(n).rows,"onUpdate:row":v[3]||(v[3]=$=>t(n).rows=$),total:t(g),onChange:X},null,8,["page","row","total"])]),_:1})]),_:1},8,["modelValue"]),e(se,{title:"风险提示",modelValue:t(V),"onUpdate:modelValue":v[7]||(v[7]=$=>U(V)?V.value=$:null),area:54,"show-footer":!0,onConfirm:v[8]||(v[8]=$=>O())},{default:s(()=>[r("div",ll,[v[19]||(v[19]=r("i",{class:"svgtofont-el-warning-filled text-warningDark !text-titleLarge pr-4"},null,-1)),r("div",null,[v[17]||(v[17]=r("p",{class:"text-base leading-10 text-danger"},"注意1:滥用临时授权可能导致安全风险。",-1)),v[18]||(v[18]=r("p",{class:"text-base leading-10 text-danger"},"注意2:请勿在公共场合发布临时授权连接",-1)),e(Le,{ref_key:"authFormRef",ref:f,rules:k,model:t(o),"label-position":"left",class:"my-[1rem]"},{default:s(()=>[e(_e,{label:"授权时间"},{default:s(()=>[e(Pe,{modelValue:t(o).checkboxValue,"onUpdate:modelValue":v[5]||(v[5]=$=>t(o).checkboxValue=$)},{default:s(()=>[e(Q,{label:"3小时"}),e(Q,{label:"6小时"}),e(Q,{label:"9小时"}),e(Q,{label:"12小时"}),e(Q,{label:"自定义"})]),_:1},8,["modelValue"])]),_:1}),t(o).checkboxValue==="自定义"?(A(),h(_e,{key:0,label:"自定义时间",prop:"day"},{default:s(()=>[e(ve,{modelValue:t(o).day,"onUpdate:modelValue":v[6]||(v[6]=$=>t(o).day=$),width:"16rem",textType:"天",min:"1",type:"number"},{append:s(()=>[...v[16]||(v[16]=[b("天",-1)])]),_:1},8,["modelValue"])]),_:1})):ke("",!0)]),_:1},8,["model"])])])]),_:1},8,["modelValue"]),e(se,{title:"创建临时授权",modelValue:t(_),"onUpdate:modelValue":v[11]||(v[11]=$=>U(_)?_.value=$:null),area:57},{default:s(()=>[r("div",sl,[v[21]||(v[21]=r("div",null,"临时授权地址",-1)),e(ve,{class:"my-5",type:"textarea",rows:2,modelValue:t(p),"onUpdate:modelValue":v[9]||(v[9]=$=>U(p)?p.value=$:null)},null,8,["modelValue"]),e(N,{type:"primary",class:"copy",onClick:v[10]||(v[10]=$=>C(t(p)))},{default:s(()=>[...v[20]||(v[20]=[b("复制地址",-1)])]),_:1}),v[22]||(v[22]=r("ul",{class:"ml-6 mt-8 list-disc"},[r("li",{class:"text-secondary h-[2.4rem]"},"临时授权生成后1小时内使用有效,为一次性授权,使用后立即失效"),r("li",{class:"text-secondary h-[2.4rem]"},"使用临时授权登录面板后1小时内拥有面板所有权限,请勿在公共场合发布临时授权连接"),r("li",{class:"text-secondary h-[2.4rem]"},"授权连接信息仅在此处显示一次,若在使用前忘记,请重新生成")],-1))])]),_:1},8,["modelValue"]),e(se,{title:"查看操作日志【".concat(t(m),"】"),modelValue:t(u),"onUpdate:modelValue":v[12]||(v[12]=$=>U(u)?u.value=$:null),area:70},{default:s(()=>[e(le,{class:"p-6"},{"header-left":s(()=>[e(N,{onClick:B,type:"primary"},{default:s(()=>[...v[23]||(v[23]=[b("刷新日志",-1)])]),_:1})]),content:s(()=>[G(e(ee,{ref:"tempAuthLogTable","max-height":380,data:t(a),column:P},null,8,["data"]),[[ie,t(w)],[ie,"正在获取日志,请稍候...","title"]])]),_:1})]),_:1},8,["title","modelValue"])])}}}),nl=D({__name:"index",setup(E){const i=y({}),c=Ke(()=>{var u;return((u=i.value)==null?void 0:u.limit_area_status)=="true"}),d=async()=>{ae({title:"设置地区登录限制",component:()=>ne(()=>import("./area-config.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:{limitArea:i.value,onRefresh:n},showFooter:!0,area:70})},g=async u=>{await pe({title:"".concat(u?"开启":"关闭","地区登录限制"),content:"".concat(u?"开启后,将会对面板登录地区进行限制":"关闭后,设置的地区登录将失效",",是否继续操作?"),icon:"warning-filled"}),await S({loading:"正在设置,请稍候...",request:mt({limit_area_status:u}),message:!0,success:n})},n=async()=>{const u=await S({request:ft(),data:{limit_area:Object,limit_area_status:String,limit_type:String}});i.value=u};return M(async()=>n()),(u,w)=>{const a=z,_=I;return A(),h(t(F),{label:"地区登录限制"},{value:s(()=>[e(a,{modelValue:t(c),"onUpdate:modelValue":w[0]||(w[0]=f=>U(c)?c.value=f:null),onChange:g},null,8,["modelValue"]),e(_,{type:"default",size:"small",class:"!ml-12px",disabled:u.loading,onClick:d},{default:s(()=>[...w[1]||(w[1]=[b("设置地区登录限制",-1)])]),_:1},8,["disabled"])]),desc:s(()=>[...w[2]||(w[2]=[r("span",null,"设置面板地区登录策略",-1)])]),_:1})}}}),ol={class:"px-[2rem]"},ul={class:"p-[2rem]"},il=D({__name:"index",setup(E){const{refs:{safeConfig:i}}=R(),c=y(!1),d=y(!1),g=y([]),n=y(!1),u=y(),w=y(!1),a=async l=>{await S({loading:"正在设置,请稍候...",request:be({status:l?1:0}),message:!0,success:m=>{!m.status&&m.msg==="请先添加ua后再开启!"&&(c.value=!0)}}),_()},_=async()=>{await S({request:ct(),success:({data:l})=>{const{status:m,ua_list:V}=l.msg||l;i.value.uaAstrict=Number(m)===1,g.value=V}})},f=async l=>{await S({loading:"正在删除,请稍候...",request:vt({id:l.id}),message:!0}),_()},o=async()=>{if(!u.value)return j.error("请输入User-Agent");await S({loading:"正在设置,请稍候...",request:w.value?be({new_name:u.value,id:w.value}):_t({ua_list:u.value}),message:!0}),_(),w.value=!1,u.value="",n.value=!1},p=[{label:"User-Agent",prop:"name"},yt([{onClick:l=>{w.value=l.id,u.value=l.name,n.value=!0},title:"编辑"},{onClick:l=>f(l),title:"删除"}])];return M(()=>_()),(l,m)=>{const V=z,k=I,q=Ve,L=Ue,P=H,O=W,C=J,ue=K,Z=ce("bt-loading");return A(),T("div",null,[e(t(F),{label:"User-Agent限制"},{value:s(()=>[e(V,{modelValue:t(i).uaAstrict,"onUpdate:modelValue":m[0]||(m[0]=B=>t(i).uaAstrict=B),onChange:m[1]||(m[1]=B=>a(t(i).uaAstrict))},null,8,["modelValue"]),e(k,{size:"small",class:"!ml-12px",onClick:m[2]||(m[2]=B=>c.value=!0)},{default:s(()=>[...m[7]||(m[7]=[b("User-Agent限制配置",-1)])]),_:1})]),desc:s(()=>[...m[8]||(m[8]=[r("span",null,"设置限制访问User-Agent",-1)])]),_:1}),e(P,{modelValue:t(c),"onUpdate:modelValue":m[4]||(m[4]=B=>U(c)?c.value=B:null),area:70,title:"User-Agent限制配置"},{default:s(()=>[r("div",ol,[e(L,{class:"py-20px"},{"header-left":s(()=>[e(k,{onClick:m[3]||(m[3]=B=>n.value=!0),type:"primary"},{default:s(()=>[...m[9]||(m[9]=[b("添加User-Agent",-1)])]),_:1})]),content:s(()=>[G(e(q,{ref:"uaTable",column:p,data:t(g),description:"User-Agent列表为空","max-height":400},null,8,["data"]),[[Z,t(d)],[Z,"正在加载User-Agent列表,请稍后...","title"]])]),_:1})])]),_:1},8,["modelValue"]),e(P,{modelValue:t(n),"onUpdate:modelValue":m[6]||(m[6]=B=>U(n)?n.value=B:null),area:50,title:(t(w)?"编辑":"添加")+"User-Agent",showFooter:"",onConfirm:o},{default:s(()=>[r("div",ul,[e(ue,{ref:"uaFormRef",model:t(u),"label-position":"left"},{default:s(()=>[e(C,{label:"User-Agent",prop:"name"},{default:s(()=>[e(O,{modelValue:t(u),"onUpdate:modelValue":m[5]||(m[5]=B=>U(u)?u.value=B:null),type:"textarea",width:"32rem",rows:4},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},8,["modelValue","title"])])}}}),Bl=D({__name:"index",setup(E){return R(),(i,c)=>(A(),T("div",null,[e(At),e(Pt),e(Tt),e(bt),e(Et),e(qt),e(Bt),e(Gt),e(Wt),e(xt),e(Kt),e(Vt),e(kt),e(Zt),e(tl),e(al),e(nl),e(il)]))}});export{Bl as default};
function __vite__mapDeps(indexes) {
  if (!__vite__mapDeps.viteFileDeps) {
    __vite__mapDeps.viteFileDeps = []
  }
  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
}