// ==UserScript==
// @name V2EX Polish - 体验更现代化的 V2EX
// @namespace LeoKu(https://leoku.top)
// @version 1.3.1
// @description 一款专为 V2EX 用户设计的浏览器插件,提供了丰富的扩展功能,让原生页面焕然一新!
// @author LeoKu
// @match https://*.v2ex.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=v2ex.com
// @grant none
// @license MIT
// ==/UserScript==
"use strict";var y=(o,t)=>()=>(o&&(t=o(o=0)),t);var et,nt,Ao,rt,nn,Ro,lo,P=y(()=>{"use strict";et="V2EX_Polish",nt=[{title:"\u5C0F\u9EC4\u8138",list:["\u{1F600}","\u{1F601}","\u{1F602}","\u{1F923}","\u{1F605}","\u{1F60A}","\u{1F60B}","\u{1F618}","\u{1F970}","\u{1F617}","\u{1F929}","\u{1F914}","\u{1F928}","\u{1F610}","\u{1F611}","\u{1F644}","\u{1F60F}","\u{1F62A}","\u{1F62B}","\u{1F971}","\u{1F61C}","\u{1F612}","\u{1F614}","\u{1F628}","\u{1F630}","\u{1F631}","\u{1F975}","\u{1F621}","\u{1F973}","\u{1F97A}","\u{1F92D}","\u{1F9D0}","\u{1F913}","\u{1F62D}","\u{1F911}","\u{1F92E}"]},{title:"\u624B\u52BF",list:["\u{1F64B}","\u{1F64E}","\u{1F645}","\u{1F647}","\u{1F937}","\u{1F90F}","\u{1F449}","\u270C\uFE0F","\u{1F918}","\u{1F919}","\u{1F44C}","\u{1F90C}","\u{1F44D}","\u{1F44E}","\u{1F44B}","\u{1F91D}","\u{1F64F}","\u{1F44F}"]},{title:"\u5E86\u795D",list:["\u2728","\u{1F389}","\u{1F38A}"]},{title:"\u5176\u4ED6",list:["\u{1F47B}","\u{1F921}","\u{1F414}","\u{1F440}","\u{1F4A9}","\u{1F434}","\u{1F984}","\u{1F427}","\u{1F436}","\u{1F412}","\u{1F648}","\u{1F649}","\u{1F64A}","\u{1F435}"]}],Ao=250,rt=550,nn=60*60*1e3,Ro=["3107b9ef8b316f3","442b04f26eefc8a","59cfebe717c09e4","60605aad4a62882","6c65ab1d3f5452a","83e123737849aa9","9311f6be1c10160","c4a4a563f698595","81be04b9e4a08ce"],lo={openInNewTab:!1,autoCheckIn:{enabled:!0},nestedReply:{display:"indent"}}});var it,K,at,so,ct,lt,st,pt,dt,po,ft,vt,mt,ut,gt,bt,H=y(()=>{"use strict";it=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" style="width:18px; height:18px;" ><path stroke-linecap="round" stroke-linejoin="round" d="M15.182 15.182a4.5 4.5 0 01-6.364 0M21 12a9 9 0 11-18 0 9 9 0 0118 0zM9.75 9.75c0 .414-.168.75-.375.75S9 10.164 9 9.75 9.168 9 9.375 9s.375.336.375.75zm-.375 0h.008v.015h-.008V9.75zm5.625 0c0 .414-.168.75-.375.75s-.375-.336-.375-.75.168-.75.375-.75.375.336.375.75zm-.375 0h.008v.015h-.008V9.75z" /></svg>`,K=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" ><path stroke-linecap="round" stroke-linejoin="round" d="M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12z" /></svg>`,at=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" ><path stroke-linecap="round" stroke-linejoin="round" d="M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88" /></svg>`,so=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" ><path stroke-linecap="round" stroke-linejoin="round" d="M7.5 8.25h9m-9 3H12m-9.75 1.51c0 1.6 1.123 2.994 2.707 3.227 1.129.166 2.27.293 3.423.379.35.026.67.21.865.501L12 21l2.755-4.133a1.14 1.14 0 01.865-.501 48.172 48.172 0 003.423-.379c1.584-.233 2.707-1.626 2.707-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0012 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018z" /></svg>`,ct=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" ><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" ></polygon></svg>`,lt=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" ><path d="M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z" ></path></svg>`,st=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" ><circle cx="12" cy="12" r="10"></circle><path d="M8 15h8"></path><path d="M8 9h2"></path><path d="M14 9h2"></path></svg>`,pt=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" ><path d="M20.42 4.58a5.4 5.4 0 0 0-7.65 0l-.77.78-.77-.78a5.4 5.4 0 0 0-7.65 0C1.46 6.7 1.33 10.28 4 13l8 8 8-8c2.67-2.72 2.54-6.3.42-8.42z" ></path></svg>`,dt=`<svg version="1.1" id="L4" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 0 0" xml:space="preserve"><circle fill="currentcolor" stroke="none" cx="6" cy="50" r="6"><animate attributeName="opacity" dur="1s" values="0;1;0" repeatCount="indefinite" begin="0.1"/></circle><circle fill="currentcolor" stroke="none" cx="26" cy="50" r="6"><animate attributeName="opacity" dur="1s" values="0;1;0" repeatCount="indefinite" begin="0.2"/></circle><circle fill="currentcolor" stroke="none" cx="46" cy="50" r="6"><animate attributeName="opacity" dur="1s" values="0;1;0" repeatCount="indefinite" begin="0.3"/></circle></svg>`,po=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 88 88"><g style="mix-blend-mode:passthrough"><path d="M87.92 86.098v-.052a.592.592 0 0 0 0-.07L44.978.72l-.059-.105c-.16-.3-.415-.511-.705-.586a.961.961 0 0 0-.841.19 1.315 1.315 0 0 0-.336.378l-.058.115a2571.004 2571.004 0 0 1-8.695 17.172c-.59 1.024-.59 2.382 0 3.406 3.856 7.57 7.7 15.142 11.532 22.718.641 1.108.641 2.58 0 3.688C39.5 60.23 32.826 73.406 26.45 85.993c-.291.661-.086 1.482.46 1.84.16.104.341.158.525.158h18.52c.415.003.797-.272.992-.713l.635-1.285 8.585-17.023c.142-.317.383-.552.67-.653a.949.949 0 0 1 .855.116c.156.1.289.245.386.423l8.506 16.723.787 1.558c.199.433.575.702.985.704h.518c.087.009.175.009.263 0h17.74c.617 0 1.119-.601 1.123-1.347a1.615 1.615 0 0 0-.08-.396Z" fill="currentColor" style="mix-blend-mode:passthrough"/><path d="m38.551 48.541.62-1.232a3.095 3.095 0 0 0 0-3.02l-3.807-7.446-4.377-8.511c-.155-.308-.406-.527-.697-.61a.957.957 0 0 0-.85.17 1.252 1.252 0 0 0-.4.502L.132 86.002c-.29.658-.085 1.477.46 1.83.161.113.345.17.532.168h16.981c.41 0 .788-.27.985-.705l.65-1.302c.029-.048.055-.098.08-.15l.729-1.408c6.047-12.103 11.839-23.66 17.9-35.7.038-.062.072-.127.102-.194Z" fill="currentColor" style="mix-blend-mode:passthrough"/></g></svg>`,ft=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 152.01 132"><defs><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="39.16" y1="775.015" x2="152.84" y2="775.015" gradientTransform="translate(0 -650)"><stop offset="0" style="stop-color:#d93025"/><stop offset="1" style="stop-color:#ea4335"/></linearGradient><linearGradient id="b" gradientUnits="userSpaceOnUse" x1="-1169.827" y1="59.741" x2="-1056.123" y2="59.741" gradientTransform="rotate(-120 -489.637 -232.003)"><stop offset="0" style="stop-color:#1e8e3e"/><stop offset="1" style="stop-color:#34a853"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="56.707" y1="-664.775" x2="170.407" y2="-664.775" gradientTransform="rotate(120 -125.508 -249.005)"><stop offset="0" style="stop-color:#fbbc04"/><stop offset="1" style="stop-color:#fcc934"/></linearGradient><linearGradient xlink:href="#a" id="d" gradientUnits="userSpaceOnUse" gradientTransform="translate(-20 -678)" x1="39.16" y1="775.015" x2="152.84" y2="775.015"/><linearGradient xlink:href="#b" id="e" gradientUnits="userSpaceOnUse" gradientTransform="rotate(-120 -507.72 -240.23)" x1="-1169.827" y1="59.741" x2="-1056.123" y2="59.741"/><linearGradient xlink:href="#c" id="f" gradientUnits="userSpaceOnUse" gradientTransform="rotate(120 -127.425 -268.779)" x1="56.707" y1="-664.775" x2="170.407" y2="-664.775"/></defs><path d="M0 0v121.63C0 127.35 4.64 132 10.37 132h131.27c5.72 0 10.37-4.64 10.37-10.37L152 0Zm58.73 14.52h34.54c3.82 0 6.91 3.09 6.91 6.91 0 3.81-3.09 6.91-6.91 6.91H58.73c-3.82 0-6.91-3.09-6.91-6.91 0-3.82 3.09-6.91 6.91-6.91z" fill="#f1f3f4"/><path d="M0 0v121.63C0 127.35 4.64 132 10.37 132h131.27c5.72 0 10.37-4.64 10.37-10.37L152 0Zm58.73 14.52h34.54c3.82 0 6.91 3.09 6.91 6.91 0 3.81-3.09 6.91-6.91 6.91H58.73c-3.82 0-6.91-3.09-6.91-6.91 0-3.82 3.09-6.91 6.91-6.91z" fill="#f1f3f4"/><path d="M0 0v66.35h152V0Zm58.73 14.52h34.54c3.82 0 6.91 3.09 6.91 6.91 0 3.81-3.09 6.91-6.91 6.91H58.73c-3.82 0-6.91-3.09-6.91-6.91 0-3.82 3.09-6.91 6.91-6.91z" fill="#e8eaed"/><path style="fill:url(#d)" d="M76 55.99c-24.29 0-45.49 13.19-56.84 32.81l9.05 27.61L42.18 132h8.894L76 88.81l56.84-.01C121.49 69.18 100.29 55.99 76 55.99Z"/><path style="fill:url(#e)" d="M19.16 88.8C11.694 101.767 8.8 117.054 11.186 132h32.908z"/><path style="fill:url(#f)" d="M76 88.81 100.934 132h39.88c2.387-14.943-.508-30.225-7.974-43.19z"/><path style="fill:#f1f3f4" d="M76 88.81c-18.12 0-32.81 14.695-32.81 32.82 0 3.626.598 7.11 1.683 10.37h62.254a32.771 32.771 0 0 0 1.684-10.37c0-18.125-14.69-32.82-32.811-32.82Z"/><path d="M76 94.96a26.66 26.67 0 0 0-26.66 26.67A26.66 26.67 0 0 0 51.486 132h49.028a26.66 26.67 0 0 0 2.146-10.37A26.66 26.67 0 0 0 76 94.96Z" fill="#1a73e8"/><path opacity=".1" fill="#bdc1c6" d="M0 66.35h152v.86H0zM0 65.48h152v.86H0z"/></svg>`,vt=`<svg viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" clip-rule="evenodd" d="M12 2C6.477 2 2 6.463 2 11.97c0 4.404 2.865 8.14 6.839 9.458.5.092.682-.216.682-.48 0-.236-.008-.864-.013-1.695-2.782.602-3.369-1.337-3.369-1.337-.454-1.151-1.11-1.458-1.11-1.458-.908-.618.069-.606.069-.606 1.003.07 1.531 1.027 1.531 1.027.892 1.524 2.341 1.084 2.91.828.092-.643.35-1.083.636-1.332-2.22-.251-4.555-1.107-4.555-4.927 0-1.088.39-1.979 1.029-2.675-.103-.252-.446-1.266.098-2.638 0 0 .84-.268 2.75 1.022A9.607 9.607 0 0 1 12 6.82c.85.004 1.705.114 2.504.336 1.909-1.29 2.747-1.022 2.747-1.022.546 1.372.202 2.386.1 2.638.64.696 1.028 1.587 1.028 2.675 0 3.83-2.339 4.673-4.566 4.92.359.307.678.915.678 1.846 0 1.332-.012 2.407-.012 2.734 0 .267.18.577.688.48 3.97-1.32 6.833-5.054 6.833-9.458C22 6.463 17.522 2 12 2Z"></path></svg>`,mt=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l7.5-7.5 7.5 7.5m-15 6l7.5-7.5 7.5 7.5" /></svg>`,ut=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M13.5 16.875h3.375m0 0h3.375m-3.375 0V13.5m0 3.375v3.375M6 10.5h2.25a2.25 2.25 0 002.25-2.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v2.25A2.25 2.25 0 006 10.5zm0 9.75h2.25A2.25 2.25 0 0010.5 18v-2.25a2.25 2.25 0 00-2.25-2.25H6a2.25 2.25 0 00-2.25 2.25V18A2.25 2.25 0 006 20.25zm9.75-9.75H18a2.25 2.25 0 002.25-2.25V6A2.25 2.25 0 0018 3.75h-2.25A2.25 2.25 0 0013.5 6v2.25a2.25 2.25 0 002.25 2.25z" /></svg>`,gt=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12 18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z" /></svg>`,bt=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.718 9.718 0 0118 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 003 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 009.002-5.998z" /></svg>`});var he={};var ht=y(()=>{"use strict";P();H();$("#Top .site-nav .tools > .top").addClass("v2p-hover-btn");{let o=$("#Rightbar .light-toggle").addClass("v2p-color-mode-toggle"),t=o.find("> img");t.prop("alt")==="Light"&&(o.prop("title","\u4F7F\u7528\u6DF1\u8272\u4E3B\u9898"),t.replaceWith(bt)),t.prop("alt")==="Dark"&&(o.prop("title","\u4F7F\u7528\u6D45\u8272\u4E3B\u9898"),t.replaceWith(gt))}{let o=$(`<div class="v2p-footer"><div class="v2p-footer-text">\u6269\u5C55\u81EA V2EX Polish </div><div class="v2p-footer-links"><a class="v2p-footer-link v2p-hover-btn" href="${"https://v2p.app"}" target="_blank">\u63D2\u4EF6\u4E3B\u9875</a><a class="v2p-footer-link v2p-hover-btn" href="${"https://github.com/coolpace/V2EX_Polish/discussions/1"}" target="_blank">\u95EE\u9898\u53CD\u9988</a></div><div class="v2p-footer-brand"><span><a href="https://chrome.google.com/webstore/detail/v2ex-polish/onnepejgdiojhiflfoemillegpgpabdm" target="_blank" title="Chrome \u5E94\u7528\u5546\u5E97" >${ft}</a></span><span><a href="https://github.com/coolpace/V2EX_Polish" target="_blank" title="GitHub \u4ED3\u5E93" >${vt}</a></span></div></div>`);$(`<div class="v2p-footer-logo">${po}</div>`).prependTo(o),$("#Bottom .content").append(o)}});function xt(o){return typeof o=="object"&&o!==null}function zo(o,t){let n={};for(let e in o)xt(o[e])&&xt(t[e])?n[e]=zo(o[e],t[e]):Reflect.has(t,e)?n[e]=t[e]:n[e]=o[e];for(let e in t)Reflect.has(o,e)||(n[e]=t[e]);return n}var yt=y(()=>{"use strict"});function wt(){let o=window.navigator.userAgent.toLowerCase(),t=/(macintosh|macintel|macppc|mac68k|macos)/i,n=/(win32|win64|windows|wince)/i,e=/(iphone|ipad|ipod)/i,r=null;return t.test(o)?r="macos":e.test(o)?r="ios":n.test(o)?r="windows":o.includes("android")?r="android":o.includes("linux")&&(r="linux"),r}function vo(o,{format:t="YMD"}={}){let n=new Date(o.toString().length===10?o*1e3:o),e=n.getFullYear().toString(),r=(n.getMonth()+1).toString().padStart(2,"0"),i=n.getDate().toString().padStart(2,"0"),a=`${e}-${r}-${i}`;if(t==="YMDHMS"){let c=n.getHours().toString().padStart(2,"0"),l=n.getMinutes().toString().padStart(2,"0"),s=n.getSeconds().toString().padStart(2,"0");return`${a} ${c}:${l}:${s}`}return a}function So(){return typeof chrome<"u"&&typeof chrome.extension<"u"?"chrome":null}function j(o=!0){return new Promise((t,n)=>{if(o&&typeof window<"u"&&window.__V2P_StorageCache&&t(window.__V2P_StorageCache),So()!=="chrome")return t({["options"]:lo});chrome.storage.sync.get().then(r=>{let i,a=r["options"];a?i={...r,["options"]:zo(lo,a)}:i={...r,["options"]:lo},typeof window<"u"&&(window.__V2P_StorageCache=i),t(i)}).catch(r=>{n(r)})})}async function O(o=!0){return(await j(o))["options"]}async function kt(o=!0){return(await j(o))["api"]?.pat}async function mo(o=!0){return(await j(o))["member-tag"]}function uo(o){return o.replace(/[<>&"'']/g,t=>{switch(t){case"<":return"<";case">":return">";case"&":return"&";case'"':return""";case"'":return"'";default:return t}})}var E=y(()=>{"use strict";P();yt()});function A(o){let{children:t,className:n="",type:e="button",tag:r="button"}=o,i=$(`<${r} class="normal button ${n}">${t}</${r}>`);return r==="button"&&i.prop("type",e),i}var J=y(()=>{"use strict"});function go(o){let{root:t,title:n,onOpen:e,onClose:r,onMount:i}=o,a=$('<div class="v2p-model-mask">'),c=$('<div class="v2p-model-content">'),l=A({children:"\u5173\u95ED<kbd>Esc</kbd>",className:"v2p-model-close-btn"}),s=$(`<div class="v2p-model-title">${n??""}</div>`),d=$('<div class="v2p-model-actions">').append(l),p=$('<div class="v2p-model-header">').append(s,d),f=$('<div class="v2p-model-main">').append(p,c).on("click",w=>w.stopPropagation()),v=a.append(f).hide(),m={$mask:a,$main:f,$container:v,$title:s,$actions:d,$content:c},g=!1,b=()=>{h()},u=w=>{w.key==="Escape"&&h()},h=()=>{a.off("click",b),$(document).off("keydown",u),g=!1,v.fadeOut("fast"),document.body.classList.remove("v2p-modal-open"),r?.(m)},x=()=>{setTimeout(()=>{g||(a.on("click",b),$(document).on("keydown",u),g=!0)}),v.fadeIn("fast"),document.body.classList.add("v2p-modal-open"),e?.(m)};return l.on("click",h),i?.(m),t&&t.append(v),{...m,open:x,close:h}}var Eo=y(()=>{"use strict";J()});async function ye(o,t){return(await fetch(o,t)).json()}function Mt(o,t){return ye(`${xe}/members/show.json?username=${o}`,t)}async function Tt(o,t){let n=await kt(),e=await fetch(o,{...t,headers:{Authorization:n?`Bearer ${n}`:"",...t?.headers}});{let i=e.headers.get("X-Rate-Limit-Limit"),a=e.headers.get("X-Rate-Limit-Reset"),c=e.headers.get("X-Rate-Limit-Remaining"),l={pat:n,limit:i?Number(i):void 0,reset:a?Number(a):void 0,remaining:c?Number(c):void 0};chrome.storage.sync.set({["api"]:l})}let r=await e.json();if(typeof r.success=="boolean"&&!r.success)throw new Error(r.message,{cause:r});return r}function _t(o,t){return Tt(`${Ct}/topics/${o}`,{method:"GET",...t})}function At(o,t){return Tt(`${Ct}/topics/${o}/replies`,{method:"GET",...t})}async function Rt(o){let t=new FormData;t.append("image",o);let n=Math.floor(Math.random()*Ro.length),e=Ro[n],r=await fetch("https://api.imgur.com/3/upload",{method:"POST",headers:{Authorization:`Client-ID ${e}`},body:t});if(r.ok){let i=await r.json();if(i.success)return i.data.link}throw new Error("\u4E0A\u4F20\u5931\u8D25")}var $t,xe,Ct,wn,bo=y(()=>{"use strict";P();E();$t=window.location.origin.includes("v2ex.com")?window.location.origin:"https://www.v2ex.com",xe=`${$t}/api`,Ct=`${$t}/api/v2`;wn=`${et}_settings`});var zt,St,Et,Po,F,R,oo,T,$n,C,L,B=y(()=>{"use strict";zt=$('#Top .tools > a[href^="/member"]').text(),St=$('#Main > .box > .header > small > a[href^="/member"]').text(),Et=$("#Main #Tabs ~ .cell.item, #Main #TopicsNode > .cell, #Main .cell.item:has(.item_title > .topic-link)"),Po=$("#Main .box:has(.topic_content)"),F=$('#Main .box:has(.cell[id^="r_"])'),R=F.find('.cell[id^="r_"]'),oo=R.find("> table > tbody > tr"),T=$("#reply-box"),$n=$("#Wrapper").hasClass("Night")?"dark":"light",C=document.querySelector("#reply_content"),L=oo.map((o,t)=>{let n=R[o].id,e=$(t),r=e.find("> td:nth-child(3)"),i=e.find("> td:last-of-type > .fr").find("> .thank_area").hasClass("thanked"),a=r.find("> strong > a"),c=a.text(),l=a.prop("href"),s=e.find(".avatar").prop("src"),d=r.find("> .reply_content").text(),p=Number(r.find("span.small").text()),f=r.find("span.no").text(),v=Array.from(d.matchAll(/@([a-zA-Z0-9]+)/g)),m=v.length>0?v.map(([,u])=>u):void 0,g=Array.from(d.matchAll(/#(\d+)/g)),b=g.length>0?g.map(([,u])=>u):void 0;return{id:n,memberName:c,memberLink:l,memberAvatar:s,content:d,likes:p,floor:f,index:o,refMemberNames:m,refFloors:b,thanked:i}}).get()});function Pt(o){if("cause"in o){let t=o.cause;if("success"in t&&"message"in t)return typeof t.success=="boolean"&&!t.success&&typeof t.message=="string"}return!1}function V(){C instanceof HTMLTextAreaElement&&C.focus()}function to(o){if(C instanceof HTMLTextAreaElement){let t=C.selectionStart,n=C.selectionEnd,e=C.value.substring(0,t),r=C.value.substring(n,C.value.length);C.value=`${e}${o}${r}`,V(),C.selectionStart=C.selectionEnd=t+o.length}}async function Ot(o,t){if(So()!=="chrome")return;let e=await mo(!1);if(t&&t.length>0){let r={...e,[o]:{tags:t}};await chrome.storage.sync.set({["member-tag"]:r})}else e&&Reflect.has(e,o)&&(delete e[o],await chrome.storage.sync.set({["member-tag"]:e}))}var eo=y(()=>{"use strict";P();E();B()});async function Lt(){let o=await j(),t=o["options"],n=o["api"]?.pat,e=null,r=A({children:"\u8FDB\u5165\u4E3B\u9898",className:"special",tag:"a"});t.openInNewTab&&r.prop("target","_blank");let i=go({root:$(document.body),onMount:({$actions:c})=>{c.prepend(r)},onClose:({$title:c,$content:l})=>{c.empty(),l.empty(),e?.abort()}}),a=new Map;Et.each((c,l)=>{let s=$(l),d=s.find(".item_title");$('<button class="v2p-topic-preview-btn">\u9884\u89C8</button>').on("click",()=>{let p=s.find(".topic-link").attr("href"),v=p?.match(/\/(\d+)#/)?.at(1);if(v){i.open(),r.prop("href",p);let m=d.find(".topic-link").text(),g=$(`<a class="v2p-topic-preview-title-link" title="${m}">${m}</a>`);i.$title.empty().append(g),n?(async()=>{let b=a.get(v);if(!b||Date.now()-b.cacheTime>1e3*60*10)try{e=new AbortController,i.$content.empty().append(`<div class="v2p-model-loading"><div class="v2p-icon-loading">${dt}</div></div>`);let u=[_t(v,{signal:e.signal}),At(v)],[{result:h},{result:x}]=await Promise.all(u),w={topic:h,topicReplies:x,cacheTime:Date.now()};a.set(v,w),b=w}catch(u){if(Pt(u)){let h=u.cause.message;(h==="Token expired"||h==="Invalid token")&&i.$content.empty().append(`<div>${u.cause.message}</div>`)}}if(b){let{topic:u,topicReplies:h}=b,x=$('<div class="v2p-topic-preview">');g.prop("href",u.url),t.openInNewTab&&g.prop("target","_blank");let w=$(`<div class="v2p-tp-info"><a class="v2p-tp-member" href="${u.member.url}"><img class="v2p-tp-avatar" src="${u.member.avatar}"><span>${u.member.username}</span></a><span>${vo(u.created,{format:"YMDHMS"})}</span><span>${u.replies} \u6761\u56DE\u590D</span></div>`);if(x.append(w),u.content_rendered?x.append(`<div class="v2p-topic-preview-content">${u.content_rendered}</div>`):x.append(`<div class="v2p-empty-content"><div class="v2p-text-emoji">\xAF\\_(\u30C4)_/\xAF</div><p>\u8BE5\u4E3B\u9898\u6CA1\u6709\u6B63\u6587\u5185\u5BB9</p></div>`),h.length>0){let k=$("<div>"),X=u.member.username;h.forEach(_=>{k.append(`<div class="v2p-topic-reply"><div class="v2p-topic-reply-member"><a href="${_.member.url}"><img class="v2p-topic-reply-avatar" src="${_.member.avatar}"><span>${_.member.username}</span><span style="display: ${X===_.member.username?"unset":"none"};"><span class="badge op mini">OP</span></span></a>\uFF1A </div><div class="v2p-topic-reply-content">${uo(_.content)}</div></div>`)}),$('<div class="v2p-topic-reply-box">').append(k.html()).append('<div class="v2p-more-reply-tip">\u5728\u4E3B\u9898\u5185\u67E5\u770B\u5B8C\u6574\u8BC4\u8BBA...</div>').appendTo(x)}i.$content.empty().append(x)}})():i.$content.empty().append(`<div class="v2p-no-pat"><div class="v2p-no-pat-title">\u60A8\u9700\u8981\u5148\u8BBE\u7F6E PAT \u624D\u80FD\u83B7\u53D6\u9884\u89C8\u5185\u5BB9\u3002</div><div class="v2p-no-pat-desc">\u8BF7\u524D\u5F80 <span class="v2p-no-pat-block"><span class="v2p-icon-logo">${po}</span><span style="margin: 0 5px;">></span> \u8BBE\u7F6E</span> \u8FDB\u884C\u8BBE\u7F6E\u3002</div></div>`)}}).appendTo(d)})}var Bt=y(()=>{"use strict";J();Eo();P();H();bo();E();B();eo()});var we={};var Dt=y(()=>{"use strict";E();Bt();(async()=>($("#Main .tab").addClass("v2p-hover-btn"),(await O()).openInNewTab&&$('#Main .topic-link, .item_hot_topic_title > a, .item_node, a[href="/write"]').prop("target","_blank"),await Lt()))()});function yo(o){return o.split("-")[1]}function Ht(o){return o==="y"?"height":"width"}function W(o){return o.split("-")[0]}function wo(o){return["top","bottom"].includes(W(o))?"x":"y"}function It(o,t,n){let{reference:e,floating:r}=o,i=e.x+e.width/2-r.width/2,a=e.y+e.height/2-r.height/2,c=wo(t),l=Ht(c),s=e[l]/2-r[l]/2,d=W(t),p=c==="x",f;switch(d){case"top":f={x:i,y:e.y-r.height};break;case"bottom":f={x:i,y:e.y+e.height};break;case"right":f={x:e.x+e.width,y:a};break;case"left":f={x:e.x-r.width,y:a};break;default:f={x:e.x,y:e.y}}switch(yo(t)){case"start":f[c]-=s*(n&&p?-1:1);break;case"end":f[c]+=s*(n&&p?-1:1);break}return f}function ke(o){return{top:0,right:0,bottom:0,left:0,...o}}function $e(o){return typeof o!="number"?ke(o):{top:o,right:o,bottom:o,left:o}}function ho(o){return{...o,top:o.y,left:o.x,right:o.x+o.width,bottom:o.y+o.height}}async function Lo(o,t){var n;t===void 0&&(t={});let{x:e,y:r,platform:i,rects:a,elements:c,strategy:l}=o,{boundary:s="clippingAncestors",rootBoundary:d="viewport",elementContext:p="floating",altBoundary:f=!1,padding:v=0}=t,m=$e(v),b=c[f?p==="floating"?"reference":"floating":p],u=ho(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(b)))==null||n?b:b.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(c.floating)),boundary:s,rootBoundary:d,strategy:l})),h=p==="floating"?{...a.floating,x:e,y:r}:a.reference,x=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c.floating)),w=await(i.isElement==null?void 0:i.isElement(x))?await(i.getScale==null?void 0:i.getScale(x))||{x:1,y:1}:{x:1,y:1},k=ho(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({rect:h,offsetParent:x,strategy:l}):h);return{top:(u.top-k.top+m.top)/w.y,bottom:(k.bottom-u.bottom+m.bottom)/w.y,left:(u.left-k.left+m.left)/w.x,right:(k.right-u.right+m.right)/w.x}}function Nt(o,t,n){return Me(o,Ce(t,n))}function xo(o){return o.replace(/left|right|bottom|top/g,t=>Te[t])}function _e(o,t,n){n===void 0&&(n=!1);let e=yo(o),r=wo(o),i=Ht(r),a=r==="x"?e===(n?"end":"start")?"right":"left":e==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(a=xo(a)),{main:a,cross:xo(a)}}function Oo(o){return o.replace(/start|end/g,t=>Ae[t])}function Re(o){let t=xo(o);return[Oo(o),t,Oo(t)]}function ze(o,t,n){let e=["left","right"],r=["right","left"],i=["top","bottom"],a=["bottom","top"];switch(o){case"top":case"bottom":return n?t?r:e:t?e:r;case"left":case"right":return t?i:a;default:return[]}}function Se(o,t,n,e){let r=yo(o),i=ze(W(o),n==="start",e);return r&&(i=i.map(a=>a+"-"+r),t&&(i=i.concat(i.map(Oo)))),i}async function Ee(o,t){let{placement:n,platform:e,elements:r}=o,i=await(e.isRTL==null?void 0:e.isRTL(r.floating)),a=W(n),c=yo(n),l=wo(n)==="x",s=["left","top"].includes(a)?-1:1,d=i&&l?-1:1,p=typeof t=="function"?t(o):t,{mainAxis:f,crossAxis:v,alignmentAxis:m}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...p};return c&&typeof m=="number"&&(v=c==="end"?m*-1:m),l?{x:v*d,y:f*s}:{x:f*s,y:v*d}}function Pe(o){return o==="x"?"y":"x"}var jt,Ce,Me,Te,Ae,Bo,Do,Io,No=y(()=>{jt=async(o,t,n)=>{let{placement:e="bottom",strategy:r="absolute",middleware:i=[],platform:a}=n,c=i.filter(Boolean),l=await(a.isRTL==null?void 0:a.isRTL(t)),s=await a.getElementRects({reference:o,floating:t,strategy:r}),{x:d,y:p}=It(s,e,l),f=e,v={},m=0;for(let g=0;g<c.length;g++){let{name:b,fn:u}=c[g],{x:h,y:x,data:w,reset:k}=await u({x:d,y:p,initialPlacement:e,placement:f,strategy:r,middlewareData:v,rects:s,platform:a,elements:{reference:o,floating:t}});if(d=h??d,p=x??p,v={...v,[b]:{...v[b],...w}},k&&m<=50){m++,typeof k=="object"&&(k.placement&&(f=k.placement),k.rects&&(s=k.rects===!0?await a.getElementRects({reference:o,floating:t,strategy:r}):k.rects),{x:d,y:p}=It(s,f,l)),g=-1;continue}}return{x:d,y:p,placement:f,strategy:r,middlewareData:v}};Ce=Math.min,Me=Math.max;Te={left:"right",right:"left",bottom:"top",top:"bottom"};Ae={start:"end",end:"start"};Bo=function(o){return o===void 0&&(o={}),{name:"flip",options:o,async fn(t){var n;let{placement:e,middlewareData:r,rects:i,initialPlacement:a,platform:c,elements:l}=t,{mainAxis:s=!0,crossAxis:d=!0,fallbackPlacements:p,fallbackStrategy:f="bestFit",fallbackAxisSideDirection:v="none",flipAlignment:m=!0,...g}=o,b=W(e),u=W(a)===a,h=await(c.isRTL==null?void 0:c.isRTL(l.floating)),x=p||(u||!m?[xo(a)]:Re(a));!p&&v!=="none"&&x.push(...Se(a,m,v,h));let w=[a,...x],k=await Lo(t,g),X=[],_=((n=r.flip)==null?void 0:n.overflows)||[];if(s&&X.push(k[b]),d){let{main:q,cross:co}=_e(e,i,h);X.push(k[q],k[co])}if(_=[..._,{placement:e,overflows:X}],!X.every(q=>q<=0)){var Yo,Qo;let q=(((Yo=r.flip)==null?void 0:Yo.index)||0)+1,co=w[q];if(co)return{data:{index:q,overflows:_},reset:{placement:co}};let Q=(Qo=_.filter(U=>U.overflows[0]<=0).sort((U,G)=>U.overflows[1]-G.overflows[1])[0])==null?void 0:Qo.placement;if(!Q)switch(f){case"bestFit":{var Zo;let U=(Zo=_.map(G=>[G.placement,G.overflows.filter(Z=>Z>0).reduce((Z,me)=>Z+me,0)]).sort((G,Z)=>G[1]-Z[1])[0])==null?void 0:Zo[0];U&&(Q=U);break}case"initialPlacement":Q=a;break}if(e!==Q)return{reset:{placement:Q}}}return{}}}};Do=function(o){return o===void 0&&(o=0),{name:"offset",options:o,async fn(t){let{x:n,y:e}=t,r=await Ee(t,o);return{x:n+r.x,y:e+r.y,data:r}}}};Io=function(o){return o===void 0&&(o={}),{name:"shift",options:o,async fn(t){let{x:n,y:e,placement:r}=t,{mainAxis:i=!0,crossAxis:a=!1,limiter:c={fn:b=>{let{x:u,y:h}=b;return{x:u,y:h}}},...l}=o,s={x:n,y:e},d=await Lo(t,l),p=wo(W(r)),f=Pe(p),v=s[p],m=s[f];if(i){let b=p==="y"?"top":"left",u=p==="y"?"bottom":"right",h=v+d[b],x=v-d[u];v=Nt(h,v,x)}if(a){let b=f==="y"?"top":"left",u=f==="y"?"bottom":"right",h=m+d[b],x=m-d[u];m=Nt(h,m,x)}let g=c.fn({...t,[p]:v,[f]:m});return{...g,data:{x:g.x-n,y:g.y-e}}}}}});function M(o){var t;return((t=o.ownerDocument)==null?void 0:t.defaultView)||window}function z(o){return M(o).getComputedStyle(o)}function Ut(o){let t=z(o),n=parseFloat(t.width),e=parseFloat(t.height),r=o.offsetWidth,i=o.offsetHeight,a=$o(n)!==r||$o(e)!==i;return a&&(n=r,e=i),{width:n,height:e,fallback:a}}function D(o){return Jt(o)?(o.nodeName||"").toLowerCase():""}function Gt(){if(ko)return ko;let o=navigator.userAgentData;return o&&Array.isArray(o.brands)?(ko=o.brands.map(t=>t.brand+"/"+t.version).join(" "),ko):navigator.userAgent}function S(o){return o instanceof M(o).HTMLElement}function I(o){return o instanceof M(o).Element}function Jt(o){return o instanceof M(o).Node}function Vt(o){if(typeof ShadowRoot>"u")return!1;let t=M(o).ShadowRoot;return o instanceof t||o instanceof ShadowRoot}function Co(o){let{overflow:t,overflowX:n,overflowY:e,display:r}=z(o);return/auto|scroll|overlay|hidden|clip/.test(t+e+n)&&!["inline","contents"].includes(r)}function Oe(o){return["table","td","th"].includes(D(o))}function Ho(o){let t=/firefox/i.test(Gt()),n=z(o),e=n.backdropFilter||n.WebkitBackdropFilter;return n.transform!=="none"||n.perspective!=="none"||(e?e!=="none":!1)||t&&n.willChange==="filter"||t&&(n.filter?n.filter!=="none":!1)||["transform","perspective"].some(r=>n.willChange.includes(r))||["paint","layout","strict","content"].some(r=>{let i=n.contain;return i!=null?i.includes(r):!1})}function jo(){return/^((?!chrome|android).)*safari/i.test(Gt())}function Fo(o){return["html","body","#document"].includes(D(o))}function Yt(o){return I(o)?o:o.contextElement}function Y(o){let t=Yt(o);if(!S(t))return Qt;let n=t.getBoundingClientRect(),{width:e,height:r,fallback:i}=Ut(t),a=(i?$o(n.width):n.width)/e,c=(i?$o(n.height):n.height)/r;return(!a||!Number.isFinite(a))&&(a=1),(!c||!Number.isFinite(c))&&(c=1),{x:a,y:c}}function ro(o,t,n,e){var r,i;t===void 0&&(t=!1),n===void 0&&(n=!1);let a=o.getBoundingClientRect(),c=Yt(o),l=Qt;t&&(e?I(e)&&(l=Y(e)):l=Y(o));let s=c?M(c):window,d=jo()&&n,p=(a.left+(d&&((r=s.visualViewport)==null?void 0:r.offsetLeft)||0))/l.x,f=(a.top+(d&&((i=s.visualViewport)==null?void 0:i.offsetTop)||0))/l.y,v=a.width/l.x,m=a.height/l.y;if(c){let g=M(c),b=e&&I(e)?M(e):e,u=g.frameElement;for(;u&&e&&b!==g;){let h=Y(u),x=u.getBoundingClientRect(),w=getComputedStyle(u);x.x+=(u.clientLeft+parseFloat(w.paddingLeft))*h.x,x.y+=(u.clientTop+parseFloat(w.paddingTop))*h.y,p*=h.x,f*=h.y,v*=h.x,m*=h.y,p+=x.x,f+=x.y,u=M(u).frameElement}}return{width:v,height:m,top:f,right:p+v,bottom:f+m,left:p,x:p,y:f}}function N(o){return((Jt(o)?o.ownerDocument:o.document)||window.document).documentElement}function Mo(o){return I(o)?{scrollLeft:o.scrollLeft,scrollTop:o.scrollTop}:{scrollLeft:o.pageXOffset,scrollTop:o.pageYOffset}}function Le(o){let{rect:t,offsetParent:n,strategy:e}=o,r=S(n),i=N(n);if(n===i)return t;let a={scrollLeft:0,scrollTop:0},c={x:1,y:1},l={x:0,y:0};if((r||!r&&e!=="fixed")&&((D(n)!=="body"||Co(i))&&(a=Mo(n)),S(n))){let s=ro(n);c=Y(n),l.x=s.x+n.clientLeft,l.y=s.y+n.clientTop}return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-a.scrollLeft*c.x+l.x,y:t.y*c.y-a.scrollTop*c.y+l.y}}function Zt(o){return ro(N(o)).left+Mo(o).scrollLeft}function Be(o){let t=N(o),n=Mo(o),e=o.ownerDocument.body,r=no(t.scrollWidth,t.clientWidth,e.scrollWidth,e.clientWidth),i=no(t.scrollHeight,t.clientHeight,e.scrollHeight,e.clientHeight),a=-n.scrollLeft+Zt(o),c=-n.scrollTop;return z(e).direction==="rtl"&&(a+=no(t.clientWidth,e.clientWidth)-r),{width:r,height:i,x:a,y:c}}function io(o){if(D(o)==="html")return o;let t=o.assignedSlot||o.parentNode||Vt(o)&&o.host||N(o);return Vt(t)?t.host:t}function Kt(o){let t=io(o);return Fo(t)?t.ownerDocument.body:S(t)&&Co(t)?t:Kt(t)}function oe(o,t){var n;t===void 0&&(t=[]);let e=Kt(o),r=e===((n=o.ownerDocument)==null?void 0:n.body),i=M(e);return r?t.concat(i,i.visualViewport||[],Co(e)?e:[]):t.concat(e,oe(e))}function De(o,t){let n=M(o),e=N(o),r=n.visualViewport,i=e.clientWidth,a=e.clientHeight,c=0,l=0;if(r){i=r.width,a=r.height;let s=jo();(!s||s&&t==="fixed")&&(c=r.offsetLeft,l=r.offsetTop)}return{width:i,height:a,x:c,y:l}}function Ie(o,t){let n=ro(o,!0,t==="fixed"),e=n.top+o.clientTop,r=n.left+o.clientLeft,i=S(o)?Y(o):{x:1,y:1},a=o.clientWidth*i.x,c=o.clientHeight*i.y,l=r*i.x,s=e*i.y;return{width:a,height:c,x:l,y:s}}function Wt(o,t,n){let e;if(t==="viewport")e=De(o,n);else if(t==="document")e=Be(N(o));else if(I(t))e=Ie(t,n);else{let a={...t};if(jo()){var r,i;let c=M(o);a.x-=((r=c.visualViewport)==null?void 0:r.offsetLeft)||0,a.y-=((i=c.visualViewport)==null?void 0:i.offsetTop)||0}e=a}return ho(e)}function Ne(o,t){let n=t.get(o);if(n)return n;let e=oe(o).filter(c=>I(c)&&D(c)!=="body"),r=null,i=z(o).position==="fixed",a=i?io(o):o;for(;I(a)&&!Fo(a);){let c=z(a),l=Ho(a);c.position==="fixed"?r=null:(i?!l&&!r:!l&&c.position==="static"&&!!r&&["absolute","fixed"].includes(r.position))?e=e.filter(p=>p!==a):r=c,a=io(a)}return t.set(o,e),e}function He(o){let{element:t,boundary:n,rootBoundary:e,strategy:r}=o,a=[...n==="clippingAncestors"?Ne(t,this._c):[].concat(n),e],c=a[0],l=a.reduce((s,d)=>{let p=Wt(t,d,r);return s.top=no(p.top,s.top),s.right=Ft(p.right,s.right),s.bottom=Ft(p.bottom,s.bottom),s.left=no(p.left,s.left),s},Wt(t,c,r));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function je(o){return S(o)?Ut(o):o.getBoundingClientRect()}function Xt(o,t){return!S(o)||z(o).position==="fixed"?null:t?t(o):o.offsetParent}function Fe(o){let t=io(o);for(;S(t)&&!Fo(t);){if(Ho(t))return t;t=io(t)}return null}function qt(o,t){let n=M(o),e=Xt(o,t);for(;e&&Oe(e)&&z(e).position==="static";)e=Xt(e,t);return e&&(D(e)==="html"||D(e)==="body"&&z(e).position==="static"&&!Ho(e))?n:e||Fe(o)||n}function Ve(o,t,n){let e=S(t),r=N(t),i=ro(o,!0,n==="fixed",t),a={scrollLeft:0,scrollTop:0},c={x:0,y:0};if(e||!e&&n!=="fixed")if((D(t)!=="body"||Co(r))&&(a=Mo(t)),S(t)){let l=ro(t,!0);c.x=l.x+t.clientLeft,c.y=l.y+t.clientTop}else r&&(c.x=Zt(r));return{x:i.left+a.scrollLeft-c.x,y:i.top+a.scrollTop-c.y,width:i.width,height:i.height}}var Ft,no,$o,ko,Qt,We,te,ee=y(()=>{No();No();Ft=Math.min,no=Math.max,$o=Math.round;Qt={x:1,y:1};We={getClippingRect:He,convertOffsetParentRelativeRectToViewportRelativeRect:Le,isElement:I,getDimensions:je,getOffsetParent:qt,getDocumentElement:N,getScale:Y,async getElementRects(o){let{reference:t,floating:n,strategy:e}=o,r=this.getOffsetParent||qt,i=this.getDimensions;return{reference:Ve(t,await r(n),e),floating:{x:0,y:0,...await i(n)}}},getClientRects:o=>Array.from(o.getClientRects()),isRTL:o=>z(o).direction==="rtl"},te=(o,t,n)=>{let e=new Map,r={platform:We,...n},i={...r.platform,_c:e};return jt(o,t,{...r,platform:i})}});function To(o){let{message:t,duration:n=3e3}=o;$(".v2p-toast").length>0&&$(".v2p-toast").remove();let e=$(`<div class="v2p-toast">${t}</div>`).hide();$(document.body).append(e),e.fadeIn("fast"),setTimeout(()=>{e.fadeOut("fast",()=>{e.remove()})},n)}var Vo=y(()=>{"use strict"});function ao(o){let{root:t,trigger:n,content:e,options:r,onOpen:i,onClose:a}=o,c=$('<div class="v2p-popup-content">'),l=$('<div class="v2p-popup" tabindex="0">').css("visibility","hidden").append(c);t.append(l),e&&l.append(e);let s=l.get(0),d=m=>{$(m.target).closest(s).length===0&&p()},p=()=>{l.css("visibility","hidden"),$(document).off("click",d),a?.(),v.onClose?.()},f=m=>{if(!m)return;setTimeout(()=>{$(document).on("click",d)});let g=m.get(0);te(g,s,{placement:"bottom-start",middleware:[Do({mainAxis:10,crossAxis:-4}),Bo(),Io({padding:8})],...r}).then(({x:b,y:u})=>{Object.assign(s.style,{left:`${b}px`,top:`${u}px`}),l.css("visibility","visible")}).catch(()=>{p(),To({message:"Popup \u6E32\u67D3\u5931\u8D25"})}),i?.()},v={$content:c,open:m=>{f(m)},close:p};return n?.on("click",()=>{s.style.visibility!=="hidden"?p():f(n)}),v}var Wo=y(()=>{"use strict";ee();Vo()});function ne(o){let{$cellDom:t,popupControl:n,commentData:e,onSetTagsClick:r}=o,i=null,a=t.find(".avatar");a.on("click",()=>{n.close(),n.open(a);let c=$(`<div class="v2p-member-card"><div class="v2p-info"><div class="v2p-info-left"><div class="v2p-avatar-box"></div></div><div class="v2p-info-right"><div class="v2p-username v2p-loading"></div><div class="v2p-no v2p-loading"></div><div class="v2p-created-date v2p-loading"></div></div></div></div>`);n.$content.empty().append(c),(async()=>{let l=e.memberName;if(!Xo.has(l)){i=new AbortController,n.onClose=()=>{i?.abort()};try{let d=await Mt(l,{signal:i.signal});Xo.set(l,d)}catch(d){return d&&typeof d=="object"&&"name"in d&&d.name!=="AbortError"&&c.html("<span>\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25</span>"),null}}let s=Xo.get(l);if(s){let d=s.username;c.find(".v2p-avatar-box").removeClass("v2p-loading").append(`<img class="v2p-avatar" src="${s.avatar_large}">`);let p=await O(),f=$(`<a href="${s.url}">${d}</a>`);p.openInNewTab&&f.prop("target","_blank"),c.find(".v2p-username").removeClass("v2p-loading").append(f),c.find(".v2p-no").removeClass("v2p-loading").text(`V2EX \u7B2C ${s.id} \u53F7\u4F1A\u5458`),c.find(".v2p-created-date").removeClass("v2p-loading").text(`\u52A0\u5165\u4E8E ${vo(s.created)}`),s.bio&&s.bio.trim().length>0&&c.append(`<div class="v2p-bio">${s.bio}</div>`);let v=$('<div class="v2p-member-card-actions">');A({children:"\u6DFB\u52A0\u7528\u6237\u6807\u7B7E"}).on("click",()=>{n.close(),r?.()}).appendTo(v),c.append(v)}})()})}var Xo,re=y(()=>{"use strict";J();bo();E();Xo=new Map});async function ie(){(await O()).openInNewTab&&Po.find(".topic_content a[href]").prop("target","_blank").prop("rel","noopener noreferrer");{let o=Po.find(".subtle > .topic_content"),t=o.text().length;t>=200&&o.each((n,e)=>{t>=400&&(e.style.fontSize="14px"),e.style.fontSize="14.5px"})}{let o=$(".topic_buttons .tb").addClass("v2p-tb v2p-hover-btn");o.eq(0).append(`<span class="v2p-tb-icon">${ct}</span>`),o.eq(1).append(`<span class="v2p-tb-icon">${lt}</span>`),o.eq(2).append(`<span class="v2p-tb-icon">${st}</span>`),o.eq(3).append(`<span class="v2p-tb-icon">${pt}</span>`)}}function qo(o){if(o.find(".v2p-reply-content").length>0)return;let t=o.find(".reply_content");if((t.height()??0)+Ao>=rt){let r={maxHeight:`${Ao}px`,overflow:"hidden",paddingBottom:"0"},i=$('<div class="v2p-reply-content v2p-collapsed">').css(r),a=A({children:"\u5C55\u5F00\u56DE\u590D",className:"v2p-expand-btn"}),c=()=>{let l=i.hasClass("v2p-collapsed");i.toggleClass("v2p-collapsed").css(l?{maxHeight:"none",overflow:"auto",paddingBottom:"40px"}:r),a.html(l?"\u6536\u8D77\u56DE\u590D":"\u5C55\u5F00\u56DE\u590D")};a.on("click",()=>{c()}),i.append(t.clone()).replaceAll(t).append(a)}}function Uo(o,t){let n=$(`.v2p-tags-${o}`),e=t?.map(r=>r.name).join("\uFF0C");n.length>0?e?n.html(`<b>#</b> ${e}`):n.remove():e&&$(`<div class="v2p-reply-tags v2p-tags-${o}"><b>#</b> ${e}</div>`).on("click",()=>{Go(o)}).insertBefore(R.filter(`:has(> table strong > a[href="/member/${o}"])`).find("> table .reply_content"))}function Go(o){(async()=>{let t=await mo(!1),n=t&&Reflect.has(t,o)?t[o].tags?.map(r=>r.name).join("\uFF0C"):void 0,e=window.prompt(`\u26A0 \u7528\u6237\u6807\u7B7E\u662F\u5B9E\u9A8C\u6027\u7684\u529F\u80FD\uFF0C\u540E\u7EED\u7248\u672C\u53EF\u80FD\u4F1A\u8C03\u6574\uFF0C\u8BF7\u52FF\u8FC7\u4E8E\u4F9D\u8D56\u3002 \u8BBE\u7F6E\u7528\u6237\u6807\u7B7E\uFF0C\u591A\u4E2A\u6807\u7B7E\u4EE5\u9017\u53F7\uFF08\uFF0C\uFF09\u5206\u9694\u3002`,n);if(e!==null){let r=e.trim().length>0?e.split(/,|,/g).map(i=>({name:i})):void 0;await Ot(o,r),Uo(o,r)}})()}var Jo=y(()=>{"use strict";J();P();H();E();B();eo()});function Xe(){let o=L.filter(({likes:r})=>r>0).sort((r,i)=>i.likes-r.likes),t=o.length,n=$(`<span class="v2p-tool v2p-hover-btn"><span class="v2p-tool-icon">${K}</span>\u70ED\u95E8\u56DE\u590D</span>`);if($(".v2p-tools").prepend(n),t<=0){n.addClass("v2p-hover-btn-disabled").contents().last().replaceWith("\u6682\u65E0\u70ED\u95E8");return}let e=go({root:F,title:`\u672C\u9875\u5171\u6709 ${o.length} \u6761\u70ED\u95E8\u56DE\u590D`,onMount:({$content:r})=>{let i=$("<div>");o.forEach(({index:a,refMemberNames:c})=>{let l=R.eq(a).clone();l.find(".v2p-controls > a:has(.v2p-control-reply)").remove(),l.find(".no").css("pointer-events","none");let s=c?.at(0);if(s){let d=L.findLast((p,f)=>f<a&&p.memberName===s);if(d){let p=$(`<div class="v2p-topic-reply-ref"><div class="v2p-topic-reply"><div class="v2p-topic-reply-member"><a href="${d.memberAvatar}"><img class="v2p-topic-reply-avatar" src="${d.memberAvatar}"><span>${d.memberName}</span></a>\uFF1A </div><div class="v2p-topic-reply-content">${uo(d.content)}</div></div></div>`);l.prepend(p)}}i.append(l)}),r.css({padding:"0 20px"}).append(i.html())},onOpen:({$container:r})=>{r.find('.cell[id^="r_"]').each((i,a)=>{qo($(a))})}});{let r=F.find(".cell:first-of-type > span.gray"),i=r.text(),c=`<span class="count-text">${i.substring(0,i.indexOf("\u56DE\u590D")+2)}</span><span class="v2p-dot">\xB7</span>${t} \u6761\u70ED\u95E8\u56DE\u590D`;n.on("click",()=>{e.open()}),r.empty().append(c)}}function qe(){oo.find("> td:last-of-type > .fr").each((t,n)=>{let e=$(n),r=$('<span class="v2p-controls">'),i=$(`<span class="v2p-control v2p-control-thank">${K}</span>`),a=e.find("> .thank_area");if(a.hasClass("thanked"))i.addClass("v2p-thanked"),r.append($("<a>").append(i));else{let d=a.find("> .thank"),p=d.eq(0).removeClass("thank"),f=d.eq(1).removeClass("thank");p.html(`<span class="v2p-control v2p-hover-btn v2p-control-hide">${at}</span>`),i.addClass("v2p-hover-btn"),f.empty().append(i),f.on("click",()=>{let v=e.closest('.cell[id^="r_"]'),m=v.find("> table .v2p-likes-box"),g=Number(m.text()),b=m.find(".v2p-icon-heart").clone();g>0?m.addClass("v2p-thanked").empty().append(b,` ${g+1}`):$(`<span class="small v2p-likes-box v2p-thanked" style="position:relative;top:-1px;"> <span class="v2p-icon-heart">${K}</span>1 </span>`).insertAfter(v.find("> table .ago")),i.addClass("v2p-thanked"),p.hide(),f.off("click"),To({message:"\u2764\uFE0F \u5DF2\u611F\u8C22\u56DE\u590D"})}),r.append(p).append(f)}let l=e.find("a:last-of-type");l.find('> img[alt="Reply"]').replaceWith(`<span class="v2p-control v2p-hover-btn v2p-control-reply">${so}</span>`),r.append(l),a.remove();let s=e.find(".no").clone();e.empty().append(r,s)})}function Ue(){let o=wt(),t=A({children:`\u56DE\u590D<kbd>${o==="macos"?"Cmd":"Ctrl"}+Enter</kbd>`,type:"submit"}).replaceAll(T.find('input[type="submit"]')),n=$('<div class="v2p-emoji-group">'),e=$('<div class="v2p-emoji-list">'),r=$('<span class="v2p-emoji">'),i=nt.map(p=>{let f=n.clone();f.append(`<div class="v2p-emoji-title">${p.title}</div>`);let v=e.clone().append(p.list.map(m=>r.clone().text(m).on("click",()=>{to(m)})));return f.append(v),f}),a=$('<div class="v2p-emoticons-box">').append(i),c=A({children:it}).insertAfter(t),l=$('<div class="v2p-emoji-container">').append(a).appendTo(T).on("click",()=>{V()}),s=p=>{p.key==="Escape"&&(p.preventDefault(),d.close())};c.on("click",()=>{V()});let d=ao({root:T,trigger:c,content:l,options:{placement:"right-end"},onOpen:()=>{$(document.body).on("keydown",s)},onClose:()=>{$(document.body).off("keydown",s)}});T.find("#undock-button, #undock-button + a").addClass("v2p-hover-btn").css("padding","5px 4px")}async function ae(){let o=await j(),t=o["member-tag"],n=o["options"];{let e=ao({root:F}),r=new Set;R.each((i,a)=>{let c=L.at(i);if(c?.id!==a.id)return;let l=$(a),{memberName:s,thanked:d}=c;ne({$cellDom:l,popupControl:e,commentData:c,onSetTagsClick:()=>{Go(s)}}),s===zt&&l.find(".badges").append(`<div class="badge ${s===St?"mod":"you"}">YOU</div>`);let p=l.find(".small.fade").addClass("v2p-likes-box");p.find('img[alt="\u2764\uFE0F"]').replaceWith(`<span class="v2p-icon-heart">${K}</span>`),d&&p.addClass("v2p-thanked"),t&&Reflect.has(t,s)&&!r.has(s)&&(Uo(s,t[s].tags),r.add(s))}),qe(),Xe()}{let e=n.nestedReply.display;R.each((r,i)=>{let a=$(i),c=L.at(r);qo(a);let l=c?.id===i.id?c:L.find(s=>s.id===i.id);if(l){let{refMemberNames:s,refFloors:d}=l;if(!s||s.length===0)return;for(let p of s)for(let f=r-1;f>=0;f--){let{memberName:v,floor:m}=L.at(f)||{};if(v===p){let g=d?.at(0);if(g&&g!==m){let b=L.slice(0,f).findIndex(u=>u.floor===g);if(b>=0){R.eq(b).append(i);return}}e==="indent"&&i.classList.add("v2p-indent"),R.eq(f).append(i);return}}}})}Ue()}var ce=y(()=>{"use strict";J();Eo();Wo();Vo();P();H();E();B();eo();re();Jo()});function le(){let o=F.find('> .cell:not([id^="r_"])');if(o.length<=1)return;let n=o.slice(1).addClass("v2p-paging").find(".super.button");n.eq(0).addClass("v2p-prev-btn"),n.eq(1).addClass("v2p-next-btn")}var se=y(()=>{"use strict";B()});function pe(){let o=$(`<div class="v2p-reply-tools-box v2p-hover-btn"><span class="v2p-reply-tools-icon">${ut}</span> \u5DE5\u5177\u7BB1 </div>`),t=$(`<div class="v2p-reply-tool-content"><div class="v2p-reply-tool v2p-reply-tool-encode">\u6587\u5B57\u8F6C Base64</div><div class="v2p-reply-tool v2p-reply-tool-img">\u4E0A\u4F20\u56FE\u7247</div></div>`),n=ao({root:T,trigger:o,content:t});t.find(".v2p-reply-tool-encode").on("click",()=>{V(),n.close(),setTimeout(()=>{let c=window.prompt("\u8F93\u5165\u8981\u52A0\u5BC6\u7684\u5B57\u7B26\u4E32\uFF0C\u5B8C\u6210\u540E\u5C06\u586B\u5199\u5230\u56DE\u590D\u6846\u4E2D\uFF1A");if(c){let l=window.btoa(c);to(l)}})});let e="\u9009\u62E9\u3001\u7C98\u8D34\u3001\u62D6\u653E\u4E0A\u4F20\u56FE\u7247\u3002",r=$(`<div class="v2p-reply-upload-bar">${e}</div>`),i=c=>{r.addClass("v2p-reply-upload-bar-disabled").text("\u6B63\u5728\u4E0A\u4F20\u56FE\u7247..."),Rt(c).then(l=>{to(l)}).catch(()=>{window.alert("\u4E0A\u4F20\u56FE\u7247\u5931\u8D25")}).finally(()=>{r.removeClass("v2p-reply-upload-bar-disabled").text(e)})},a=()=>{V(),n.close();let c=document.createElement("input");c.style.display="none",c.type="file",c.accept="image/*",c.addEventListener("change",()=>{let l=c.files?.[0];l&&i(l)}),c.click()};t.find(".v2p-reply-tool-img").on("click",()=>{a()}),T.find("> .flex-row-end").prepend(o),document.addEventListener("paste",c=>{if(!(c instanceof ClipboardEvent)||!C?.matches(":focus"))return;let l=c.clipboardData?.items;if(!l)return;let s=Array.from(l).find(d=>d.type.includes("image"));if(s){let d=s.getAsFile();d&&i(d)}}),C?.addEventListener("drop",c=>{if(c.preventDefault(),!(c instanceof DragEvent))return;let l=c.dataTransfer?.files[0];l&&i(l)}),$("#reply_content").wrap('<div class="v2p-reply-wrap">').attr("placeholder","\u7559\u4E0B\u5BF9\u4ED6\u4EBA\u6709\u5E2E\u52A9\u7684\u56DE\u590D"),$(".flex-one-row:last-of-type > .gray").text(""),r.on("click",()=>{r.hasClass("v2p-reply-upload-bar-disabled")||a()}),$(".v2p-reply-wrap").append(r)}var de=y(()=>{"use strict";Wo();H();bo();B();eo()});var Ge={};var fe=y(()=>{"use strict";H();E();B();ce();Jo();se();de();(async()=>{(await O()).openInNewTab&&oo.find("> td:nth-child(3) > strong > a").prop("target","_blank").prop("rel","noopener noreferrer");{let o=$(`<div class="cell v2p-tools"><span class="v2p-tool v2p-hover-btn v2p-tool-reply"><span class="v2p-tool-icon">${so}</span>\u56DE\u590D\u4E3B\u9898 </span><span class="v2p-tool v2p-hover-btn v2p-tool-scroll-top"><span class="v2p-tool-icon">${mt}</span>\u56DE\u5230\u9876\u90E8 </span></div>`);o.find(".v2p-tool-reply").on("click",()=>{T.find("#reply_content").trigger("focus")}),o.find(".v2p-tool-scroll-top").on("click",()=>{window.scrollTo({top:0,behavior:"smooth"})}),$('#Rightbar > .box:has("#member-activity")').addClass("v2p-tool-box").append(o)}if($(document).on("keydown",o=>{if(!o.isDefaultPrevented()&&o.key==="Escape"){let t=$("#reply_content");T.hasClass("reply-box-sticky")&&(T.removeClass("reply-box-sticky"),$("#undock-button").css("display","none")),t.trigger("blur")}}),await ie(),document.referrer!==""&&document.referrer.includes(document.location.pathname)){let t=new URL(document.location.href).searchParams.get("p");t&&t!=="1"&&document.querySelector(".topic_buttons")?.scrollIntoView({behavior:"smooth"})}await ae(),le(),pe()})()});var Ko=/^(https?|wss?|file|ftp|\*):\/\/(\*|\*\.[^*/]+|[^*/]+)\/.*$|^file:\/\/\/.*$|^resource:\/\/(\*|\*\.[^*/]+|[^*/]+)\/.*$|^about:/,ot=typeof navigator=="object"&&navigator.userAgent.includes("Firefox/"),ue=ot?/^(https?|wss?):[/][/][^/]+([/].*)?$/:/^https?:[/][/][^/]+([/].*)?$/,ge=/^(https?|file|ftp):[/]+/;function be(o){if(!Ko.test(o))throw new Error(o+" is an invalid pattern, it must match "+String(Ko));let[,t,n,e]=o.split(/(^[^:]+:[/][/])([^/]+)?/);return t=t.replace("*",ot?"(https?|wss?)":"https?").replace(/[/]/g,"[/]"),n=(n??"").replace(/^[*][.]/,"([^/]+.)*").replace(/^[*]$/,"[^/]+").replace(/[.]/g,"[.]").replace(/[*]$/g,"[^.]+"),e=e.replace(/[/]/g,"[/]").replace(/[.]/g,"[.]").replace(/[*]/g,".*"),"^"+t+n+"("+e+")?$"}function _o(...o){return o.length===0?/$./:o.includes("<all_urls>")?ge:o.includes("*://*/*")?ue:new RegExp(o.map(t=>be(t)).join("|"))}var tt=`:root{--zidx-serach: 100;--zidx-tabs: 10;--zidx-tools-card: 10;--zidx-reply-box: 99;--zidx-model-header: 50;--zidx-model-mask: 999;--zidx-toast: 999;--zidx-tip: 10;--zidx-popup: 99;--zidx-expand-mask: 10;--zidx-expand-btn: 20}:root body{--v2p-color-main-50: #f7f9fb;--v2p-color-main-100: #f1f5f9;--v2p-color-main-200: #e2e8f0;--v2p-color-main-300: #cbd5e1;--v2p-color-main-350: #94a3b8cc;--v2p-color-main-400: #94a3b8;--v2p-color-main-500: #64748b;--v2p-color-main-600: #475569;--v2p-color-main-700: #334155;--v2p-color-main-800: #1e293b;--v2p-color-accent-50: #ecfdf5;--v2p-color-accent-100: #d1fae5;--v2p-color-accent-200: #a7f3d0;--v2p-color-accent-300: #6ee7b7;--v2p-color-accent-400: #34d399;--v2p-color-accent-500: #10b981;--v2p-color-accent-600: #059669;--v2p-color-orange-50: #fff7ed;--v2p-color-orange-100: #ffedd5;--v2p-color-orange-400: #fb923c;--v2p-color-background: #f2f3f5;--v2p-color-foreground: var(--v2p-color-main-800);--v2p-color-font-secondary: var(--v2p-color-main-400);--v2p-color-bg-content: #fff;--v2p-color-bg-footer: var(--v2p-color-bg-content);--v2p-color-bg-hover-btn: var(--v2p-color-main-200);--v2p-color-bg-subtle: rgb(236 253 245 / 90%);--v2p-color-bg-input: var(--v2p-color-main-50);--v2p-color-bg-search: var(--v2p-color-main-100);--v2p-color-bg-search-active: var(--v2p-color-main-200);--v2p-color-bg-widget: rgb(255 255 255 / 70%);--v2p-color-bg-reply: var(--v2p-color-main-100);--v2p-color-heart: #ef4444;--v2p-color-heart-fill: #fee2e2;--v2p-color-mask: rgb(0 0 0 / 25%);--v2p-color-divider: var(--v2p-color-main-200);--v2p-color-border: var(--v2p-color-main-200);--v2p-color-border-reply: var(--v2p-color-main-300);--v2p-box-shadow: 0 3px 5px 0 rgb(0 0 0 / 4%);--v2p-widget-shadow: 0 9px 24px -3px rgb(0 0 0 / 6%), 0 4px 8px -1px rgb(0 0 0 /12%);--v2p-toast-shadow: 0 6px 16px 0 rgb(0 0 0 / 8%), 0 3px 6px -4px rgb(0 0 0 / 12%), 0 9px 28px 8px rgb(0 0 0 / 5%);--color-fade: var(--v2p-color-font-secondary);--color-gray: var(--v2p-color-font-secondary);--link-color: var(--v2p-color-foreground);--link-darker-color: var(--v2p-color-main-600);--link-hover-color: var(--v2p-color-foreground);--link-caution-color: var(--v2p-color-orange-400);--box-border-color: var(--v2p-color-border);--box-foreground-color: var(--v2p-color-foreground);--box-background-color: var(--v2p-color-bg-content);--box-background-alt-color: var(--v2p-color-main-100);--box-background-hover-color: var(--v2p-color-main-200);--button-background-color: var(--v2p-color-main-100);--button-background-hover-color: var(--v2p-color-main-200);--button-hover-color: var(--button-background-hover-color);--button-foreground-color: var(--v2p-color-main-500);--button-foreground-hover-color: var(--v2p-color-main-600);--button-border-color: var(--v2p-color-main-300);--button-border-hover-color: var(--v2p-color-main-400);color:var(--v2p-color-foreground);font-family:system-ui,sans-serif;background-color:var(--v2p-color-background)}:root body ::selection{color:var(--v2p-color-main-100);background-color:var(--v2p-color-main-700)}:root body img::selection{background-color:var(--v2p-color-main-500)}:root body:has(#Wrapper.Night){--v2p-color-main-50: #11182799;--v2p-color-main-100: #2d333b;--v2p-color-main-200: #374151;--v2p-color-main-300: #374151;--v2p-color-main-350: #6b7280cc;--v2p-color-main-400: #6b7280;--v2p-color-main-500: #9ca3af;--v2p-color-main-600: #9ca3af;--v2p-color-main-700: #d1d5db;--v2p-color-main-800: #e5e7eb;--v2p-color-main-900: #111827;--v2p-color-main-950: #030712;--v2p-color-accent-50: #064e3b;--v2p-color-accent-100: #065f46;--v2p-color-accent-200: #047857;--v2p-color-accent-300: #059669;--v2p-color-accent-400: #10b981;--v2p-color-accent-500: #34d399;--v2p-color-accent-600: #6ee7b7;--v2p-color-orange-50: #7c2d12;--v2p-color-orange-100: #9a3412;--v2p-color-orange-400: #fb923c;--v2p-color-background: #1c2128;--v2p-color-foreground: #adbac7;--v2p-color-font-secondary: var(--v2p-color-main-600);--v2p-color-bg-content: #22272e;--v2p-color-bg-subtle: rgb(6 78 59 / 30%);--v2p-color-bg-input: var(--v2p-color-background);--v2p-color-bg-search: var(--v2p-color-main-200);--v2p-color-bg-search-active: var(--v2p-color-main-200);--v2p-color-bg-widget: var(--v2p-color-bg-content);--v2p-color-bg-reply: var(--v2p-color-main-100);--v2p-color-heart: #b91c1c;--v2p-color-heart-fill: #fca5a5;--v2p-color-mask: rgb(99 110 123 / 40%);--v2p-color-border: #444c56;--v2p-color-border-reply: #444c56;--v2p-box-shadow: 0 0 0 1px var(--v2p-color-border);--v2p-toast-shadow: none;--link-color: var(--v2p-color-foreground);--box-background-color: var(--v2p-color-bg-content);--box-background-alt-color: var(--v2p-color-main-100);--box-background-hover-color: var(--v2p-color-main-300);--button-background-color: #373e47;--button-background-hover-color: #444c56;--button-hover-color: var(--button-background-hover-color);--button-foreground-color: var(--v2p-color-foreground);--button-foreground-hover-color: var(--v2p-color-foreground);--button-border-color: var(--v2p-color-border);--button-border-hover-color: #768390} :root{color-scheme:light}:root:has(#Wrapper.Night){color-scheme:dark}:root html,:root body{min-height:100vh}body{overflow:overlay;scrollbar-gutter:stable}body h1{font-weight:bold}body a{text-decoration:none;cursor:default}body a[href]{cursor:pointer}body a:hover{text-decoration:underline 1px;text-underline-offset:.5ex}body #Top{height:55px;background-color:var(--v2p-color-bg-content);border:none}body #Bottom{color:var(--v2p-color-font-secondary);background-color:var(--v2p-color-bg-footer);border:none}body #Wrapper{background-color:inherit;background-image:none}body #Wrapper.Night{background-color:inherit;background-image:none}body #Wrapper .content{display:flex;gap:25px}body #Leftbar{order:1;float:none}body #Main{flex:1;order:2;max-width:85vw;margin:0}body #Rightbar{order:3;float:none}body #search-container{height:30px;margin:0 30px;background-color:var(--v2p-color-bg-search);border:none;border-radius:6px}body #search-container::before{top:0;left:4px;background-size:14px 14px;opacity:.6;filter:none}body #search-container.active{background-color:var(--v2p-color-bg-search-active)}body #search-container #search-result{top:42px;z-index:var(--zidx-serach);box-shadow:0 0 15px 5px var(--box-background-hover-color)}body #search-container #search-result .search-item{color:var(--color-gray)}body .box{background-color:var(--v2p-color-bg-content);border:none;border-radius:10px;box-shadow:var(--v2p-box-shadow)}body .box .header>h1{font-weight:bold;font-size:22px}body .box .header .gray{color:var(--color-gray)}body .button{--button-hover-shadow: 0 1.8px 0 var(--button-border-color), 0 1.8px 0 var(--button-background-color)}body .button.normal,body .button.super{position:relative;display:inline-flex;gap:5px;align-items:center;height:28px;padding:0 12px;color:var(--button-foreground-color);font-weight:500;font-size:14px;font-family:inherit;line-height:28px;white-space:nowrap;text-shadow:none;background:var(--button-background-color);border:none;border-radius:6px;outline:none;box-shadow:0 1.8px 0 var(--box-background-hover-color),0 1.8px 0 var(--button-background-color);cursor:pointer;transition:color .25s,background-color .25s,box-shadow .25s;user-select:none}body .button.normal:hover:enabled,body .button.super:hover:enabled{color:var(--button-foreground-hover-color);font-weight:500;text-shadow:none;background:var(--button-hover-color);border:none;box-shadow:var(--button-hover-shadow)}body .button.normal.hover_now,body .button.normal.disable_now,body .button.super.hover_now,body .button.super.disable_now{color:var(--button-foreground-color) !important;text-shadow:none !important;background:var(--button-background-color) !important;border:none !important;box-shadow:0 1.8px 0 var(--box-background-hover-color) !important,0 1.8px 0 var(--button-background-color) !important}body .button.normal.disable_now,body .button.super.disable_now{cursor:default;opacity:.5;pointer-events:none}body .button.normal kbd,body .button.super kbd{position:relative;right:-4px;padding:0 3px;font-size:90%;font-family:inherit;line-height:initial;border:1px solid var(--button-border-color);border-radius:4px}body .button.special{--button-hover-shadow: 0 1.8px 0 var(--v2p-color-accent-200), 0 1.8px 0 var(--v2p-color-accent-100);color:var(--v2p-color-accent-500);background:var(--v2p-color-accent-100);box-shadow:var(--button-hover-shadow)}body .button.special:hover,body .button.special:hover:enabled{color:var(--v2p-color-accent-600);background:var(--v2p-color-accent-100);border:none;box-shadow:var(--button-hover-shadow)}body .button a{color:inherit;text-decoration:none}body .badge{padding:2px 5px;font-weight:bold;border:1px solid var(--v2p-color-accent-400);user-select:none}body .badge:first-child{border:1px solid var(--v2p-color-accent-400);border-top-left-radius:4px;border-bottom-left-radius:4px}body .badge:last-child{border:1px solid var(--v2p-color-accent-400);border-top-right-radius:4px;border-bottom-right-radius:4px}body .badge.op{color:var(--v2p-color-accent-500);background-color:var(--v2p-color-accent-50)}body .badge.mod{color:var(--v2p-color-bg-content);background-color:var(--v2p-color-accent-400)}body .badge.you{color:var(--v2p-color-orange-400);background-color:var(--v2p-color-orange-50);border:1px solid var(--v2p-color-orange-400)}body .badge.mini{height:1.2em;padding:0 3px;font-weight:normal;font-size:12px;line-height:1}body a.node:is(:active,:link,:visited){padding:5px 6px;color:var(--v2p-color-font-secondary);font-size:13px;background-color:var(--v2p-color-main-100);border-radius:4px}body a.node:is(:active,:link,:visited):hover{color:var(--v2p-color-main-500);background-color:var(--v2p-color-main-200)}body .outdated{font-size:12px;border-color:var(--v2p-color-main-200);border-bottom:none}body .page_normal,body .page_current{user-select:none}body .page_normal:link,body .page_normal:visited,body .page_current:link,body .page_current:visited{padding:6px 9px;font-size:14px;border:none}body .page_normal:link,body .page_normal:visited{font-weight:500;background-color:var(--v2p-color-bg-content);box-shadow:0 2px 2px var(--box-background-hover-color);transition:transform .25s}body .page_normal:link:hover,body .page_normal:visited:hover{transform:scale(1.1) translateY(-2px)}body .page_current:link,body .page_current:visited{font-weight:bold;background-color:var(--box-background-hover-color);box-shadow:none}body .page_input{display:none}body .dock_area{background:var(--v2p-color-main-200)}body .member-activity-bar{background-color:var(--v2p-color-main-200)}body .member-activity-bar .member-activity-start{background-color:var(--v2p-color-accent-200)}body .member-activity-bar .member-activity-fourth{background-color:var(--v2p-color-accent-400)}body .member-activity-bar .member-activity-half{background-color:var(--v2p-color-accent-500)}body .member-activity-bar .member-activity-almost{background-color:var(--v2p-color-accent-600)}body .member-activity-bar .member-activity-done{background-color:var(--v2p-color-orange-400)}body .online{user-select:none}body #topic_supplement{height:unset;min-height:550px !important;max-height:800px !important;overflow:hidden;color:currentColor;font-size:15px;background-color:var(--v2p-color-bg-input);border:1px solid var(--button-border-color);border-radius:8px;transition:opacity .25s;resize:none;overflow-y:auto}body #topic_supplement::placeholder{color:var(--v2p-color-main-500);font-size:15px}body #topic_supplement:is(:focus,:focus-within){background-color:rgba(0,0,0,0);outline:none;box-shadow:0 0 0 1px var(--button-border-color)}body .item_hot_topic_title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.4}body form textarea#topic_title{height:unset;min-height:75px !important;max-height:800px !important;overflow:hidden;color:currentColor;font-size:15px;background-color:var(--v2p-color-bg-input);border:1px solid var(--button-border-color);border-radius:8px;transition:opacity .25s;resize:none}body form textarea#topic_title::placeholder{color:var(--v2p-color-main-500);font-size:15px}body form textarea#topic_title:is(:focus,:focus-within){background-color:rgba(0,0,0,0);outline:none;box-shadow:0 0 0 1px var(--button-border-color)}body form #topic_title{height:unset;min-height:30px !important;max-height:800px !important;overflow:hidden;color:currentColor;font-size:15px;background-color:var(--v2p-color-bg-input);border:1px solid var(--button-border-color);border-radius:8px;transition:opacity .25s;resize:none}body form #topic_title::placeholder{color:var(--v2p-color-main-500);font-size:15px}body form #topic_title:is(:focus,:focus-within){background-color:rgba(0,0,0,0);outline:none;box-shadow:0 0 0 1px var(--button-border-color)}body form #topic_content{height:unset;min-height:120px !important;max-height:800px !important;overflow:hidden;color:currentColor;font-size:15px;background-color:var(--v2p-color-bg-input);border:1px solid var(--button-border-color);border-radius:8px;transition:opacity .25s;resize:none}body form #topic_content::placeholder{color:var(--v2p-color-main-500);font-size:15px}body form #topic_content:is(:focus,:focus-within){background-color:rgba(0,0,0,0);outline:none;box-shadow:0 0 0 1px var(--button-border-color)}body #syntax-selector .radio-group{padding:3px;background-color:var(--v2p-color-background)}body #syntax-selector .radio-group>input[type=radio]:checked+label{background-color:var(--v2p-color-accent-100)}body #syntax-selector .radio-group>input[type=radio]+label{font-size:13px;cursor:pointer}body #syntax-selector label{color:var(--v2p-color-foreground)}body .snow{color:var(--v2p-color-main-400)}body .orange-dot{background:var(--v2p-color-orange-400)}body form[action="/notes/new"] .inner.alt{background-color:var(--v2p-color-bg-input);border:1px solid var(--button-border-color)}body form[action="/notes/new"] .cell{background-color:rgba(0,0,0,0) !important}body a.btn_hero{border-color:var(--v2p-color-foreground)}body a.btn_hero:hover{background-color:var(--v2p-color-foreground)}body .cell_ops{background-color:rgba(0,0,0,0)}body :is(.topic_content,.reply_content,.v2p-topic-preview-content) a[href^=http]{text-decoration:underline 2px;text-underline-offset:.4ex;color:currentColor;background-color:var(--v2p-color-main-100)}body :is(.topic_content,.reply_content,.v2p-topic-preview-content) a[href^=http]:hover{background-color:var(--v2p-color-main-200)}body :is(.topic_content,.reply_content,.v2p-topic-preview-content) a[href*="v2ex.com/t"],body :is(.topic_content,.reply_content,.v2p-topic-preview-content) a[href^="/t"]{text-decoration:underline 2px;text-underline-offset:.4ex;color:var(--v2p-color-accent-500);background-color:var(--v2p-color-accent-50)}body :is(.topic_content,.reply_content,.v2p-topic-preview-content) a[href*="v2ex.com/t"]:hover,body :is(.topic_content,.reply_content,.v2p-topic-preview-content) a[href^="/t"]:hover{color:var(--v2p-color-accent-500);background-color:var(--v2p-color-accent-50)}body .select2-container--default .select2-selection--single{background-color:var(--v2p-color-background);border:1px solid var(--v2p-color-border)}body .select2-container--default .select2-selection--single .select2-selection__placeholder{color:var(--v2p-color-foreground)}.box .tag:link,.box .tag:visited{color:var(--v2p-color-font-secondary);font-size:12px;background-color:var(--v2p-color-main-100);border-radius:5px}.box .tag::before{color:var(--v2p-color-main-500)}.box .tag>li{opacity:.6}#Top .content{height:100%}#Top .site-nav{height:100%;padding:0}#Top .tools{display:flex;gap:8px 14px;align-items:center;justify-content:flex-end;font-weight:400;font-size:14px}#Top .tools .top{height:26px;margin-left:0;padding:0 6px;color:var(--v2p-color-main-500);line-height:26px;white-space:nowrap;border-radius:4px}#Top .tools .top:hover{color:var(--v2p-color-foreground)}#Top .tools .top:not(.v2p-hover-btn):hover{background-color:var(--v2p-color-main-100)}#Main>.box{padding:0 12px}#Main>.box .cell{padding:20px 10px;background-image:none !important}#Main .topic_buttons{display:flex;flex-wrap:wrap;align-items:center;padding:8px 0;column-gap:5px;background:none}#Main .topic_buttons .topic_stats{flex:1;order:99;float:none;margin-left:10px;padding:0 !important;font-size:12px;text-shadow:none}#Main .topic_buttons .topic_thanked{font-size:12px}#Main .topic_buttons a.tb:link{display:flex;flex-direction:row-reverse;align-items:center;padding:5px;white-space:nowrap;text-shadow:none;column-gap:5px;background:none;border-radius:4px}#Main .topic_buttons a.tb:link:not(.v2p-hover-btn){color:var(--v2p-color-font-secondary)}#Main .topic_buttons a.tb:link:hover:not(.v2p-hover-btn){color:currentcolor;background:var(--v2p-color-main-100)}#Main .subtle{background-color:var(--v2p-color-bg-subtle);border-left:3px solid var(--v2p-color-accent-200)}#Main .subtle .topic_content{font-size:15px}#Main .vote:link{color:var(--v2p-color-main-500);border-color:var(--v2p-color-main-300);border-radius:5px}#Main .vote:link:hover{box-shadow:0 2px 2px var(--v2p-color-main-200)}#Main .cell_tab_current{border-color:var(--v2p-color-foreground)}#Main .cell .topic-link{color:var(--v2p-color-foreground);text-decoration:none}#Main .cell .topic-link:visited{color:var(--v2p-color-font-secondary)}#Main .cell .topic_info{position:relative;display:flex;align-items:center;user-select:none;pointer-events:none}#Main .cell .topic_info::after{position:absolute;top:0;right:0;bottom:-6px;left:0;z-index:1;background-color:var(--v2p-color-bg-content);content:""}#Main .cell .topic_info .votes,#Main .cell .topic_info .node,#Main .cell .topic_info strong:first-of-type,#Main .cell .topic_info span:first-of-type{position:relative;z-index:2;pointer-events:auto}#Main .cell .topic_info a[href^="/member"]{color:var(--v2p-color-main-500);font-weight:500}#Main .cell .count_livid{display:inline-block;padding:5px 10px;font-weight:400;font-size:12px;white-space:nowrap;border-radius:5px;user-select:none;color:var(--v2p-color-main-500);background-color:var(--v2p-color-main-200)}#Main .cell .count_orange{display:inline-block;padding:5px 10px;font-weight:400;font-size:12px;white-space:nowrap;border-radius:5px;user-select:none;color:var(--v2p-color-main-100);font-weight:bold;background-color:var(--v2p-color-orange-400)}#Main .cell .item_title .topic-link{font-weight:bold}#Main .cell.item tr>td:nth-child(2){width:30px}#Main .box>.cell[id^=r]:not(:has(.cell[id^=r])) .reply_content{padding-bottom:0}#Main .cell[id^=r]{--bg-reply: var(--v2p-color-bg-content);background-color:var(--bg-reply)}#Main .cell[id^=r]:hover>table td:last-of-type .fr a{opacity:1}#Main .cell[id^=r] .reply_content{padding-bottom:10px}#Main .cell[id^=r]>table:first-of-type td:first-of-type{width:40px}#Main .cell[id^=r]>table:first-of-type td:first-of-type .avatar{width:40px !important;height:40px !important;border-radius:5px;aspect-ratio:1}#Main .cell[id^=r]>table~.cell[id^=r]{--bg-reply: var(--v2p-color-bg-reply);position:relative;z-index:var(--zidx-expand-btn);padding:15px 0 0 15px;border:none;box-shadow:-2.4px 0 var(--v2p-color-border-reply)}#Main .cell[id^=r]>table~.cell[id^=r] .cell[id^=r]{padding:0;box-shadow:none}#Main .cell[id^=r]>table~.cell[id^=r] .cell[id^=r].v2p-indent{padding-left:15px;border-left:1px solid var(--v2p-color-border-reply)}#Main .cell[id^=r]>table~.cell[id^=r] tr td:first-of-type{width:25px}#Main .cell[id^=r]>table~.cell[id^=r] tr td:first-of-type .avatar{width:25px !important;height:25px !important;border-radius:4px}#Main .cell[id^=r]>table~.cell[id^=r] tr td:nth-child(3) strong a{font-size:13px;opacity:.75}#Main .cell[id^=r]>table~.cell[id^=r] .reply_content{padding-right:5px;font-size:15px}#Main .cell[id^=r]>table td:nth-of-type(2){width:15px}#Main .cell[id^=r]>table td:last-of-type a.dark{color:var(--v2p-color-main-600);text-decoration:none}#Main .cell[id^=r]>table td:last-of-type a.dark:hover{text-decoration:none}#Main .cell[id^=r]>table td:last-of-type .fr{position:relative;top:-3px;user-select:none}#Main .cell[id^=r]>table td:last-of-type .fr a{opacity:0}#Main .cell[id^=r]>table td:last-of-type .fr+.sep3{height:0}#Main .cell[id^=r]:last-of-type{border:none}#Main .cell[id^=r] .no{position:relative;top:-4px;padding:5px 10px;color:var(--v2p-color-main-350);font-size:12px;background-color:rgba(0,0,0,0);border-radius:5px;user-select:none}#Main #Tabs{position:sticky;top:0;z-index:var(--zidx-tabs);display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;background-color:var(--v2p-color-bg-content);user-select:none}#Main #Tabs .tab{margin:0}#Main #SecondaryTabs{padding:10px;background-color:var(--v2p-color-main-100);border-radius:5px}#Main .topic_content,#Main .reply_content{font-size:15.4px}#Main .topic_content a[href^="/member"],#Main .reply_content a[href^="/member"]{position:relative;bottom:1px;color:var(--v2p-color-main-500);font-size:13px;text-decoration:underline;text-underline-offset:.4ex}#Main .thank_area{font-size:12px}#Main .tab{background-color:rgba(0,0,0,0);user-select:none}#Main .tab:not(.v2p-hover-btn):hover{background-color:var(--v2p-color-main-100)}#Main .tab_current{color:var(--box-background-color);background-color:var(--box-foreground-color);user-select:none}#Main #reply-box.reply-box-sticky{bottom:20px;z-index:var(--zidx-reply-box);margin:0 -10px;padding:0 22px;overflow:visible;border:none;border-radius:10px;outline:2px solid var(--v2p-color-main-200)}#Main #reply-box .v2p-reply-wrap #reply_content{background-color:rgba(0,0,0,0);border:none}#Main #reply-box .v2p-reply-wrap #reply_content:focus{background-color:var(--v2p-color-bg-content);outline:none}#Main #reply-box .v2p-reply-wrap #reply_content::placeholder{color:var(--v2p-color-main-500);font-size:14px}#Main #reply-box .flex-one-row:last-of-type{flex-direction:row-reverse;gap:10px;justify-content:flex-start}#Main #reply-box .flex-one-row:last-of-type .gray{margin-right:auto}#Main #reply-box>.cell{font-size:12px}#Main #reply-box>.cell.flex-one-row{min-height:45px;padding:0 10px;border:none}#Main #reply-box>.cell.flex-row-end{padding:12px 10px;border:none}#Main #reply-box>.cell:has(form){padding-top:0}#Main #no-comments-yet{color:var(--color-gray);border-color:var(--color-gray)}#Main #notifications .cell[id^=n]:hover .node{opacity:1}#Main #notifications .cell[id^=n] .node{opacity:0}#Main #notifications .cell[id^=n] .payload{color:var(--v2p-color-foreground);background-color:var(--v2p-color-main-100)}#Rightbar .balance_area{display:flex;align-items:center}#Rightbar a.dark:is(:link,:active,:visited,:hover){color:var(--v2p-color-main-500)}#Rightbar a.dark:is(:link,:active,:visited,:hover):hover{color:var(--v2p-color-main-600)}#Bottom{position:sticky;top:100%}#Bottom a.dark{font-weight:400;font-size:13px}#Bottom a.dark:is(:link,:active,:visited,:hover){color:var(--v2p-color-main-500)} \uFEFFbody{position:relative}body.v2p-modal-open{overflow:hidden}body .button.v2p-prev-btn,body .button.v2p-next-btn{padding:0 15px}.v2p-hover-btn{position:relative;z-index:1;margin:0;white-space:nowrap;text-decoration:none;background:none;background-color:rgba(0,0,0,0);cursor:pointer;transition:color .2s;user-select:none}.v2p-hover-btn::before{position:absolute;top:0;right:-5px;bottom:0;left:-5px;z-index:-1;background-color:var(--v2p-color-bg-hover-btn);border-radius:5px;transform:scale(0.65);opacity:0;transition:background-color .2s,color .2s,transform .2s,opacity .2s;content:""}.v2p-hover-btn:hover{text-decoration:none}.v2p-hover-btn:hover::before{transform:scale(1);opacity:1}.v2p-hover-btn-disabled{opacity:.8;pointer-events:none}.v2p-icon-heart{display:inline-flex;width:16px;height:16px;color:var(--v2p-color-heart)}.v2p-icon-heart svg{fill:var(--v2p-color-heart-fill)}#Main .cell:hover .v2p-topic-preview-btn{visibility:visible}.v2p-tool-box{position:sticky;top:20px;z-index:var(--zidx-tools-card)}.v2p-tool-box>.cell{font-size:13px}.v2p-tool-box .v2p-tools{display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3, 1fr);gap:8px 15px;align-items:center;justify-content:center;color:var(--v2p-color-main-600);font-size:12px}.v2p-tool{display:inline-flex;gap:0 5px;align-items:center;padding:3px 0}.v2p-tool .v2p-tool-icon{width:16px;height:16px}.v2p-topic-preview-btn{position:relative;top:-1px;margin-left:10px;color:var(--button-foreground-color);font-size:14px;background-color:var(--button-hover-color);border:none;border-radius:3px;outline:none;visibility:hidden;cursor:pointer}.v2p-topic-preview{padding:25px;line-height:1.4}.v2p-tp-info{display:inline-flex;gap:20px;align-items:center;margin-bottom:10px;padding:5px 10px;overflow:hidden;font-size:13px;background-color:var(--v2p-color-main-200);border-radius:5px}.v2p-tp-member{display:inline-flex;gap:5px;align-items:center;font-weight:bold}.v2p-tp-avatar{width:20px;height:20px;border-radius:3px}a.v2p-topic-preview-title-link:hover{text-decoration:underline 2px;text-underline-offset:.4ex}.v2p-dot{margin:0 8px;font-weight:800;font-size:20px;font-size:15px}.v2p-paging{background:none !important}.v2p-paging.cell{border-bottom:none}.v2p-model-mask{position:fixed;z-index:var(--zidx-model-mask);padding:60px;overflow:hidden;overflow-y:auto;background-color:var(--v2p-color-mask);inset:0}.v2p-popup{position:absolute;top:0;left:0;z-index:var(--zidx-popup);color:var(--v2p-color-main-600);font-size:14px;background:var(--v2p-color-bg-widget);border:1px solid var(--box-border-color);border-radius:8px;box-shadow:var(--v2p-widget-shadow);backdrop-filter:blur(16px)}.v2p-popup-content{width:max-content;overflow-y:auto}.v2p-toast{position:fixed;top:50px;left:50%;z-index:var(--zidx-toast);padding:10px 15px;color:var(--v2p-color-foreground);font-size:14px;background:var(--v2p-color-bg-widget);border:3px solid var(--box-border-color);border-radius:8px;box-shadow:var(--v2p-toast-shadow);transform:translateX(-50%);backdrop-filter:blur(16px)}.v2p-model-main{position:relative;box-sizing:border-box;width:800px;height:100%;margin:0 auto;overflow-x:hidden;overflow-y:auto;background-color:var(--v2p-color-bg-content);border-radius:10px}.v2p-model-header{position:sticky;top:0;right:0;left:0;z-index:var(--zidx-model-header);display:flex;gap:0 20px;align-items:center;padding:15px 20px 20px;background-color:var(--v2p-color-bg-content);border-bottom:1px solid var(--box-border-color)}.v2p-model-title{padding:2px 0;overflow:hidden;font-weight:bold;font-size:16px;white-space:nowrap;text-overflow:ellipsis}.v2p-model-actions{display:flex;gap:0 10px;align-items:center;margin-left:auto}.v2p-model-loading{display:flex;align-items:center;justify-content:center;padding:50px 0;color:currentcolor}.v2p-model-loading .v2p-icon-loading{position:relative;right:-13px;width:50px}.v2p-no-pat{padding:30px 10px;font-size:15px;text-align:center}.v2p-no-pat .v2p-no-pat-title{font-weight:bold;font-size:16px}.v2p-no-pat .v2p-no-pat-desc{display:flex;align-items:center;justify-content:center;margin-top:15px}.v2p-no-pat .v2p-no-pat-block{display:inline-flex;align-items:center;margin:0 5px;padding:2px 10px;background-color:var(--v2p-color-main-100);border-radius:2px}.v2p-no-pat .v2p-icon-logo{width:15px;height:15px}.v2p-likes-box{position:relative;top:3px;display:inline-flex;align-items:center;column-gap:5px;user-select:none}.v2p-likes-box.v2p-thanked{color:var(--v2p-color-heart);font-weight:bold;opacity:.8}.v2p-likes-box.v2p-thanked .v2p-icon-heart svg{fill:var(--v2p-color-heart)}@supports not selector(:has(*)){#Main .cell[id^=r]>table:hover .v2p-controls{opacity:1}}@supports selector(:has(*)){#Main .cell[id^=r]:not(:has(.cell:hover))>table:hover .v2p-controls{opacity:1}}.v2p-controls{display:inline-flex;align-items:center;margin-right:15px;font-size:12px;column-gap:15px;opacity:0}.v2p-controls>a{text-decoration:none}.v2p-control{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:4px 0;color:var(--v2p-color-main-500)}.v2p-control:hover{color:var(--v2p-color-main-600)}.v2p-control.v2p-thanked{color:var(--v2p-color-heart);cursor:default}.v2p-control::after{z-index:var(--zidx-tip);width:max-content;min-width:30px;padding:2px 5px;overflow:hidden;color:var(--v2p-color-foreground);font-size:12px;white-space:nowrap;text-align:center;background-color:var(--v2p-color-bg-content);border-radius:4px;box-shadow:var(--v2p-widget-shadow);pointer-events:none;position:absolute;top:-8px;transform:translateY(-100%);opacity:0}.v2p-control:hover::after{opacity:1}.v2p-control.v2p-control-hide::after{content:"\u9690\u85CF\u56DE\u590D"}.v2p-control.v2p-control-thank::after{content:"\u611F\u8C22\u56DE\u590D"}.v2p-control.v2p-control-thank.v2p-thanked::after{content:"\u5DF2\u611F\u8C22"}.v2p-control.v2p-control-reply::after{content:"\u56DE\u590D"}.topic_buttons .v2p-tb.v2p-hover-btn{color:var(--v2p-color-main-400)}.topic_buttons .v2p-tb.v2p-hover-btn:hover{color:currentColor}.topic_buttons .v2p-tb.v2p-hover-btn::after{display:none}.v2p-tb-icon{width:15px;height:15px}.v2p-emoji-container{max-height:285px;padding:15px 18px;overflow-y:auto;color:var(--v2p-color-main-600)}.v2p-member-card{max-width:300px;max-height:285px;padding:12px;font-size:13px;text-align:left}.v2p-member-card .v2p-info{display:flex;gap:15px}.v2p-member-card .v2p-info-right{padding:2px 0}.v2p-member-card .v2p-avatar-box{width:73px;height:73px;overflow:hidden;background-color:var(--button-background-hover-color);border-radius:5px}.v2p-member-card .v2p-username{font-weight:bold;font-size:16px}.v2p-member-card .v2p-username.v2p-loading{width:65px;height:20px}.v2p-member-card .v2p-no{margin:5px 0}.v2p-member-card .v2p-no,.v2p-member-card .v2p-created-date{width:160px;height:16px}.v2p-member-card .v2p-loading{background-color:var(--button-background-hover-color);border-radius:6px}.v2p-member-card .v2p-bio{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-height:1.4;margin-top:10px}.v2p-member-card-actions{padding:10px 0 0}.v2p-reply-tags{display:inline-block;margin-bottom:2px;padding:0 3px;font-size:12px;background-color:var(--v2p-color-main-200);border-radius:3px;cursor:pointer}.v2p-emoticons-box{font-size:15px}.v2p-emoji-group~.v2p-emoji-group{margin-top:10px}.v2p-emoji-title{margin:0 0 10px;font-size:14px;text-align:left}.v2p-emoji-list{display:grid;grid-template-columns:repeat(8, 1fr);gap:6px;font-size:20px}.v2p-emoji{padding:2px;border-radius:4px;cursor:pointer}.v2p-emoji:hover{background-color:var(--box-background-hover-color)}.v2p-decode{position:relative;padding:2px 4px;color:var(--v2p-color-orange-400);font-size:13px;text-decoration:none;background-color:var(--v2p-color-orange-50);cursor:copy}.v2p-decode:hover{color:var(--v2p-color-orange-400);background-color:var(--v2p-color-orange-50)}.v2p-decode:hover::after{opacity:1}.v2p-decode::after{z-index:var(--zidx-tip);width:max-content;min-width:30px;padding:2px 5px;overflow:hidden;color:var(--v2p-color-foreground);font-size:12px;white-space:nowrap;text-align:center;background-color:var(--v2p-color-bg-content);border-radius:4px;box-shadow:var(--v2p-widget-shadow);pointer-events:none;position:absolute;top:-8px;left:50%;transform:translate(-50%, -100%);opacity:0;content:attr(data-title)}.v2p-reply-content{position:relative}.v2p-reply-content .v2p-expand-btn.normal.button{position:absolute;bottom:5px;left:50%;z-index:var(--zidx-expand-btn);font-weight:400;font-size:12px;transform:translateX(-50%)}.v2p-reply-content.v2p-collapsed::before{position:absolute;right:0;bottom:0;left:0;z-index:var(--zidx-expand-mask);height:130px;background:linear-gradient(to top, var(--bg-reply) 10px, transparent);content:"";pointer-events:none}.v2p-reply-content.v2p-collapsed .v2p-expand-btn.normal.button{bottom:10px;transform:translateX(-50%)}.cell[id^=r] .cell[id^=r] .v2p-reply-content .v2p-expand-btn.normal.button{color:var(--button-foreground-color);background:var(--button-hover-color);box-shadow:var(--button-hover-shadow)}.v2p-empty-content{display:flex;flex-direction:column;align-items:center;padding-top:20px;color:var(--v2p-color-font-secondary);font-size:14px}.v2p-empty-content .v2p-text-emoji{font-size:20px}.v2p-topic-reply-ref{margin:0 -10px 15px;padding:5px 10px;color:var(--v2p-color-main-500);font-size:13px;background-color:var(--v2p-color-main-100);border-radius:5px}.v2p-topic-reply-box{margin-top:50px;padding:30px 0;color:var(--v2p-color-main-500);font-size:14px;line-height:1.55;border-top:1px solid var(--v2p-color-divider)}.v2p-topic-reply~.v2p-topic-reply{margin-top:15px}.v2p-topic-reply-member{display:inline;color:var(--v2p-color-main-700);font-weight:bold}.v2p-topic-reply-avatar{position:relative;top:2px;width:15px;height:15px;margin-right:5px;object-fit:cover;overflow:hidden;background-color:var(--v2p-color-main-200);border-radius:2px}.v2p-topic-reply-content{display:inline}.v2p-more-reply-tip{margin-top:20px;color:var(--v2p-color-main-400);font-size:13px;text-align:center}.v2p-reply-wrap{height:unset;min-height:140px !important;max-height:800px !important;overflow:hidden;color:currentColor;font-size:15px;background-color:var(--v2p-color-bg-input);border:1px solid var(--button-border-color);border-radius:8px;transition:opacity .25s;resize:none}.v2p-reply-wrap::placeholder{color:var(--v2p-color-main-500);font-size:15px}.v2p-reply-wrap:is(:focus,:focus-within){background-color:rgba(0,0,0,0);outline:none;box-shadow:0 0 0 1px var(--button-border-color)}.v2p-reply-upload-bar{padding:6px 10px;color:var(--v2p-color-main-500);font-size:12px;background-color:var(--v2p-color-bg-input);border-top:1px dashed var(--v2p-color-main-300);cursor:pointer}.v2p-reply-upload-bar-disabled{pointer-events:none}.v2p-footer{position:relative;display:flex;align-items:center;justify-content:space-between;padding:35px 10px;color:var(--v2p-color-main-500);font-size:12px;border-top:1px solid var(--v2p-color-divider)}.v2p-footer a:hover{text-decoration:none}.v2p-footer-logo{--logo-size: 16px;position:absolute;top:calc(-1*(var(--logo-size) + 5px)/2);left:50%;display:inline-flex;box-sizing:border-box;padding:3px 25px;background-color:var(--v2p-color-bg-footer);transform:translateX(-50%)}.v2p-footer-logo svg{width:var(--logo-size)}.v2p-footer-text{display:inline-flex;align-items:center;justify-content:flex-start;width:240px;color:var(--v2p-color-font-secondary)}.v2p-footer-links{display:inline-flex;gap:0 8px;align-items:center}.v2p-footer-link{padding:4px 5px;color:currentColor}.v2p-footer-brand{display:inline-flex;gap:0 15px;align-items:center;justify-content:flex-end;width:240px}.v2p-footer-brand>span{width:20px}.v2p-color-mode-toggle{width:22px;height:22px;opacity:.8}.v2p-color-mode-toggle:hover{opacity:1}.v2p-reply-tools-box{position:relative;display:inline-flex;gap:0 5px;align-items:center;margin-right:auto;padding:2px 0;font-size:13px}.v2p-reply-tools-icon{display:inline-block;width:20px;height:20px}.v2p-reply-tool-content{padding:5px;border-radius:5px}.v2p-reply-tool{padding:5px 10px;white-space:nowrap;border-radius:4px;cursor:pointer}.v2p-reply-tool:hover{background-color:var(--v2p-color-main-200)} `;var Je=_o("https://v2ex.com/*","https://www.v2ex.com/*"),Ye=_o("https://v2ex.com/t/*","https://www.v2ex.com/t/*"),ve=window.location.href;(async()=>(Je.test(ve)&&($(`<style type='text/css'>${tt}</style>`).appendTo("head"),Promise.resolve().then(()=>ht()),Promise.resolve().then(()=>(Dt(),we))),Ye.test(ve)&&await Promise.resolve().then(()=>(fe(),Ge))))();