hugo-theme-next/static/js/3rd/waline/3.3.0/waline.min.js

56 lines
159 KiB
JavaScript
Raw Permalink Normal View History

var xn,kr,bi,wl,bl=Object.defineProperty,yl=(e,t,n)=>t in e?bl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Oe=(e,t,n)=>(yl(e,"symbol"!=typeof t?t+"":t,n),n),_l=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},_i=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},En=(e,t,n)=>(_l(e,t,"access private method"),n);const Sr={"Content-Type":"application/json"},Ge=e=>e.replace(/\/?$/,"/")+"api/",vt=(e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`${t} failed with ${e.errno}: `+e.errmsg);return e},ki=({serverURL:e,lang:t,paths:n,type:r,signal:i})=>fetch(`${Ge(e)}article?path=${encodeURIComponent(n.join(","))}&type=${encodeURIComponent(r.join(","))}&lang=`+t,{signal:i}).then(e=>e.json()).then(e=>vt(e,"Get counter").data),Sn=({serverURL:e,lang:t,path:n,type:r,action:i})=>fetch(Ge(e)+"article?lang="+t,{method:"POST",headers:Sr,body:JSON.stringify({path:n,type:r,action:i})}).then(e=>e.json()).then(e=>vt(e,"Update counter").data),Ir=({serverURL:e,lang:t,path:n,page:r,pageSize:i,sortBy:l,signal:o,token:s})=>{const a={};return s&&(a.Authorization="Bearer "+s),fetch(`${Ge(e)}comment?path=${encodeURIComponent(n)}&pageSize=${i}&page=${r}&lang=${t}&sortBy=`+l,{signal:o,headers:a}).then(e=>e.json()).then(e=>vt(e,"Get comment data").data)},Rr=({serverURL:e,lang:t,token:n,comment:r})=>{const i={"Content-Type":"application/json"};return n&&(i.Authorization="Bearer "+n),fetch(Ge(e)+"comment?lang="+t,{method:"POST",headers:i,body:JSON.stringify(r)}).then(e=>e.json())},Tr=({serverURL:e,lang:t,token:n,objectId:r})=>fetch(Ge(e)+`comment/${r}?lang=`+t,{method:"DELETE",headers:{Authorization:"Bearer "+n}}).then(e=>e.json()).then(e=>vt(e,"Delete comment")),qt=({serverURL:e,lang:t,token:n,objectId:r,comment:i})=>fetch(Ge(e)+`comment/${r}?lang=`+t,{method:"PUT",headers:{...Sr,Authorization:"Bearer "+n},body:JSON.stringify(i)}).then(e=>e.json()).then(e=>vt(e,"Update comment")),Lr=({serverURL:e,lang:t,paths:n,signal:r})=>fetch(`${Ge(e)}comment?type=count&url=${encodeURIComponent(n.join(","))}&lang=`+t,{signal:r}).then(e=>e.json()).then(e=>vt(e,"Get comment count").data),Ar=({lang:e,serverURL:t})=>{const n=(window.innerWidth-450)/2,r=(window.innerHeight-450)/2,i=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 null!=i&&i.postMessage({type:"TOKEN",data:null},"*"),new Promise(t=>{const n=({data:e})=>{e&&"object"==typeof e&&"userInfo"===e.type&&e.data.token&&(null!=i&&i.close(),window.removeEventListener("message",n),t(e.data))};window.addEventListener("message",n)})},Mr=({serverURL:e,lang:t,paths:n,signal:r})=>ki({serverURL:e,lang:t,paths:n,type:["time"],signal:r}),$r=e=>Sn({...e,type:"time",action:"inc"}),Or=({serverURL:e,lang:t,count:n,signal:r,token:i})=>{const l={};return i&&(l.Authorization="Bearer "+i),fetch(Ge(e)+`comment?type=recent&count=${n}&lang=`+t,{signal:r,headers:l}).then(e=>e.json())},jr=({serverURL:e,signal:t,pageSize:n,lang:r})=>fetch(Ge(e)+`user?pageSize=${n}&lang=`+r,{signal:t}).then(e=>e.json()).then(e=>vt(e,"user list")).then(e=>e.data),kl=["nick","mail","link"],zr=e=>e.filter(e=>kl.includes(e)),Pr=["//unpkg.com/@waline/emojis@1.1.0/weibo"],xl=["//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"],Cl=r=>new Promise((t,e)=>{if(128e3<r.size)return e(new Error("File too large! File size limit 128KB"));const n=new FileReader;n.readAsDataURL(r),n.onload=()=>{var e;return t((null==(e=n.result)?void 0:e.toString())??"")},n.onerror=e}),El=e=>!0===e?'<p class="wl-tex">TeX is not available in preview</p>':'<span class="wl-tex">TeX is not available in preview</span>',Sl=n=>{const r=async(e,t={})=>fetch(`https://api.gi
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?"]),Nr=Ze(["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 ?"]),Hr=Ze(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","Like","Cancel like","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード",`コメントは $0 から $1 ワードの間でなければなりません!
現在の単語番号: $2`,"匿名","うえにん","なかにん","しもおし","特にしもおし","かげ","なぬし","GIF","探す GIF","個人情報","承認済み","待っている","スパム","べたつかない","逆順","正順","人気順","どう思いますか?"]),Ol=Ze(["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?"]),Dr=Ze(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Like","Cancel like","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова",`Пожалуйста, введите комментарии от $0 до $1 слов!
Номер текущего слова: $2`,"Анонимный","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Поиск GIF","Персональные данные","Одобренный","Ожидающий","Спам","Нелипкий","самый старый","последний","самый горячий","Что вы думаете?"]),Vr=Ze(["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 độ dài giữa $0 $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?"]),Br=Ze(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","喜欢","取消喜欢","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字",`评论字数应在 $0 $1 字之间
当前字数$2`,"匿名","潜水","冒泡","吐槽","活跃","话痨","传说","表情包","搜索表情包","个人资料","通过","待审核","垃圾","取消置顶","按倒序","按正序","按热度","你认为这篇文章怎么样?"]),jl=Ze(["暱稱","暱稱不能少於3個字元","郵箱","請填寫正確的郵件地址","網址","可選","歡迎留言","來發留言吧~","送出","喜歡","取消喜歡","回覆","取消回覆","留言","重整","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登入","登出","管理者","置頂","字",`留言字數應在 $0 $1 字之間
目前字數$2`,"匿名","潛水","冒泡","吐槽","活躍","多話","傳說","表情包","搜尋表情包","個人資料","通過","待審核","垃圾","取消置頂","最早","最新","熱門","你認為這篇文章怎麼樣?"]),zl=Ze(["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?"]);const Wr="en-US",In={zh:Br,"zh-cn":Br,"zh-tw":jl,en:Ur,"en-us":Ur,fr:Nr,"fr-fr":Nr,jp:Hr,"jp-jp":Hr,"pt-br":Ol,ru:Dr,"ru-ru":Dr,vi:Vr,"vi-vn":Vr,de:zl},qr=e=>In[e.toLowerCase()]||In[Wr.toLowerCase()],Kr=e=>Object.keys(In).includes(e.toLowerCase())?e:Wr,Gr=e=>{try{e=decodeURI(e)}catch{}return e},Zr=(e="")=>e.replace(/\/$/u,""),Qr=e=>/^(https?:)?\/\//.test(e),Rn=e=>{e=Zr(e);return Qr(e)?e:"https://"+e},Pl=e=>Array.isArray(e)?e:!!e&&[0,e],Ci=(e,t)=>"function"==typeof e?e:!1!==e&&t,Fl=({serverURL:e,path:t=location.pathname,lang:n="u"<typeof navigator?"en-US":navigator.language,locale:r,emoji:i=Pr,meta:l=["nick","mail","link"],requiredMeta:o=[],dark:s=!1,pageSize:a=10,wordLimit:c,imageUploader:u,highlighter:p,texRenderer:d,copyright:h=!0,login:f="enable",search:g,reaction:m,recaptchaV3Key:v="",turnstileKey:y="",commentSorting:w="latest",...b})=>({serverURL:Rn(e),path:Gr(t),lang:Kr(n),locale:{...qr(Kr(n)),..."object"==typeof r?r:{}},wordLimit:Pl(c),meta:zr(l),requiredMeta:zr(o),imageUploader:Ci(u,Cl),highlighter:Ci(p,Ml),texRenderer:Ci(d,El),dark:s,emoji:"boolean"==typeof i?i?Pr:[]:i,pageSize:a,login:f,copyright:h,search:!1!==g&&("object"==typeof g?g:Sl(n)),recaptchaV3Key:v,turnstileKey:y,reaction:Array.isArray(m)?m:!0===m?xl:[],commentSorting:w,...b}),$t=e=>"string"==typeof e,Ei="{--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}",Ul=e=>$t(e)?"auto"===e?`@media(prefers-color-scheme:dark){body${Ei}}`:""+e+Ei:!0===e?":root"+Ei:"",Si=(e,t)=>{let n=e.toString();for(;n.length<t;)n="0"+n;return n},Nl=e=>{var t=Si(e.getDate(),2),n=Si(e.getMonth()+1,2);return Si(e.getFullYear(),2)+`-${n}-`+t},Hl=(e,t,n)=>{if(!e)return"";const r=$t(e)?new Date(-1!==e.indexOf(" ")?e.replace(/-/g,"/"):e):e,i=t.getTime()-r.getTime(),l=Math.floor(i/864e5);var o;return 0===l?(e=i%864e5,0===(t=Math.floor(e/36e5))?(e=e%36e5,0===(o=Math.floor(e/6e4))?Math.round(e%6e4/1e3)+" "+n.seconds:o+" "+n.minutes):t+" "+n.hours):l<0?n.now:l<8?l+" "+n.days:Nl(r)},Dl=/^[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])?)*$/,Vl=e=>Dl.test(e);function Ii(e,t){const n=new Set(e.split(","));return e=>n.has(e)}const se={},Ot=[],Qe=()=>{},Bl=()=>!1,Tn=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(122<e.charCodeAt(2)||e.charCodeAt(2)<97),Ri=e=>e.startsWith("onUpdate:"),be=Object.assign,Jr=(e,t)=>{t=e.indexOf(t);-1<t&&e.splice(t,1)},Wl=Object.prototype.hasOwnProperty,G=(e,t)=>Wl.call(e,t),N=Array.isArray,jt=e=>"[object Map]"===Kt(e),zt=e=>"[object Set]"===Kt(e),Yr=e=>"[object Date]"===Kt(e),ee=e=>"function"==typeof e,ve=e=>"string"==typeof e,Je=e=>"symbol"==typeof e,ce=e=>null!==e&&"object"==typeof e,Xr=e=>(ce(e)||ee(e))&&ee(e.then)&&ee(e.catch),e
`).map(e=>{var t=e.match(/^\s+/);if(null===t)return e;var[t]=t;return t.length>=n.length?e.slice(n.length):e}).join(`
`)}class fi{options;rules;lexer;constructor(e){this.options=e||Rt}space(e){e=this.rules.block.newline.exec(e);if(e&&0<e[0].length)return{type:"space",raw:e[0]}}code(e){const t=this.rules.block.code.exec(e);if(t)return e=t[0].replace(/^ {1,4}/gm,""),{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:ui(e,`
`)}}fences(e){const t=this.rules.block.fences.exec(e);var n;if(t)return n=Hu(e=t[0],t[3]||""),{type:"code",raw:e,lang:t[2]&&t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"),text:n}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const n=ui(e,"#");!this.options.pedantic&&n&&!/ $/.test(n)||(e=n.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){e=this.rules.block.hr.exec(e);if(e)return{type:"hr",raw:e[0]}}blockquote(t){const n=this.rules.block.blockquote.exec(t);if(n){let e=n[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,`
$1`);e=ui(e.replace(/^ *>[ \t]?/gm,""),`
`);var t=this.lexer.state.top,r=(this.lexer.state.top=!0,this.lexer.blockTokens(e));return this.lexer.state.top=t,{type:"blockquote",raw:n[0],tokens:r,text:e}}}list(u){let p=this.rules.block.list.exec(u);if(p){let e=p[1].trim();const t=1<e.length,h={type:"list",raw:"",ordered:t,start:t?+e.slice(0,-1):"",loose:!1,items:[]},f=(e=t?"\\d{1,9}\\"+e.slice(-1):"\\"+e,this.options.pedantic&&(e=t?e:"[*+-]"),new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`));let s="",a="",c=!1;for(;u;){let e=!1;if(!(p=f.exec(u))||this.rules.block.hr.test(u))break;s=p[0],u=u.substring(s.length);let t=p[2].split(`
`,1)[0].replace(/^\t+/,e=>" ".repeat(3*e.length)),n=u.split(`
`,1)[0],r=0,i=(this.options.pedantic?(r=2,a=t.trimStart()):(r=4<(r=p[2].search(/[^ ]/))?1:r,a=t.slice(r),r+=p[1].length),!1);if(!t&&/^ *$/.test(n)&&(s+=n+`
`,u=u.substring(n.length+1),e=!0),!e){const g=new RegExp(`^ {0,${Math.min(3,r-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),m=new RegExp(`^ {0,${Math.min(3,r-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),v=new RegExp(`^ {0,${Math.min(3,r-1)}}(?:\`\`\`|~~~)`),y=new RegExp(`^ {0,${Math.min(3,r-1)}}#`);for(;u;){var d=u.split(`
`,1)[0];if(n=d,this.options.pedantic&&(n=n.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),v.test(n)||y.test(n)||g.test(n)||m.test(u))break;if(n.search(/[^ ]/)>=r||!n.trim())a+=`
`+n.slice(r);else{if(i||4<=t.search(/[^ ]/)||v.test(t)||y.test(t)||m.test(t))break;a+=`
`+n}i||n.trim()||(i=!0),s+=d+`
`,u=u.substring(d.length+1),t=n.slice(r)}}h.loose||(c?h.loose=!0:/\n *\n *$/.test(s)&&(c=!0));let l=null,o;this.options.gfm&&((l=/^\[[ xX]\] /.exec(a))&&(o="[ ] "!==l[0],a=a.replace(/^\[[ xX]\] +/,""))),h.items.push({type:"list_item",raw:s,task:!!l,checked:o,loose:!1,text:a,tokens:[]}),h.raw+=s}h.items[h.items.length-1].raw=s.trimEnd(),h.items[h.items.length-1].text=a.trimEnd(),h.raw=h.raw.trimEnd();for(let e=0;e<h.items.length;e++)if(this.lexer.state.top=!1,h.items[e].tokens=this.lexer.blockTokens(h.items[e].text,[]),!h.loose){const n=h.items[e].tokens.filter(e=>"space"===e.type),r=0<n.length&&n.some(e=>/\n.*\n/.test(e.raw));h.loose=r}if(h.loose)for(let e=0;e<h.items.length;e++)h.items[e].loose=!0;return h}}html(e){e=this.rules.block.html.exec(e);if(e)return{type:"html",block:!0,raw:e[0],pre:"pre"===e[1]||"script"===e[1]||"style"===e[1],text:e[0]}}def(e){const t=this.rules.block.def.exec(e);var n,r;if(t)return e=t[1].toLowerCase().replace(/\s+/g," "),n=t[2]?t[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=t[3]&&t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"),{type:"def",tag:e,raw:t[0],href:n,title:r}}table(e){const t=this.rules.block.table.exec(e);if(t&&/[:|]/.test(t[2])){const n=Hs(t[1]),r=t[2].replace(/^\||\| *$/g,"").split("|"),i=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split(`
`):[],l={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(const o of r)/^ *-+: *$/.test(o)?l.align.push("right"):/^ *:-+: *$/.test(o)?l.align.push("center"):/^ *:-+ *$/.test(o)?l.align.push("left"):l.align.push(null);for(const s of n)l.header.push({text:s,tokens:this.lexer.inline(s)});for(const a of i)l.rows.push(Hs(a,l.header.length).map(e=>({text:e,tokens:this.lexer.inline(e)})));return l}}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t)return e=t[1].charAt(t[1].length-1)===`
`?t[1].slice(0,-1):t[1],{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}text(e){e=this.rules.block.text.exec(e);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(e){e=this.rules.inline.escape.exec(e);if(e)return{type:"escape",raw:e[0],text:$e(e[1])}}tag(e){e=this.rules.inline.tag.exec(e);if(e)return!this.lexer.state.inLink&&/^<a /i.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(n){const r=this.rules.inline.link.exec(n);if(r){const l=r[2].trim();if(!this.options.pedantic&&/^</.test(l)){if(!/>$/.test(l))return;n=ui(l.slice(0,-1),"\\");if((l.length-n.length)%2==0)return}else{var i,n=Nu(r[2],"()");-1<n&&(i=(0===r[0].indexOf("!")?5:4)+r[1].length+n,r[2]=r[2].substring(0,n),r[0]=r[0].substring(0,i).trim(),r[3]="")}let e=r[2],t="";return this.options.pedantic?(n=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(e))&&(e=n[1],t=n[3]):t=r[3]?r[3].slice(1,-1):"",e=e.trim(),/^</.test(e)&&(e=this.options.pedantic&&!/>$/.test(l)?e.slice(1):e.slice(1,-1)),Ds(r,{href:e&&e.replace(this.rules.inline.anyPunctuation,"$1"),title:t&&t.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){const r=(n[2]||n[1]).replace(/\s+/g," "),i=t[r.toLowerCase()];return i?Ds(n,i,n[0],this.lexer):{type:"text",raw:e=n[0].charAt(0),text:e}}}emStrong(i,l,e=""){let o=this.rules.inline.emStrongLDelim.exec(i);if(!(!o||o[3]&&e.match(/[\p{L}\p{N}]/u))&&(!o[1]&&!o[2]||!e||this.rules.inline.punctuation.exec(e))){var s=[...o[0]].length-1;let e,t,n=s,r=0;const c="*"===o[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,l=l.slice(-1*i.length+s);null!=(o=c.exec(l));)if(e=o[1]||o[2]||o[3]||o[4]||o[5]||o[6])if(t=[...e].length,o[3]||o[4])n+=t;else if((o[5]||o[6])&&s%3&&!((s+t)%3))r+=t;else if(!(0<(n-=t))){t=Math.min(t,t+n+r);const u=[...o[0]][0].length,p=i.slice(0,s+o.index+u+t);if(Math.min(s,t)%2)return a=p.slice(1,-1),{type:"em",raw:p,text:a,tokens:this.lexer.inlineTokens(a)};var a=p.slice(2,-2);return{type:"strong",raw:p,text:a,tokens:this.lexer.inlineTokens(a)}}}}codespan(t){const n=this.rules.inline.code.exec(t);if(n){let e=n[2].replace(/\n/g," ");var t=/[^ ]/.test(e),r=/^ /.test(e)&&/ $/.test(e);return e=$e(e=t&&r?e.substring(1,e.length-1):e,!0),{type:"codespan",raw:n[0],text:e}}}br(e){e=this.rules.inline.br.exec(e);if(e)return{type:"br",raw:e[0]}}del(e){e=this.rules.inline.del.exec(e);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(n){n=this.rules.inline.autolink.exec(n);if(n){let e,t;return t="@"===n[2]?"mailto:"+(e=$e(n[1])):e=$e(n[1]),{type:"link",raw:n[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}url(e){var n,r;let i;if(i=this.rules.inline.url.exec(e)){let e,t;if("@"===i[2])e=$e(i[0]),t="mailto:"+e;else{for(;r=i[0],i[0]=(null==(n=this.rules.inline._backpedal.exec(i[0]))?void 0:n[0])??"",r!==i[0];);e=$e(i[0]),t="www."===i[1]?"http://"+i[0]:i[0]}return{type:"link",raw:i[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(t){t=this.rules.inline.text.exec(t);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:$e(t[0]),{type:"text",raw:t[0],text:e}}}}const Du=/^(?: *(?:\n|$))+/,Vu=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,Bu=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,gn=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Wu=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Vs=/(?:[*+-]|\d{1,9}[.)])/,Bs=re(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).rep
]`).replace("lheading",Bs).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Ks=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Xu=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Gs=/^( {2,}|\\)\n(?!\s*$)/,ef=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,mn="\\p{P}\\p{S}",tf=re(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,mn).getRegex(),nf=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,rf=re(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,mn).getRegex(),of=re("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,mn).getRegex(),sf=re("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,mn).getRegex(),lf=re(/\\([punct])/,"gu").replace(/punct/g,mn).getRegex(),af=re(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[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])?)+(?![-_])/).getRegex(),cf=re(mr).replace("(?:--\x3e|$)","--\x3e").getRegex(),uf=re("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",cf).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),hi=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,ff=re(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",hi).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Zs=re(/^!?\[(label)\]\[(ref)\]/).replace("label",hi).replace("ref",gr).getRegex(),Qs=re(/^!?\[(ref)\](?:\[\])?/).replace("ref",gr).getRegex(),df=re("reflink|nolink(?!\\()","g").replace("reflink",Zs).replace("nolink",Qs).getRegex(),wr={_backpedal:pn,anyPunctuation:lf,autolink:af,blockSkip:nf,br:Gs,code:Xu,del:pn,emStrongLDelim:rf,emStrongRDelimAst:of,emStrongRDelimUnd:sf,escape:Ks,link:ff,nolink:Qs,punctuation:tf,reflink:Zs,reflinkSearch:df,tag:uf,text:ef,url:pn},hf={...wr,link:re(/^!?\[(label)\]\((.*?)\)/).replace("label",hi).getRegex(),reflink:re(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",hi).getRegex()},br={...wr,escape:re(Ks).replace("])","~|])").getRegex(),url:re(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},pf={...br,br:re(Gs).replace("{2,}","*").getRegex(),text:re(br.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},pi={normal:vr,gfm:Ju,pedantic:Yu},vn={normal:wr,gfm:br,breaks:pf,pedantic:hf};class it{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Rt,this.options.tokenizer=this.options.tokenizer||new fi,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,(this.tokenizer.lexer=this).inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const t={block:pi.normal,inline:vn.normal};this.options.pedantic?(t.block=pi.pedantic,t.inline=vn.pedantic):this.options.gfm&&(t.block=pi.gfm,this.options.break
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){var t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(r,t=[]){r=this.options.pedantic?r.replace(/\t/g," ").replace(/^ +$/gm,""):r.replace(/^( *)(\t+)/gm,(e,t,n)=>t+" ".repeat(n.length));let n,e,i,l;for(;r;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(e=>!!(n=e.call({lexer:this},r,t))&&(r=r.substring(n.raw.length),t.push(n),!0)))){if(n=this.tokenizer.space(r)){r=r.substring(n.raw.length),1===n.raw.length&&0<t.length?t[t.length-1].raw+=`
`:t.push(n);continue}if(n=this.tokenizer.code(r)){r=r.substring(n.raw.length),!(e=t[t.length-1])||"paragraph"!==e.type&&"text"!==e.type?t.push(n):(e.raw+=`
`+n.raw,e.text+=`
`+n.text,this.inlineQueue[this.inlineQueue.length-1].src=e.text);continue}if(n=this.tokenizer.fences(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.heading(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.hr(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.blockquote(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.list(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.html(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.def(r)){r=r.substring(n.raw.length),!(e=t[t.length-1])||"paragraph"!==e.type&&"text"!==e.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(e.raw+=`
`+n.raw,e.text+=`
`+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=e.text);continue}if(n=this.tokenizer.table(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.lheading(r)){r=r.substring(n.raw.length),t.push(n);continue}if(i=r,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const s=r.slice(1);let n;this.options.extensions.startBlock.forEach(e=>{"number"==typeof(n=e.call({lexer:this},s))&&0<=n&&(t=Math.min(t,n))}),t<1/0&&0<=t&&(i=r.substring(0,t+1))}if(this.state.top&&(n=this.tokenizer.paragraph(i))){e=t[t.length-1],l&&"paragraph"===e.type?(e.raw+=`
`+n.raw,e.text+=`
`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=e.text):t.push(n),l=i.length!==r.length,r=r.substring(n.raw.length);continue}if(n=this.tokenizer.text(r)){r=r.substring(n.raw.length),(e=t[t.length-1])&&"text"===e.type?(e.raw+=`
`+n.raw,e.text+=`
`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=e.text):t.push(n);continue}if(r){var o="Infinite loop on byte: "+r.charCodeAt(0);if(this.options.silent){console.error(o);break}throw new Error(o)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(r,t=[]){let n,e,i,l=r,o,s,a;if(this.tokens.links){const u=Object.keys(this.tokens.links);if(0<u.length)for(;null!=(o=this.tokenizer.rules.inline.reflinkSearch.exec(l));)u.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(o=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(o=this.tokenizer.rules.inline.anyPunctuation.exec(l));)l=l.slice(0,o.index)+"++"+l.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;r;)if(s||(a=""),s=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(e=>!!(n=e.call({lexer:this},r,t))&&(r=r.substring(n.raw.length),t.push(n),!0)))){if(n=this.tokenizer.escape(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.tag(r)){r=r.substring(n.raw.length),(e=t[t.length-1])&&"text"===n.type&&"text"===e.type?(e.raw+=n.raw,e.text+=n.text):t.push(n);continue}if(n=this.tokenizer.link(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.reflink(r,this.tokens.links)){r=r.substring(n.raw.length),(e=t[t.length-1])&&"text"===n.type&&"text"===e.type?(e.raw+=n.raw,e.text+=n.text):t.push(n);continue}if(n=this.tokenizer.emStrong(r,l,a)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.codespan(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.br(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.del(r)){r=r.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.autolink(r)){r=r.substring(n.raw.length),t.push(n);continue}if(!this.state.inLink&&(n=this.tokenizer.url(r))){r=r.substring(n.raw.length),t.push(n);continue}if(i=r,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const p=r.slice(1);let n;this.options.extensions.startInline.forEach(e=>{"number"==typeof(n=e.call({lexer:this},p))&&0<=n&&(t=Math.min(t,n))}),t<1/0&&0<=t&&(i=r.substring(0,t+1))}if(n=this.tokenizer.inlineText(i)){r=r.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(a=n.raw.slice(-1)),s=!0,(e=t[t.length-1])&&"text"===e.type?(e.raw+=n.raw,e.text+=n.text):t.push(n);continue}if(r){var c="Infinite loop on byte: "+r.charCodeAt(0);if(this.options.silent){console.error(c);break}throw new Error(c)}}return t}}class gi{options;constructor(e){this.options=e||Rt}code(e,t,n){t=null==(t=(t||"").match(/^\S*/))?void 0:t[0];return e=e.replace(/\n$/,"")+`
`,t?'<pre><code class="language-'+$e(t)+'">'+(n?e:$e(e,!0))+`</code></pre>
`:"<pre><code>"+(n?e:$e(e,!0))+`</code></pre>
`}blockquote(e){return`<blockquote>
${e}</blockquote>
`}html(e,t){return e}heading(e,t,n){return`<h${t}>${e}</h${t}>
`}hr(){return`<hr>
`}list(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+`>
`+e+"</"+r+`>
`}listitem(e,t,n){return`<li>${e}</li>
`}checkbox(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph(e){return`<p>${e}</p>
`}table(e,t){return`<table>
<thead>
`+e+`</thead>
`+(t=t&&`<tbody>${t}</tbody>`)+`</table>
`}tablerow(e){return`<tr>
${e}</tr>
`}tablecell(e,t){var n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`</${n}>
`}strong(e){return`<strong>${e}</strong>`}em(e){return`<em>${e}</em>`}codespan(e){return`<code>${e}</code>`}br(){return"<br>"}del(e){return`<del>${e}</del>`}link(e,t,n){var r=Ns(e);if(null===r)return n;let i='<a href="'+(e=r)+'"';return t&&(i+=' title="'+t+'"'),i+=">"+n+"</a>"}image(e,t,n){var r=Ns(e);if(null===r)return n;let i=`<img src="${e=r}" alt="${n}"`;return t&&(i+=` title="${t}"`),i+=">"}text(e){return e}}class yr{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,n){return""+n}image(e,t,n){return""+n}br(){return""}}class rt{options;renderer;textRenderer;constructor(e){this.options=e||Rt,this.options.renderer=this.options.renderer||new gi,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new yr}static parse(e,t){return new rt(t).parse(e)}static parseInline(e,t){return new rt(t).parseInline(e)}parse(r,i=!0){let l="";for(let n=0;n<r.length;n++){var o=r[n];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[o.type]){var e=o,t=this.options.extensions.renderers[e.type].call({parser:this},e);if(!1!==t||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(e.type)){l+=t||"";continue}}switch(o.type){case"space":continue;case"hr":l+=this.renderer.hr();continue;case"heading":var s=o;l+=this.renderer.heading(this.parseInline(s.tokens),s.depth,Fu(this.parseInline(s.tokens,this.textRenderer)));continue;case"code":l+=this.renderer.code(o.text,o.lang,!!o.escaped);continue;case"table":{var a=o;let e="",t="";for(let e=0;e<a.header.length;e++)t+=this.renderer.tablecell(this.parseInline(a.header[e].tokens),{header:!0,align:a.align[e]});e+=this.renderer.tablerow(t);let n="";for(let e=0;e<a.rows.length;e++){var c=a.rows[e];t="";for(let e=0;e<c.length;e++)t+=this.renderer.tablecell(this.parseInline(c[e].tokens),{header:!1,align:a.align[e]});n+=this.renderer.tablerow(t)}l+=this.renderer.table(e,n);continue}case"blockquote":s=this.parse(o.tokens);l+=this.renderer.blockquote(s);continue;case"list":{var u,p=o,d=p.ordered,h=p.start,f=p.loose;let n="";for(let t=0;t<p.items.length;t++){const g=p.items[t],m=g.checked,v=g.task;let e="";g.task&&(u=this.renderer.checkbox(!!m),f?0<g.tokens.length&&"paragraph"===g.tokens[0].type?(g.tokens[0].text=u+" "+g.tokens[0].text,g.tokens[0].tokens&&0<g.tokens[0].tokens.length&&"text"===g.tokens[0].tokens[0].type&&(g.tokens[0].tokens[0].text=u+" "+g.tokens[0].tokens[0].text)):g.tokens.unshift({type:"text",text:u+" "}):e+=u+" "),e+=this.parse(g.tokens,f),n+=this.renderer.listitem(e,v,!!m)}l+=this.renderer.list(n,d,h);continue}case"html":l+=this.renderer.html(o.text,o.block);continue;case"paragraph":l+=this.renderer.paragraph(this.parseInline(o.tokens));continue;case"text":{let e=o,t=e.tokens?this.parseInline(e.tokens):e.text;for(;n+1<r.length&&"text"===r[n+1].type;)e=r[++n],t+=`
`+(e.tokens?this.parseInline(e.tokens):e.text);l+=i?this.renderer.paragraph(t):t;continue}default:d='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(d),"";throw new Error(d)}}return l}parseInline(t,n){n=n||this.renderer;let r="";for(let e=0;e<t.length;e++){var i=t[e];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[i.type]){var l=this.options.extensions.renderers[i.type].call({parser:this},i);if(!1!==l||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i.type)){r+=l||"";continue}}switch(i.type){case"escape":r+=n.text(i.text);break;case"html":r+=n.html(i.text);break;case"link":r+=n.link(i.href,i.title,this.parseInline(i.tokens,n));break;case"image":r+=n.image(i.href,i.title,i.text);break;case"strong":r+=n.strong(this.parseInline(i.tokens,n));break;case"em":r+=n.em(this.parseInline(i.tokens,n));break;case"codespan":r+=n.codespan(i.text);break;case"br":r+=n.br();break;case"del":r+=n.del(this.parseInline(i.tokens,n));break;case"text":r+=n.text(i.text);break;default:var o='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}return r}}class wn{options;constructor(e){this.options=e||Rt}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}}Oe(wn,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"]));class Js{constructor(...e){_i(this,xn),_i(this,bi),Oe(this,"defaults",hr()),Oe(this,"options",this.setOptions),Oe(this,"parse",En(this,xn,kr).call(this,it.lex,rt.parse)),Oe(this,"parseInline",En(this,xn,kr).call(this,it.lexInline,rt.parseInline)),Oe(this,"Parser",rt),Oe(this,"Renderer",gi),Oe(this,"TextRenderer",yr),Oe(this,"Lexer",it),Oe(this,"Tokenizer",fi),Oe(this,"Hooks",wn),this.use(...e)}walkTokens(e,t){var n;let r=[];for(const l of e)switch(r=r.concat(t.call(this,l)),l.type){case"table":var i=l;for(const o of i.header)r=r.concat(this.walkTokens(o.tokens,t));for(const s of i.rows)for(const a of s)r=r.concat(this.walkTokens(a.tokens,t));break;case"list":i=l;r=r.concat(this.walkTokens(i.items,t));break;default:{const c=l;null!=(n=null==(n=this.defaults.extensions)?void 0:n.childTokens)&&n[c.type]?this.defaults.extensions.childTokens[c.type].forEach(e=>{e=c[e].flat(1/0);r=r.concat(this.walkTokens(e,t))}):c.tokens&&(r=r.concat(this.walkTokens(c.tokens,t)))}}return r}use(...e){const w=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{const t={...e};if(t.async=this.defaults.async||t.async||!1,e.extensions&&(e.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){const r=w.renderers[n.name];r?w.renderers[n.name]=function(...e){let t=n.renderer.apply(this,e);return t=!1===t?r.apply(this,e):t}:w.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||"block"!==n.level&&"inline"!==n.level)throw new Error("extension level must be 'block' or 'inline'");const e=w[n.level];e?e.unshift(n.tokenizer):w[n.level]=[n.tokenizer],n.start&&("block"===n.level?w.startBlock?w.startBlock.push(n.start):w.startBlock=[n.start]:"inline"===n.level&&(w.startInline?w.startInline.push(n.start):w.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(w.childTokens[n.name]=n.childTokens)}),t.extensions=w),e.renderer){const n=this.defaults.renderer||new gi(this.defaults);for(const r in e.renderer){if(!(r in n))throw new Error(`renderer '${r}' does not exist`);if("options"!==r){const i=r,l=e.renderer[i],o=n[i];n[i]=(...e)=>{let t=l.apply(n,e);return(t=!1===t?o.apply(n,e):t)||""}}}t.renderer=n}if(e.tokenizer){const s=this.defaults.tokenizer||new fi(this.defaults);for(const a in e.tokenizer){if(!(a in s))throw new Error(`tokenizer '${a}' does not exist`);if(!["options","rules","lexer"].includes(a)){const c=a,u=e.tokenizer[c],p=s[c];s[c]=(...e)=>{let t=u.apply(s,e);return t=!1===t?p.apply(s,e):t}}}t.tokenizer=s}if(e.hooks){const d=this.defaults.hooks||new wn;for(const h in e.hooks){if(!(h in d))throw new Error(`hook '${h}' does not exist`);if("options"!==h){cons
Please report this to https://github.com/markedjs/marked.`,n)return t="<p>An error occurred:</p><pre>"+$e(e.message+"",!0)+"</pre>",r?Promise.resolve(t):t;if(r)return Promise.reject(e);throw e}};const Tt=new Js;function ue(e,t){return Tt.parse(e,t)}function gf(r){if((r="function"==typeof r?{highlight:r}:r)&&"function"==typeof r.highlight)return"string"!=typeof r.langPrefix&&(r.langPrefix="language-"),{async:!!r.async,walkTokens(e){if("code"===e.type){var t=Ys(e.lang);if(r.async)return Promise.resolve(r.highlight(e.text,t,e.lang||"")).then(Xs(e));t=r.highlight(e.text,t,e.lang||"");if(t instanceof Promise)throw new Error("markedHighlight is not set to async but the highlight function is async. Set the async option to true on markedHighlight to await the async highlight function.");Xs(e)(t)}},renderer:{code(e,t,n){t=Ys(t),t=t?` class="${r.langPrefix}${il(t)}"`:"";return e=e.replace(/\n$/,""),`<pre><code${t}>${n?e:il(e,!0)}
</code></pre>`}}};throw new Error("Must provide highlight function")}function Ys(e){return(e||"").match(/\S*/)[0]}function Xs(t){return e=>{"string"==typeof e&&e!==t.text&&(t.escaped=!0,t.text=e)}}ue.options=ue.setOptions=function(e){return Tt.setOptions(e),ue.defaults=Tt.defaults,zs(ue.defaults),ue},ue.getDefaults=hr,ue.defaults=Rt,ue.use=function(...e){return Tt.use(...e),ue.defaults=Tt.defaults,zs(ue.defaults),ue},ue.walkTokens=function(e,t){return Tt.walkTokens(e,t)},ue.parseInline=Tt.parseInline,ue.Parser=rt,ue.parser=rt.parse,ue.Renderer=gi,ue.TextRenderer=yr,ue.Lexer=it,ue.lexer=it.lex,ue.Tokenizer=fi,ue.Hooks=wn,ue.parse=ue;const el=/[&<>"']/,mf=new RegExp(el.source,"g"),tl=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,vf=new RegExp(tl.source,"g"),wf={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},nl=e=>wf[e];function il(e,t){if(t){if(el.test(e))return e.replace(mf,nl)}else if(tl.test(e))return e.replace(vf,nl);return e}const bf=/\$.*?\$/,yf=/^\$(.*?)\$/,_f=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,kf=t=>[{name:"blockMath",level:"block",tokenizer(e){e=_f.exec(e);if(null!==e)return{type:"html",raw:e[0],text:t(!0,e[1])}}},{name:"inlineMath",level:"inline",start(e){var t=e.search(bf);return-1!==t?t:e.length},tokenizer(e){e=yf.exec(e);if(null!==e)return{type:"html",raw:e[0],text:t(!1,e[1])}}}],rl=(e="",n={})=>e.replace(/:(.+?):/g,(e,t)=>n[t]?`<img class="wl-emoji" src="${n[t]}" alt="${t}">`:e),xf=(e,{emojiMap:t,highlighter:n,texRenderer:r})=>{const i=new Js;return i.setOptions({breaks:!0}),n&&i.use(gf({highlight:n})),r&&(n=kf(r),i.use({extensions:n})),i.parse(rl(e,t))},_r=e=>{e=e.dataset.path;return null!=e&&e.length?e:null},Cf=e=>e.match(/[\w\d\s,.\u00C0-\u024F\u0400-\u04FF]+/giu),Ef=e=>e.match(/[\u4E00-\u9FD5]/gu),Sf=e=>{var t;return((null==(t=Cf(e))?void 0:t.reduce((e,t)=>e+(["",",","."].includes(t.trim())?0:t.trim().split(/\s+/u).length),0))??0)+((null==(t=Ef(e))?void 0:t.length)??0)},If=async()=>{if(!navigator)return"";const e=navigator["userAgentData"];let t=navigator.userAgent;if(!e||"Windows"!==e.platform)return t;const n=(await e.getHighEntropyValues(["platformVersion"]))["platformVersion"];return t=n&&13<=parseInt(n.split(".")[0])?t.replace("Windows NT 10.0","Windows NT 11.0"):t},ol=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-comment-count",lang:r=navigator.language})=>{const i=new AbortController,l=document.querySelectorAll(n);return l.length&&Lr({serverURL:Rn(e),paths:Array.from(l).map(e=>Gr(_r(e)??t)),lang:r,signal:i.signal}).then(n=>{l.forEach((e,t)=>{e.innerText=n[t].toString()})}).catch(Os),i.abort.bind(i)},Rf=({size:e})=>Y("svg",{class:"wl-close-icon",viewBox:"0 0 1024 1024",width:e,height:e},[Y("path",{d:"M697.173 85.333h-369.92c-144.64 0-241.92 101.547-241.92 252.587v348.587c0 150.613 97.28 252.16 241.92 252.16h369.92c144.64 0 241.494-101.547 241.494-252.16V337.92c0-151.04-96.854-252.587-241.494-252.587z",fill:"currentColor"}),Y("path",{d:"m640.683 587.52-75.947-75.861 75.904-75.862a37.29 37.29 0 0 0 0-52.778 37.205 37.205 0 0 0-52.779 0l-75.946 75.818-75.862-75.946a37.419 37.419 0 0 0-52.821 0 37.419 37.419 0 0 0 0 52.821l75.947 75.947-75.776 75.733a37.29 37.29 0 1 0 52.778 52.821l75.776-75.776 75.947 75.947a37.376 37.376 0 0 0 52.779-52.821z",fill:"#888"})]),Tf=()=>Y("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},Y("path",{d:"m341.013 394.667 27.755 393.45h271.83l27.733-393.45h64.106l-28.01 397.952a64 64 0 0 1-63.83 59.498H368.768a64 64 0 0 1-63.83-59.52l-28.053-397.93h64.128zm139.307 19.818v298.667h-64V414.485h64zm117.013 0v298.667h-64V414.485h64zM181.333 288h640v64h-640v-64zm453.483-106.667v64h-256v-64h256z",fill:"red"})),Lf=()=>Y("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},Y("path",{d:"M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 3
![${t.name}](${e})`)}).catch(e=>{alert(e.message),v.value=v.value.replace(n,"")}).then(()=>{R.value=!1})},T=async()=>{var e,t,n;const{serverURL:r,lang:i,login:l,wordLimit:o,requiredMeta:s,recaptchaV3Key:a,turnstileKey:c}=m.value,u=await If(),p={comment:L.value,nick:y.value.nick,mail:y.value.mail,link:y.value.link,url:m.value.path,ua:u};if(!f.edit)if(null!=(e=w.value)&&e.token)p.nick=w.value.display_name,p.mail=w.value.email,p.link=w.value.url;else{if("force"===l)return;if(-1<s.indexOf("nick")&&!p.nick)return null!=(e=b.value.nick)&&e.focus(),alert(E.value.nickError);if(-1<s.indexOf("mail")&&!p.mail||p.mail&&!Vl(p.mail))return null!=(e=b.value.mail)&&e.focus(),alert(E.value.mailError);p.nick||(p.nick=E.value.anonymous)}if(p.comment){if(!C.value)return alert(E.value.wordHint.replace("$0",o[0].toString()).replace("$1",o[1].toString()).replace("$2",S.value.toString()));p.comment=rl(p.comment,x.value.map),f.replyId&&f.rootId&&(p.pid=f.replyId,p.rid=f.rootId,p.at=f.replyUser),R.value=!0;try{a&&(p.recaptchaV3=await Gf(a).execute("social")),c&&(p.turnstile=await Zf(c).execute("social"));var d={serverURL:r,lang:i,token:null==(t=w.value)?void 0:t.token,comment:p},h=await(f.edit?qt({objectId:f.edit.objectId,...d}):Rr(d));if(R.value=!1,h.errmsg)return alert(h.errmsg);g("submit",h.data),v.value="",_.value="",await Ut(),f.replyId&&g("cancelReply"),null!=(n=f.edit)&&n.objectId&&g("cancelEdit")}catch(e){R.value=!1,alert(e.message)}}else null!=(e=k.value)&&e.focus()},z=e=>{var t;null!=(t=i.value)&&t.contains(e.target)||null!=(t=l.value)&&t.contains(e.target)||(u.value=!1),null!=(t=o.value)&&t.contains(e.target)||null!=(t=s.value)&&t.contains(e.target)||(p.value=!1)},j=async e=>{var t;const{scrollTop:n,clientHeight:r,scrollHeight:i}=e.target,l=(r+n)/i,o=m.value.search,s=(null==(t=a.value)?void 0:t.value)??"";l<.9||d.loading||I.value||(d.loading=!0,(o.more&&d.list.length?await o.more(s,d.list.length):await o.search(s)).length?d.list=[...d.list,...o.more&&d.list.length?await o.more(s,d.list.length):await o.search(s)]:I.value=!0,d.loading=!1,setTimeout(()=>{e.target.scrollTop=n},50))},N=pu(e=>{d.list=[],I.value=!1,j(e)},300);je([m,S],([e,t])=>{e=e.wordLimit;e?t<e[0]&&0!==e[0]?(h.value=e[0],C.value=!1):t>e[1]?(h.value=e[1],C.value=!1):(h.value=e[1],C.value=!0):(h.value=0,C.value=!0)},{immediate:!0}),li("click",z),li("message",({data:e})=>{e&&"profile"===e.type&&(w.value={...w.value,...e.data},[localStorage,sessionStorage].filter(e=>e.getItem("WALINE_USER")).forEach(e=>e.setItem("WALINE_USER",JSON.stringify(w))))}),je(p,async e=>{if(e){const t=m.value.search;a.value&&(a.value.value=""),d.loading=!0,d.list=await((null==(e=t.default)?void 0:e.call(t))??t.search("")),d.loading=!1}}),on(()=>{var e;null!=(e=f.edit)&&e.objectId&&(v.value=f.edit.orig),je(()=>v.value,e=>{var{highlighter:t,texRenderer:n}=m.value;L.value=e,_.value=xf(e,{emojiMap:x.value.map,highlighter:t,texRenderer:n}),S.value=Sf(e),e?hl(k.value):hl.destroy(k.value)},{immediate:!0}),je(()=>m.value.emoji,e=>Mu(e).then(e=>{x.value=e}),{immediate:!0})});t={props:f,emit:g,config:m,editor:v,userMeta:y,userInfo:w,inputRefs:b,editorRef:k,imageUploadRef:r,emojiButtonRef:i,emojiPopupRef:l,gifButtonRef:o,gifPopupRef:s,gifSearchInputRef:a,emoji:x,emojiTabIndex:c,showEmoji:u,showGif:p,showPreview:O,previewText:_,wordNumber:S,searchResults:d,wordLimit:h,isWordNumberLegal:C,content:L,isSubmitting:R,isImageListEnd:I,locale:E,isLogin:P,canUploadImage:A,insert:$,onKeyDown:e=>{var t=e.key;(e.ctrlKey||e.metaKey)&&"Enter"===t&&T()},uploadImage:M,onDrop:e=>{var t;null!=(t=e.dataTransfer)&&t.items&&(t=js(e.dataTransfer.items))&&A.value&&(M(t),e.preventDefault())},onPaste:e=>{e.clipboardData&&(e=js(e.clipboardData.items))&&A.value&&M(e)},onChange:()=>{const e=r.value;e.files&&A.value&&M(e.files[0]).then(()=>{e.value=""})},submitComment:T,onLogin:e=>{e.preventDefault();var{lang:e,serverURL:t}=m.value;Ar({serverURL:t,lang:e}).then(e=>{((w.value=e).remember?localStorage:sessionStorage).setItem("WALINE_USER",JSON.stringify(e)),g("log")})},onLogout:()=>{w.value={},localStorage.setItem("WALINE_USER","null"),sessi