1!function(){"use strict";function t(t,e){for(let i of t.children)if(i.className===e)return i;return null}document.addEventListener("DOMContentLoaded",(()=>{$(".joe_detail__article p:empty").remove(),customElements.define("joe-mtitle",class extends HTMLElement{constructor(){super(),this.innerHTML=`\n\t\t\t\t<span class="joe_mtitle">\n\t\t\t\t\t<span class="joe_mtitle__text">\n\t\t\t\t\t\t${this.getAttribute("title")||"é»è®¤æ é¢"}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t`}}),customElements.define("joe-mp3",class extends HTMLElement{constructor(){super(),this.options={name:this.getAttribute("name"),url:this.getAttribute("url"),theme:this.getAttribute("theme")||"#1989fa",cover:this.getAttribute("cover")||"",autoplay:!!this.getAttribute("autoplay")},this.render()}render(){if(!this.options.url)return this.innerHTML="é³é¢å°åæªå¡«åï¼";this.innerHTML='<span style="display: block" class="_content"></span>',new APlayer({container:t(this,"_content"),theme:this.options.theme,autoplay:this.options.autoplay,audio:[{url:this.options.url,name:this.options.name,cover:this.options.cover}]})}}),customElements.define("joe-music",class extends HTMLElement{constructor(){super(),this.options={id:this.getAttribute("id"),color:this.getAttribute("color")||"#1989fa",autoplay:!!this.getAttribute("autoplay")},this.render()}render(){if(!this.options.id)return this.innerHTML="ç½æäºææ²IDæªå¡«åï¼";this.innerHTML='<span style="display: block" class="_content"></span>',fetch("https://www.vvhan.com/usr/themes/Joe/NeteaseCloudMusicApi.php?id="+this.options.id).then((async e=>{const i=await e.json();new APlayer({container:t(this,"_content"),lrcType:1,theme:this.options.color,autoplay:this.options.autoplay,audio:i})}))}}),customElements.define("joe-mlist",class extends HTMLElement{constructor(){super(),this.options={id:this.getAttribute("id"),color:this.getAttribute("color")||"#1989fa",autoplay:!!this.getAttribute("autoplay")},this.render()}render(){if(!this.options.id)return this.innerHTML="ç½æäºæåIDæªå¡«åï¼";this.innerHTML='<span style="display: block" class="_content"></span>',fetch("https://api.i-meto.com/meting/api?server=netease&type=playlist&id="+this.options.id).then((async e=>{const i=await e.json();new APlayer({container:t(this,"_content"),lrcType:3,theme:this.options.color,autoplay:this.options.autoplay,audio:i})}))}}),customElements.define("joe-abtn",class extends HTMLElement{constructor(){super(),this.options={icon:this.getAttribute("icon")||"",color:this.getAttribute("color")||"#ff6800",href:this.getAttribute("href")||"#",radius:this.getAttribute("radius")||"17.5px",content:this.getAttribute("content")||"å¤å½©æé®"},this.innerHTML=`\n <a class="joe_abtn" style="background: ${this.options.color}; border-radius: ${this.options.radius}" href="${this.options.href}" target="_blank" rel="noopener noreferrer nofollow">\n <span class="joe_abtn__icon">\n <i class="${this.options.icon} fa"></i>\n </span>\n <span class="joe_abtn__content">\n ${this.options.content}\n </span>\n </a>\n `}}),customElements.define("joe-anote",class extends HTMLElement{constructor(){super(),this.options={icon:this.getAttribute("icon")||"fa-download",href:this.getAttribute("href")||"#",type:/^secondary$|^success$|^warning$|^error$|^info$/.test(this.getAttribute("type"))?this.getAttribute("type"):"secondary",content:this.getAttribute("content")||"æ ç¾æé®"},this.innerHTML=`\n\t\t\t\t\t<a class="joe_anote ${this.options.type}" href="${this.options.href}" target="_blank" rel="noopener noreferrer nofollow">\n\t\t\t\t\t\t<span class="joe_anote__icon">\n\t\t\t\t\t\t\t<i class="fa ${this.options.icon}"></i>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span class="joe_anote__content">\n\t\t\t\t\t\t\t${this.options.content}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</a>\n\t\t\t\t`}}),customElements.define("joe-dotted",class extends HTMLElement{constructor(){super(),this.startColor=this.getAttribute("startColor")||"#ff6c6c",this.endColor=this.getAttribute("endColor")||"#1989fa",this.innerHTML=`\n\t\t\t\t\t<span class="joe_dotted" style="background-image: repeating-linear-gradient(-45deg, ${this.startColor} 0, ${this.startColor} 20%, transparent 0, transparent 25%, ${this.endColor} 0, ${this.endColor} 45%, transparent 0, transparent 50%)"></span>\n\t\t\t\t`}}),customElements.define("joe-cloud",class extends HTMLElement{constructor(){super(),this.options={type:this.getAttribute("type")||"default",title:this.getAttribute("title")||"é»è®¤æ é¢",url:this.getAttribute("url"),password:this.getAttribute("password")};this.innerHTML=`\n\t\t\t\t\t<span class="joe_cloud">\n\t\t\t\t\t\t<div class="joe_cloud__logo _${this.options.type}"></div>\n\t\t\t\t\t\t<div class="joe_cloud__describe">\n\t\t\t\t\t\t\t<div class="joe_cloud__describe-title">${this.options.title}</div>\n\t\t\t\t\t\t\t<div class="joe_cloud__describe-type">æ¥æºï¼${{default:"é»è®¤ç½ç",360:"360ç½ç",bd:"ç¾åº¦ç½ç",ty:"天翼ç½ç",ct:"åéç½ç",wy:"å¾®äºç½ç",github:"Githubä»åº",gitee:"Giteeä»åº",lz:"èå¥äºç½ç",ad:"é¿éäºç"}[this.options.type]||"é»è®¤ç½ç"}${this.options.password?" | æåç ï¼"+this.options.password:""}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<a class="joe_cloud__btn" href="${this.options.url}" target="_blank" rel="noopener noreferrer nofollow">\n\t\t\t\t\t\t\t<i class="fa fa-download"></i>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</span>\n\t\t\t\t`}}),customElements.define("joe-read-limited",class extends HTMLElement{constructor(){super(),this.options={username:this.getAttribute("username"),displayName:this.getAttribute("display-name"),commentName:this.getAttribute("comment-name"),commentKind:this.getAttribute("comment-kind"),commentPlugin:this.getAttribute("comment-plugin")},console.log("JoeReadLimited options:",this.options),this.isUserCommented=!1,this.render(),this.checking=!1,"anonymousUser"!==this.options.username&&("CommentWidgetPlugin"===this.options.commentPlugin?this.commentWidgetPluginCheckComment():"WalinePlugin"===this.options.commentPlugin?this.walineCheckComment():console.warn("JoeReadLimited è¯è®ºæä»¶æªå®ç°æä¸å¯ç¨ï¼ä¸æ£æ¥è¯è®ºï¼"))}commentWidgetPluginCheckComment(){console.log("call commentWidgetPluginCheckComment"),this.runIntervalTask();window.fetch?(window._commentWidgetPluginFetch||(window._commentWidgetPluginFetch=window.fetch),console.log("JoeReadLimited è¦ç commentWidgetPlugin fetch è¯·æ± ajax æ¹æ³ï¼"),window.fetch=(t,e,...i)=>{const s=window._commentWidgetPluginFetch(t,e,...i);return s&&"object"==typeof s&&"function"==typeof s.then?s.then((i=>("/apis/api.halo.run/v1alpha1/comments"===t&&"POST"===e.method&&i.ok&&"anonymousUser"!==this.options.username&&!this.isUserCommented&&(console.log("JoeReadLimited commentWidgetPlugin æ¦æªå°ç¨æ·è¯è®ºï¼ä¸åæ£æ¥è¯è®ºï¼"),this.removeReadLimited()),i)
1)):s}):this.checkTimer=setInterval((()=>{this.runIntervalTask()}),3e3)}walineCheckComment(){console.log("call walineCheckComment"),this.runIntervalTask(),this.checkTimer=setInterval((()=>{this.runIntervalTask()}),3e3)}runIntervalTask(){return"anonymousUser"===this.options.username?(console.log("JoeReadLimited å¿åç¨æ·ï¼ä¸æ£æ¥è¯è®ºï¼"),this.checkTimer&&clearInterval(this.checkTimer),void(this.checkTimer=null)):this.isUserCommented?(console.log("JoeReadLimited å·²ç»è¯è®ºè¿ï¼ä¸åæ£æ¥è¯è®ºï¼"),void this.removeReadLimited()):void(this.checking||(this.checking=!0,this.findFirstMyComment(1,(t=>(this.checking=!1,null===t?(console.log("JoeReadLimited è¯è®ºæ¥æ¾åè½æªå®ç°æä¸å¯ç¨ï¼ä¸åæ£æ¥è¯è®ºï¼"),this.checkTimer&&clearInterval(this.checkTimer),void(this.checkTimer=null)):t?(console.log("JoeReadLimited æ¾å°è¯è®ºï¼ä¸åæ£æ¥è¯è®ºï¼"),this.isUserCommented=!0,void this.removeReadLimited()):void 0)))))}removeReadLimited(){console.log("call removeReadLimited"),this.checking=!1,this.isUserCommented=!0,this.checkTimer&&clearInterval(this.checkTimer),this.checkTimer=null,$(".joe_read_limited").hide(),$(".joe_detail__article.limited").removeClass("limited"),window._commentWidgetPluginFetch&&(console.log("JoeReadLimited æ¢å¤ commentWidgetPlugin fetch è¯·æ± ajax æ¹æ³ï¼"),window.fetch=window._commentWidgetPluginFetch,delete window._commentWidgetPluginFetch)}findFirstMyComment(t,e){const i=this.options.username,s=this.options.displayName;if("anonymousUser"===s)return console.log("findFirstMyComment å¿åç¨æ·ï¼ä¸æ¥æ¾è¯è®ºï¼, page:",t," ,displayName:",s," ,username:",i),e(null);if("CommentWidgetPlugin"!==this.options.commentPlugin)return"WalinePlugin"===this.options.commentPlugin?(console.warn("findFirstMyComment WalinePlugin æä¸æ¯ææ¥æ¾è¯è®ºï¼, page:",t," ,displayName:",s," ,username:",i),void e(null)):(console.warn("findFirstMyComment æªç¥è¯è®ºæä»¶ï¼æä¸æ¯ææ¥æ¾è¯è®ºï¼, page:",t," ,displayName:",s," ,username:",i," ,commentPlugin:",this.options.commentPlugin),e(null));{const n=`/apis/api.halo.run/v1alpha1/comments?group=content.halo.run&kind=${this.options.commentKind}&name=${this.options.commentName}&page=${t}&size=20&version=v1alpha1`;$.ajax({url:n,type:"GET",timeout:1e4}).then((o=>{const r=o.items;if(!r.length)return e(!1);let l=null;for(let t=0;t<r.length;t++){const e=r[t],n=e.spec&&e.spec.owner||e.owner;if(n)if(n.name){if(n.name===i){l=e;break}}else if(n.displayName===s){l=e;break}}return l?(console.log("findFirstMyComment CommentWidgetPlugin æ¾å°è¯è®ºï¼, reqUrl:",n," ,page:",t," ,displayName:",s," ,username:",i," ,userComment:",l),e(!!l)):o.hasNext?this.findFirstMyComment(t+1,e):e(!1)})).catch(((o,r,l)=>(console.error("findFirstMyComment CommentWidgetPlugin catch err:",!!o,r,l," ,reqUrl:",n," ,page:",t," ,displayName:",s," ,username:",i),e(!1))))}}render(){this.innerHTML=`<div class="joe_read_limited" data-username="${this.options.username}" data-display-name="${this.options.displayName}" data-comment-name="${this.options.commentName}" data-comment-kind="${this.options.commentKind}">\n\t\t\t\t\t\t<p><i class="joe-font joe-icon-locker" style="color:#f5840d;"></i>\n\t\t\t\t\t\t${"anonymousUser"===this.options.username?' æ¤å¤å
容ä»
<span class="joe_read_limited__button need-login">ç»éåè¯è®º</span> åå¯è§':" "+this.options.displayName+' æ¨å·²ç»éï¼æ¤å¤å
容ä»
<span class="joe_read_limited__button logined">è¯è®º</span> åå¯è§'}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>`,this.$button=this.querySelector(".joe_read_limited__button");const t=document.querySelector(".joe_comment"),e=document.querySelector(".joe_header"),i=$(".joe_detail").attr("data-cid");console.log(i),t&&e&&this.$button.addEventListener("click",(i=>{if(i.stopPropagation(),!Boolean(document.querySelector('[id*="comment-"]'))&&!Boolean(document.querySelector("#waline")))return void Qmsg.warning("è¯è®ºåè½ä¸å¯ç¨ï¼");if("anonymousUser"===this.options.username)return console.log("JoeReadLimited å¿åç¨æ·ï¼è·³è½¬å°ç»å½é¡µé¢ï¼"),void(window.location.href="/console/login?redirect_uri="+window.location.href);const s=t.offsetTop-e.offsetHeight-15;$("html,body").animate({scrollTop:s},500)}))}}),customElements.define("joe-card-default",class extends HTMLElement{constructor(){super();const e=t(this,"_temp");this.options={width:this.getAttribute("width")||"100%",label:this.getAttribute("label")||"å¡çæ é¢",content:e.innerHTML.trim().replace(/^(<br>)|(<br>)$/g,"")||"å¡çå
容"};const i=`\n\t\t\t\t<div class="joe_card__default" style="width: ${this.options.width}">\n\t\t\t\t\t<div class="joe_card__default-title">${this.options.label}</div>\n\t\t\t\t\t<div class="joe_card__default-content">${this.options.content}</div>\n\t\t\t\t</div>\n\t\t\t`;
1if(t(this,"_content"))t(this,"_content").innerHTML=i;else{const t=document.createElement("span");t.style.display="block",t.className="_content",t.innerHTML=i,this.appendChild(t)}}}),customElements.define("joe-message",class extends HTMLElement{constructor(){super(),this.options={type:/^success$|^info$|^warning$|^error$/.test(this.getAttribute("type"))?this.getAttribute("type"):"info",content:this.getAttribute("content")||"æ¶æ¯å
容"},this.innerHTML=`\n\t\t\t\t\t<span class="joe_message ${this.options.type}">\n\t\t\t\t\t\t<span class="joe_message__icon"></span>\n\t\t\t\t\t\t<span class="joe_message__content">${this.options.content}</span>\n\t\t\t\t\t</span>\n\t\t\t\t`}}),customElements.define("joe-progress",class extends HTMLElement{constructor(){super(),this.options={percentage:/^\d{1,3}%$/.test(this.getAttribute("percentage"))?this.getAttribute("percentage"):"50%",color:this.getAttribute("color")||"#ff6c6c"},this.innerHTML=`\n\t\t\t\t<span class="joe_progress">\n\t\t\t\t\t<div class="joe_progress__strip">\n\t\t\t\t\t\t<div class="joe_progress__strip-percent" style="width: ${this.options.percentage}; background: ${this.options.color};"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="joe_progress__percentage">${this.options.percentage}</div>\n\t\t\t\t</span>\n\t\t\t`}}),customElements.define("joe-callout",class extends HTMLElement{constructor(){super();const e=t(this,"_temp");this.options={color:this.getAttribute("color")||"#f0ad4e",content:e.innerHTML.trim().replace(/^(<br>)|(<br>)$/g,"")||"æ æ³¨å
容"};const i=`\n\t\t\t\t\t<div class="joe_callout" style="border-left-color: ${this.options.color};">\n\t\t\t\t\t\t${this.options.content}\n\t\t\t\t\t</div>\n\t\t\t\t`;if(t(this,"_content"))t(this,"_content").innerHTML=i;else{const t=document.createElement("span");t.style.display="block",t.className="_content",t.innerHTML=i,this.appendChild(t)}}}),customElements.define("joe-card-describe",class extends HTMLElement{constructor(){super();const e=t(this,"_temp");this.options={title:this.getAttribute("title")||"å¡çæè¿°",content:e.innerHTML.trim().replace(/^(<br>)|(<br>)$/g,"")||"å¡çå
容"};const i=`\n\t\t\t\t\t<div class="joe_card__describe">\n\t\t\t\t\t\t<div class="joe_card__describe-title">${this.options.title}</div>\n\t\t\t\t\t\t<div class="joe_card__describe-content">${this.options.content}</div>\n\t\t\t\t\t</div>\n\t\t\t\t`;if(t(this,"_content"))t(this,"_content").innerHTML=i;else{const t=document.createElement("span");t.style.display="block",t.className="_content",t.innerHTML=i,this.appendChild(t)}}}),customElements.define("joe-card-list",class extends HTMLElement{constructor(){super();let e=t(this,"_temp").innerHTML.trim().replace(/^(<br>)|(<br>)$/g,""),i="";e.replace(/{card-list-item}([\s\S]*?){\/card-list-item}/g,(function(t,e){i+=`<div class="joe_card__list-item">${e.trim().replace(/^(<br>)|(<br>)$/g,"")}</div>`}));let s=`<div class="joe_card__list">${i}</div>`;if(t(this,"_content"))t(this,"_content").innerHTML=s;else{const t=document.createElement("span");t.className="_content",t.style.display="block",t.innerHTML=s,this.appendChild(t)}}}),customElements.define("joe-alert",class extends HTMLElement{constructor(){super();const e=t(this,"_temp");this.options={type:/^success$|^info$|^warning$|^error$/.test(this.getAttribute("type"))?this.getAttribute("type"):"info",content:e.innerHTML.trim().replace(/^(<br>)|(<br>)$/g,"")||"è¦åæç¤º"};const i=`\n\t\t\t\t\t<div class="joe_alert ${this.options.type}">\n\t\t\t\t\t\t${this.options.content}\n\t\t\t\t\t</div>\n\t\t\t\t`;if(t(this,"_content"))t(this,"_content").innerHTML=i;else{const t=document.createElement("span");t.style.display="block",t.className="_content",t.innerHTML=i,this.appendChild(t)}}}),customElements.define("joe-timeline",class extends HTMLElement{constructor(){super();const e=t(this,"_tpl");let i=e.innerHTML.trim().replace(/^(<br>)|(<br>)$/g,""),s="";i.replace(/{timeline-item([^}]*)}([\s\S]*?){\/timeline-item}/g,(function(t,e,i){s+=`\n\t\t\t\t\t<div class="joe_timeline__item">\n\t\t\t\t\t\t<div class="joe_timeline__item-tail"></div>\n\t\t\t\t\t\t<div class="joe_timeline__item-circle" ${e}></div>\n\t\t\t\t\t\t<div class="joe_timeline__item-content">${i.trim().replace(/^(<br>)|(<br>)$/g,"")}</div>\n\t\t\t\t\t</div>\n\t\t\t\t`}));let n=`<div class="joe_timeline">${s}</div>`;
1if(t(this,"_content"))t(this,"_content").innerHTML=n;else{const t=document.createElement("span");t.className="_content",t.style.display="block",t.innerHTML=n,this.appendChild(t)}this.querySelectorAll(".joe_timeline__item-circle").forEach(((t,e)=>{const i=t.getAttribute("color")||"#19be6b";t.style.borderColor=i})),e.parentNode.removeChild(e)}}),customElements.define("joe-collapse",class extends HTMLElement{constructor(){super();let e=t(this,"_temp").innerHTML.trim().replace(/^(<br>)|(<br>)$/g,""),i="";e.replace(/{collapse-item([^}]*)}([\s\S]*?){\/collapse-item}/g,(function(t,e,s){i+=`\n\t\t\t\t\t<div class="joe_collapse__item" ${e}>\n\t\t\t\t\t\t<div class="joe_collapse__item-head">\n\t\t\t\t\t\t\t<div class="joe_collapse__item-head--label"></div>\n\t\t\t\t\t\t\t<svg class="joe_collapse__item-head--icon" xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24"><path d="M7.406 7.828L12 12.422l4.594-4.594L18 9.234l-6 6-6-6z"/></svg>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="joe_collapse__item-wrapper">\n\t\t\t\t\t\t\t<div class="joe_collapse__item-wrapper--content">${s.trim().replace(/^(<br>)|(<br>)$/g,"")}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t`}));let s=`<div class="joe_collapse">${i}</div>`;if(t(this,"_content"))t(this,"_content").innerHTML=s;else{const t=document.createElement("span");t.className="_content",t.style.display="block",t.innerHTML=s,this.appendChild(t)}this.querySelectorAll(".joe_collapse__item").forEach((e=>{const i=e.getAttribute("label")||"æå æ é¢",s=t(e,"joe_collapse__item-head");t(s,"joe_collapse__item-head--label").innerHTML=i;const n=t(e,"joe_collapse__item-wrapper"),o=t(n,"joe_collapse__item-wrapper--content");null!==e.getAttribute("open")&&(e.classList.add("active"),n.style.maxHeight="none"),s.addEventListener("click",(t=>{t.stopPropagation(),n.style.maxHeight=o.offsetHeight+"px";let i=setTimeout((()=>{e.classList.contains("active")?(e.classList.remove("active"),n.style.maxHeight=0):(e.classList.add("active"),n.style.maxHeight=o.offsetHeight+"px"),clearTimeout(i),i=null}),30)}))}))}}),customElements.define("joe-dplayer",class extends HTMLElement{constructor(){super(),this.options={src:this.getAttribute("src")||"",player:this.getAttribute("player")||`${ThemeConfig.BASE_RES_URL}/assets/lib/dplayer/web/${"/themes/theme-Joe3"===ThemeConfig.BASE_RES_URL?"dplayer":"dplayer-source"}.html?url=`,width:this.getAttribute("width")||"100%",height:this.getAttribute("height")||"500px"},this.render()}render(){this.options.src?this.innerHTML=`<iframe allowfullscreen="true" class="joe_vplayer" src="${this.options.player+this.options.src}" style="width:${this.options.width};height:${this.options.height}"></iframe>`:this.innerHTML="è§é¢å°åæªå¡«åï¼"}}),customElements.define("joe-bilibili",class extends HTMLElement{constructor(){super(),this.options={bvid:this.getAttribute("bvid"),page:+(this.getAttribute("page")||"1"),width:this.getAttribute("width")||"100%",height:this.getAttribute("height")||"500px"},this.render()}render(){this.options.bvid?this.innerHTML=`<iframe allowfullscreen="true" class="joe_vplayer" src="//player.bilibili.com/player.html?bvid=${this.options.bvid}&page=${this.options.page}" style="width:${this.options.width};height:${this.options.height}"></iframe>`:this.innerHTML="bvidæªå¡«åï¼"}}),customElements.define("joe-raw-content",class extends HTMLElement{constructor(){super(),this.options={content:this.querySelector("#_raw"),width:this.getAttribute("width")||"unset",height:this.getAttribute("height")||"unset"},this.render()}render(){if(this.options.content){this.attachShadow({mode:"closed"}).appendChild(this.options.content)}}}),customElements.define("joe-tabs",class extends HTMLElement{constructor(){super();const e=t(this,"_tpl");let i=e.innerHTML.trim().replace(/^(<br>)|(<br>)$/g,""),s="",n="";i.replace(/{tabs-pane([^}]*)}([\s\S]*?){\/tabs-pane}/g,(function(t,e,i){s+=`<div class="joe_tabs__head-item" label="${e}"></div>`,n+=`<div style="display: none" class="joe_tabs__body-item" label="${e}">${i.trim().replace(/^(<br>)|(<br>)$/g,"")}</div>`}));let o=`\n <div class="joe_tabs">\n <div class="joe_tabs__head">${s}</div>\n <div class="joe_tabs__body">${n}</div>\n </div>\n `;
1if(t(this,"_content"))t(this,"_content").innerHTML=o;else{const t=document.createElement("span");t.className="_content",t.style.display="block",t.innerHTML=o,this.appendChild(t)}this.querySelectorAll(".joe_tabs__head-item").forEach(((t,e)=>{const i=t.getAttribute("label");t.innerHTML=i,t.addEventListener("click",(e=>{e.stopPropagation(),this.querySelectorAll(".joe_tabs__head-item").forEach((t=>t.classList.remove("active"))),this.querySelectorAll(".joe_tabs__body-item").forEach((t=>t.style.display="none")),this.querySelector(`.joe_tabs__body-item[label="${i}"]`)&&(this.querySelector(`.joe_tabs__body-item[label="${i}"]`).style.display="block"),t.classList.add("active")})),0===e&&t.click()})),e.parentNode.removeChild(e)}}),customElements.define("joe-gird",class extends HTMLElement{constructor(){super(),this.options={column:isNaN(this.getAttribute("column"))||!this.getAttribute("column")?3:this.getAttribute("column"),gap:isNaN(this.getAttribute("gap"))||!this.getAttribute("gap")?15:this.getAttribute("gap")};let e=t(this,"_temp").innerHTML.trim().replace(/^(<br>)|(<br>)$/g,""),i="";e.replace(/{gird-item}([\s\S]*?){\/gird-item}/g,(function(t,e){i+=`<div class="joe_gird__item">${e.trim().replace(/^(<br>)|(<br>)$/g,"")}</div>`}));let s=`<div class="joe_gird" style="gap: ${this.options.gap}px; grid-template-columns: repeat(${this.options.column}, 1fr);">${i}</div>`;if(t(this,"_content"))t(this,"_content").innerHTML=s;else{const t=document.createElement("span");t.className="_content",t.style.display="block",t.innerHTML=s,this.appendChild(t)}}}),customElements.define("joe-copy",class extends HTMLElement{constructor(){super(),this.options={title:this.getAttribute("title")||"ç¹å»å¤å¶",content:this.getAttribute("content")||"é»è®¤ææ¬",color:this.getAttribute("color")||"inherit",bold:null!=this.getAttribute("bold")?"bold":"normal"},this.innerHTML=`<span class="joe_copy" style="cursor: pointer; user-select: none;font-weight:${this.options.bold};color:${this.options.color};">${this.options.title}</span>`;const e=t(this,"joe_copy");"undefined"!=typeof ClipboardJS&&"undefined"!=typeof Qmsg?new ClipboardJS(e,{text:()=>this.options.content}).on("success",(()=>Qmsg.success("å¤å¶æåï¼"))):e.addEventListener("click",(()=>alert("该åè½è¯·åå¾åå°æ¥çï¼")))}}),$(".joe_detail__article p:empty").remove()}))}();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.