@waline/client
Version:
client for waline comment system
24 lines • 193 kB
JavaScript
var Yo=Object.defineProperty;var Jo=(e,t,n)=>t in e?Yo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var jr=(e,t,n)=>Jo(e,typeof t!="symbol"?t+"":t,n);var Pr;const Hs={"Content-Type":"application/json"},Je=e=>`${e.replace(/\/?$/,"/")}api/`,St=(e,t="")=>{if(typeof e=="object"&&e.errno)throw new TypeError(`${t} failed with ${e.errno}: ${e.errmsg}`);return e},Dn=({serverURL:e,lang:t,paths:n,type:r,signal:s})=>fetch(`${Je(e)}article?path=${encodeURIComponent(n.join(","))}&type=${encodeURIComponent(r.join(","))}&lang=${t}`,{signal:s}).then(i=>i.json()).then(i=>St(i,"Get counter").data),Vt=({serverURL:e,lang:t,path:n,type:r,action:s})=>fetch(`${Je(e)}article?lang=${t}`,{method:"POST",headers:Hs,body:JSON.stringify({path:n,type:r,action:s})}).then(i=>i.json()).then(i=>St(i,"Update counter").data),Ns=({serverURL:e,lang:t,path:n,page:r,pageSize:s,sortBy:i,signal:l,token:o})=>{const a={};return o&&(a.Authorization=`Bearer ${o}`),fetch(`${Je(e)}comment?path=${encodeURIComponent(n)}&pageSize=${s}&page=${r}&lang=${t}&sortBy=${i}`,{signal:l,headers:a}).then(c=>c.json()).then(c=>St(c,"Get comment data").data)},Bs=({serverURL:e,lang:t,token:n,comment:r})=>{const s={"Content-Type":"application/json"};return n&&(s.Authorization=`Bearer ${n}`),fetch(`${Je(e)}comment?lang=${t}`,{method:"POST",headers:s,body:JSON.stringify(r)}).then(i=>i.json())},Vs=({serverURL:e,lang:t,token:n,objectId:r})=>fetch(`${Je(e)}comment/${r}?lang=${t}`,{method:"DELETE",headers:{Authorization:`Bearer ${n}`}}).then(s=>s.json()).then(s=>St(s,"Delete comment")),un=({serverURL:e,lang:t,token:n,objectId:r,comment:s})=>fetch(`${Je(e)}comment/${r}?lang=${t}`,{method:"PUT",headers:{...Hs,Authorization:`Bearer ${n}`},body:JSON.stringify(s)}).then(i=>i.json()).then(i=>St(i,"Update comment")),Ws=({serverURL:e,lang:t,paths:n,signal:r})=>fetch(`${Je(e)}comment?type=count&url=${encodeURIComponent(n.join(","))}&lang=${t}`,{signal:r}).then(s=>s.json()).then(s=>St(s,"Get comment count").data),Qo=()=>{const e=navigator.userAgent;return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(e)},qs=({lang:e,serverURL:t})=>{const n=(window.innerWidth-450)/2,r=(window.innerHeight-450)/2;if(Qo())return location.href=`${t.replace(/\/$/,"")}/ui/login?lng=${encodeURIComponent(e)}&redirect=${encodeURIComponent(location.href)}`,new Promise(()=>{});const s=window.open(`${t.replace(/\/$/,"")}/ui/login?lng=${encodeURIComponent(e)}`,"_blank",`width=450,height=450,left=${n},top=${r},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);return s==null||s.postMessage({type:"TOKEN",data:null},"*"),new Promise(i=>{const l=({data:o})=>{!o||typeof o!="object"||o.type!=="userInfo"||o.data.token&&(s==null||s.close(),window.removeEventListener("message",l),i(o.data))};window.addEventListener("message",l)})},Ks=({serverURL:e,lang:t,paths:n,signal:r})=>Dn({serverURL:e,lang:t,paths:n,type:["time"],signal:r}),Gs=e=>Vt({...e,type:"time",action:"inc"}),Zs=({serverURL:e,lang:t,count:n,signal:r,token:s})=>{const i={};return s&&(i.Authorization=`Bearer ${s}`),fetch(`${Je(e)}comment?type=recent&count=${n}&lang=${t}`,{signal:r,headers:i}).then(l=>l.json())},Ys=({serverURL:e,signal:t,pageSize:n,lang:r})=>fetch(`${Je(e)}user?pageSize=${n}&lang=${r}`,{signal:t}).then(s=>s.json()).then(s=>St(s,"user list")).then(s=>s.data),Xo=new Set(["nick","mail","link"]),Js=e=>e.filter(t=>Xo.has(t)),Qs=["//unpkg.com/@waline/emojis@1.1.0/weibo"],ea=["//unpkg.com/@waline/emojis/tieba/tieba_agree.png","//unpkg.com/@waline/emojis/tieba/tieba_look_down.png","//unpkg.com/@waline/emojis/tieba/tieba_sunglasses.png","//unpkg.com/@waline/emojis/tieba/tieba_pick_nose.png","//unpkg.com/@waline/emojis/tieba/tieba_awkward.png","//unpkg.com/@waline/emojis/tieba/tieba_sleep.png"],ta=e=>new Promise((t,n)=>{if(e.size>128*1e3){n(new Error("File too large! File size limit 128KB"));return}const r=new FileReader;r.readAsDataURL(e),r.addEventListener("load",()=>{t(r.result)}),r.addEventListener("error",n)}),na=e=>e?'<p class="wl-tex">TeX is not available in preview</p>':'<span class="wl-tex">TeX is not available in preview</span>',ra=e=>{const t=(n,r={})=>fetch(`https://api.giphy.com/v1/gifs/${n}?${new URLSearchParams({lang:e,limit:"20",rating:"g",api_key:"6CIMLkNMMOhRcXPoMCPkFy4Ybk2XUiMp",...r}).toString()}`).then(s=>s.json()).then(({data:s})=>s.map(i=>({title:i.title,src:i.images.downsized_medium.url})));return{search:n=>t("search",{q:n,offset:"0"}),default:()=>t("trending",{}),more:(n,r=0)=>t("search",{q:n,offset:r.toString()})}},sa=/[\u4E00-\u9FFF\u3400-\u4DBF\uF900-\uFAFF\u3040-\u309F\uAC00-\uD7AF\u0400-\u04FF]+|\w+/,ia=/</,la=/(?:^|\s)\/\/(.+?)$/gm,oa=/\/\*([\S\s]*?)\*\//gm,aa=new RegExp(`(${sa.source}|${ia.source})|((?:${la.source})|(?:${oa.source}))`,"gmi"),Xs=["23AC69","91C132","F19726","E8552D","1AAB8E","E1147F","2980C1","1BA1E6","9FA0A0","F19726","E30B20","E30B20","A3338B"],Fr={},ca=e=>{let t=0;return e.replace(aa,(n,r,s)=>{if(s)return`<span style="color: slategray">${s}</span>`;if(r==="<")return"<";let i;Fr[r]?i=Fr[r]:(i=Xs[t],Fr[r]=i);const l=`<span style="color: #${i}">${r}</span>`;return t=++t%Xs.length,l})},ua=["nick","nickError","mail","mailError","link","optional","placeholder","sofa","submit","like","cancelLike","reply","cancelReply","comment","refresh","more","preview","emoji","uploadImage","seconds","minutes","hours","days","now","uploading","login","logout","admin","sticky","word","wordHint","anonymous","level0","level1","level2","level3","level4","level5","gif","gifSearchPlaceholder","profile","approved","waiting","spam","unsticky","oldest","latest","hottest","reactionTitle","commentUnderReview","subPostComment","subSiteComment","subscribeToReplies"],Oe=e=>Object.fromEntries(e.map((t,n)=>[ua[n],t]));var fa=Oe(["Benutzername","Der Benutzername darf nicht weniger als 3 Bytes umfassen.","E-Mail","Bitte bestätigen Sie Ihre E-Mail-Adresse.","Webseite","Optional","Kommentieren Sie hier...","Noch keine Kommentare.","Senden","Gefällt mir","Gefällt mir nicht mehr","Antworten","Antwort abbrechen","Kommentare","Aktualisieren","Mehr laden...","Vorschau","Emoji","Ein Bild hochladen","Vor einigen Sekunden","Vor einigen Minuten","Vor einigen Stunden","Vor einigen Tagen","Gerade eben","Hochladen läuft","Anmelden","Abmelden","Admin","Angeheftet","Wörter","Bitte geben Sie Kommentare zwischen $0 und $1 Wörtern ein! Aktuelle Anzahl der Wörter: $2","Anonym","Zwerge","Hobbits","Ents","Magier","Elfen","Maïar","GIF","Nach einem GIF suchen","Profil","Genehmigt","Ausstehend","Spam","Lösen","Älteste","Neueste","Am beliebtesten","Was denken Sie?","Ihr Kommentar wird überprüft und ist derzeit nur für Sie sichtbar. Nach der Genehmigung wird er öffentlich angezeigt.","Abonnieren Sie die Kommentare zu diesem Beitrag","Abonnieren Sie die Kommentare auf dieser Seite","Abonnieren Sie die Antworten auf Ihre Kommentare"]),ei=Oe(["NickName","NickName cannot be less than 3 bytes.","E-Mail","Please confirm your email address.","Website","Optional","Comment here...","No comment yet.","Submit","Like","Cancel like","Reply","Cancel reply","Comments","Refresh","Load More...","Preview","Emoji","Upload Image","seconds ago","minutes ago","hours ago","days ago","just now","Uploading","Login","logout","Admin","Sticky","Words",`Please input comments between $0 and $1 words!
Current word number: $2`,"Anonymous","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Search GIF","Profile","Approved","Waiting","Spam","Unsticky","Oldest","Latest","Hottest","What do you think?","Your comment is under review and is currently only visible to you. It will be publicly visible after approval.","Subscribe to comments of this post","Subscribe to comments of this site","Subscribe to replies of your comments"]),ti=Oe(["Nombre de usuario","El nombre de usuario no puede tener menos de 3 bytes.","Correo electrónico","Por favor confirma tu dirección de correo electrónico.","Sitio web","Opcional","Comenta aquí...","Sin comentarios todavía.","Enviar","Like","Anular like","Responder","Anular respuesta","Comentarios","Recargar","Cargar Más...","Previsualizar","Emoji","Subir Imagen","segundos atrás","minutos atrás","horas atrás","días atrás","justo ahora","Subiendo","Iniciar sesión","cerrar sesión","Admin","Fijado","Palabras",`Por favor escriba entre $0 y $1 palabras!
El número actual de palabras: $2`,"Anónimo","Enanos","Hobbits","Ents","Magos","Elfos","Maiar","GIF","Buscar GIF","Perfil","Aprobado","Esperando","Spam","Desfijar","Más antiguos","Más recientes","Más vistos","¿Qué piensas?","Tu comentario está en revisión y actualmente solo es visible para ti. Será visible públicamente después de la aprobación.","Suscribirse a los comentarios de esta publicación","Suscribirse a los comentarios de este sitio","Suscribirse a las respuestas de tus comentarios"]),ni=Oe(["Pseudo","Le pseudo ne peut pas faire moins de 3 octets.","E-mail","Veuillez confirmer votre adresse e-mail.","Site Web","Optionnel","Commentez ici...","Aucun commentaire pour l'instant.","Envoyer","J'aime","Annuler le j'aime","Répondre","Annuler la réponse","Commentaires","Actualiser","Charger plus...","Aperçu","Emoji","Télécharger une image","Il y a quelques secondes","Il y a quelques minutes","Il y a quelques heures","Il y a quelques jours","À l'instant","Téléchargement en cours","Connexion","Déconnexion","Admin","Épinglé","Mots",`Veuillez saisir des commentaires entre $0 et $1 mots !
Nombre actuel de mots : $2`,"Anonyme","Nains","Hobbits","Ents","Mages","Elfes","Maïar","GIF","Rechercher un GIF","Profil","Approuvé","En attente","Indésirable","Détacher","Le plus ancien","Dernier","Le plus populaire","Qu'en pensez-vous ?","Votre commentaire est en cours de révision et n'est actuellement visible que par vous. Il sera visible publiquement après approbation.","S’abonner aux commentaires de ce post","S’abonner aux commentaires de ce site","S’abonner aux réponses de vos commentaires"]),ri=Oe(["Nickname","Il nickname non può avere meno di 3 caratteri.","E-mail","Per favore conferma il tuo indirizzo e-mail.","Sito web","Facoltativo","Scrivi un commento...","Ancora nessun commento.","Invia","Mi piace","Annulla mi piace","Rispondi","Annulla risposta","Commenti","Aggiorna","Carica altri...","Anteprima","Emoji","Carica immagine","secondi fa","minuti fa","ore fa","giorni fa","adesso","Caricamento in corso...","Accedi","Esci","Admin","In evidenza","Parole",`Inserisci un commento tra $0 e $1 parole!
Numero attuale di parole: $2`,"Anonimo","Nano","Hobbit","Ent","Mago","Elfo","Maiar","GIF","Cerca GIF","Profilo","Approvato","In attesa","Spam","Rimuovi evidenza","Più vecchi","Più recenti","Più popolari","Cosa ne pensi?","Il tuo commento è in fase di revisione ed è attualmente visibile solo a te. Sarà visibile pubblicamente dopo l'approvazione.","Iscriviti ai commenti di questo post","Iscriviti ai commenti di questo sito","Iscriviti alle risposte dei tuoi commenti"]),si=Oe(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","Like","Cancel like","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード",`コメントは $0 から $1 ワードの間でなければなりません!
現在の単語番号: $2`,"匿名","うえにん","なかにん","しもおし","特にしもおし","かげ","なぬし","GIF","探す GIF","個人情報","承認済み","待っている","スパム","べたつかない","逆順","正順","人気順","どう思いますか?","あなたのコメントは審査中で、現在はあなただけに表示されています。承認後に公開されます。","この投稿のコメントを購読する","このサイトのコメントを購読する","あなたのコメントの返信を購読する"]),ii=Oe(["닉네임","닉네임은 3바이트 이상이어야 합니다.","이메일","이메일 주소를 확인해 주세요.","웹사이트","선택사항","여기에 댓글을 입력하세요...","아직 댓글이 없습니다.","제출","좋아요","좋아요 취소","답글","답글 취소","댓글","새로고침","더 보기...","미리보기","이모지","이미지 업로드","초 전","분 전","시간 전","일 전","방금 전","업로드 중","로그인","로그아웃","관리자","고정","글자 수",`댓글은 $0자에서 $1자 사이여야 합니다!
현재 글자 수: $2`,"익명","난쟁이","호빗","엔트","마법사","엘프","마이아","GIF","GIF 검색","프로필","승인됨","대기 중","스팸","고정 해제","오래된 순","최신 순","인기순","어떻게 생각하시나요?","댓글이 검토 중이며 현재 본인만 볼 수 있습니다. 승인 후 공개됩니다.","이 게시물의 댓글 구독","이 사이트의 댓글 구독","댓글에 대한 답글 구독"]),ha=Oe(["Apelido","Apelido não pode ser menor que 3 bytes.","E-Mail","Por favor, confirme seu endereço de e-mail.","Website","Opcional","Comente aqui...","Nenhum comentário, ainda.","Enviar","Like","Cancel like","Responder","Cancelar resposta","Comentários","Refrescar","Carregar Mais...","Visualizar","Emoji","Enviar Imagem","segundos atrás","minutos atrás","horas atrás","dias atrás","agora mesmo","Enviando","Entrar","Sair","Admin","Sticky","Palavras",`Favor enviar comentário com $0 a $1 palavras!
Número de palavras atuais: $2`,"Anônimo","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Pesquisar GIF","informação pessoal","Aprovado","Espera","Spam","Unsticky","Mais velho","Mais recentes","Mais quente","O que você acha?","Seu comentário está em revisão e atualmente está visível apenas para você. Ele será visível publicamente após a aprovação.","Assinar os comentários deste post","Assinar os comentários deste site","Assinar as respostas dos seus comentários"]),li=Oe(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Like","Cancel like","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова",`Пожалуйста, введите комментарии от $0 до $1 слов!
Номер текущего слова: $2`,"Анонимный","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Поиск GIF","Персональные данные","Одобренный","Ожидающий","Спам","Нелипкий","самый старый","последний","самый горячий","Что вы думаете?","Ваш комментарий находится на рассмотрении и в настоящее время виден только вам. После одобрения он станет общедоступным.","Подписаться на комментарии к этому посту","Подписаться на комментарии этого сайта","Подписаться на ответы ваших комментариев"]),oi=Oe(["Tên","Tên không được nhỏ hơn 3 ký tự.","E-Mail","Vui lòng xác nhập địa chỉ email của bạn.","Website","Tùy chọn","Hãy bình luận có văn hoá!","Chưa có bình luận","Gửi","Thích","Bỏ thích","Trả lời","Hủy bỏ","bình luận","Làm mới","Tải thêm...","Xem trước","Emoji","Tải lên hình ảnh","giây trước","phút trước","giờ trước","ngày trước","Vừa xong","Đang tải lên","Đăng nhập","đăng xuất","Quản trị viên","Dính","từ",`Bình luận phải có độ dài giữa $0 và $1 từ!
Số từ hiện tại: $2`,"Vô danh","Người lùn","Người tí hon","Thần rừng","Pháp sư","Tiên tộc","Maiar","Ảnh GIF","Tìm kiếm ảnh GIF","thông tin cá nhân","Đã được phê duyệt","Đang chờ đợi","Thư rác","Không dính","lâu đời nhất","muộn nhất","nóng nhất","What do you think?","Bình luận của bạn đang được xem xét và hiện chỉ hiển thị với bạn. Nó sẽ được công khai sau khi được phê duyệt.","Đăng ký nhận xét của bài viết này","Đăng ký nhận xét của trang web này","Đăng ký nhận xét của bạn"]),ai=Oe(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","喜欢","取消喜欢","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字",`评论字数应在 $0 到 $1 字之间!
当前字数:$2`,"匿名","潜水","冒泡","吐槽","活跃","话痨","传说","表情包","搜索表情包","个人资料","通过","待审核","垃圾","取消置顶","按倒序","按正序","按热度","你认为这篇文章怎么样?","评论正在审核中,当前仅自己可见,审核通过后公开可见。","订阅本文评论","订阅本站评论","订阅你的评论回复"]),pa=Oe(["暱稱","暱稱不能少於3個字元","郵箱","請填寫正確的郵件地址","網址","可選","歡迎留言","來發留言吧~","送出","喜歡","取消喜歡","回覆","取消回覆","留言","重整","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登入","登出","管理者","置頂","字",`留言字數應在 $0 到 $1 字之間!
目前字數:$2`,"匿名","潛水","冒泡","吐槽","活躍","多話","傳說","表情包","搜尋表情包","個人資料","通過","待審核","垃圾","取消置頂","最早","最新","熱門","你認為這篇文章怎麼樣?","您的評論正在審核中,目前僅您可見。審核通過後將公開顯示。","訂閱此文章的評論","訂閱本站的評論","訂閱您的評論回覆"]);const ci="en-US",Un={zh:ai,"zh-cn":ai,"zh-tw":pa,en:ei,"en-us":ei,fr:ni,"fr-fr":ni,it:ri,"it-it":ri,jp:si,"jp-jp":si,ko:ii,"ko-kr":ii,"pt-br":ha,ru:li,"ru-ru":li,vi:oi,"vi-vn":oi,de:fa,es:ti,"es-mx":ti},ui=e=>Un[e.toLowerCase()]??Un[ci.toLowerCase()],fi=e=>Object.keys(Un).includes(e.toLowerCase())?e:ci,hi={latest:"insertedAt_desc",oldest:"insertedAt_asc",hottest:"like_desc"},da=Object.keys(hi),Hn=Symbol("waline-config"),pi=e=>{try{return decodeURI(e)}catch{return e}},di=(e="")=>e.replace(/\/$/u,""),gi=e=>/^(https?:)?\/\//.test(e),Nn=e=>{const t=di(e);return gi(t)?t:`https://${t}`},ga=e=>Array.isArray(e)?e:typeof e=="number"?[0,e]:!1,fn=(e,t)=>e==null||e===!0?t:e===!1?null:e,ma=({serverURL:e,path:t=location.pathname,lang:n=typeof navigator>"u"?"en-US":navigator.language,locale:r,meta:s=["nick","mail","link"],requiredMeta:i=[],dark:l=!1,pageSize:o=10,wordLimit:a,noCopyright:c=!1,noRss:u=!1,login:f="enable",recaptchaV3Key:p="",turnstileKey:m="",commentSorting:x="latest",emoji:y=Qs,imageUploader:A,highlighter:_,texRenderer:T,search:O,reaction:S,...F})=>({serverURL:Nn(e),path:pi(t),lang:fi(n),locale:{...ui(fi(n)),...typeof r=="object"?r:{}},wordLimit:ga(a),meta:Js(s),requiredMeta:Js(i),dark:l,pageSize:o,commentSorting:x,login:f,noCopyright:c,noRss:u,recaptchaV3Key:p,turnstileKey:m,...F,reaction:S===!0?ea:S||null,imageUploader:fn(A,ta),highlighter:fn(_,ca),texRenderer:fn(T,na),emoji:fn(y,Qs),search:fn(O,ra(n))}),Wt=e=>typeof e=="string",Dr="{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bg-color:#1e1e1e;--waline-bg-color-light:#272727;--waline-bg-color-hover: #444;--waline-border-color:#333;--waline-disable-bg-color:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bg-color:#272727;--waline-info-color:#666}",va=e=>Wt(e)?e==="auto"?`@media(prefers-color-scheme:dark){body${Dr}}`:`${e}${Dr}`:e===!0?`:root${Dr}`:"",Ur=(e,t)=>{let n=e.toString();for(;n.length<t;)n=`0${n}`;return n},ba=e=>{const t=Ur(e.getDate(),2),n=Ur(e.getMonth()+1,2);return`${Ur(e.getFullYear(),2)}-${n}-${t}`},ya=(e,t,n)=>{if(!e)return"";const r=Wt(e)?new Date(e.includes(" ")?e.replaceAll("-","/"):e):e,s=t.getTime()-r.getTime(),i=Math.floor(s/(24*3600*1e3));if(i===0){const l=s%864e5,o=Math.floor(l/(3600*1e3));if(o===0){const a=l%36e5,c=Math.floor(a/(60*1e3));if(c===0){const u=a%6e4;return`${Math.round(u/1e3)} ${n.seconds}`}return`${c} ${n.minutes}`}return`${o} ${n.hours}`}return i<0?n.now:i<8?`${i} ${n.days}`:ba(r)},wa=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,ka=e=>wa.test(e);/**
* @vue/shared v3.5.28
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function Hr(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const he={},qt=[],Rt=()=>{},mi=()=>!1,Bn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Nr=e=>e.startsWith("onUpdate:"),Ee=Object.assign,vi=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},xa=Object.prototype.hasOwnProperty,oe=(e,t)=>xa.call(e,t),V=Array.isArray,Kt=e=>hn(e)==="[object Map]",Gt=e=>hn(e)==="[object Set]",bi=e=>hn(e)==="[object Date]",ne=e=>typeof e=="function",be=e=>typeof e=="string",Ve=e=>typeof e=="symbol",ce=e=>e!==null&&typeof e=="object",yi=e=>(ce(e)||ne(e))&&ne(e.then)&&ne(e.catch),wi=Object.prototype.toString,hn=e=>wi.call(e),_a=e=>hn(e).slice(8,-1),ki=e=>hn(e)==="[object Object]",Vn=e=>be(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,pn=Hr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Wn=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},$a=/-\w/g,je=Wn(e=>e.replace($a,t=>t.slice(1).toUpperCase())),Ca=/\B([A-Z])/g,At=Wn(e=>e.replace(Ca,"-$1").toLowerCase()),qn=Wn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Br=Wn(e=>e?`on${qn(e)}`:""),pt=(e,t)=>!Object.is(e,t),Kn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},xi=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Gn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let _i;const dn=()=>_i||(_i=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Et(e){if(V(e)){const t={};for(let n=0;n<e.length;n++){const r=e[n],s=be(r)?Ea(r):Et(r);if(s)for(const i in s)t[i]=s[i]}return t}else if(be(e)||ce(e))return e}const Sa=/;(?![^(]*\))/g,Ra=/:([^]+)/,Aa=/\/\*[^]*?\*\//g;function Ea(e){const t={};return e.replace(Aa,"").split(Sa).forEach(n=>{if(n){const r=n.split(Ra);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function me(e){let t="";if(be(e))t=e;else if(V(e))for(let n=0;n<e.length;n++){const r=me(e[n]);r&&(t+=r+" ")}else if(ce(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const La="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Ta=Hr(La);function $i(e){return!!e||e===""}function Ia(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=dt(e[r],t[r]);return n}function dt(e,t){if(e===t)return!0;let n=bi(e),r=bi(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=Ve(e),r=Ve(t),n||r)return e===t;if(n=V(e),r=V(t),n||r)return n&&r?Ia(e,t):!1;if(n=ce(e),r=ce(t),n||r){if(!n||!r)return!1;const s=Object.keys(e).length,i=Object.keys(t).length;if(s!==i)return!1;for(const l in e){const o=e.hasOwnProperty(l),a=t.hasOwnProperty(l);if(o&&!a||!o&&a||!dt(e[l],t[l]))return!1}}return String(e)===String(t)}function Vr(e,t){return e.findIndex(n=>dt(n,t))}const Ci=e=>!!(e&&e.__v_isRef===!0),Q=e=>be(e)?e:e==null?"":V(e)||ce(e)&&(e.toString===wi||!ne(e.toString))?Ci(e)?Q(e.value):JSON.stringify(e,Si,2):String(e),Si=(e,t)=>Ci(t)?Si(e,t.value):Kt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],i)=>(n[Wr(r,i)+" =>"]=s,n),{})}:Gt(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Wr(n))}:Ve(t)?Wr(t):ce(t)&&!V(t)&&!ki(t)?String(t):t,Wr=(e,t="")=>{var n;return Ve(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
* @vue/reactivity v3.5.28
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let ye;class Ma{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=ye,!t&&ye&&(this.index=(ye.scopes||(ye.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=ye;try{return ye=this,t()}finally{ye=n}}}on(){++this._on===1&&(this.prevScope=ye,ye=this)}off(){this._on>0&&--this._on===0&&(ye=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n<r;n++)this.effects[n].stop();for(this.effects.length=0,n=0,r=this.cleanups.length;n<r;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,r=this.scopes.length;n<r;n++)this.scopes[n].stop(!0);this.scopes.length=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}}}function Ri(){return ye}function Pa(e,t=!1){ye&&ye.cleanups.push(e)}let ue;const qr=new WeakSet;class Ai{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,ye&&ye.active&&ye.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,qr.has(this)&&(qr.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Li(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,zi(this),Ti(this);const t=ue,n=Ue;ue=this,Ue=!0;try{return this.fn()}finally{Ii(this),ue=t,Ue=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Yr(t);this.deps=this.depsTail=void 0,zi(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?qr.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Zr(this)&&this.run()}get dirty(){return Zr(this)}}let Ei=0,gn,mn;function Li(e,t=!1){if(e.flags|=8,t){e.next=mn,mn=e;return}e.next=gn,gn=e}function Kr(){Ei++}function Gr(){if(--Ei>0)return;if(mn){let t=mn;for(mn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;gn;){let t=gn;for(gn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function Ti(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ii(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),Yr(r),za(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function Zr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Mi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Mi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===vn)||(e.globalVersion=vn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Zr(e))))return;e.flags|=2;const t=e.dep,n=ue,r=Ue;ue=e,Ue=!0;try{Ti(e);const s=e.fn(e._value);(t.version===0||pt(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{ue=n,Ue=r,Ii(e),e.flags&=-3}}function Yr(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Yr(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function za(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ue=!0;const Pi=[];function gt(){Pi.push(Ue),Ue=!1}function mt(){const e=Pi.pop();Ue=e===void 0?!0:e}function zi(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ue;ue=void 0;try{t()}finally{ue=n}}}let vn=0;class Oa{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 Zn{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,this.__v_skip=!0}track(t){if(!ue||!Ue||ue===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ue)n=this.activeLink=new Oa(ue,this),ue.deps?(n.prevDep=ue.depsTail,ue.depsTail.nextDep=n,ue.depsTail=n):ue.deps=ue.depsTail=n,Oi(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=ue.depsTail,n.nextDep=void 0,ue.depsTail.nextDep=n,ue.depsTail=n,ue.deps===n&&(ue.deps=r)}return n}trigger(t){this.version++,vn++,this.notify(t)}notify(t){Kr();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Gr()}}}function Oi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)Oi(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Yn=new WeakMap,Lt=Symbol(""),Jr=Symbol(""),bn=Symbol("");function we(e,t,n){if(Ue&&ue){let r=Yn.get(e);r||Yn.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new Zn),s.map=r,s.key=n),s.track()}}function Qe(e,t,n,r,s,i){const l=Yn.get(e);if(!l){vn++;return}const o=a=>{a&&a.trigger()};if(Kr(),t==="clear")l.forEach(o);else{const a=V(e),c=a&&Vn(n);if(a&&n==="length"){const u=Number(r);l.forEach((f,p)=>{(p==="length"||p===bn||!Ve(p)&&p>=u)&&o(f)})}else switch((n!==void 0||l.has(void 0))&&o(l.get(n)),c&&o(l.get(bn)),t){case"add":a?c&&o(l.get("length")):(o(l.get(Lt)),Kt(e)&&o(l.get(Jr)));break;case"delete":a||(o(l.get(Lt)),Kt(e)&&o(l.get(Jr)));break;case"set":Kt(e)&&o(l.get(Lt));break}}Gr()}function ja(e,t){const n=Yn.get(e);return n&&n.get(t)}function Zt(e){const t=te(e);return t===e?t:(we(t,"iterate",bn),Le(e)?t:t.map(He))}function Jn(e){return we(e=te(e),"iterate",bn),e}function vt(e,t){return et(e)?Yt(It(e)?He(t):t):He(t)}const Fa={__proto__:null,[Symbol.iterator](){return Qr(this,Symbol.iterator,e=>vt(this,e))},concat(...e){return Zt(this).concat(...e.map(t=>V(t)?Zt(t):t))},entries(){return Qr(this,"entries",e=>(e[1]=vt(this,e[1]),e))},every(e,t){return Xe(this,"every",e,t,void 0,arguments)},filter(e,t){return Xe(this,"filter",e,t,n=>n.map(r=>vt(this,r)),arguments)},find(e,t){return Xe(this,"find",e,t,n=>vt(this,n),arguments)},findIndex(e,t){return Xe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Xe(this,"findLast",e,t,n=>vt(this,n),arguments)},findLastIndex(e,t){return Xe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Xe(this,"forEach",e,t,void 0,arguments)},includes(...e){return Xr(this,"includes",e)},indexOf(...e){return Xr(this,"indexOf",e)},join(e){return Zt(this).join(e)},lastIndexOf(...e){return Xr(this,"lastIndexOf",e)},map(e,t){return Xe(this,"map",e,t,void 0,arguments)},pop(){return yn(this,"pop")},push(...e){return yn(this,"push",e)},reduce(e,...t){return ji(this,"reduce",e,t)},reduceRight(e,...t){return ji(this,"reduceRight",e,t)},shift(){return yn(this,"shift")},some(e,t){return Xe(this,"some",e,t,void 0,arguments)},splice(...e){return yn(this,"splice",e)},toReversed(){return Zt(this).toReversed()},toSorted(e){return Zt(this).toSorted(e)},toSpliced(...e){return Zt(this).toSpliced(...e)},unshift(...e){return yn(this,"unshift",e)},values(){return Qr(this,"values",e=>vt(this,e))}};function Qr(e,t,n){const r=Jn(e),s=r[t]();return r!==e&&!Le(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=n(i.value)),i}),s}const Da=Array.prototype;function Xe(e,t,n,r,s,i){const l=Jn(e),o=l!==e&&!Le(e),a=l[t];if(a!==Da[t]){const f=a.apply(e,i);return o?He(f):f}let c=n;l!==e&&(o?c=function(f,p){return n.call(this,vt(e,f),p,e)}:n.length>2&&(c=function(f,p){return n.call(this,f,p,e)}));const u=a.call(l,c,r);return o&&s?s(u):u}function ji(e,t,n,r){const s=Jn(e);let i=n;return s!==e&&(Le(e)?n.length>3&&(i=function(l,o,a){return n.call(this,l,o,a,e)}):i=function(l,o,a){return n.call(this,l,vt(e,o),a,e)}),s[t](i,...r)}function Xr(e,t,n){const r=te(e);we(r,"iterate",bn);const s=r[t](...n);return(s===-1||s===!1)&&nr(n[0])?(n[0]=te(n[0]),r[t](...n)):s}function yn(e,t,n=[]){gt(),Kr();const r=te(e)[t].apply(e,n);return Gr(),mt(),r}const Ua=Hr("__proto__,__v_isRef,__isVue"),Fi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ve));function Ha(e){Ve(e)||(e=String(e));const t=te(this);return we(t,"has",e),t.hasOwnProperty(e)}class Di{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;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 r===(s?i?Wi:Vi:i?Bi:Ni).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const l=V(t);if(!s){let a;if(l&&(a=Fa[n]))return a;if(n==="hasOwnProperty")return Ha}const o=Reflect.get(t,n,ve(t)?t:r);if((Ve(n)?Fi.has(n):Ua(n))||(s||we(t,"get",n),i))return o;if(ve(o)){const a=l&&Vn(n)?o:o.value;return s&&ce(a)?Tt(a):a}return ce(o)?s?Tt(o):wn(o):o}}class Ui extends Di{constructor(t=!1){super(!1,t)}set(t,n,r,s){let i=t[n];const l=V(t)&&Vn(n);if(!this._isShallow){const c=et(i);if(!Le(r)&&!et(r)&&(i=te(i),r=te(r)),!l&&ve(i)&&!ve(r))return c||(i.value=r),!0}const o=l?Number(n)<t.length:oe(t,n),a=Reflect.set(t,n,r,ve(t)?t:s);return t===te(s)&&(o?pt(r,i)&&Qe(t,"set",n,r):Qe(t,"add",n,r)),a}deleteProperty(t,n){const r=oe(t,n),s=Reflect.deleteProperty(t,n);return s&&r&&Qe(t,"delete",n,void 0),s}has(t,n){const r=Reflect.has(t,n);return(!Ve(n)||!Fi.has(n))&&we(t,"has",n),r}ownKeys(t){return we(t,"iterate",V(t)?"length":Lt),Reflect.ownKeys(t)}}class Hi extends Di{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Na=new Ui,Ba=new Hi,Va=new Ui(!0),Wa=new Hi(!0),es=e=>e,Qn=e=>Reflect.getPrototypeOf(e);function qa(e,t,n){return function(...r){const s=this.__v_raw,i=te(s),l=Kt(i),o=e==="entries"||e===Symbol.iterator&&l,a=e==="keys"&&l,c=s[e](...r),u=n?es:t?Yt:He;return!t&&we(i,"iterate",a?Jr:Lt),Ee(Object.create(c),{next(){const{value:f,done:p}=c.next();return p?{value:f,done:p}:{value:o?[u(f[0]),u(f[1])]:u(f),done:p}}})}}function Xn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ka(e,t){const n={get(s){const i=this.__v_raw,l=te(i),o=te(s);e||(pt(s,o)&&we(l,"get",s),we(l,"get",o));const{has:a}=Qn(l),c=t?es:e?Yt:He;if(a.call(l,s))return c(i.get(s));if(a.call(l,o))return c(i.get(o));i!==l&&i.get(s)},get size(){const s=this.__v_raw;return!e&&we(te(s),"iterate",Lt),s.size},has(s){const i=this.__v_raw,l=te(i),o=te(s);return e||(pt(s,o)&&we(l,"has",s),we(l,"has",o)),s===o?i.has(s):i.has(s)||i.has(o)},forEach(s,i){const l=this,o=l.__v_raw,a=te(o),c=t?es:e?Yt:He;return!e&&we(a,"iterate",Lt),o.forEach((u,f)=>s.call(i,c(u),c(f),l))}};return Ee(n,e?{add:Xn("add"),set:Xn("set"),delete:Xn("delete"),clear:Xn("clear")}:{add(s){!t&&!Le(s)&&!et(s)&&(s=te(s));const i=te(this);return Qn(i).has.call(i,s)||(i.add(s),Qe(i,"add",s,s)),this},set(s,i){!t&&!Le(i)&&!et(i)&&(i=te(i));const l=te(this),{has:o,get:a}=Qn(l);let c=o.call(l,s);c||(s=te(s),c=o.call(l,s));const u=a.call(l,s);return l.set(s,i),c?pt(i,u)&&Qe(l,"set",s,i):Qe(l,"add",s,i),this},delete(s){const i=te(this),{has:l,get:o}=Qn(i);let a=l.call(i,s);a||(s=te(s),a=l.call(i,s)),o&&o.call(i,s);const c=i.delete(s);return a&&Qe(i,"delete",s,void 0),c},clear(){const s=te(this),i=s.size!==0,l=s.clear();return i&&Qe(s,"clear",void 0,void 0),l}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=qa(s,e,t)}),n}function er(e,t){const n=Ka(e,t);return(r,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(oe(n,s)&&s in r?n:r,s,i)}const Ga={get:er(!1,!1)},Za={get:er(!1,!0)},Ya={get:er(!0,!1)},Ja={get:er(!0,!0)},Ni=new WeakMap,Bi=new WeakMap,Vi=new WeakMap,Wi=new WeakMap;function Qa(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Xa(e){return e.__v_skip||!Object.isExtensible(e)?0:Qa(_a(e))}function wn(e){return et(e)?e:tr(e,!1,Na,Ga,Ni)}function ec(e){return tr(e,!1,Va,Za,Bi)}function Tt(e){return tr(e,!0,Ba,Ya,Vi)}function tc(e){return tr(e,!0,Wa,Ja,Wi)}function tr(e,t,n,r,s){if(!ce(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Xa(e);if(i===0)return e;const l=s.get(e);if(l)return l;const o=new Proxy(e,i===2?r:n);return s.set(e,o),o}function It(e){return et(e)?It(e.__v_raw):!!(e&&e.__v_isReactive)}function et(e){return!!(e&&e.__v_isReadonly)}function Le(e){return!!(e&&e.__v_isShallow)}function nr(e){return e?!!e.__v_raw:!1}function te(e){const t=e&&e.__v_raw;return t?te(t):e}function nc(e){return!oe(e,"__v_skip")&&Object.isExtensible(e)&&xi(e,"__v_skip",!0),e}const He=e=>ce(e)?wn(e):e,Yt=e=>ce(e)?Tt(e):e;function ve(e){return e?e.__v_isRef===!0:!1}function G(e){return qi(e,!1)}function Mt(e){return qi(e,!0)}function qi(e,t){return ve(e)?e:new rc(e,t)}class rc{constructor(t,n){this.dep=new Zn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:te(t),this._value=n?t:He(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||Le(t)||et(t);t=r?t:te(t),pt(t,n)&&(this._rawValue=t,this._value=r?t:He(t),this.dep.trigger())}}function N(e){return ve(e)?e.value:e}function Te(e){return ne(e)?e():N(e)}const sc={get:(e,t,n)=>t==="__v_raw"?e:N(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return ve(s)&&!ve(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Ki(e){return It(e)?e:new Proxy(e,sc)}class ic{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Zn,{get:r,set:s}=t(n.track.bind(n),n.trigger.bind(n));this._get=r,this._set=s}get value(){return this._value=this._get()}set value(t){this._set(t)}}function lc(e){return new ic(e)}class oc{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._raw=te(t);let s=!0,i=t;if(!V(t)||!Vn(String(n)))do s=!nr(i)||Le(i);while(s&&(i=i.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=N(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ve(this._raw[this._key])){const n=this._object[this._key];if(ve(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return ja(this._raw,this._key)}}class ac{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 cc(e,t,n){return ve(e)?e:ne(e)?new ac(e):ce(e)&&arguments.length>1?uc(e,t,n):G(e)}function uc(e,t,n){return new oc(e,t,n)}class fc{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Zn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=vn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&ue!==this)return Li(this,!0),!0}get value(){const t=this.dep.track();return Mi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function hc(e,t,n=!1){let r,s;return ne(e)?r=e:(r=e.get,s=e.set),new fc(r,s,n)}const rr={},sr=new WeakMap;let Pt;function pc(e,t=!1,n=Pt){if(n){let r=sr.get(n);r||sr.set(n,r=[]),r.push(e)}}function dc(e,t,n=he){const{immediate:r,deep:s,once:i,scheduler:l,augmentJob:o,call:a}=n,c=S=>s?S:Le(S)||s===!1||s===0?tt(S,1):tt(S);let u,f,p,m,x=!1,y=!1;if(ve(e)?(f=()=>e.value,x=Le(e)):It(e)?(f=()=>c(e),x=!0):V(e)?(y=!0,x=e.some(S=>It(S)||Le(S)),f=()=>e.map(S=>{if(ve(S))return S.value;if(It(S))return c(S);if(ne(S))return a?a(S,2):S()})):ne(e)?t?f=a?()=>a(e,2):e:f=()=>{if(p){gt();try{p()}finally{mt()}}const S=Pt;Pt=u;try{return a?a(e,3,[m]):e(m)}finally{Pt=S}}:f=Rt,t&&s){const S=f,F=s===!0?1/0:s;f=()=>tt(S(),F)}const A=Ri(),_=()=>{u.stop(),A&&A.active&&vi(A.effects,u)};if(i&&t){const S=t;t=(...F)=>{S(...F),_()}}let T=y?new Array(e.length).fill(rr):rr;const O=S=>{if(!(!(u.flags&1)||!u.dirty&&!S))if(t){const F=u.run();if(s||x||(y?F.some((fe,ie)=>pt(fe,T[ie])):pt(F,T))){p&&p();const fe=Pt;Pt=u;try{const ie=[F,T===rr?void 0:y&&T[0]===rr?[]:T,m];T=F,a?a(t,3,ie):t(...ie)}finally{Pt=fe}}}else u.run()};return o&&o(O),u=new Ai(f),u.scheduler=l?()=>l(O,!1):O,m=S=>pc(S,!1,u),p=u.onStop=()=>{const S=sr.get(u);if(S){if(a)a(S,4);else for(const F of S)F();sr.delete(u)}},t?r?O(!0):T=u.run():l?l(O.bind(null,!0),!0):u.run(),_.pause=u.pause.bind(u),_.resume=u.resume.bind(u),_.stop=_,_}function tt(e,t=1/0,n){if(t<=0||!ce(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ve(e))tt(e.value,t,n);else if(V(e))for(let r=0;r<e.length;r++)tt(e[r],t,n);else if(Gt(e)||Kt(e))e.forEach(r=>{tt(r,t,n)});else if(ki(e)){for(const r in e)tt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&tt(e[r],t,n)}return e}/**
* @vue/runtime-core v3.5.28
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function kn(e,t,n,r){try{return r?e(...r):e()}catch(s){ir(s,t,n)}}function nt(e,t,n,r){if(ne(e)){const s=kn(e,t,n,r);return s&&yi(s)&&s.catch(i=>{ir(i,t,n)}),s}if(V(e)){const s=[];for(let i=0;i<e.length;i++)s.push(nt(e[i],t,n,r));return s}}function ir(e,t,n,r=!0){const s=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:l}=t&&t.appContext.config||he;if(t){let o=t.parent;const a=t.proxy,c=`https://vuejs.org/error-reference/#runtime-${n}`;for(;o;){const u=o.ec;if(u){for(let f=0;f<u.length;f++)if(u[f](e,a,c)===!1)return}o=o.parent}if(i){gt(),kn(i,null,10,[e,a,c]),mt();return}}gc(e,n,s,r,l)}function gc(e,t,n,r=!0,s=!1){if(s)throw e;console.error(e)}const _e=[];let We=-1;const Jt=[];let bt=null,Qt=0;const Gi=Promise.resolve();let lr=null;function Xt(e){const t=lr||Gi;return e?t.then(this?e.bind(this):e):t}function mc(e){let t=We+1,n=_e.length;for(;t<n;){const r=t+n>>>1,s=_e[r],i=xn(s);i<e||i===e&&s.flags&2?t=r+1:n=r}return t}function ts(e){if(!(e.flags&1)){const t=xn(e),n=_e[_e.length-1];!n||!(e.flags&2)&&t>=xn(n)?_e.push(e):_e.splice(mc(t),0,e),e.flags|=1,Zi()}}function Zi(){lr||(lr=Gi.then(Qi))}function vc(e){V(e)?Jt.push(...e):bt&&e.id===-1?bt.splice(Qt+1,0,e):e.flags&1||(Jt.push(e),e.flags|=1),Zi()}function Yi(e,t,n=We+1){for(;n<_e.length;n++){const r=_e[n];if(r&&r.flags&2){if(e&&r.id!==e.uid)continue;_e.splice(n,1),n--,r.flags&4&&(r.flags&=-2),r(),r.flags&4||(r.flags&=-2)}}}function Ji(e){if(Jt.length){const t=[...new Set(Jt)].sort((n,r)=>xn(n)-xn(r));if(Jt.length=0,bt){bt.push(...t);return}for(bt=t,Qt=0;Qt<bt.length;Qt++){const n=bt[Qt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}bt=null,Qt=0}}const xn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Qi(e){try{for(We=0;We<_e.length;We++){const t=_e[We];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),kn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;We<_e.length;We++){const t=_e[We];t&&(t.flags&=-2)}We=-1,_e.length=0,Ji(),lr=null,(_e.length||Jt.length)&&Qi()}}let Ie=null,Xi=null;function or(e){const t=Ie;return Ie=e,Xi=e&&e.type.__scopeId||null,t}function bc(e,t=Ie,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&pr(-1);const i=or(t);let l;try{l=e(...s)}finally{or(i),r._d&&pr(1)}return l};return r._n=!0,r._c=!0,r._d=!0,r}function ar(e,t){if(Ie===null)return e;const n=vr(Ie),r=e.dirs||(e.dirs=[]);for(let s=0;s<t.length;s++){let[i,l,o,a=he]=t[s];i&&(ne(i)&&(i={mounted:i,updated:i}),i.deep&&tt(l),r.push({dir:i,instance:n,value:l,oldValue:void 0,arg:o,modifiers:a}))}return e}function zt(e,t,n,r){const s=e.dirs,i=t&&t.dirs;for(let l=0;l<s.length;l++){const o=s[l];i&&(o.oldValue=i[l].value);let a=o.dir[r];a&&(gt(),nt(a,n,8,[e.el,o,e,t]),mt())}}function yc(e,t){if(Re){let n=Re.provides;const r=Re.parent&&Re.parent.provides;r===n&&(n=Re.provides=Object.create(r)),n[e]=t}}function cr(e,t,n=!1){const r=ps();if(r||tn){let s=tn?tn._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(s&&e in s)return s[e];if(arguments.length>1)return n&&ne(t)?t.call(r&&r.proxy):t}}const wc=Symbol.for("v-scx"),kc=()=>cr(wc);function el(e,t){return tl(e,null,t)}function yt(e,t,n){return tl(e,t,n)}function tl(e,t,n=he){const{immediate:r,flush:s}=n,i=Ee({},n),l=t&&r||!t&&s!=="post";let o;if(En){if(s==="sync"){const f=kc();o=f.__watcherHandles||(f.__watcherHandles=[])}else if(!l){const f=()=>{};return f.stop=Rt,f.resume=Rt,f.pause=Rt,f}}const a=Re;i.call=(f,p,m)=>nt(f,a,p,m);let c=!1;s==="post"?i.scheduler=f=>{Se(f,a&&a.suspense)}:s!=="sync"&&(c=!0,i.scheduler=(f,p)=>{p?f():ts(f)}),i.augmentJob=f=>{t&&(f.flags|=4),c&&(f.flags|=2,a&&(f.id=a.uid,f.i=a))};const u=dc(e,t,i);return En&&(o?o.push(u):l&&u()),u}const xc=Symbol("_vte"),_c=e=>e.__isTeleport,$c=Symbol("_leaveCb");function ns(e,t){e.shapeFlag&6&&e.component?(e.transition=t,ns(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ot(e,t){return ne(e)?Ee({name:e.name},t,{setup:e}):e}function Cc(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function wt(e){const t=ps(),n=Mt(null);if(t){const s=t.refs===he?t.refs={}:t.refs;Object.defineProperty(s,e,{enumerable:!0,get:()=>n.value,set:i=>n.value=i})}return n}function nl(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const ur=new WeakMap;function _n(e,t,n,r,s=!1){if(V(e)){e.forEach((y,A)=>_n(y,t&&(V(t)?t[A]:t),n,r,s));return}if($n(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&_n(e,t,n,r.component.subTree);return}const i=r.shapeFlag&4?vr(r.component):r.el,l=s?null:i,{i:o,r:a}=e,c=t&&t.r,u=o.refs===he?o.refs={}:o.refs,f=o.setupState,p=te(f),m=f===he?mi:y=>nl(u,y)?!1:oe(p,y),x=(y,A)=>!(A&&nl(u,A));if(c!=null&&c!==a){if(rl(t),be(c))u[c]=null,m(c)&&(f[c]=null);else if(ve(c)){const y=t;x(c,y.k)&&(c.value=null),y.k&&(u[y.k]=null)}}if(ne(a))kn(a,o,12,[l,u]);else{const y=be(a),A=ve(a);if(y||A){const _=()=>{if(e.f){const T=y?m(a)?f[a]:u[a]:x()||!e.k?a.value:u[e.k];if(s)V(T)&&vi(T,i);else if(V(T))T.includes(i)||T.push(i);else if(y)u[a]=[i],m(a)&&(f[a]=u[a]);else{const O=[i];x(a,e.k)&&(a.value=O),e.k&&(u[e.k]=O)}}else y?(u[a]=l,m(a)&&(f[a]=l)):A&&(x(a,e.k)&&(a.value=l),e.k&&(u[e.k]=l))};if(l){const T=()=>{_(),ur.delete(e)};T.id=-1,ur.set(e,T),Se(T,n)}else rl(e),_()}}}function rl(e){const t=ur.get(e);t&&(t.flags|=8,ur.delete(e))}dn().requestIdleCallback,dn().cancelIdleCallback;const $n=e=>!!e.type.__asyncLoader,Sc=e=>e.type.__isKeepAlive;function Rc(e,t,n=Re,r=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...l)=>{gt();const o=gs(n),a=nt(t,n,e,l);return o(),mt(),a});return r?s.unshift(i):s.push(i),i}}const rs=e=>(t,n=Re)=>{(!En||e==="sp")&&Rc(e,(...r)=>t(...r),n)},en=rs("m"),Ac=rs("bum"),ss=rs("um"),Ec="components";function sl(e,t){return Tc(Ec,e,!0,t)||e}const Lc=Symbol.for("v-ndc");function Tc(e,t,n=!0,r=!1){const s=Ie||Re;if(s){const i=s.type;{const o=fu(i,!1);if(o&&(o===t||o===je(t)||o===qn(je(t))))return i}const l=il(s[e]||i[e],t)||il(s.appContext[e],t);return!l&&r?i:l}}function il(e,t){return e&&(e[t]||e[je(t)]||e[qn(je(t))])}function Ce(e,t,n,r){let s;const i=n,l=V(e);if(l||be(e)){const o=l&&It(e);let a=!1,c=!1;o&&(a=!Le(e),c=et(e),e=Jn(e)),s=new Array(e.length);for(let u=0,f=e.length;u<f;u++)s[u]=t(a?c?Yt(He(e[u])):He(e[u]):e[u],u,void 0,i)}else if(typeof e=="number"){s=new Array(e);for(let o=0;o<e;o++)s[o]=t(o+1,o,void 0,i)}else if(ce(e))if(e[Symbol.iterator])s=Array.from(e,(o,a)=>t(o,a,void 0,i));else{const o=Object.keys(e);s=new Array(o.length);for(let a=0,c=o.length;a<c;a++){const u=o[a];s[a]=t(e[u],u,a,i)}}else s=[];return s}const is=e=>e?Sl(e)?vr(e):is(e.parent):null,Cn=Ee(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=>is(e.parent),$root:e=>is(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>e.type,$forceUpdate:e=>e.f||(e.f=()=>{ts(e.update)}),$nextTick:e=>e.n||(e.n=Xt.bind(e.proxy)),$watch:e=>Rt}),ls=(e,t)=>e!==he&&!e.__isScriptSetup&&oe(e,t),Ic={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:i,accessCache:l,type:o,appContext:a}=e;if(t[0]!=="$"){const p=l[t];if(p!==void 0)switch(p){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else{if(ls(r,t))return l[t]=1,r[t];if(oe(i,t))return l[t]=3,i[t];if(n!==he&&oe(n,t))return l[t]=4,n[t];l[t]=0}}const c=Cn[t];let u,f;if(c)return t==="$attrs"&&we(e.attrs,"get",""),c(e);if((u=o.__cssModules)&&(u=u[t]))return u;if(n!==he&&oe(n,t))return l[t]=4,n[t];if(f=a.config.globalProperties,oe(f,t))return f[t]},set({_:e},t,n){const{setupState:r,ctx:s}=e;return ls(r,t)?(r[t]=n,!0):oe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:i,type:l}},o){let a;return!!(n[o]||ls(t,o)||oe(i,o)||oe(r,o)||oe(Cn,o)||oe(s.config.globalProperties,o)||(a=l.__cssModules)&&a[o])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:oe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function ll(){return{app:null,config:{isNativeTag:mi,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 Mc=0;function Pc(e,t){return function(r,s=null){ne(r)||(r=Ee({},r)),s!=null&&!ce(s)&&(s=null);const i=ll(),l=new WeakSet,o=[];let a=!1;const c=i.app={_uid:Mc++,_component:r,_props:s,_container:null,_context:i,_instance:null,version:pu,get config(){return i.config},set config(u){},use(u,...f){return l.has(u)||(u&&ne(u.install)?(l.add(u),u.install(c,...f)):ne(u)&&(l.add(u),u(c,...f))),c},mixin(u){return c},component(u,f){return f?(i.components[u]=f,c):i.components[u]},directive(u,f){return f?(i.directives[u]=f,c):i.directives[u]},mount(u,f,p){if(!a){const m=c._ceVNode||ee(r,s);return m.appContext=i,p===!0?p="svg":p===!1&&(p=void 0),e(m,u,p),a=!0,c._container=u,u.__vue_app__=c,vr(m.component)}},onUnmount(u){o.push(u)},unmount(){a&&(nt(o,c._instance,16),e(null,c._container),delete c._container.__vue_app__)},provide(u,f){return i.provides[u]=f,c},runWithContext(u){const f=tn;tn=c;try{return u()}finally{tn=f}}};return c}}let tn=null;const zc=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${je(t)}Modifiers`]||e[`${At(t)}Modifiers`];function Oc(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||he;let s=n;const i=t.startsWith("update:"),l=i&&zc(r,t.slice(7));l&&(l.trim&&(s=n.map(u=>be(u)?u.trim():u)),l.number&&(s=n.map(Gn)));let o,a=r[o=Br(t)]||r[o=Br(je(t))];!a&&i&&(a=r[o=Br(At(t))]),a&&nt(a,e,6,s);const c=r[o+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[o])return;e.emitted[o]=!0,nt(c,e,6,s)}}function jc(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const i=e.emits;let l={};return i?(V(i)?i.forEach(o=>l[o]=null):Ee(l,i),ce(e)&&r.set(e,l),l):(ce(e)&&r.set(e,null),null)}function fr(e,t){return!e||!Bn(t)?!1:(t=t.slice(2).replace(/Once$/,""),oe(e,t[0].toLowerCase()+t.slice(1))||oe(e,At(t))||oe(e,t))}function ol(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[i],slots:l,attrs:o,emit:a,render:c,renderCache:u,props:f,data:p,setupState:m,ctx:x,inheritAttrs:y}=e,A=or(e);let _,T;try{if(n.shapeFlag&4){const S=s||r,F=S;_=Ke(c.call(F,S,u,f,m,p,x)),T=o}else{const S=t;_=Ke(S.length>1?S(f,{attrs:o,slots:l,emit:a}):S(f,null)),T=t.props?o:Fc(o)}}catch(S){Sn.length=0,ir(S,e,1),_=ee(kt)}let O=_;if(T&&y!==!1){const S=Object.keys(T),{shapeFlag:F}=O;S.length&&F&7&&(i&&S.some(Nr)&&(T=Dc(T,i)),O=nn(O,T,!1,!0))}return n.dirs&&(O=nn(O,null,!1,!0),O.dirs=O.dirs?O.dirs.concat(n.dirs):n.dirs),n.transition&&ns(O,n.transition),_=O,or(A),_}const Fc=e=>{let t;for(const n in e)(n==="class"||n==="style"||Bn(n))&&((t||(t={}))[n]=e[n]);return t},D