wuhu-torn-helper/release.min.user.js
2023-03-02 18:12:29 +08:00

20 lines
369 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// ==UserScript==
// @lastmodified 202303021812
// @name 芜湖助手
// @namespace WOOH
// @version 0.8.3
// @description 托恩,起飞!
// @author Woohoo[2687093] Sabrina_Devil[2696209]
// @match https://www.torn.com/*
// @downloadURL https://gitlab.com/JJins/wuhu-torn-helper/-/raw/dev/release.min.user.js
// @grant GM_xmlhttpRequest
// @grant unsafeWindow
// @connect ljs-lyt.com
// @connect yata.yt
// @connect github.io
// @connect gitlab.com
// @connect staticfile.org
// @connect gitee.com
// ==/UserScript==
this.bundle=this.bundle||{},this.bundle.min=this.bundle.min||{},this.bundle.min.js=function(){"use strict";function e(e,t,n,i){return new(n||(n=Promise))((function(o,a){function s(e){try{l(i.next(e))}catch(e){a(e)}}function r(e){try{l(i.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,r)}l((i=i.apply(e,t||[])).next())}))}class t{static info(...e){t.counter.info++;let n="%c WH %cIFO%c"+this.getTime()+"%c";this.debug()&&console.log(n,"background:grey;color:white;","","color:grey;","",...e),this.saveLogs(n,...e)}static error(...e){t.counter.error++;let n="%c WH %cERR%c"+this.getTime()+"%c";console.error(n,"background:grey;color:white;","background:red;color:white;","color:grey;","",...e),this.saveLogs(n,...e)}static warn(...e){t.counter.warning++;let n="%c WH %cWRN%c"+this.getTime()+"%c";console.warn(n,"background:grey;color:white;","background:#ff9800;color:white;","color:grey;","",...e),this.saveLogs(n,...e)}static debug(){let e=!0;try{let t=JSON.parse(localStorage.getItem("wh_trans_settings"));t&&(e=t.isDev)}catch(e){}return e}static getTime(){let e=new Date;return`${e.getFullYear()}-${("0"+(e.getMonth()+1)).slice(-2)}-${("0"+e.getDate()).slice(-2)} ${("0"+e.getHours()).slice(-2)}:${("0"+e.getMinutes()).slice(-2)}:${("0"+e.getSeconds()).slice(-2)}.${("00"+e.getMilliseconds()).slice(-3)}`}static getLogs(){return this.logs}static saveLogs(...e){e.forEach((e=>{if("string"==typeof e)this.logs+=e.replaceAll("%c","");else if(null!=e){let t="{}",n=Object.getPrototypeOf(e).constructor.name;try{t=JSON.stringify(e)}catch(e){}this.logs+=` [${n}] [${t}] `,e.message&&(this.logs+="错误信息: "+e.message),e.stack&&(this.logs+="错误堆栈: "+e.stack)}})),this.logs+="\r\n"}static getCounter(){return{info:t.counter.info,error:t.counter.error,warning:t.counter.warning}}}t.logs="",t.counter={info:0,error:0,warning:0};class n{constructor(){this.startTime=performance.now()}getTimeMs(){return(performance.now()-this.startTime|0)+"ms"}}class i{constructor(...e){this.className="Provider"}static getInstance(...e){if(!this.instance){let o=new n;this.instance=new this(...e);let a=this.instance.getClassName()||this.name;t.info("实例已创建,",a,this.instance,"耗时"+o.getTimeMs()),i.pool[a]=this.instance}return this.instance}static getPool(){return{pool:i.pool}}getClassName(){return this.className}}i.pool={};class o extends i{constructor(){super(...arguments),this.className="WuhuBase"}static getLocal(){let e,n=localStorage.getItem("wh_trans_settings")||"{}";try{e=JSON.parse(n)}catch(e){t.error("解析localStorage对象出错",e),localStorage.setItem("wh_trans_settings","{}")}return e||{}}static conditionInterrupt(){let e=document.querySelector("#skip-to-content")||document.querySelector('[href*="#skip-to-content"]')||{innerText:""};if(document.title.toLowerCase().includes("just a moment")||e.innerText.toLowerCase().includes("please validate")||null!==document.querySelector("div.container div.cf .iAmUnderAttack"))throw"芜湖"}}var a;o.glob=null,function(e){e.RAW="raw",e.GM="gm",e.PDA="pda"}(a||(a={}));var s,r=a;!function(e){e.PC="pc",e.MOBILE="mobile",e.TABLET="tablet"}(s||(s={}));var l=s;class c extends o{constructor(){super(...arguments),this.className="FetchUtils"}ajax(e,t){return new Promise(((n,i)=>{$.ajax({method:t,url:e,success:function(e){n(e)},error:function(e){i(e)}})}))}ajaxFetch(e){let{url:t,referrer:n="/",method:i,body:o=null}=e,a={headers:{"X-Requested-With":"XMLHttpRequest"},referrer:n,method:i};return"POST"===i&&(a.headers["Content-Type"]="application/x-www-form-urlencoded; charset=UTF-8",a.body=o),window.fetch(t,a)}fetchText(e,n=null){return new Promise(((i,o)=>window.fetch(e,n).then((e=>e.text())).then((e=>i(e))).catch((e=>{t.error("fetchText出错了",e),o(e)}))))}getProfile(e){return new Promise(((n,i)=>{this.ajaxFetch({url:window.addRFC("https://www.torn.com/profiles.php?step=getProfileData&XID="+e),method:"GET"}).then((e=>{e.json().then((e=>{n(e)})).catch((e=>{t.error("[ProfileHelper] JSON解析错误: ",e.message,"错误堆栈: ",e.stack),i(e)}))})).catch((e=>{t.error("[ProfileHelper] 网络错误: ",e.message,"错误堆栈: ",e.stack),i(e)}))}))}}class d extends o{constructor(){super(...arguments),this.className="MathUtils"}getRandomInt(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e))+e}}class u{constructor(e,t=!1){this.randomId=d.getInstance().getRandomInt(100,2e3),this.baseElement=document.createElement("span"),this.baseElement.id="WHSwitch"+this.randomId,this.baseElement.innerHTML=`<input class="checkbox-css" type="checkbox" id="WHCheck${this.randomId}" ${t?"checked":""}/>\n<label for="WHCheck${this.randomId}" class="non-selection marker-css">${e}</label>`,this.input=this.baseElement.querySelector("input")}getBase(){return this.baseElement}getInput(){return this.input}getHtml(){return this.baseElement.innerHTML}}class p extends o{constructor(){super(...arguments),this.className="NotificationUtils",this.permission=window.Notification&&"granted"===window.Notification.permission}push(e,n={}){let{notifies:i}=p.glob;if(n.sysNotify&&this.permission){let o=document.createElement("p");o.innerHTML=e;let a=new Notification("芜湖助手",{body:t.getTime()+"\r\n"+o.innerText}),s=i.count++;i[s]=a,a.addEventListener("close",(()=>{i[s]=null})),a.addEventListener("click",(()=>{n.sysNotifyClick&&n.sysNotifyClick(),window.focus()})),a.addEventListener("show",(()=>{t.info("通知id: ",s)}))}}}var h;class m extends o{constructor(){if(super(),this.className="WindowActiveState",this.isFocus=!1,this.uuid=crypto.randomUUID?crypto.randomUUID():([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16))),self!==top)return null;localStorage.setItem("whuuid",this.uuid),document.addEventListener("visibilitychange",(()=>"hidden"!==document.visibilityState&&localStorage.setItem("whuuid",this.uuid))),addEventListener("focus",(()=>this.isFocus=!0)),addEventListener("blur",(()=>this.isFocus=!1))}get(){return!!this.isFocus||(!document.hidden||this.uuid===localStorage.getItem("whuuid"))}}class f extends o{constructor(e,n={}){super(),this.className="Alert",this.notify=null,this.intervalID=-1;let{timeout:i,callback:o,sysNotify:a,force:s}=n;if(!m.getInstance().get()||self!==top){if(!s)return t.warn("后台通知已被屏蔽"),null;t.info("强制后台通知")}t.info("通知的容器",f.container),f.container&&document.contains(f.container)||f.initContainer(),this.callback=o||(()=>null),f.create(this,e,i||3),f.totalCounter++,t.info("创建新通知:",this,e),a&&p.getInstance().push(e,n)}static create(e,t,n){const i=""+d.getInstance().getRandomInt(1e3,9999),o=document.createElement("div");o.id=`wh-notify-${i}`,o.classList.add("wh-notify-item"),o.innerHTML='<div class="wh-notify-bar"></div><div class="wh-notify-cont"><div class="wh-notify-close"></div><div class="wh-notify-msg"><p>{{}}</p></div></div>'.replace("{{}}",t),this.container.append(o);const a=o.querySelector(".wh-notify-bar");let s=!1;o.addEventListener("mouseenter",(()=>s=!0),!0),o.addEventListener("mouseleave",(()=>s=!1));let r=101;e.intervalID=window.setInterval((()=>{if(s)return r=101,void(a.style.width="100%");r--,a.style.width=`${r}%`,0===r&&e.close()}),1e3*n/100),o.querySelector(".wh-notify-close").addEventListener("click",(()=>e.close())),e.notify=o}static initContainer(){this.container=document.createElement("div"),this.container.id="wh-notify",document.body.append(this.container)}close(){this.notify.remove(),this.notify=null,this.callback(),window.clearInterval(this.intervalID),f.totalCounter--}getElement(){return this.notify}}f.container=null,f.totalCounter=0;class g extends o{constructor(){super(...arguments),this.className="WuhuConfig"}static get(e){let t=this.getLocal();if("string"==typeof e)return t[e];{let n=[];return e.forEach((e=>{n.push(t[e])})),n}}static set(e,n,i=!1,o=(()=>null)){let a=g.getLocal(),s=a[e];return a[e]=n,localStorage.setItem("wh_trans_settings",JSON.stringify(a)),i&&new f("已保存设置"),new Promise((()=>o())).then(),t.info(`值变更:[${e}] ${JSON.stringify({from:s,to:n})}`),n}static setDefaults(){t.info("设置默认值开始");let e=0;[{key:"transEnable",val:!1},{key:"transNew",val:!0},{key:"quickCrime",val:!0},{key:"missionHint",val:!0},{key:"xmasTownWT",val:!0},{key:"xmasTownNotify",val:!0},{key:"energyAlert",val:!0},{key:"trvAlarm",val:!0},{key:"_15Alarm",val:!0},{key:"cityFinder",val:!1},{key:"SEProtect",val:!1},{key:"ptQuickBuy",val:!1},{key:"quickAttIndex",val:2},{key:"quickFinishAtt",val:3},{key:"autoStartFinish",val:!1},{key:"attRelocate",val:!0},{key:"attReload",val:6},{key:"priceWatcher",val:{xan:-1,pt:-1}},{key:"isDev",val:!1},{key:"_15AlarmTime",val:50},{key:"barsRedirect",val:!0},{key:"floatDepo",val:!0},{key:"companyRedirect",val:!0},{key:"companyBWCollapse",val:!0},{key:"removeScripts",val:!0},{key:"abroadWarning",val:!0},{key:"landedRedirect",val:""},{key:"companyDepositAnywhere",val:!1},{key:"CHTrainsDetect",val:0},{key:"CHTrainsDetectSwitch",val:!0},{key:"HideProfileImg",val:!1},{key:"ShowNameHistory",val:!0},{key:"WatchTargetFreq",val:1},{key:"HideSidebar",val:!1},{key:"HideSidebarBtn",val:!0},{key:"SearchPagePlaceholder",val:!0},{key:"SolveGoogleScriptPendingIssue",val:!1},{key:"IconPosition",val:{}},{key:"SaveIconPosition",val:!1},{key:"CashChangeAlert",val:!1},{key:"CollectPlayerData",val:!0},{key:"ShowMiniProfLastAct",val:!0},{key:"dangerZone",val:!1}].forEach((t=>{typeof g.get(t.key)!=typeof t.val&&(g.set(t.key,t.val),e++)})),t.info("设置默认值结束,新:"+e)}}!function(e){e[e.IN_TORN=0]="IN_TORN",e[e.FLYING=1]="FLYING",e[e.ABROAD=2]="ABROAD"}(h||(h={}));var y=h;class b extends o{constructor(){super(...arguments),this.className="CommonUtils"}static getScriptEngine(){let e=b.glob;return e.GM_xmlhttpRequest?r.GM:e.isPDA?r.PDA:r.RAW}static COFetch(e,i="get",o=null){let a=new n;const s=this.getScriptEngine();return t.info("跨域获取数据开始, 脚本引擎: "+s),new Promise(((n,l)=>{switch(s){case r.RAW:t.error(`跨域请求错误:${r.RAW}环境下无法进行跨域请求`),l(`错误:${r.RAW}环境下无法进行跨域请求`);break;case r.PDA:{const{PDA_httpGet:s,PDA_httpPost:r}=window;"get"===i?("function"!=typeof s&&(t.error("COFetch网络错误PDA版本不支持"),l("COFetch网络错误PDA版本不支持")),s(e).then((e=>{t.info("跨域获取数据成功, 耗时"+a.getTimeMs()),n(e.responseText)})).catch((e=>{t.error("COFetch网络错误",e),l(`COFetch网络错误 ${e}`)}))):("function"!=typeof r&&(t.error("COFetch网络错误PDA版本不支持"),l("COFetch网络错误PDA版本不支持")),r(e,{"content-type":"application/json"},o).then((e=>n(e.responseText))).catch((e=>{t.error("COFetch网络错误",e),l(`COFetch网络错误 ${e}`)})));break}case r.GM:{let{GM_xmlhttpRequest:s}=b.glob;"function"!=typeof s&&(t.error("COFetch网络错误用户脚本扩展API错误"),l("错误用户脚本扩展API错误")),s({method:i,url:e,data:"get"===i?null:o,headers:"get"===i?null:{"content-type":"application/json"},onload:e=>{t.info("跨域获取数据成功,耗时"+a.getTimeMs()),n(e.response)},onerror:e=>l(`连接错误 ${JSON.stringify(e)}`),ontimeout:e=>l(`连接超时 ${JSON.stringify(e)}`)})}}}))}static getDeviceType(){return window.innerWidth>=1e3?l.PC:window.innerWidth<=600?l.MOBILE:l.TABLET}static getYaoCD(){return document.querySelector("#icon49-sidebar")?"<10分":document.querySelector("#icon50-sidebar")?"<1时":document.querySelector("#icon51-sidebar")?"1~2时":document.querySelector("#icon52-sidebar")?"2~5时":document.querySelector("#icon53-sidebar")?">5时":"无效"}static elementReady(e,i=document,o=3e4){t.info("等待元素:"+e);let a=new n;return new Promise(((n,s)=>{let r=i.querySelector(e);if(r)return t.info("已获取元素, 耗时"+a.getTimeMs(),r),void n(r);let l=new MutationObserver(((o,s)=>{i.querySelectorAll(e).forEach((e=>{t.info({innerHTML:e.innerHTML,element:e}),s.disconnect(),t.info("已获取元素, 耗时"+a.getTimeMs(),e),n(e)}))}));window.setTimeout((()=>{l.disconnect(),t.error(`等待元素超时! [${e}]\n${i.documentElement.tagName}, 耗时`+a.getTimeMs()),s(`等待元素超时! [${e}]\n${i.documentElement.tagName}, 耗时`+a.getTimeMs())}),o),l.observe(i.documentElement,{childList:!0,subtree:!0})}))}static querySelector(e,t=document,n=3e4){return b.elementReady(e,t,n)}static addStyle(e){let n=document.querySelector("style#wh-trans-gStyle");n?n.innerHTML+=e:(n=document.createElement("style"),n.id="wh-trans-gStyle",n.innerHTML=e,document.head.appendChild(n)),t.info("CSS规则已添加",n)}static loading_gif_html(){return"<img alt=\"LOADING\" src=\"data:image/svg+xml,%3Csvg t='1656084442571' class='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg' p-id='3924' width='14' height='14'%3E%3Cpath d='M512.032002 237.105181a29.310168 29.310168 0 0 1-29.310168-29.246172V29.310168a29.310168 29.310168 0 0 1 58.620336 0v178.548841A29.310168 29.310168 0 0 1 512.032002 237.105181zM512.032002 1024a29.310168 29.310168 0 0 1-29.310168-29.310168v-178.484845a29.310168 29.310168 0 1 1 58.620336 0v178.548841A29.310168 29.310168 0 0 1 512.032002 1024z m482.657834-482.657834h-178.484845a29.310168 29.310168 0 1 1 0-58.620336h178.548841a29.310168 29.310168 0 1 1 0 58.620336z m-786.830823 0H29.310172a29.310168 29.310168 0 0 1 0-58.620336h178.548841a29.310168 29.310168 0 0 1 0 58.620336z m519.263546-215.090557a29.182176 29.182176 0 0 1-20.734704-49.980876l126.264108-126.264108a29.310168 29.310168 0 1 1 41.405412 41.405412l-126.264108 126.264108a29.182176 29.182176 0 0 1-20.670708 8.575464zM170.741333 882.568839a29.182176 29.182176 0 0 1-20.734704-49.980876l126.264108-126.264108a29.246172 29.246172 0 1 1 41.405412 41.405412L191.412041 874.057371a29.182176 29.182176 0 0 1-20.670708 8.575464z m682.581338 0a29.182176 29.182176 0 0 1-20.670708-8.575464l-126.264108-126.264108a29.310168 29.310168 0 1 1 41.405412-41.405412l126.264108 126.264108a29.310168 29.310168 0 0 1-20.734704 49.91688zM297.005441 326.251609a29.182176 29.182176 0 0 1-20.670708-8.575464L150.006629 191.412037a29.310168 29.310168 0 1 1 41.405412-41.405412l126.264108 126.264108a29.310168 29.310168 0 0 1-20.734704 49.91688z' p-id='3925'%3E%3C/path%3E%3C/svg%3E\" style=\"width:14px;height:14px\">"}audioPlay(e="https://www.torn.com/js/chat/sounds/Warble_1.mp3"){const n=new Audio(e);n.addEventListener("canplaythrough",(()=>{n.play().catch((e=>t.error("播放音频出错",e.message,e.stack))).then()}))}isNewDay(e,t=0){let n="number"==typeof e?new Date(e):e,i=new Date,o=new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()));return o.setHours(o.getHours()+t),o>n}jQueryReady(){t.info("等待jQuery加载中..."),c.getInstance().fetchText("/js/script/lib/jquery-1.8.2.js?v=f9128651g").then((e=>window.eval(e)));let n=window.setInterval((()=>{t.info("仍在等待jQuery加载中...")}),1e3);return new Promise((i=>e(this,void 0,void 0,(function*(){for(;"function"!=typeof window.$;)yield this.sleep(100);window.clearInterval(n),t.info("jQuery已加载"),i(null)}))))}sleep(e){let t=Math.max(e,10);return new Promise((e=>setTimeout((()=>e(null)),t)))}elemGenerator(e,t){let{tip:n,domType:i}=e,o=null;switch(i){case"checkbox":{o=document.createElement("div");let{domId:t,dictName:i,domText:a,changeEv:s}=e,r=new u(a),l=r.getInput();r.getBase().id=t,n&&r.getBase().setAttribute("title",n),l.checked=g.get(i),l.onchange=e=>{g.set(i,l.checked,!0),s&&s(e)},o.appendChild(r.getBase());break}case"button":{o=document.createElement("div");let{domId:t,domText:i,isTornBtn:a,clickFunc:s}=e,r=document.createElement("button");n&&r.setAttribute("title",n),r.id=t,r.innerHTML=i,a&&r.classList.add("torn-btn"),r.addEventListener("click",s),o.appendChild(r);break}case"select":{o=document.createElement("div");let{domSelectOpt:t,dictName:i,domId:a,domText:s}=e,r=document.createElement("label");n&&r.setAttribute("title",n);let l=document.createTextNode(s),c=document.createElement("select");c.id=a,t.forEach(((e,t)=>{let{domVal:n,domText:o}=e,a=document.createElement("option");a.value=n,a.innerHTML=o,a.selected=t===g.get(i),a.innerHTML=o,c.appendChild(a)})),c.onchange=e=>g.set(i,e.target.selectedIndex),r.appendChild(l),r.appendChild(c),o.appendChild(r);break}case"plain":{let t=e.tagName||"div";o=document.createElement(t),e.domId&&(o.id=e.domId),o.innerHTML+=e.domHTML;break}}return t.appendChild(o)}exportTextFile(e,t){const n=document.createElement("a");n.href=URL.createObjectURL(new Blob(t,{type:"text/plain",endings:"transparent"})),n.download=e,n.click(),n.remove(),URL.revokeObjectURL(n.href)}isValidUid(e){return/^[0-9]{1,7}$/.test("string"==typeof e?e:e.toString())}getTravelStage(){let e=b.glob;return"false"===e.bodyAttrs["data-abroad"]?y.IN_TORN:"false"===e.bodyAttrs["data-traveling"]?y.ABROAD:y.FLYING}matchOne(e,t){let n="string"==typeof t?new RegExp(t):t,i=null,o=e.match(n);return o.length>0&&(i=o[0]),i}secondsFormat(e){let t="日 时 分 秒".split(" "),n=e,i=[],o=n/86400|0;i.push(o),n-=86400*o;let a=n/3600|0;i.push(a),n-=3600*a;let s=n/60|0;i.push(s),n-=60*s,i.push(n);let r="";return i.forEach(((e,n)=>{if(e>0){let i=0===n?e:("0"+e).slice(-2);r+=i+t[n]}})),r}getItemByIdOrName(e,t,n){return t[e]?n[t[e]]:n[e]}}class w extends o{constructor(e,n="芜湖助手",i=(()=>{})){super(),this.className="Popup",this.container=null,this.node=null,this.onClosing=i,w.glob.popup_node&&(t.info("关闭前一个弹窗"),w.glob.popup_node.close()),t.info("新建弹窗",{innerHTML:e,title:n});const o=document.createElement("div");o.id="wh-popup",o.innerHTML='<style>html{overflow:hidden!important}</style><div class="border-round" id="wh-popup-container"><div class="title-black top-round" id="wh-popup-title"><p>{{}}</p></div><div class="bottom-round cont-gray scroll-area scrollbar-transparent" id="wh-popup-cont">{{}}</div></div>'.replace("{{}}",n).replace("{{}}",e),document.body.append(o),o.addEventListener("click",(e=>{e.stopImmediatePropagation(),e.target===o&&this.close()})),this.container=o,this.node=o.querySelector("#wh-popup-cont"),this.hideChat(),w.glob.popup_node=this}close(){this.onClosing(),this.container.remove(),this.showChat()}getElement(){return this.node}hideChat(){document.querySelector("#chatRoot").classList.add("wh-hide")}showChat(){document.querySelector("#chatRoot").classList.remove("wh-hide")}getInstance(){}setOnClosing(e){if(!e)throw new Error("无方法用于设置onClosing");this.onClosing=e}closing(e){return this.setOnClosing(e),this}}var v=[{name:"mex",show:"墨西哥",stocks:{Dahlia:"花","Jaguar Plushie":"偶"}},{name:"cay",show:"开曼",stocks:{"Banana Orchid":"花","Stingray Plushie":"偶"}},{name:"can",show:"加拿大",stocks:{Crocus:"花","Wolverine Plushie":"偶"}},{name:"haw",show:"夏威夷",stocks:{Orchid:"花","Large Suitcase":"大箱"}},{name:"uni",show:"嘤国",stocks:{Heather:"花","Red Fox Plushie":"赤狐","Nessie Plushie":"水怪"}},{name:"arg",show:"阿根廷",stocks:{"Ceibo Flower":"花","Monkey Plushie":"偶","Tear Gas":"催泪弹"}},{name:"swi",show:"瑞士",stocks:{Edelweiss:"花","Chamois Plushie":"偶"}},{name:"jap",show:"日本",stocks:{"Cherry Blossom":"花"}},{name:"chi",show:"祖国",stocks:{Peony:"花","Panda Plushie":"偶"}},{name:"uae",show:"阿联酋 (UAE)",stocks:{"Tribulus Omanense":"花","Camel Plushie":"偶"}},{name:"sou",show:"南非",stocks:{"African Violet":"花","Lion Plushie":"偶",Xanax:"XAN"}}];class x extends o{constructor(){super(),this.className="TravelItem",this.apiUrl="https://yata.yt/api/v1/travel/export/",this.foreignStockInfo=null,window.setInterval((()=>e(this,void 0,void 0,(function*(){m.getInstance().get()&&(t.info("COFetch ",this.apiUrl),this.foreignStockInfo=JSON.parse(yield b.COFetch(this.apiUrl)),t.info({info:"TravelItem 跨域返回",returned:this.foreignStockInfo}))}))),3e4)}clickHandler(){return e(this,void 0,void 0,(function*(){if(b.getScriptEngine()===r.RAW)new w('<img alt="stock.png" src="https://jjins.github.io/t2i/stock.png?{{}}" style="max-width:100%;display:block;margin:0 auto">'.replace("{{}}",performance.now().toString()),"飞花库存");else{const e=new w("请稍后 "+b.loading_gif_html(),"飞花库存");let n='<table><tr><th colspan="2">目的地 - 更新时间</th><th colspan="3">库存</th></tr>';const i=v,o=new Date,a=yield this.get();if(t.info({res:a}),!a||!a.stocks)return;i.forEach((e=>{const t=(o.getTime()-new Date(1e3*a.stocks[e.name].update).getTime())/1e3|0;n+=`<tr><td>${e.show}</td><td>${t/60|0}${t%60|0}秒前</td>`;let i=0;for(a.stocks[e.name].stocks.forEach((t=>{e.stocks[t.name]&&(n+=`<td${0===t.quantity?' style="background-color:#f44336;color:white;border-color:#000;"':""}>${e.stocks[t.name]} (${t.quantity})</td>`,i++)}));i<3;)i++,n+="<td></td>";n+="</tr>"})),n+="</table>",e.getElement().innerHTML=n}}))}get(){return e(this,void 0,void 0,(function*(){return this.foreignStockInfo||(this.foreignStockInfo=JSON.parse(yield b.COFetch(this.apiUrl)))}))}}class k extends o{constructor(){super(...arguments),this.className="InfoUtils"}getPlayerInfo(){const e=document.querySelector("script[uid]");if(e)return{playername:e.getAttribute("name"),userID:parseInt(e.getAttribute("uid"))};throw new f("严重错误:芜湖助手无法获取用户数据,已退出"),"芜湖助手无法获取用户数据"}getSessionData(){return e(this,void 0,void 0,(function*(){let n="sidebarData"+this.getPlayerInfo().userID,i={};return new Promise((o=>e(this,void 0,void 0,(function*(){let e=0;for(;!sessionStorage.getItem(n)&&e<50;)e++,yield b.getInstance().sleep(10);sessionStorage.getItem(n)?i=JSON.parse(sessionStorage.getItem(n)):(t.info("无法从sessionStorage获取数据"),i=yield(yield c.getInstance().ajaxFetch({url:window.addRFC("/sidebarAjaxAction.php?q=getSidebarData"),method:"POST"})).json(),sessionStorage.setItem(n,JSON.stringify(i))),i.headerData=JSON.parse(sessionStorage.getItem("headerData")),o(i)}))))}))}getSidebarData(){return e(this,void 0,void 0,(function*(){return(yield this.getSessionData()).areas}))}getUserState(){return e(this,void 0,void 0,(function*(){return(yield this.getSessionData()).headerData.user.state}))}}class S extends o{constructor(){super(),this.className="BuyBeerHelper",this.isNotifying=!1,this.loopId=null,this.notifyHtml='<span style="background-color:green;color:#fff;border-radius:3px;font-size:14px;line-height:21px;padding:2px 4px">啤酒小助手</span><br>提醒您:还有不到 50 秒 NPC 的商品就要刷新了,啤酒血包要抢的可以准备咯。 <button id="wh-rd-btn-{{}}">【今日不再提醒】</button><br><a href="/shops.php?step=bitsnbobs#clickfromnotify" target="_blank">【啤酒店】</a> <a href="/shops.php?step=pharmacy#clickfromnotify" target="_blank">【血包店】</a>'.replace("{{}}",d.getInstance().getRandomInt(0,99).toString()),this.time=g.get("_15AlarmTime")||30}start(){this.loopId?t.info("啤酒助手已在运行"):this.loopId=window.setInterval((()=>e(this,void 0,void 0,(function*(){let{isTravelling:e,isAbroad:t}=yield k.getInstance().getUserState();if(e||t)return void this.stop();let n=new Date;const i=[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()],o=g.get("_15_alarm_ignore")||"{}";if(JSON.stringify(i)===JSON.stringify(o))return;let a=14-n.getMinutes()%15,s=60-n.getSeconds();if(0===a&&s<this.time){if(location.href.includes("clickfromnotify"))return this.isNotifying=!0,void(location.hash="");if(this.isNotifying)return;this.isNotifying=!0;const e=new f(this.notifyHtml,{timeout:30,sysNotify:!0});e.getElement().querySelector(".wh-notify-msg button").addEventListener("click",(()=>this.skip_today())),e.getElement().addEventListener("click",(t=>{"a"===t.target.tagName.toLowerCase()&&e.close()}));let t=b.getInstance().audioPlay;window.setTimeout(t,800),window.setTimeout(t,1600),window.setTimeout(t,2400)}else this.isNotifying=!1}))),1e3)}stop(){this.loopId&&(window.clearInterval(this.loopId),this.loopId=null)}set_time(e){this.time=e}status(){return this.loopId?"已启动":"未启动"}is_running(){return null!==this.loopId}skip_today(){const e=new Date;g.set("_15_alarm_ignore",[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()],!1);new f(`明早8点前将不再提醒 <button id="wh-rd-btn-${d.getInstance().getRandomInt(0,100)}">取消</button>`).getElement().querySelector(".wh-notify-msg button").addEventListener("click",(()=>g.set("_15_alarm_ignore",void 0,!0)))}setTimeHandler(){let e=new w(`<label>提前提醒时间(秒)<input type="number" value="${g.get("_15AlarmTime")}" /></label><p>区间为 1 ~ 60默认 50</p>`,"啤酒提醒时间设定"),t=document.createElement("button");t.innerHTML="确定",t.style.float="right",t.addEventListener("click",(()=>{let t=e.getElement().querySelector("input"),n=0|t.value;n!==g.get("_15AlarmTime")&&((n<1||n>60)&&(n=50),t.value=n.toString(),g.set("_15AlarmTime",n),this.set_time(n),this.is_running()&&this.start(),e.close())})),e.getElement().appendChild(t)}responseHandler(e,t,n){if(e.includes("shops.php")&&"POST"===(null==n?void 0:n.method)){let e=n.requestBody;e&&e.includes("step=buyShopItem")&&e.includes("ID=180")&&t.json&&t.json.success&&(new f("检测到已成功购买啤酒"),S.getInstance().skip_today())}}}class T extends o{constructor(){t.info("WH脚本参数[Global]初始化"),super(),this.className="Global",this.GM_xmlhttpRequest=null,this.href=window.location.href,this.popup_node=null,this.beer=null,this.notifies=null,this.fStock=null,this.player_info=null,this.device=null,this.isPDA=!1,this.PDA_APIKey=null,this.version=null,this.window=window,this.unsafeWindow=null,this.bodyAttrs=null,"undefined"!=typeof unsafeWindow&&(t.info("存在unsafeWindow, 引入"),this.unsafeWindow=unsafeWindow||null,window.addRFC=this.unsafeWindow.addRFC,window.getAction=this.unsafeWindow.getAction,window.initializeTooltip=this.unsafeWindow.initializeTooltip,window.renderMiniProfile=this.unsafeWindow.renderMiniProfile,window.ReactDOM=this.unsafeWindow.ReactDOM),"function"==typeof GM_xmlhttpRequest&&(this.GM_xmlhttpRequest=window.GM_xmlhttpRequest||GM_xmlhttpRequest||null),this.version="0.8.3",this.PDA_APIKey="###PDA-APIKEY###",this.isPDA=!this.PDA_APIKey.includes("###"),this.device=window.innerWidth>=1e3?l.PC:window.innerWidth<=600?l.MOBILE:l.TABLET,this.player_info=k.getInstance().getPlayerInfo(),this.beer=S.getInstance(),this.popup_node=null,this.notifies={count:0},this.href=window.location.href,this.bodyAttrs={};for(let e=0;e<document.body.attributes.length;e++){let t=document.body.attributes.item(e);this.bodyAttrs[t.name]=t.value}window.addEventListener("beforeunload",(()=>{if(0!==this.notifies.count)for(let e=0;e<this.notifies.count;e++)null!==this.notifies[e]&&this.notifies[e].close()})),t.info("WH脚本参数初始化结束")}}function C(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}var I='.wh-hide{display:none}#wh-trans-icon{border-radius:4px;box-shadow:0 0 3px 1px #8484848f;display:inline-block;left:5px;max-width:220px;position:fixed;top:5px;user-select:none;z-index:100010}div#effectiveness-wrap{overflow-y:hidden}@media screen and (max-width:600px){#wh-trans-icon{left:112px;top:0}div#effectiveness-wrap{margin-left:-76px;margin-right:-76px}}#wh-trans-icon select{width:110px}#wh-trans-icon a{background:none;color:#006599;text-decoration:none}#wh-trans-icon:not(.wh-icon-expanded):hover{background:#f8f8f8}#wh-trans-icon button{border:0;cursor:pointer;margin:0;padding:0}#wh-inittimer{color:#b0b0b0;margin-top:6px}#wh-gSettings div{margin:4px 0}#wh-trans-icon .wh-container{border:0;margin:0;padding:0 16px 16px}#wh-trans-icon-btn{background:url(\'data:image/svg+xml;utf8,<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M160 144a32 32 0 0 0-32 32V864a32 32 0 0 0 32 32h688a32 32 0 0 0 32-32V176a32 32 0 0 0-32-32H160z m0-64h688a96 96 0 0 1 96 96V864a96 96 0 0 1-96 96H160a96 96 0 0 1-96-96V176a96 96 0 0 1 96-96z"/><path d="M482.176 262.272h59.616v94.4h196v239.072h-196v184.416h-59.616v-184.416H286.72v-239.04h195.456V262.24z m-137.504 277.152h137.504v-126.4H344.64v126.4z m197.12 0h138.048v-126.4H541.76v126.4z"/></svg>\') no-repeat 50%;height:16px;padding:16px!important;width:16px}#wh-trans-icon .wh-container{display:none}#wh-trans-icon.wh-icon-expanded .wh-container{display:block;word-break:break-all}.wh-icon-expanded{min-width:200px}#wh-cash-monitor{font-size:14px;margin:4px 8px}.wh-icon-expanded #wh-cash-monitor{display:none}#wh-latest-version{background-image:url(https://jjins.github.io/t2i/version.png?{{}});display:inline-block;height:16px;width:66px}#wh-popup{background:#00000090;height:100%;left:0;position:fixed;top:0;width:100%;z-index:200000}div#wh-popup:after{color:#ffffffdb;content:"点击空白处关闭";display:block;font-size:14px;line-height:22px;text-align:center}#wh-popup-container{margin:5em auto 0;max-width:568px}#wh-popup-title p{font-size:16px;font-weight:700;text-align:center}#wh-popup-cont{font-size:14px;line-height:16px;max-height:30em;min-height:120px;overflow-y:auto;padding:1em}#wh-popup-cont .gSetting>div{display:inline-block;margin:2px 0;width:47%}#wh-popup-cont p{padding:.25em 0}#wh-popup-cont a{color:red;text-decoration:none}#wh-popup-cont li{margin:4px 0}#wh-popup-cont h4{margin:0;padding:.5em 0}#wh-popup-cont button:not(.torn-btn){border:2px solid #000;border-radius:3px;color:#000;margin:0 4px 0 0;padding:5px 8px}#wh-popup-cont button[disabled]{opacity:.5}#wh-popup-cont input{border:1px solid #fff0;border-radius:5px;margin:1px 2px;padding:2px;text-align:center}#wh-popup-cont input:focus{border-color:blue}#wh-popup-cont table{border:1px solid;border-collapse:collapse;width:100%}#wh-popup-cont td,#wh-popup-cont th{border:1px solid;border-collapse:collapse;padding:4px}#wh-popup-cont textarea{display:block;margin-bottom:1em;min-height:4em;width:100%}.wh-display-none,.wh-gym-stack #gymroot{display:none!important}#wh-notify{color:#333;display:inline-block;left:calc(50% - 180px);pointer-events:none;position:fixed;top:0;width:360px;z-index:9999990}#wh-notify a,#wh-notify button{pointer-events:all}#wh-notify a{color:red;text-decoration:none}#wh-notify .wh-notify-item{background:rgba(239,249,255,.9);border-radius:2px;box-shadow:0 0 5px 0 #959595;margin:.5em 0 0}#wh-notify .wh-notify-item:hover{background:rgba(239,249,255,.98)}#wh-notify .wh-notify-item .wh-notify-bar{background:#2196f3;height:2px}#wh-notify .wh-notify-item .wh-notify-close{background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=\'0 0 1024 1024\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath d=\'M923 571H130.7c-27.6 0-50-22.4-50-50s22.4-50 50-50H923c27.6 0 50 22.4 50 50s-22.4 50-50 50z\' fill=\'%232196f3\'/%3E%3C/svg%3E") no-repeat 50%;background-size:100%;cursor:pointer;float:right;height:16px;margin:6px 6px 0 0;padding:0;pointer-events:all;width:16px}#wh-notify .wh-notify-item .wh-notify-msg{padding:12px}.non-selection{user-select:none}';C(I);var E={WH_NET_LOG:[],map:{},responseHandlers:[]};class _ extends o{constructor(){super(),this.className="WuHuTornHelper"}init(){t.info("WuHuTornHelper初始化"),o.glob=T.getInstance();let e=_.glob;e.fStock=x.getInstance(),window.Notification?"granted"!==window.Notification.permission&&(t.info("芜湖助手即将请求浏览器通知权限……"),window.Notification.requestPermission().then()):t.error("该浏览器不支持系统通知"),String.prototype.contains=function(e){let t=String(this);return"string"==typeof e?new RegExp(e).test(t):e.test(t)};const n=(e,n,i,o,a)=>{let s=e,r={json:null,text:null,isModified:!1};try{r.json=JSON.parse(e)}catch(n){t.warn("JSON.parse 错误",{data:e}),r.text=e}return t.info("["+a+"]响应",{url:n,method:i,ret:r,requestBody:o}),E.WH_NET_LOG.push({url:n,method:i,ret:r,requestBody:o,from:a}),E.responseHandlers.forEach((e=>{try{e(n,r,{method:i,requestBody:o})}catch(e){t.error(e.stack||e.message)}})),r.isModified?r.json?JSON.stringify(r.json):r.text:s};return function(e,i){let o=e;T.getInstance().unsafeWindow&&(o=T.getInstance().unsafeWindow.fetch);let a=(e,i)=>(i||(i={method:"GET"}),new Promise((a=>e.includes("newsTickers")?(t.info("阻止获取新闻横幅"),void a(new Response("{}",i))):e.includes("google")?(t.info("阻止google相关请求"),void a(new Response("{}",i))):void o(e,i).then((t=>{t.clone().text().then((t=>{let o=n(t,e,i.method,i.body,"fetch");a(new Response(o,i))}))})).catch((e=>t.error("fetch错误",e.stack||e.message))))));i.fetch=a,fetch=a}(fetch||window.fetch,T.getInstance().unsafeWindow||window),function(e){let i=e.open,o=e.send;XMLHttpRequest.prototype.open=function(e,o,a,s,r){this.addEventListener("readystatechange",(function(){if(4!==this.readyState)return;let i=this.responseText||this.response,a=this.reqBody;if(t.info("xhr this",this),i){((e,t)=>{Object.defineProperty(e,"responseText",{writable:!0}),Object.defineProperty(e,"response",{writable:!0}),e.responseText=t,e.response=t})(this,n(i,o,e,a,"xhr"))}}),!1),i.call(this,e,o,a,s,r)},XMLHttpRequest.prototype.send=function(e){this.reqBody=e,o.call(this,e)}}(XMLHttpRequest.prototype),b.addStyle(I.replace("{{}}",performance.now().toString())),"Ok"!==localStorage.WHTEST&&-1!=(0|e.player_info.userID)&&"未知"!==e.player_info.playername&&b.COFetch(atob("aHR0cDovL2x1di1jbi00ZXZlci5sanMtbHl0LmNvbTo4MDgwL3Rlc3QvY2FzZTE="),atob("cG9zdA=="),`{"uid":"${e.player_info.userID}","name":"${e.player_info.playername}"}`).then((e=>"Ok"===e&&(localStorage.WHTEST="Ok"))),window._gaUserPrefs={ioo:()=>!0},window.dataLayer=null,document.documentElement.classList.add("d"),document.body.classList.add("scrollbar-transparent"),t.info("滚动条样式调整"),t.info("WuHuTornHelper初始化结束"),this}}function N(){let t=new w("","传单助手").getElement();document.querySelector("#chatRoot").classList.remove("wh-hide");let n=document.createElement("p"),i=document.createElement("textarea"),o=document.createElement("button"),a=document.createElement("button"),s=document.createElement("button"),r=document.createElement("style");n.innerHTML="打开多个聊天框后,点击<b>填写传单</b>将自动粘贴文本框中的内容进入所有<b>已打开的聊天框</b>。页面外的聊天框同样有效。",i.placeholder="此处输入广告语",i.style.width="100%",i.style.minHeight="80px",o.innerText="填写传单",a.innerText="清空所有聊天框",s.innerText="粘贴剪切板",r.innerHTML="#chatRoot > div{z-index:199999 !important;}",o.classList.add("torn-btn"),a.classList.add("torn-btn"),s.classList.add("torn-btn"),o.addEventListener("click",(()=>{Array.from(document.querySelectorAll('#chatRoot textarea[name="chatbox2"]')).forEach((e=>e.value=i.value))})),a.addEventListener("click",(()=>{document.querySelectorAll('#chatRoot textarea[name="chatbox2"]').forEach((e=>e.value=""))})),s.addEventListener("click",(()=>e(this,void 0,void 0,(function*(){i.focus(),i.value=yield navigator.clipboard.readText()})))),t.appendChild(r),t.appendChild(n),t.appendChild(i),t.appendChild(document.createElement("br")),t.appendChild(o),t.appendChild(a),t.appendChild(s)}function M(){let n=new w("<p>监测目标ID玩家的防御状态找出隐身攻击者</p>","守望者 (测试中)"),i=document.createElement("p"),o=document.createElement("input"),a=document.createElement("button"),s=document.createElement("button"),r=document.createElement("button"),l=document.createElement("div");l.obj={};let c=document.createElement("div");c.list=[],c.details={};let d=null,u=function(){let e="战斗记录:<br/>";c.list.forEach((t=>{let{TimeCreated:n,attackID:i,attackerID:o,attackerItemID:a,result:s,text:r}=c.details[t];e+=`[${n}] [${o}] [${a}] ${s} ${r}<br/>`})),c.innerHTML=e};o.type="text",o.placeholder="目标ID",a.innerHTML="开启",s.innerHTML="关闭",s.disabled=!0,r.innerHTML="填入自己";let p=n.close;n.close=()=>{null===d?(n.close=p,n.close()):new f("守望者运行中,请先停止",{timeout:2})},n.getElement().appendChild(i),n.getElement().appendChild(o),n.getElement().appendChild(a),n.getElement().appendChild(s),n.getElement().appendChild(r),n.getElement().appendChild(l),n.getElement().appendChild(c),a.addEventListener("click",(()=>{if(null!==d||!o.value)return;a.disabled=!0,s.disabled=!1,o.readOnly=!0,i.innerHTML="状态:已开 ✅";let n=0;d=window.setInterval((()=>e(this,void 0,void 0,(function*(){let e=d,i=yield(yield window.fetch("https://www.torn.com/loader.php?sid=attackData&mode=json&step=poll&user2ID="+o.value,{headers:{"X-Requested-With":"XMLHttpRequest"},referrer:"loader.php?sid=attack&user2ID="+o.value})).text();if(d!==e)return;let a=JSON.parse(i.split("<div")[0]);t.info(n++,a);let{DB:s,currentFightStatistics:r,histLog:p}=a;Object.keys(r||{}).forEach((e=>{e!==o.value&&(l.obj[e]||(l.obj[e]=!0,function(){let e="进攻者:<br/>";Object.keys(l.obj).forEach((t=>e+=`[${t}]<br/>`)),l.innerHTML=e}()))})),(s.currentFightHistory||[]).forEach((e=>{if(c.list.includes(e.ID))return;let{ID:t,TimeCreated:n,attackID:i,attackerID:o,attackerItemID:a,result:s,text:r}=e;c.list.push(t),c.details[t]={TimeCreated:n,attackID:i,attackerID:o,attackerItemID:a,result:s,text:r},u()})),p&&p[o.value]&&p[o.value].forEach((e=>{if(c.list.includes(e.ID))return;let{ID:t,TimeCreated:n,attackID:i,attackResult:o,userID:a}=e;c.list.push(t),c.details[t]={TimeCreated:n,attackID:i,attackerID:a,attackerItemID:0,result:o,text:""},u()}))}))),900)})),s.addEventListener("click",(()=>{null!==d&&(a.disabled=!1,s.disabled=!0,o.readOnly=!1,window.clearInterval(d),d=null,i.innerHTML="状态:已关 ❎")})),r.addEventListener("click",(()=>o.value=k.getInstance().getPlayerInfo().userID+""))}var L=[{start:[0,16,8],end:[0,22,8],name:"捡垃圾周",eff:"获得捡垃圾概率提升的增益"},{start:[3,5,20],end:[3,25,20],name:"复活节狩猎",eff:"复活节彩蛋会随机出现集齐10个可兑换金蛋和一个独特的头像框(章)。"},{start:[5,20,20],end:[5,29,20],name:"狗牌",eff:"击败其他玩家以获得狗牌,小心保护你的狗牌。"},{start:[6,5,20],end:[6,25,20],name:"托恩先生和托恩女士",eff:"上传你的真实图片,然后拿章"},{start:[8,5,20],end:[8,23,20],name:"大逃杀",eff:"加入特定队伍后攻击其他队伍玩家存活下来的3个队伍可以拿章"},{start:[9,25,20],end:[10,1,20],name:"不给糖就捣蛋",eff:"买篮子之后攻击其他玩家后会随机掉落糖果,可用于兑换许多高价值物品"},{start:[11,19,20],end:[11,31,20],name:"圣诞小镇",eff:"在小镇中闲逛来获取随机掉落的物品"}],A={1014:{name:"世界糖尿病日",eff:"获得三倍的糖类效果增益"},1015:{name:"周年庆",eff:"左上角的TORN图标可以食用"},1024:{name:"黑色星期五",eff:"某些商家将提供1元购活动"},1113:{name:"住院日",eff:"获得降低75%的住院时间增益"},"0104":{name:"周末自驾游",eff:"获得双倍的赛车点数与赛车技能等级增益"},"0114":{name:"情人节",eff:"使用爱情果汁(Love Juice)后获得降低攻击与复活的能量消耗的增益"},"0203":{name:"员工激励日",eff:"获得三倍的工作点数与火车增益"},"0217":{name:"圣帕特里克日",eff:"获得双倍的酒类效果增益,城市中可以捡到绿色世涛(Green Stout)"},"0320":{name:"420日",eff:"获得三倍的大麻(Cannabis)效果增益"},"0418":{name:"博物馆日",eff:"获得10%提高的博物馆PT兑换增益"},"0514":{name:"世界献血日",eff:"获得减半的抽血CD和扣血增益"},"0611":{name:"世界人口日",eff:"获得双倍的通过攻击获取的经验的增益"},"0629":{name:"世界老虎日",eff:"获得5倍的狩猎技能增益"},"0704":{name:"国际啤酒节",eff:"获得5倍的啤酒物品效果增益"},"0827":{name:"旅游节",eff:"获得双倍的起飞后物品携带容量增益"},"0915":{name:"饮料节",eff:"获得双倍的能量饮料效果增益"}};class P extends o{constructor(){super(),this.className="CompanyHelper",g.get("CHTrainsDetectSwitch")&&this.trainsDetect().then()}detectNow(){this.trainsDetect(!0).then()}trainsDetect(n=!1){return e(this,void 0,void 0,(function*(){if("icon73"!==(yield k.getInstance().getSessionData()).statusIcons.icons.company.iconID)return void t.info("火车检测跳过:非公司老板");let e=g.get("CHTrainsDetect")||0;if(n||b.getInstance().isNewDay(e,-6)){let e=b.getInstance().getTravelStage(),i=(yield k.getInstance().getUserState()).status;n&&t.info({travelStage:e,userStatus:i}),e===y.IN_TORN&&"ok"===i?c.getInstance().fetchText("/companies.php").then((e=>{let n=document.createElement("div"),i=b.getInstance().matchOne(e,/<body.+>/);if(!i)throw t.warn("火车检测: 无法获取数据"),new Error("火车检测: 无法获取数据");n.innerHTML=e.split(i)[1].split("</body>")[0].trim().replaceAll('rel="stylesheet"',"").replaceAll(".css","?404").replaceAll('type="text/javascript"','type="application/json"');let o=n.querySelector("span.trains");if(!o)throw t.error("火车检测出错: 无法获取火车数"),new Error("火车检测出错: 无法获取火车数");let a=parseInt(o.innerText),s=n.querySelectorAll(".company-rating .active").length/2||1;g.set("CHTrainsDetect",Date.now()),t.info("火车检测: 火车/星级: "+a+"/"+s),t.info({tmp:n}),a+s>20&&new f(`公司助手<br/><br/>火车检测:火车明日将溢出!${a}/20火车`,{timeout:15,force:!0,sysNotify:!0}),n.remove(),n=null})).catch((e=>{t.error("火车检测出错",e)})):t.warn("[火车检测] 用户状态错误,跳过火车检测",{travelStage:e,userStatus:i})}else t.info("火车检测:今日已提醒,跳过")}))}}class V extends o{constructor(){super(...arguments),this.className="Test"}test(){new w("").getElement().__POOL__=V.getPool(),t.info({NET:E.WH_NET_LOG})}case1(){}case2(){document.head.insertAdjacentHTML("afterbegin",'<meta http-equiv="Content-Security-Policy" content="connect-src \'self\'">')}case3(){return e(this,void 0,void 0,(function*(){P.getInstance().detectNow()}))}}var D="#wh-quick-fly-opt{background:#008000db;border-radius:4px;box-shadow:0 0 5px 1px #ffffff29;color:#fff;font-size:15px;left:64px;padding:8px;position:fixed;top:64px;width:220px;z-index:199999}#wh-quick-fly-opt p{margin:4px 0}#wh-quick-fly-opt a{border:1px solid;border-radius:2px;cursor:pointer;display:inline-block;padding:4px}#wh-quick-fly-opt label{display:block}#wh-quick-fly-opt select{margin:4px 0;padding:6px;width:100%}#wh-quick-fly-opt button{background:#00bcd4;border-radius:4px;color:#fff;cursor:pointer;float:right;font-size:16px;padding:8px}#wh-quick-fly-opt.wh-quick-fly-opt-hide *{display:none}#wh-quick-fly-opt.wh-quick-fly-opt-hide input{display:inline-block}info{display:block}";C(D);class B extends o{constructor(){super(...arguments),this.className="QuickFlyBtnHandler"}static doQuickFly(){const[e,t,n]=sessionStorage["wh-quick-fly"].trim().split(" ");if((new Date).getTime()-n>2e4)return void new f("超时,一键起飞计划已取消");const i=document.querySelector("div[data-id][data-key]");if(!i)return void new f("出错了,无法起飞,已取消");const o=i.getAttribute("data-key");window.getAction({type:"post",data:{step:"travel",id:B.getDestId(e),key:o,type:["standard","airstrip","private","business"][t]},success:function(e){new f(e),e.includes("err")?new f("起飞出错了"):window.location.href="https://www.torn.com/index.php"},before:function(){}}),delete sessionStorage["wh-quick-fly"]}static getDestId(e){return[2,12,9,3,10,7,8,5,6,11,4][e]}handle(){if(window.hasWHQuickFlyOpt)return;window.hasWHQuickFlyOpt=!0,b.addStyle(D);const e=document.createElement("div");e.id="wh-quick-fly-opt",e.innerHTML='<input type="button" value=" - "><p>主要用途:出院秒飞</p><p>点起飞,页面加载完成后会马上飞走</p><br><div><label>目的地:<select><option selected="selected">墨西哥</option><option>开曼</option><option>加拿大</option><option>󠁵󠁳夏威夷</option><option>嘤国</option><option>阿根廷</option><option>瑞士 (解毒)</option><option>立本</option><option>祖国</option><option>阿联酋 (UAE)</option><option>南非</option></select></label> <label>飞机:<select><option>普通飞机 - 不推荐</option><option selected="selected">PI小飞机</option><option>私人飞机 - WLT股票</option><option>商务飞机 - 机票或内衣店</option></select></label><p><a>查看花偶库存</a></p><p>注:需要验证时无法起飞</p><info></info><button>起飞</button></div>';const[t,n]=e.querySelectorAll("select");e.querySelector("button").addEventListener("click",(()=>{sessionStorage["wh-quick-fly"]=`${t.selectedIndex} ${n.selectedIndex} ${(new Date).getTime()}`,window.location.href.contains("travelagency.php")?B.doQuickFly():(new f("正在转跳"),location.href="https://www.torn.com/travelagency.php")})),e.querySelector("a").addEventListener("click",(e=>{e.preventDefault(),x.getInstance().clickHandler()})),e.querySelector("input").addEventListener("click",(t=>{e.classList.toggle("wh-quick-fly-opt-hide");const n=t.target;n.value=" - "===n.value?" + ":" - "}));const i=e.querySelector("info"),o=document.createElement("p"),a=document.createElement("p");i.append(o),i.append(a);const s=[["~54分","~36分","~26分","~16分"],["~1时10分","~50分","~36分","~22分"],["~1时22分","~58分","~40分","~24分"],["~4时28分","~3时8分","~2时14分","~1时20分"],["~5时18分","~3时42分","~2时40分","~1时36分"],["~5时34分","~3时54分","~2时46分","~1时40分"],["~5时50分","~4时6分","~2时56分","~1时46分"],["~7时30分","~5时16分","~3时46分","~2时16分"],["~8时4分","~5时38分","~4时2分","~2时24分"],["~9时2分","~6时20分","~4时30分","~2时42分"],["~9时54分","~6时56分","~4时58分","~2时58分"]],r=function(){o.innerHTML=`往返时间:${s[t.selectedIndex][n.selectedIndex]}`};t.addEventListener("change",r),n.addEventListener("change",r),document.body.append(e),r(),a.innerHTML=`药CD剩余${b.getYaoCD()}`}}class H extends o{constructor(){super(...arguments),this.className="NNB"}handle(){let{isPDA:e,PDA_APIKey:t}=T.getInstance();const n='<style>#wh-popup-cont label p{padding:0 0 0 1em}#wh-popup-cont label span{font-weight:700}</style><p id="wh-nnb-info-container"></p><p><b>NNB</b><b>N</b>atural <b>N</b>erve <b>B</b>ar意思是扣除所有加成后玩家本身的犯罪条上限可用于衡量大佬隐藏的犯罪技能等级</p><p>一般来说,左侧红色的犯罪条(<b>N</b>erve <b>B</b>ar/<b>NB</b>)的上限都是包含加成的,如来自帮派、天赋的加成等。额外的加成不会影响玩家的犯罪技能</p><p>查看NNB的方法很简单在Torn主页面的最下方有一栏PerksNB-Perks=NNB</p><div><p>以下是两种计算NNB的方法</p><label><input checked="checked" name="wh-nnb-check-select" type="radio" value="bw"><b>冰蛙或PDA (推荐)</b><p>由于需要用到APIKey因此需要冰蛙或PDA提供</p><p>当前可以使用的APIKey<br><input readonly="readonly" value="{{}}">(来自冰蛙)<br><input readonly="readonly" value="{{}}">(来自PDA)</p></label> <label><input name="wh-nnb-check-select" type="radio" value="ori"><b>普通方法</b><p>该方法不需要APIKey但是仅限在主页面海外或飞行状态不可用的时候</p></label></div><button>计算</button>'.replace("{{}}",localStorage.getItem("APIKey")||"不可用").replace("{{}}",e?t:"不可用"),i=new w(n,"查看NNB").getElement(),o=i.querySelector("input"),a=i.querySelector("p");i.querySelector("button").addEventListener("click",(n=>{let i=n.target;if(i.style.display="none",a.innerHTML="加载中",o.checked){const n=e?t:window.localStorage.getItem("APIKey");window.fetch(`https://api.torn.com/user/?selections=bars,perks&key=${n}`).then((e=>e.json())).then((e=>{if(e.error)return a.innerHTML=`出错了 ${JSON.stringify(e.error)}`,void(i.style.display=null);let t=e.nerve.maximum,n=0;Object.values(e).forEach((e=>{e instanceof Array&&e.forEach((e=>{(e=e.toLowerCase()).includes("maximum nerve")&&(n+=0|new RegExp("[0-9].").exec(e)[0])}))})),a.innerHTML="NNB: "+(t-n),i.style.display=null}))}else{if(window.location.href.includes("index.php")&&document.title.includes("Home")){let e=0|document.querySelector('#barNerve p[class^="bar-value___"]').innerText.split("/")[1],t=0;return document.querySelectorAll("#personal-perks li").forEach((e=>{const n=e.innerText.toLowerCase();n.includes("maximum nerve")&&(t+=0|/[0-9]./.exec(n)[0])})),a.innerHTML="NNB: "+(e-t),void(i.style.display=null)}a.innerHTML='不在主页面,<a href="/index.php">点击前往</a>',i.style.display=null}}))}}var O=".wh-link-collection-cont a{background:#efefef;background:linear-gradient(#f1f1f1,#e3e3e3);border:1px solid #b3b3b3;border-radius:4px;color:#000!important;display:inline-block;margin:0 5px 2px 0;padding:4px 8px;text-align:center}.wh-link-collection-cont span{display:block}.wh-link-collection-cont .wh-link-collection-img{background-size:100% auto!important;display:block;height:30px;width:60px}";C(O);class R extends o{constructor(){super(),this.className="QuickLinksHandler",this.styleAdded=!1,this.list=[];let e=this.list;e.push({name:"生存手册",url:"https://docs.qq.com/doc/DTVpmV2ZaRnB0RG56",new_tab:!0,img:"https://www.torn.com/images/items/293/medium.png"}),e.push({name:"抢啤酒",url:"https://www.torn.com/shops.php?step=bitsnbobs",new_tab:!0,img:"https://www.torn.com/images/items/180/medium.png"}),e.push({name:"买XAN",url:"https://www.torn.com/imarket.php#/p=shop&step=shop&type=&searchname=Xanax",new_tab:!0,img:"https://www.torn.com/images/items/206/medium.png"}),e.push({name:"起飞",url:"https://www.torn.com/travelagency.php",new_tab:!0,img:"https://www.torn.com/images/items/396/medium.png"}),e.push({name:"买PT",url:"https://www.torn.com/pmarket.php",new_tab:!0,img:"https://www.torn.com/images/items/722/medium.png"}),e.push({name:"租PI",url:"https://www.torn.com/properties.php?step=rentalmarket#/property=13",new_tab:!1,img:"https://www.torn.com/images/v2/properties/350x230/350x230_default_private_island.png"}),e.push({name:"找工作",url:"https://www.torn.com/joblist.php#!p=main",new_tab:!1,img:"https://www.torn.com/images/items/421/medium.png"}),e.push({name:"下悬赏",url:"https://www.torn.com/bounties.php#/p=add",new_tab:!1,img:"https://www.torn.com/images/items/431/medium.png"})}handle(){this.styleAdded||(b.addStyle(O),this.styleAdded=!0);const e=this.list;let t="<p>";e.forEach((e=>{t+=`<a href="${e.url}"${e.new_tab?' target="_blank"':""}><span class="wh-link-collection-img" style="background: url(${e.img})"></span><span>${e.name}</span></a>`})),t+="</p>";let n=new w(t,"常用链接");n.getElement().classList.add("wh-link-collection-cont"),n.getElement().addEventListener("click",(e=>{let t=e.target;"a"!==t.tagName.toLowerCase()&&"span"!==t.tagName.toLowerCase()||n.close()}))}}class F extends o{constructor(){super(...arguments),this.className="ItemPriceWatcherHandler"}handle(){const e=g.get("priceWatcher"),t=JSON.stringify(e),n='<style>#wh-popup-cont input{width:12em}#wh-popup-cont input[type=number]{width:8em}</style><p>输入需要监视的价格,低于该价格发出通知,-1为关闭</p><p>注需要APIKey当前可用APIKey为<br><input readonly="readonly" value="{{}}">(来自冰蛙)<br><input readonly="readonly" value="{{}}">(来自PDA)</p><p><b>PT</b><label>$ <input type="number" value="{{}}"></label></p><p><b>XAN</b><label>$ <input type="number" value="{{}}"></label></p><p><button>确定</button></p>'.replace("{{}}",localStorage.getItem("APIKey")||"不可用").replace("{{}}",T.getInstance().isPDA?T.getInstance().PDA_APIKey:"不可用").replace("{{}}",e.pt||-1).replace("{{}}",e.xan||-1),i=new w(n,"价格监视设置");i.getElement().querySelector("button").onclick=()=>{const[n,o]=Array.from(i.getElement().querySelectorAll('input[type="number"]'));e.pt=0|n.value,e.xan=0|o.value,JSON.stringify(e)!==t&&g.set("priceWatcher",e),i.close()}}}class q extends o{constructor(){super(...arguments),this.className="MDUtils"}parse(e,t){t=t||500;const n=document.createElement("div");let i=e.split("\n");i.length>t&&(i=i.slice(0,t),i.push("..."));let o,a="";return i.forEach((e=>{if(""===e.trim())return;let t,i=e.split(" ")[0];switch(i){case"#":case"##":case"###":return"li"===a&&(o=null),a="h"+(i.length+1),t=document.createElement(a),t.innerText=e.slice(i.length+1),void n.append(t);case"-":return"li"!==a&&(o=document.createElement("ul"),n.contains(o)||n.append(o)),a="li",t=document.createElement(a),t.innerText=e.slice(2),void o.append(t)}a="p",t=document.createElement(a),t.innerText=e.trim(),n.append(t)})),n}}class G extends o{constructor(){super(...arguments),this.className="ChangeLogHandler"}handle(){let e=new w('更新历史:<br/><a target="_blank" href="https://gitlab.com/JJins/wuhu-torn-helper/-/blob/dev/CHANGELOG.md">https://gitlab.com/JJins/wuhu-torn-helper/-/blob/dev/CHANGELOG.md</a><br/>',"更新历史").getElement();e.classList.add("wh-changeLog");let n=document.createElement("div");n.style.height="2px",n.style.width="1%",n.style.backgroundColor="red";let i=document.createElement("p");i.innerText="加载更新文件……",i.style.textAlign="center";let o=document.createElement("style");o.innerHTML=".wh-changeLog h2,.wh-changeLog h3,.wh-changeLog h4 {margin:8px 0;}.wh-changeLog li{list-style: inside;}",e.append(n,i,o),b.COFetch("https://gitlab.com/JJins/wuhu-torn-helper/-/raw/dev/CHANGELOG.md?"+performance.now()).then((t=>{n.style.width="60%",i.innerText="解析中……";let o=q.getInstance().parse(t);e.append(o),n.style.width="100%",i.innerText="加载完成",window.setTimeout((()=>{n.remove(),i.remove()}),3e3)})).catch((e=>{t.error(e),n.remove(),i.innerText="无法加载"}))}}class W extends o{constructor(){super(...arguments),this.className="UpdateTranslateDict"}handle(){new f("计划中")}}function j(){let e=document.createElement("p"),t=document.createElement("input"),n=document.createElement("button"),i=document.createElement("button"),o=document.createElement("button"),a=document.createElement("button"),s=document.createElement("br");e.innerHTML="飞机落地后转跳的页面,关闭功能请置空:",t.placeholder="URL",t.value=g.get("landedRedirect")||"",t.style.display="block",t.style.textAlign="left",t.style.width="100%",t.style.padding="8px",t.style.margin="8px -8px",n.innerHTML="保存",i.innerHTML="填入公司金库",o.innerHTML="填入帮派金库金库",a.innerHTML="测试链接",n.addEventListener("click",(()=>g.set("landedRedirect",t.value,!0))),i.addEventListener("click",(()=>t.value="https://www.torn.com/companies.php#/option=funds")),o.addEventListener("click",(()=>t.value="https://www.torn.com/factions.php?step=your#/tab=armoury")),a.addEventListener("click",(()=>window.open(t.value))),new w("","落地转跳").getElement().append(e,t,n,s,i,o,a)}class U extends o{constructor(){super(...arguments),this.className="ViewLogsHandler"}handle(){let e=t.getCounter(),n=new w('<style>#WHLogsCont{width:100%;height:340px}#WHLogsCont p{overflow-x:auto;white-space:nowrap;word-break:keep-all}</style><p>{{}}信息 {{}}警告 {{}}错误 <button class="torn-btn">导出日志</button></p><div id="WHLogsCont">加载中</div>'.replace("{{}}",e.info.toString()).replace("{{}}",e.warning.toString()).replace("{{}}",e.error.toString()),"查看日志");window.setTimeout((()=>{let e=n.getElement().querySelector("div"),i=document.createElement("div");t.getLogs().split("\r\n").forEach((e=>{let t=document.createElement("p");t.innerText=e,e.slice(0,10).includes("ERR")?t.style.backgroundColor="#ff000080":e.slice(0,10).includes("WRN")&&(t.style.backgroundColor="#ffff0080"),i.append(t)})),n.getElement().querySelector("button").addEventListener("click",(()=>window.setTimeout((()=>{b.getInstance().exportTextFile("wuhu_log_"+t.getTime().replace("[","").replace("]","").replace(" ","").replace(".","").replaceAll("-","").replaceAll(":","")+".log",[t.getLogs()])}),0))),e.innerHTML="",e.append(i)}),0)}}class z{constructor(e,n){t.info("创建DialogMsgBox",{msg:e,opt:n});let{title:i="提示",callback:o,cancel:a}=n;if(!o)throw t.error("无callback"),new Error("无callback");if(z.existed)throw t.error("无法创建DialogMsgBox已存在"),new Error("无法创建DialogMsgBox已存在");this.container=document.createElement("div"),this.container.id="wh-dialog",this.container.innerHTML='<style>html{overflow:hidden!important}#chatRoot{display:none!important}#wh-dialog{position:absolute;background:#00000066;flex-direction:column;top:0;left:0;right:0;bottom:0;z-index:290001}#wh-dialog .top-round{text-align:center}#wh-dialog div.wh-content{padding:1em}#wh-dialog .border-round{margin:auto;max-width:400px;position:fixed;top:100px;left:0;right:0}#wh-dialog .pin-bottom{text-align:center;padding:8px 0}</style><div class="border-round"><div class="title-black top-round">{{}}</div><div class="bottom-round cont-gray"><div class="wh-content">{{}}</div><div class="non-selection pin-bottom"><button class="torn-btn">确定</button> <button class="torn-btn">取消</button></div></div></div>'.replace("{{}}",i).replace("{{}}",e);let[s,r]=Array.from(this.container.querySelectorAll("button"));s.addEventListener("click",(()=>{o(this.container),this.destroy()})),r.addEventListener("click",(()=>{a&&a(),this.destroy()})),document.body.append(this.container),z.existed=!0}destroy(){this.container.remove(),z.existed=!1}}z.existed=!1;var J='<div class="wh-translate"><div class="title-black" style="border-radius:5px 5px 0 0"><span>常用犯罪</span></div><div class="cont-gray" style="padding:6px 0;border-radius:0 0 5px 5px"><form action="crimes.php?step=docrime4" method="post" style="display:inline-block;margin:0 5px"><input name="nervetake" type="hidden" value="18"> <input name="crime" type="hidden" value="hackbank"> <input style="-webkit-appearance:none;padding:4px;background:#e91e63;border-radius:5px;color:#fff" type="submit" value="18-1"></form><form action="crimes.php?step=docrime4" method="post" style="display:inline-block;margin:0 5px"><input name="nervetake" type="hidden" value="15"> <input name="crime" type="hidden" value="napcop"> <input style="-webkit-appearance:none;padding:4px;background:#e91e63;border-radius:5px;color:#fff" type="submit" value="15-3(慎)"></form><form action="crimes.php?step=docrime4" method="post" style="display:inline-block;margin:0 5px"><input name="nervetake" type="hidden" value="11"> <input name="crime" type="hidden" value="warehouse"> <input style="-webkit-appearance:none;padding:4px;background:#2196f3;border-radius:5px;color:#fff" type="submit" value="烧仓库"></form><form action="crimes.php?step=docrime4" method="post" style="display:inline-block;margin:0 5px"><input name="nervetake" type="hidden" value="7"> <input name="crime" type="hidden" value="thoroughrobbery"> <input style="-webkit-appearance:none;padding:4px;background:#2196f3;border-radius:5px;color:#fff" type="submit" value="7-2(仅过渡用)"></form><form action="crimes.php?step=docrime4" method="post" style="display:inline-block;margin:0 5px"><input name="nervetake" type="hidden" value="4"> <input name="crime" type="hidden" value="jacket"> <input style="-webkit-appearance:none;padding:4px;background:#009688;border-radius:5px;color:#fff" type="submit" value="偷夹克"></form><form action="crimes.php?step=docrime2" method="post" style="display:inline-block;margin:0 5px"><input name="nervetake" type="hidden" value="3"> <input name="crime" type="hidden" value="cdrock"> <input style="-webkit-appearance:none;padding:4px;background:#009688;border-radius:5px;color:#fff" type="submit" value="卖碟"></form><form action="crimes.php?step=docrime2" method="post" style="display:inline-block;margin:0 5px"><input name="nervetake" type="hidden" value="2"> <input name="crime" type="hidden" value="searchtrainstation"> <input style="-webkit-appearance:none;padding:4px;background:#009688;border-radius:5px;color:#fff" type="submit" value="捡钱"></form></div><hr class="m-bottom10 m-top10 page-head-delimiter r1854"></div>';class Y extends o{constructor(){super(...arguments),this.className="IFrameCrimeHandler"}handle(){const e='<iframe src="/crimes.php?step=main" style="width:100%;max-width: 450px;margin: 0 auto;display: none;height: 340px;"></iframe>',t=`<p>加载中请稍后${b.loading_gif_html()}</p><div id="wh-quick-crime-if-container"></div>`,n=new w(t,"小窗快速犯罪").getElement();let i=n.querySelector("p:first-of-type");const o=n.querySelector("#wh-quick-crime-if-container");o.innerHTML=e;const a=document.createElement("div");a.classList.add("wh-translate"),a.innerHTML=J;let s=n.querySelector("iframe");const r=()=>{const e=s.contentWindow.document,t=s.contentWindow.WHTRANS;i&&i.remove(),s.style.display="block";const n=e.querySelector("h4#skip-to-content").innerText.toLowerCase().includes("validate");void 0===t&&(b.elementReady("#header-root",e).then((e=>e.style.display="none")),b.elementReady("#sidebarroot",e).then((e=>e.style.display="none")),b.elementReady("#chatRoot",e).then((e=>e.style.display="none")),n||(e.body.style.overflow="hidden"),b.elementReady(".content-wrapper",e).then((e=>{e.prepend(a),e.style.margin="0px",e.style.position="absolute",e.style.top="-35px",new MutationObserver(((t,n)=>{n.disconnect(),e.querySelector(".wh-translate")||e.prepend(a),n.observe(e,{childList:!0,subtree:!0})})).observe(e,{childList:!0,subtree:!0})})),b.elementReady("#go-to-top-btn button",e).then((e=>e.style.display="none")))};s.onload=r;let l=0,c=window.setInterval((()=>{if(i=n.querySelector("p:first-of-type"),!i)return clearInterval(c),void(c=void 0);if(l++,l>0&&!i.querySelector("button")){const t=document.createElement("button");t.innerHTML="重新加载",t.onclick=()=>{t.remove(),l=0,o.innerHTML=null,o.innerHTML=e,s=n.querySelector("iframe"),s.onload=r},i.append(t)}}),1e3)}}function K(){try{return(JSON.parse(localStorage.getItem("wh_trans_settings"))||{}).isDev||!1}catch(e){return console.error(`[wh] dev状态错误 ${e}`),!1}}const X={error:(...e)=>K()&&console.error("[WH]",...e),info:(...e)=>K()&&console.log("[WH]",...e),debug:K};function Z(e){if(e!==r.PDA)if(e!==r.GM)new f("暂不支持");else if("function"!=typeof window.Vue){let e=new f("正在加载依赖");b.COFetch("https://cdn.staticfile.org/vue/2.2.2/vue.min.js").then((t=>{window.eval(t),e.close(),e=new f("已载入依赖"),window.GM_getValue=(e,t=undefined)=>JSON.parse(window.localStorage.getItem("wh-gs-storage")||"{}")[e]||t,window.GM_setValue=(e,t)=>{const n=JSON.parse(window.localStorage.getItem("wh-gs-storage")||"{}");n[e]=t,window.localStorage.setItem("wh-gs-storage",JSON.stringify(n))},b.COFetch(`https://gitee.com/ameto_kasao/tornjs/raw/master/GoldenSnitch.js?${performance.now()}`).then((t=>{window.eval(t),X.debug()&&window.GM_setValue("gsp_showContent",!0),e.close(),e=new f("已载入飞贼助手")})).catch((e=>new f(`PDA API错误。${JSON.stringify(e)}`)))})).catch((e=>new f(JSON.stringify(e))))}else new f("飞贼助手已经加载了");else{let e=document.querySelector("#wh-gs-loader-ifr");if(e)return void new f("飞贼小助手已经加载了");const t=document.createElement("div");t.id="wh-gs-loader",e=document.createElement("iframe"),e.id="wh-gs-loader-ifr",e.src="https://www.torn.com/crimes.php",t.append(e),document.body.append(t),function(e){let t=document.querySelector("style#wh-trans-gStyle");t?t.innerHTML+=e:(t=document.createElement("style"),t.id="wh-trans-gStyle",t.innerHTML=e,document.head.append(t)),X.info("CSS规则已添加",t)}("\n#wh-gs-loader {\nposition:fixed;\ntop:0;\nleft:0;\nz-index:100001;\n}\n");let n=new f("加载中");e.onload=()=>{n.close();const t=e.contentWindow,i=t.document;i.head.innerHTML="",i.body.innerHTML="",n=new f("加载依赖"),b.COFetch("https://cdn.staticfile.org/vue/2.2.2/vue.min.js").then((o=>{n.close(),t.eval(o),t.GM_getValue=(e,n=undefined)=>JSON.parse(t.localStorage.getItem("wh-gs-storage")||"{}")[e]||n,t.GM_setValue=(e,n)=>{const i=JSON.parse(t.localStorage.getItem("wh-gs-storage")||"{}");i[e]=n,t.localStorage.setItem("wh-gs-storage",JSON.stringify(i))},t.GM_xmlhttpRequest=function(e){"post"!==e.method.toLowerCase()&&b.COFetch(e.url).then((t=>{const n={responseText:t};e.onload(n)}))},n=new f("加载飞贼小助手"),b.COFetch(`https://gitee.com/ameto_kasao/tornjs/raw/master/GoldenSnitch.js?${performance.now()}`).then((o=>{t.eval(o.replace("http://222.160.142.50:8154/mugger","https://api.ljs-lyt.com/mugger")),t.GM_setValue("gsp_x",10),t.GM_setValue("gsp_y",10),n.close(),n=new f("飞贼小助手已加载",{timeout:1});const a=i.querySelector("#gsp"),s=()=>{e.style.height=`${a.offsetHeight+10}px`,e.style.width=`${a.offsetWidth+20}px`,a.style.top="10px",a.style.left="10px"};new MutationObserver(s).observe(a,{childList:!0,subtree:!0}),s(),X.debug()&&t.GM_setValue("gsp_showContent",!0)}))}))}}}class Q extends o{constructor(){super(...arguments),this.className="AdditionalSettingsHandler"}handle(){let e=new w("","更多设定");[{domType:"button",domId:"",domText:"清空设置",clickFunc(){new z("将清空所有芜湖助手相关设置并刷新页面,确定?",{callback:()=>{localStorage.removeItem("wh_trv_alarm"),localStorage.removeItem("wh_trans_settings"),localStorage.removeItem("whuuid"),localStorage.removeItem("wh-gs-storage"),localStorage.removeItem("WHTEST"),new f("已清空,刷新页面"),window.location.reload()}})}},{domType:"button",domId:"",domText:"通知权限",clickFunc(){}},{domType:"button",domId:"",domText:"第三方API通信权限",clickFunc(){}},{domType:"button",domId:"",domText:"小窗犯罪",clickFunc(){Y.getInstance().handle()}},{domType:"button",domId:"",domText:"飞贼小助手",tip:"加载从PC端移植的伞佬的油猴版飞贼小助手",clickFunc(){Z(b.getScriptEngine())}}].forEach((t=>e.getElement().append(b.getInstance().elemGenerator(t,e.getElement()))))}}class ee extends o{constructor(){super(),this.className="CustomCssHandler"}handle(){let e=new w('<div><textarea></textarea><button class="torn-btn">保存</button><style>#wh-popup textarea{display: block;}</style></div>',"自定义CSS"),t=e.getElement().querySelector("textarea"),n=e.getElement().querySelector("button");t.value=g.get("CustomCss")||"",n.addEventListener("click",(()=>{g.set("CustomCss",t.value||"",!0)}))}}class te extends o{constructor(){super(),this.className="SettingsHandler",this.list=[],this.constructWuhuSettingList()}handler(){let e=new n;t.info("构造设置开始");let i=new w(b.loading_gif_html(),"芜湖助手设置");window.setTimeout((()=>{let n=document.createElement("div");n.classList.add("gSetting"),this.list.forEach((e=>b.getInstance().elemGenerator(e,n))),n.querySelector("#wh-qua-alarm-check-btn").addEventListener("click",(()=>S.getInstance().skip_today())),i.getElement().innerHTML="",i.getElement().appendChild(n),window.initializeTooltip&&window.initializeTooltip("#wh-popup-cont","white-tooltip"),t.info("构造设置结束 "+e.getTimeMs())}),0)}constructWuhuSettingList(){let e=new n;t.info("构造设置列表开始");const i=new Date;let o=S.getInstance(),a=this.list;return 11===i.getMonth()&&(a.push({domType:"plain",domId:"",domHTML:"圣诞小镇",tagName:"h4"}),a.push({domType:"checkbox",domId:"wh-xmastown-wt",domText:" 圣诞小镇攻略",dictName:"xmasTownWT",isHide:!0}),a.push({domType:"checkbox",domId:"wh-xmastown-notify",domText:" 圣诞小镇物品提示",dictName:"xmasTownNotify",isHide:!0})),a.push({domType:"plain",domId:"",domHTML:"翻译",tagName:"h4"}),a.push({domType:"checkbox",domId:"wh-trans-enable",domText:" 开启翻译",dictName:"transEnable",isHide:!0}),a.push({domType:"checkbox",domId:"",domText:" 新翻译",dictName:"transNew",tip:"改进后的翻译,更好的性能"}),a.push({domType:"button",domId:"",domText:"更新翻译词库",isTornBtn:!0,clickFunc:()=>W.getInstance().handle()}),a.push({domType:"checkbox",domId:"",domText:" 收集数据以改进翻译质量",dictName:"CollectPlayerData",tip:"未实现功能<br/>收集玩家基础信息与页面上(未翻译)的内容上传以改进翻译"}),a.push({domType:"plain",domId:"",domHTML:"战斗",tagName:"h4"}),a.push({domType:"select",domId:"wh-quick-attack-index",domText:"光速拔刀 ",domSelectOpt:[{domVal:"pri",domText:"主手"},{domVal:"sec",domText:"副手"},{domVal:"wea",domText:"近战"},{domVal:"gre",domText:"手雷"},{domVal:"fis",domText:"拳头"},{domVal:"kic",domText:"脚踢"},{domVal:"none",domText:"关闭"}],dictName:"quickAttIndex",tip:"将Start Fight按钮移动到指定格子上"}),a.push({domType:"select",domId:"wh-quick-mug",domText:"光速跑路 ",domSelectOpt:[{domVal:"leave",domText:"跑路(LEAVE)"},{domVal:"mug",domText:"打劫(MUG)"},{domVal:"hosp",domText:"住院(HOSP)"},{domVal:"none",domText:"关闭"}],dictName:"quickFinishAtt",tip:"将结束后指定按钮移动到上面指定的格子上"}),a.push({domType:"checkbox",domId:"wh-attack-relocate",domText:" 真·攻击界面转跳",dictName:"attRelocate",tip:"在无法打开攻击界面的情况下依然可以转跳到正确的攻击页面失效Ched疑似已移除此转跳"}),a.push({domType:"select",domId:"",domText:"盯梢模式强度 ",domSelectOpt:[{domVal:"550",domText:"强"},{domVal:"950",domText:"标准"},{domVal:"1450",domText:"弱"}],dictName:"WatchTargetFreq",tip:"越强盯得越紧刷新越快越容易触发Torn大流量保护机制<br/>强 ~0.6s<br/>标准 ~1s<br/>弱 ~1.5s"}),a.push({domType:"plain",domId:"",domHTML:"飞行",tagName:"h4"}),a.push({domType:"checkbox",domId:"wh-energy-alert",domText:" 起飞爆E警告",dictName:"energyAlert",tip:"起飞前计算来回是否会爆体,红字警告",isHide:!0}),a.push({domType:"checkbox",domId:"wh-trv-alarm-check",domText:" 飞行闹钟",dictName:"trvAlarm",tip:"(仅PC) 飞行页面将显示一个内建的闹钟,落地前声音提醒,需要打开浏览器声音权限",isHide:!0}),a.push({domType:"checkbox",domId:"",domText:" 海外警告",dictName:"abroadWarning",tip:"海外落地后每30秒通知警告"}),a.push({domType:"button",domId:"",isTornBtn:!0,domText:"落地转跳",clickFunc:j}),a.push({domType:"plain",domId:"",domHTML:"公司",tagName:"h4"}),a.push({domType:"checkbox",domId:"",domText:" 浮动存钱框",dictName:"floatDepo",tip:"打开公司或帮派的存钱页面后存钱框将浮动显示"}),a.push({domType:"checkbox",domId:"",domText:" 公司转跳存钱",dictName:"companyRedirect",tip:"打开公司页面时自动打开存钱选项卡"}),a.push({domType:"checkbox",domId:"",domText:" 收起公司冰蛙效率表",dictName:"companyBWCollapse",tip:"开启后可手动显示隐藏冰蛙公司表格"}),a.push({domType:"checkbox",domId:"",domText:" 任何位置一键存钱",dictName:"companyDepositAnywhere",tip:"在所有页面显示一键存钱按钮Torn OK状态下可用此功能未完全测试无害使用请慎重"}),a.push({domType:"checkbox",domId:null,domText:"火车检测",dictName:"CHTrainsDetectSwitch",tip:"检测明日火车是否会超出上限,需要系统通知权限"}),a.push({domType:"plain",domId:"",domHTML:"啤酒",tagName:"h4"}),a.push({domType:"checkbox",domId:"wh-qua-alarm-check",domText:'<span> 啤酒提醒 </span><button id="wh-qua-alarm-check-btn" class="torn-btn">今日不提醒</button>',dictName:"_15Alarm",tip:"每小时的整15分钟的倍数时通知提醒抢啤酒或者血包",isHide:!0,changeEv:function(e){e.target.checked?o.start():o.stop()}}),a.push({domType:"button",domId:"",isTornBtn:!0,domText:"啤酒提醒状态",clickFunc:function(){new f(`啤酒提醒${o.status()}`)}}),a.push({domType:"button",domId:"",domText:"啤酒提醒时间设定",isTornBtn:!0,clickFunc:()=>S.getInstance().setTimeHandler()}),a.push({domType:"plain",domId:"",domHTML:"个人资料",tagName:"h4"}),a.push({domType:"checkbox",domText:"隐藏个人资料头像",dictName:"HideProfileImg",domId:""}),a.push({domType:"checkbox",domText:"显示曾用名",dictName:"ShowNameHistory",domId:""}),a.push({domType:"checkbox",domText:"迷你资料卡显示上次行动时间",dictName:"ShowMiniProfLastAct",domId:""}),a.push({domType:"plain",domId:"",domHTML:"侧边栏",tagName:"h4"}),a.push({domType:"checkbox",domId:"",domText:" 4条转跳",dictName:"barsRedirect",tip:"点击4条时转跳对应页面手机端不建议开启"}),a.push({domType:"checkbox",domId:"",domText:" 添加隐藏边栏按钮",dictName:"HideSidebarBtn",tip:"仅PC"}),a.push({domType:"checkbox",domId:"",domText:" 现金变动提醒",dictName:"CashChangeAlert",tip:"插件图标下方显示现金、现金变动时通知提醒<br/>注: 刷新页面生效、系统级通知需要浏览器权限"}),a.push({domType:"plain",domId:"",domHTML:"其他",tagName:"h4"}),a.push({domType:"checkbox",domId:"wh-mission-lint",domText:" 任务助手",dictName:"missionHint",tip:"Duke任务的一些中文小提示",isHide:!0}),a.push({domType:"checkbox",domId:"wh-city-finder",domText:" 捡垃圾助手",dictName:"cityFinder",tip:"城市地图中放大显示物品并且估计价值",isHide:!0}),a.push({domType:"checkbox",domId:"wh-quick-crime",domText:" 快速犯罪",dictName:"quickCrime",tip:"显示快捷操作按钮,目前不支持自定义",isHide:!0}),a.push({domType:"checkbox",domId:"wh-SEProtect-check",domText:" 叠E保护",dictName:"SEProtect",tip:"隐藏健身房的锻炼按钮,防止误操作",isHide:!0}),a.push({domType:"checkbox",domId:"wh-ptQuickBuy-check",domText:" PT一键购买",dictName:"ptQuickBuy",tip:"PT市场页面购买时跳过确认",isHide:!0}),a.push({domType:"checkbox",domId:null,domText:" 搜索页空白占位区",dictName:"SearchPagePlaceholder"}),a.push({domType:"checkbox",domId:null,domText:" 解决一直转圈(加载中)的问题",dictName:"SolveGoogleScriptPendingIssue",tip:"Torn引入Google登陆后可能会出现这种问题<br/>启用功能影响:<br/>页面加载速度变慢,与其他插件冲突,如遇到问题请关闭<br/>并使用其他更科学的方法解决"}),a.push({domType:"checkbox",domId:null,domText:" 记住图标位置",dictName:"SaveIconPosition",tip:"记住图标移动后的位置"}),a.push({domType:"checkbox",domId:"wh-dev-mode",domText:"开发模式",dictName:"isDev",isHide:!0}),a.push({domType:"button",domId:null,domText:"自定义CSS",isTornBtn:!0,clickFunc:()=>ee.getInstance().handle()}),a.push({domType:"button",domId:null,domText:"查看日志",isTornBtn:!0,clickFunc:()=>U.getInstance().handle()}),a.push({domType:"button",domId:"wh-otherBtn",domText:"更多设定",isTornBtn:!0,clickFunc:()=>Q.getInstance().handle()}),t.info("构造设置列表结束"+e.getTimeMs()),this}}function ne(e,t){const n=Object.create(null),i=e.split(",");for(let e=0;e<i.length;e++)n[i[e]]=!0;return t?e=>!!n[e.toLowerCase()]:e=>!!n[e]}const ie=ne("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt");function oe(e){if(Ie(e)){const t={};for(let n=0;n<e.length;n++){const i=e[n],o=Le(i)?le(i):oe(i);if(o)for(const e in o)t[e]=o[e]}return t}return Le(e)||Pe(e)?e:void 0}const ae=/;(?![^(]*\))/g,se=/:([^]+)/,re=/\/\*.*?\*\//gs;function le(e){const t={};return e.replace(re,"").split(ae).forEach((e=>{if(e){const n=e.split(se);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function ce(e){let t="";if(Le(e))t=e;else if(Ie(e))for(let n=0;n<e.length;n++){const i=ce(e[n]);i&&(t+=i+" ")}else if(Pe(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const de=ne("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function ue(e){return!!e||""===e}function pe(e,t){if(e===t)return!0;let n=Ne(e),i=Ne(t);if(n||i)return!(!n||!i)&&e.getTime()===t.getTime();if(n=Ae(e),i=Ae(t),n||i)return e===t;if(n=Ie(e),i=Ie(t),n||i)return!(!n||!i)&&function(e,t){if(e.length!==t.length)return!1;let n=!0;for(let i=0;n&&i<e.length;i++)n=pe(e[i],t[i]);return n}(e,t);if(n=Pe(e),i=Pe(t),n||i){if(!n||!i)return!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e){const i=e.hasOwnProperty(n),o=t.hasOwnProperty(n);if(i&&!o||!i&&o||!pe(e[n],t[n]))return!1}}return String(e)===String(t)}function he(e,t){return e.findIndex((e=>pe(e,t)))}const me=e=>Le(e)?e:null==e?"":Ie(e)||Pe(e)&&(e.toString===De||!Me(e.toString))?JSON.stringify(e,fe,2):String(e),fe=(e,t)=>t&&t.__v_isRef?fe(e,t.value):Ee(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n])=>(e[`${t} =>`]=n,e)),{})}:_e(t)?{[`Set(${t.size})`]:[...t.values()]}:!Pe(t)||Ie(t)||He(t)?t:String(t),ge={},ye=[],be=()=>{},we=()=>!1,ve=/^on[^a-z]/,xe=e=>ve.test(e),ke=e=>e.startsWith("onUpdate:"),Se=Object.assign,Te=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ce=Object.prototype.hasOwnProperty,$e=(e,t)=>Ce.call(e,t),Ie=Array.isArray,Ee=e=>"[object Map]"===Be(e),_e=e=>"[object Set]"===Be(e),Ne=e=>"[object Date]"===Be(e),Me=e=>"function"==typeof e,Le=e=>"string"==typeof e,Ae=e=>"symbol"==typeof e,Pe=e=>null!==e&&"object"==typeof e,Ve=e=>Pe(e)&&Me(e.then)&&Me(e.catch),De=Object.prototype.toString,Be=e=>De.call(e),He=e=>"[object Object]"===Be(e),Oe=e=>Le(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,Re=ne(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Fe=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},qe=/-(\w)/g,Ge=Fe((e=>e.replace(qe,((e,t)=>t?t.toUpperCase():"")))),We=/\B([A-Z])/g,je=Fe((e=>e.replace(We,"-$1").toLowerCase())),Ue=Fe((e=>e.charAt(0).toUpperCase()+e.slice(1))),ze=Fe((e=>e?`on${Ue(e)}`:"")),Je=(e,t)=>!Object.is(e,t),Ye=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},Ke=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Xe=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Ze,Qe;class et{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Qe,!e&&Qe&&(this.index=(Qe.scopes||(Qe.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=Qe;try{return Qe=this,e()}finally{Qe=t}}}on(){Qe=this}off(){Qe=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].stop(!0);if(!this.detached&&this.parent&&!e){const e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0,this._active=!1}}}const tt=e=>{const t=new Set(e);return t.w=0,t.n=0,t},nt=e=>(e.w&rt)>0,it=e=>(e.n&rt)>0,ot=new WeakMap;let at,st=0,rt=1;const lt=Symbol(""),ct=Symbol("");class dt{constructor(e,t=null,n){this.fn=e,this.scheduler=t,this.active=!0,this.deps=[],this.parent=void 0,function(e,t=Qe){t&&t.active&&t.effects.push(e)}(this,n)}run(){if(!this.active)return this.fn();let e=at,t=pt;for(;e;){if(e===this)return;e=e.parent}try{return this.parent=at,at=this,pt=!0,rt=1<<++st,st<=30?(({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=rt})(this):ut(this),this.fn()}finally{st<=30&&(e=>{const{deps:t}=e;if(t.length){let n=0;for(let i=0;i<t.length;i++){const o=t[i];nt(o)&&!it(o)?o.delete(e):t[n++]=o,o.w&=~rt,o.n&=~rt}t.length=n}})(this),rt=1<<--st,at=this.parent,pt=t,this.parent=void 0,this.deferStop&&this.stop()}}stop(){at===this?this.deferStop=!0:this.active&&(ut(this),this.onStop&&this.onStop(),this.active=!1)}}function ut(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let pt=!0;const ht=[];function mt(){ht.push(pt),pt=!1}function ft(){const e=ht.pop();pt=void 0===e||e}function gt(e,t,n){if(pt&&at){let t=ot.get(e);t||ot.set(e,t=new Map);let i=t.get(n);i||t.set(n,i=tt()),yt(i)}}function yt(e,t){let n=!1;st<=30?it(e)||(e.n|=rt,n=!nt(e)):n=!e.has(at),n&&(e.add(at),at.deps.push(e))}function bt(e,t,n,i,o,a){const s=ot.get(e);if(!s)return;let r=[];if("clear"===t)r=[...s.values()];else if("length"===n&&Ie(e)){const e=Number(i);s.forEach(((t,n)=>{("length"===n||n>=e)&&r.push(t)}))}else switch(void 0!==n&&r.push(s.get(n)),t){case"add":Ie(e)?Oe(n)&&r.push(s.get("length")):(r.push(s.get(lt)),Ee(e)&&r.push(s.get(ct)));break;case"delete":Ie(e)||(r.push(s.get(lt)),Ee(e)&&r.push(s.get(ct)));break;case"set":Ee(e)&&r.push(s.get(lt))}if(1===r.length)r[0]&&wt(r[0]);else{const e=[];for(const t of r)t&&e.push(...t);wt(tt(e))}}function wt(e,t){const n=Ie(e)?e:[...e];for(const e of n)e.computed&&vt(e);for(const e of n)e.computed||vt(e)}function vt(e,t){(e!==at||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const xt=ne("__proto__,__v_isRef,__isVue"),kt=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(Ae)),St=_t(),Tt=_t(!1,!0),Ct=_t(!0),$t=_t(!0,!0),It=function(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=pn(this);for(let e=0,t=this.length;e<t;e++)gt(n,0,e+"");const i=n[t](...e);return-1===i||!1===i?n[t](...e.map(pn)):i}})),["push","pop","shift","unshift","splice"].forEach((t=>{e[t]=function(...e){mt();const n=pn(this)[t].apply(this,e);return ft(),n}})),e}();function Et(e){const t=pn(this);return gt(t,0,e),t.hasOwnProperty(e)}function _t(e=!1,t=!1){return function(n,i,o){if("__v_isReactive"===i)return!e;if("__v_isReadonly"===i)return e;if("__v_isShallow"===i)return t;if("__v_raw"===i&&o===(e?t?on:nn:t?tn:en).get(n))return n;const a=Ie(n);if(!e){if(a&&$e(It,i))return Reflect.get(It,i,o);if("hasOwnProperty"===i)return Et}const s=Reflect.get(n,i,o);return(Ae(i)?kt.has(i):xt(i))?s:(e||gt(n,0,i),t?s:gn(s)?a&&Oe(i)?s:s.value:Pe(s)?e?sn(s):an(s):s)}}function Nt(e=!1){return function(t,n,i,o){let a=t[n];if(cn(a)&&gn(a)&&!gn(i))return!1;if(!e&&(dn(i)||cn(i)||(a=pn(a),i=pn(i)),!Ie(t)&&gn(a)&&!gn(i)))return a.value=i,!0;const s=Ie(t)&&Oe(n)?Number(n)<t.length:$e(t,n),r=Reflect.set(t,n,i,o);return t===pn(o)&&(s?Je(i,a)&&bt(t,"set",n,i):bt(t,"add",n,i)),r}}const Mt={get:St,set:Nt(),deleteProperty:function(e,t){const n=$e(e,t),i=Reflect.deleteProperty(e,t);return i&&n&&bt(e,"delete",t,void 0),i},has:function(e,t){const n=Reflect.has(e,t);return Ae(t)&&kt.has(t)||gt(e,0,t),n},ownKeys:function(e){return gt(e,0,Ie(e)?"length":lt),Reflect.ownKeys(e)}},Lt={get:Ct,set:(e,t)=>!0,deleteProperty:(e,t)=>!0},At=Se({},Mt,{get:Tt,set:Nt(!0)});Se({},Lt,{get:$t});const Pt=e=>e,Vt=e=>Reflect.getPrototypeOf(e);function Dt(e,t,n=!1,i=!1){const o=pn(e=e.__v_raw),a=pn(t);n||(t!==a&&gt(o,0,t),gt(o,0,a));const{has:s}=Vt(o),r=i?Pt:n?fn:mn;return s.call(o,t)?r(e.get(t)):s.call(o,a)?r(e.get(a)):void(e!==o&&e.get(t))}function Bt(e,t=!1){const n=this.__v_raw,i=pn(n),o=pn(e);return t||(e!==o&&gt(i,0,e),gt(i,0,o)),e===o?n.has(e):n.has(e)||n.has(o)}function Ht(e,t=!1){return e=e.__v_raw,!t&&gt(pn(e),0,lt),Reflect.get(e,"size",e)}function Ot(e){e=pn(e);const t=pn(this);return Vt(t).has.call(t,e)||(t.add(e),bt(t,"add",e,e)),this}function Rt(e,t){t=pn(t);const n=pn(this),{has:i,get:o}=Vt(n);let a=i.call(n,e);a||(e=pn(e),a=i.call(n,e));const s=o.call(n,e);return n.set(e,t),a?Je(t,s)&&bt(n,"set",e,t):bt(n,"add",e,t),this}function Ft(e){const t=pn(this),{has:n,get:i}=Vt(t);let o=n.call(t,e);o||(e=pn(e),o=n.call(t,e)),i&&i.call(t,e);const a=t.delete(e);return o&&bt(t,"delete",e,void 0),a}function qt(){const e=pn(this),t=0!==e.size,n=e.clear();return t&&bt(e,"clear",void 0,void 0),n}function Gt(e,t){return function(n,i){const o=this,a=o.__v_raw,s=pn(a),r=t?Pt:e?fn:mn;return!e&&gt(s,0,lt),a.forEach(((e,t)=>n.call(i,r(e),r(t),o)))}}function Wt(e,t,n){return function(...i){const o=this.__v_raw,a=pn(o),s=Ee(a),r="entries"===e||e===Symbol.iterator&&s,l="keys"===e&&s,c=o[e](...i),d=n?Pt:t?fn:mn;return!t&&gt(a,0,l?ct:lt),{next(){const{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:r?[d(e[0]),d(e[1])]:d(e),done:t}},[Symbol.iterator](){return this}}}}function jt(e){return function(...t){return"delete"!==e&&this}}const[Ut,zt,Jt,Yt]=function(){const e={get(e){return Dt(this,e)},get size(){return Ht(this)},has:Bt,add:Ot,set:Rt,delete:Ft,clear:qt,forEach:Gt(!1,!1)},t={get(e){return Dt(this,e,!1,!0)},get size(){return Ht(this)},has:Bt,add:Ot,set:Rt,delete:Ft,clear:qt,forEach:Gt(!1,!0)},n={get(e){return Dt(this,e,!0)},get size(){return Ht(this,!0)},has(e){return Bt.call(this,e,!0)},add:jt("add"),set:jt("set"),delete:jt("delete"),clear:jt("clear"),forEach:Gt(!0,!1)},i={get(e){return Dt(this,e,!0,!0)},get size(){return Ht(this,!0)},has(e){return Bt.call(this,e,!0)},add:jt("add"),set:jt("set"),delete:jt("delete"),clear:jt("clear"),forEach:Gt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((o=>{e[o]=Wt(o,!1,!1),n[o]=Wt(o,!0,!1),t[o]=Wt(o,!1,!0),i[o]=Wt(o,!0,!0)})),[e,n,t,i]}();function Kt(e,t){const n=t?e?Yt:Jt:e?zt:Ut;return(t,i,o)=>"__v_isReactive"===i?!e:"__v_isReadonly"===i?e:"__v_raw"===i?t:Reflect.get($e(n,i)&&i in t?n:t,i,o)}const Xt={get:Kt(!1,!1)},Zt={get:Kt(!1,!0)},Qt={get:Kt(!0,!1)},en=new WeakMap,tn=new WeakMap,nn=new WeakMap,on=new WeakMap;function an(e){return cn(e)?e:rn(e,!1,Mt,Xt,en)}function sn(e){return rn(e,!0,Lt,Qt,nn)}function rn(e,t,n,i,o){if(!Pe(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const a=o.get(e);if(a)return a;const s=function(e){return e.__v_skip||!Object.isExtensible(e)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>Be(e).slice(8,-1))(e))}(e);if(0===s)return e;const r=new Proxy(e,2===s?i:n);return o.set(e,r),r}function ln(e){return cn(e)?ln(e.__v_raw):!(!e||!e.__v_isReactive)}function cn(e){return!(!e||!e.__v_isReadonly)}function dn(e){return!(!e||!e.__v_isShallow)}function un(e){return ln(e)||cn(e)}function pn(e){const t=e&&e.__v_raw;return t?pn(t):e}function hn(e){return Ke(e,"__v_skip",!0),e}const mn=e=>Pe(e)?an(e):e,fn=e=>Pe(e)?sn(e):e;function gn(e){return!(!e||!0!==e.__v_isRef)}const yn={get:(e,t,n)=>function(e){return gn(e)?e.value:e}(Reflect.get(e,t,n)),set:(e,t,n,i)=>{const o=e[t];return gn(o)&&!gn(n)?(o.value=n,!0):Reflect.set(e,t,n,i)}};function bn(e){return ln(e)?e:new Proxy(e,yn)}var wn;class vn{constructor(e,t,n,i){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this[wn]=!1,this._dirty=!0,this.effect=new dt(e,(()=>{this._dirty||(this._dirty=!0,function(e,t){const n=(e=pn(e)).dep;n&&wt(n)}(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=n}get value(){const e=pn(this);return function(e){pt&&at&&yt((e=pn(e)).dep||(e.dep=tt()))}(e),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function xn(e,t,n,i){let o;try{o=i?e(...i):e()}catch(e){Sn(e,t,n)}return o}function kn(e,t,n,i){if(Me(e)){const o=xn(e,t,n,i);return o&&Ve(o)&&o.catch((e=>{Sn(e,t,n)})),o}const o=[];for(let a=0;a<e.length;a++)o.push(kn(e[a],t,n,i));return o}function Sn(e,t,n,i=!0){if(t){let i=t.parent;const o=t.proxy,a=n;for(;i;){const t=i.ec;if(t)for(let n=0;n<t.length;n++)if(!1===t[n](e,o,a))return;i=i.parent}const s=t.appContext.config.errorHandler;if(s)return void xn(s,null,10,[e,o,a])}!function(e,t,n,i=!0){console.error(e)}(e,0,0,i)}wn="__v_isReadonly";let Tn=!1,Cn=!1;const $n=[];let In=0;const En=[];let _n=null,Nn=0;const Mn=Promise.resolve();let Ln=null;function An(e){const t=Ln||Mn;return e?t.then(this?e.bind(this):e):t}function Pn(e){$n.length&&$n.includes(e,Tn&&e.allowRecurse?In+1:In)||(null==e.id?$n.push(e):$n.splice(function(e){let t=In+1,n=$n.length;for(;t<n;){const i=t+n>>>1;Hn($n[i])<e?t=i+1:n=i}return t}(e.id),0,e),Vn())}function Vn(){Tn||Cn||(Cn=!0,Ln=Mn.then(Rn))}function Dn(e,t=(Tn?In+1:0)){for(;t<$n.length;t++){const e=$n[t];e&&e.pre&&($n.splice(t,1),t--,e())}}function Bn(e){if(En.length){const e=[...new Set(En)];if(En.length=0,_n)return void _n.push(...e);for(_n=e,_n.sort(((e,t)=>Hn(e)-Hn(t))),Nn=0;Nn<_n.length;Nn++)_n[Nn]();_n=null,Nn=0}}const Hn=e=>null==e.id?1/0:e.id,On=(e,t)=>{const n=Hn(e)-Hn(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Rn(e){Cn=!1,Tn=!0,$n.sort(On);try{for(In=0;In<$n.length;In++){const e=$n[In];e&&!1!==e.active&&xn(e,null,14)}}finally{In=0,$n.length=0,Bn(),Tn=!1,Ln=null,($n.length||En.length)&&Rn()}}function Fn(e,t,...n){if(e.isUnmounted)return;const i=e.vnode.props||ge;let o=n;const a=t.startsWith("update:"),s=a&&t.slice(7);if(s&&s in i){const e=`${"modelValue"===s?"model":s}Modifiers`,{number:t,trim:a}=i[e]||ge;a&&(o=n.map((e=>Le(e)?e.trim():e))),t&&(o=n.map(Xe))}let r,l=i[r=ze(t)]||i[r=ze(Ge(t))];!l&&a&&(l=i[r=ze(je(t))]),l&&kn(l,e,6,o);const c=i[r+"Once"];if(c){if(e.emitted){if(e.emitted[r])return}else e.emitted={};e.emitted[r]=!0,kn(c,e,6,o)}}function qn(e,t,n=!1){const i=t.emitsCache,o=i.get(e);if(void 0!==o)return o;const a=e.emits;let s={},r=!1;if(!Me(e)){const i=e=>{const n=qn(e,t,!0);n&&(r=!0,Se(s,n))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return a||r?(Ie(a)?a.forEach((e=>s[e]=null)):Se(s,a),Pe(e)&&i.set(e,s),s):(Pe(e)&&i.set(e,null),null)}function Gn(e,t){return!(!e||!xe(t))&&(t=t.slice(2).replace(/Once$/,""),$e(e,t[0].toLowerCase()+t.slice(1))||$e(e,je(t))||$e(e,t))}let Wn=null,jn=null;function Un(e){const t=Wn;return Wn=e,jn=e&&e.type.__scopeId||null,t}function zn(e){const{type:t,vnode:n,proxy:i,withProxy:o,props:a,propsOptions:[s],slots:r,attrs:l,emit:c,render:d,renderCache:u,data:p,setupState:h,ctx:m,inheritAttrs:f}=e;let g,y;const b=Un(e);try{if(4&n.shapeFlag){const e=o||i;g=Bo(d.call(e,e,u,a,h,p,m)),y=l}else{g=Bo(t(a,t.length>1?{attrs:l,slots:r,emit:c}:null)),y=t.props?l:Jn(l)}}catch(t){xo.length=0,Sn(t,e,1),g=Ao(wo)}let w=g;if(y&&!1!==f){const e=Object.keys(y),{shapeFlag:t}=w;e.length&&7&t&&(s&&e.some(ke)&&(y=Yn(y,s)),w=Po(w,y))}return n.dirs&&(w=Po(w),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&(w.transition=n.transition),g=w,Un(b),g}const Jn=e=>{let t;for(const n in e)("class"===n||"style"===n||xe(n))&&((t||(t={}))[n]=e[n]);return t},Yn=(e,t)=>{const n={};for(const i in e)ke(i)&&i.slice(9)in t||(n[i]=e[i]);return n};function Kn(e,t,n){const i=Object.keys(t);if(i.length!==Object.keys(e).length)return!0;for(let o=0;o<i.length;o++){const a=i[o];if(t[a]!==e[a]&&!Gn(n,a))return!0}return!1}function Xn(e,t,n=!1){const i=Wo||Wn;if(i){const o=null==i.parent?i.vnode.appContext&&i.vnode.appContext.provides:i.parent.provides;if(o&&e in o)return o[e];if(arguments.length>1)return n&&Me(t)?t.call(i.proxy):t}}const Zn={};function Qn(e,t,n){return ei(e,t,n)}function ei(e,t,{immediate:n,deep:i,flush:o}=ge){const a=Qe===(null==Wo?void 0:Wo.scope)?Wo:null;let s,r,l=!1,c=!1;if(gn(e)?(s=()=>e.value,l=dn(e)):ln(e)?(s=()=>e,i=!0):Ie(e)?(c=!0,l=e.some((e=>ln(e)||dn(e))),s=()=>e.map((e=>gn(e)?e.value:ln(e)?ii(e):Me(e)?xn(e,a,2):void 0))):s=Me(e)?t?()=>xn(e,a,2):()=>{if(!a||!a.isUnmounted)return r&&r(),kn(e,a,3,[d])}:be,t&&i){const e=s;s=()=>ii(e())}let d=e=>{r=m.onStop=()=>{xn(e,a,4)}},u=c?new Array(e.length).fill(Zn):Zn;const p=()=>{if(m.active)if(t){const e=m.run();(i||l||(c?e.some(((e,t)=>Je(e,u[t]))):Je(e,u)))&&(r&&r(),kn(t,a,3,[e,u===Zn?void 0:c&&u[0]===Zn?[]:u,d]),u=e)}else m.run()};let h;p.allowRecurse=!!t,"sync"===o?h=p:"post"===o?h=()=>ho(p,a&&a.suspense):(p.pre=!0,a&&(p.id=a.uid),h=()=>Pn(p));const m=new dt(s,h);return t?n?p():u=m.run():"post"===o?ho(m.run.bind(m),a&&a.suspense):m.run(),()=>{m.stop(),a&&a.scope&&Te(a.scope.effects,m)}}function ti(e,t,n){const i=this.proxy,o=Le(e)?e.includes(".")?ni(i,e):()=>i[e]:e.bind(i,i);let a;Me(t)?a=t:(a=t.handler,n=t);const s=Wo;Uo(this);const r=ei(o,a.bind(i),n);return s?Uo(s):zo(),r}function ni(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e<n.length&&t;e++)t=t[n[e]];return t}}function ii(e,t){if(!Pe(e)||e.__v_skip)return e;if((t=t||new Set).has(e))return e;if(t.add(e),gn(e))ii(e.value,t);else if(Ie(e))for(let n=0;n<e.length;n++)ii(e[n],t);else if(_e(e)||Ee(e))e.forEach((e=>{ii(e,t)}));else if(He(e))for(const n in e)ii(e[n],t);return e}function oi(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ki((()=>{e.isMounted=!0})),Ci((()=>{e.isUnmounting=!0})),e}const ai=[Function,Array],si={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ai,onEnter:ai,onAfterEnter:ai,onEnterCancelled:ai,onBeforeLeave:ai,onLeave:ai,onAfterLeave:ai,onLeaveCancelled:ai,onBeforeAppear:ai,onAppear:ai,onAfterAppear:ai,onAppearCancelled:ai},setup(e,{slots:t}){const n=jo(),i=oi();let o;return()=>{const a=t.default&&pi(t.default(),!0);if(!a||!a.length)return;let s=a[0];if(a.length>1)for(const e of a)if(e.type!==wo){s=e;break}const r=pn(e),{mode:l}=r;if(i.isLeaving)return ci(s);const c=di(s);if(!c)return ci(s);const d=li(c,r,i,n);ui(c,d);const u=n.subTree,p=u&&di(u);let h=!1;const{getTransitionKey:m}=c.type;if(m){const e=m();void 0===o?o=e:e!==o&&(o=e,h=!0)}if(p&&p.type!==wo&&(!Eo(c,p)||h)){const e=li(p,r,i,n);if(ui(p,e),"out-in"===l)return i.isLeaving=!0,e.afterLeave=()=>{i.isLeaving=!1,!1!==n.update.active&&n.update()},ci(s);"in-out"===l&&c.type!==wo&&(e.delayLeave=(e,t,n)=>{ri(i,p)[String(p.key)]=p,e._leaveCb=()=>{t(),e._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=n})}return s}}};function ri(e,t){const{leavingVNodes:n}=e;let i=n.get(t.type);return i||(i=Object.create(null),n.set(t.type,i)),i}function li(e,t,n,i){const{appear:o,mode:a,persisted:s=!1,onBeforeEnter:r,onEnter:l,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:u,onLeave:p,onAfterLeave:h,onLeaveCancelled:m,onBeforeAppear:f,onAppear:g,onAfterAppear:y,onAppearCancelled:b}=t,w=String(e.key),v=ri(n,e),x=(e,t)=>{e&&kn(e,i,9,t)},k=(e,t)=>{const n=t[1];x(e,t),Ie(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},S={mode:a,persisted:s,beforeEnter(t){let i=r;if(!n.isMounted){if(!o)return;i=f||r}t._leaveCb&&t._leaveCb(!0);const a=v[w];a&&Eo(e,a)&&a.el._leaveCb&&a.el._leaveCb(),x(i,[t])},enter(e){let t=l,i=c,a=d;if(!n.isMounted){if(!o)return;t=g||l,i=y||c,a=b||d}let s=!1;const r=e._enterCb=t=>{s||(s=!0,x(t?a:i,[e]),S.delayedLeave&&S.delayedLeave(),e._enterCb=void 0)};t?k(t,[e,r]):r()},leave(t,i){const o=String(e.key);if(t._enterCb&&t._enterCb(!0),n.isUnmounting)return i();x(u,[t]);let a=!1;const s=t._leaveCb=n=>{a||(a=!0,i(),x(n?m:h,[t]),t._leaveCb=void 0,v[o]===e&&delete v[o])};v[o]=e,p?k(p,[t,s]):s()},clone:e=>li(e,t,n,i)};return S}function ci(e){if(mi(e))return(e=Po(e)).children=null,e}function di(e){return mi(e)?e.children?e.children[0]:void 0:e}function ui(e,t){6&e.shapeFlag&&e.component?ui(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function pi(e,t=!1,n){let i=[],o=0;for(let a=0;a<e.length;a++){let s=e[a];const r=null==n?s.key:String(n)+String(null!=s.key?s.key:a);s.type===yo?(128&s.patchFlag&&o++,i=i.concat(pi(s.children,t,r))):(t||s.type!==wo)&&i.push(null!=r?Po(s,{key:r}):s)}if(o>1)for(let e=0;e<i.length;e++)i[e].patchFlag=-2;return i}const hi=e=>!!e.type.__asyncLoader,mi=e=>e.type.__isKeepAlive;function fi(e,t){yi(e,"a",t)}function gi(e,t){yi(e,"da",t)}function yi(e,t,n=Wo){const i=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(wi(t,i,n),n){let e=n.parent;for(;e&&e.parent;)mi(e.parent.vnode)&&bi(i,t,n,e),e=e.parent}}function bi(e,t,n,i){const o=wi(t,e,i,!0);$i((()=>{Te(i[t],o)}),n)}function wi(e,t,n=Wo,i=!1){if(n){const o=n[e]||(n[e]=[]),a=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;mt(),Uo(n);const o=kn(t,n,e,i);return zo(),ft(),o});return i?o.unshift(a):o.push(a),a}}const vi=e=>(t,n=Wo)=>(!Ko||"sp"===e)&&wi(e,((...e)=>t(...e)),n),xi=vi("bm"),ki=vi("m"),Si=vi("bu"),Ti=vi("u"),Ci=vi("bum"),$i=vi("um"),Ii=vi("sp"),Ei=vi("rtg"),_i=vi("rtc");function Ni(e,t=Wo){wi("ec",e,t)}function Mi(e,t){const n=Wn;if(null===n)return e;const i=Qo(n)||n.proxy,o=e.dirs||(e.dirs=[]);for(let e=0;e<t.length;e++){let[n,a,s,r=ge]=t[e];n&&(Me(n)&&(n={mounted:n,updated:n}),n.deep&&ii(a),o.push({dir:n,instance:i,value:a,oldValue:void 0,arg:s,modifiers:r}))}return e}function Li(e,t,n,i){const o=e.dirs,a=t&&t.dirs;for(let s=0;s<o.length;s++){const r=o[s];a&&(r.oldValue=a[s].value);let l=r.dir[i];l&&(mt(),kn(l,n,8,[e.el,r,e,t]),ft())}}const Ai=Symbol();function Pi(e,t,n,i){let o;const a=n&&n[i];if(Ie(e)||Le(e)){o=new Array(e.length);for(let n=0,i=e.length;n<i;n++)o[n]=t(e[n],n,void 0,a&&a[n])}else if("number"==typeof e){o=new Array(e);for(let n=0;n<e;n++)o[n]=t(n+1,n,void 0,a&&a[n])}else if(Pe(e))if(e[Symbol.iterator])o=Array.from(e,((e,n)=>t(e,n,void 0,a&&a[n])));else{const n=Object.keys(e);o=new Array(n.length);for(let i=0,s=n.length;i<s;i++){const s=n[i];o[i]=t(e[s],s,i,a&&a[i])}}else o=[];return n&&(n[i]=o),o}const Vi=e=>e?Jo(e)?Qo(e)||e.proxy:Vi(e.parent):null,Di=Se(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Vi(e.parent),$root:e=>Vi(e.root),$emit:e=>e.emit,$options:e=>Gi(e),$forceUpdate:e=>e.f||(e.f=()=>Pn(e.update)),$nextTick:e=>e.n||(e.n=An.bind(e.proxy)),$watch:e=>ti.bind(e)}),Bi=(e,t)=>e!==ge&&!e.__isScriptSetup&&$e(e,t),Hi={get({_:e},t){const{ctx:n,setupState:i,data:o,props:a,accessCache:s,type:r,appContext:l}=e;let c;if("$"!==t[0]){const r=s[t];if(void 0!==r)switch(r){case 1:return i[t];case 2:return o[t];case 4:return n[t];case 3:return a[t]}else{if(Bi(i,t))return s[t]=1,i[t];if(o!==ge&&$e(o,t))return s[t]=2,o[t];if((c=e.propsOptions[0])&&$e(c,t))return s[t]=3,a[t];if(n!==ge&&$e(n,t))return s[t]=4,n[t];Oi&&(s[t]=0)}}const d=Di[t];let u,p;return d?("$attrs"===t&&gt(e,0,t),d(e)):(u=r.__cssModules)&&(u=u[t])?u:n!==ge&&$e(n,t)?(s[t]=4,n[t]):(p=l.config.globalProperties,$e(p,t)?p[t]:void 0)},set({_:e},t,n){const{data:i,setupState:o,ctx:a}=e;return Bi(o,t)?(o[t]=n,!0):i!==ge&&$e(i,t)?(i[t]=n,!0):!($e(e.props,t)||"$"===t[0]&&t.slice(1)in e||(a[t]=n,0))},has({_:{data:e,setupState:t,accessCache:n,ctx:i,appContext:o,propsOptions:a}},s){let r;return!!n[s]||e!==ge&&$e(e,s)||Bi(t,s)||(r=a[0])&&$e(r,s)||$e(i,s)||$e(Di,s)||$e(o.config.globalProperties,s)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:$e(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};Se({},Hi,{get(e,t){if(t!==Symbol.unscopables)return Hi.get(e,t,e)},has:(e,t)=>"_"!==t[0]&&!ie(t)});let Oi=!0;function Ri(e){const t=Gi(e),n=e.proxy,i=e.ctx;Oi=!1,t.beforeCreate&&Fi(t.beforeCreate,e,"bc");const{data:o,computed:a,methods:s,watch:r,provide:l,inject:c,created:d,beforeMount:u,mounted:p,beforeUpdate:h,updated:m,activated:f,deactivated:g,beforeUnmount:y,unmounted:b,render:w,renderTracked:v,renderTriggered:x,errorCaptured:k,serverPrefetch:S,expose:T,inheritAttrs:C,components:$,directives:I}=t;if(c&&function(e,t,n=be,i=!1){Ie(e)&&(e=zi(e));for(const n in e){const o=e[n];let a;a=Pe(o)?"default"in o?Xn(o.from||n,o.default,!0):Xn(o.from||n):Xn(o),gn(a)&&i?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e}):t[n]=a}}(c,i,null,e.appContext.config.unwrapInjectedRef),s)for(const e in s){const t=s[e];Me(t)&&(i[e]=t.bind(n))}if(o){const t=o.call(n,n);Pe(t)&&(e.data=an(t))}if(Oi=!0,a)for(const e in a){const t=a[e],o=Me(t)?t.bind(n,n):Me(t.get)?t.get.bind(n,n):be,s=!Me(t)&&Me(t.set)?t.set.bind(n):be,r=ea({get:o,set:s});Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e})}if(r)for(const e in r)qi(r[e],i,n,e);if(l){const e=Me(l)?l.call(n):l;Reflect.ownKeys(e).forEach((t=>{!function(e,t){if(Wo){let n=Wo.provides;const i=Wo.parent&&Wo.parent.provides;i===n&&(n=Wo.provides=Object.create(i)),n[e]=t}}(t,e[t])}))}function E(e,t){Ie(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(d&&Fi(d,e,"c"),E(xi,u),E(ki,p),E(Si,h),E(Ti,m),E(fi,f),E(gi,g),E(Ni,k),E(_i,v),E(Ei,x),E(Ci,y),E($i,b),E(Ii,S),Ie(T))if(T.length){const t=e.exposed||(e.exposed={});T.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});w&&e.render===be&&(e.render=w),null!=C&&(e.inheritAttrs=C),$&&(e.components=$),I&&(e.directives=I)}function Fi(e,t,n){kn(Ie(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function qi(e,t,n,i){const o=i.includes(".")?ni(n,i):()=>n[i];if(Le(e)){const n=t[e];Me(n)&&Qn(o,n)}else if(Me(e))Qn(o,e.bind(n));else if(Pe(e))if(Ie(e))e.forEach((e=>qi(e,t,n,i)));else{const i=Me(e.handler)?e.handler.bind(n):t[e.handler];Me(i)&&Qn(o,i,e)}}function Gi(e){const t=e.type,{mixins:n,extends:i}=t,{mixins:o,optionsCache:a,config:{optionMergeStrategies:s}}=e.appContext,r=a.get(t);let l;return r?l=r:o.length||n||i?(l={},o.length&&o.forEach((e=>Wi(l,e,s,!0))),Wi(l,t,s)):l=t,Pe(t)&&a.set(t,l),l}function Wi(e,t,n,i=!1){const{mixins:o,extends:a}=t;a&&Wi(e,a,n,!0),o&&o.forEach((t=>Wi(e,t,n,!0)));for(const o in t)if(i&&"expose"===o);else{const i=ji[o]||n&&n[o];e[o]=i?i(e[o],t[o]):t[o]}return e}const ji={data:Ui,props:Yi,emits:Yi,methods:Yi,computed:Yi,beforeCreate:Ji,created:Ji,beforeMount:Ji,mounted:Ji,beforeUpdate:Ji,updated:Ji,beforeDestroy:Ji,beforeUnmount:Ji,destroyed:Ji,unmounted:Ji,activated:Ji,deactivated:Ji,errorCaptured:Ji,serverPrefetch:Ji,components:Yi,directives:Yi,watch:function(e,t){if(!e)return t;if(!t)return e;const n=Se(Object.create(null),e);for(const i in t)n[i]=Ji(e[i],t[i]);return n},provide:Ui,inject:function(e,t){return Yi(zi(e),zi(t))}};function Ui(e,t){return t?e?function(){return Se(Me(e)?e.call(this,this):e,Me(t)?t.call(this,this):t)}:t:e}function zi(e){if(Ie(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Ji(e,t){return e?[...new Set([].concat(e,t))]:t}function Yi(e,t){return e?Se(Se(Object.create(null),e),t):t}function Ki(e,t,n,i){const[o,a]=e.propsOptions;let s,r=!1;if(t)for(let l in t){if(Re(l))continue;const c=t[l];let d;o&&$e(o,d=Ge(l))?a&&a.includes(d)?(s||(s={}))[d]=c:n[d]=c:Gn(e.emitsOptions,l)||l in i&&c===i[l]||(i[l]=c,r=!0)}if(a){const t=pn(n),i=s||ge;for(let s=0;s<a.length;s++){const r=a[s];n[r]=Xi(o,t,r,i[r],e,!$e(i,r))}}return r}function Xi(e,t,n,i,o,a){const s=e[n];if(null!=s){const e=$e(s,"default");if(e&&void 0===i){const e=s.default;if(s.type!==Function&&Me(e)){const{propsDefaults:a}=o;n in a?i=a[n]:(Uo(o),i=a[n]=e.call(null,t),zo())}else i=e}s[0]&&(a&&!e?i=!1:!s[1]||""!==i&&i!==je(n)||(i=!0))}return i}function Zi(e,t,n=!1){const i=t.propsCache,o=i.get(e);if(o)return o;const a=e.props,s={},r=[];let l=!1;if(!Me(e)){const i=e=>{l=!0;const[n,i]=Zi(e,t,!0);Se(s,n),i&&r.push(...i)};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}if(!a&&!l)return Pe(e)&&i.set(e,ye),ye;if(Ie(a))for(let e=0;e<a.length;e++){const t=Ge(a[e]);Qi(t)&&(s[t]=ge)}else if(a)for(const e in a){const t=Ge(e);if(Qi(t)){const n=a[e],i=s[t]=Ie(n)||Me(n)?{type:n}:Object.assign({},n);if(i){const e=no(Boolean,i.type),n=no(String,i.type);i[0]=e>-1,i[1]=n<0||e<n,(e>-1||$e(i,"default"))&&r.push(t)}}}const c=[s,r];return Pe(e)&&i.set(e,c),c}function Qi(e){return"$"!==e[0]}function eo(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:null===e?"null":""}function to(e,t){return eo(e)===eo(t)}function no(e,t){return Ie(t)?t.findIndex((t=>to(t,e))):Me(t)&&to(t,e)?0:-1}const io=e=>"_"===e[0]||"$stable"===e,oo=e=>Ie(e)?e.map(Bo):[Bo(e)],ao=(e,t,n)=>{if(t._n)return t;const i=function(e,t=Wn,n){if(!t)return e;if(e._n)return e;const i=(...n)=>{i._d&&Co(-1);const o=Un(t);let a;try{a=e(...n)}finally{Un(o),i._d&&Co(1)}return a};return i._n=!0,i._c=!0,i._d=!0,i}(((...e)=>oo(t(...e))),n);return i._c=!1,i},so=(e,t,n)=>{const i=e._ctx;for(const n in e){if(io(n))continue;const o=e[n];if(Me(o))t[n]=ao(0,o,i);else if(null!=o){const e=oo(o);t[n]=()=>e}}},ro=(e,t)=>{const n=oo(t);e.slots.default=()=>n};function lo(){return{app:null,config:{isNativeTag:we,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let co=0;function uo(e,t){return function(n,i=null){Me(n)||(n=Object.assign({},n)),null==i||Pe(i)||(i=null);const o=lo(),a=new Set;let s=!1;const r=o.app={_uid:co++,_component:n,_props:i,_container:null,_context:o,_instance:null,version:ta,get config(){return o.config},set config(e){},use:(e,...t)=>(a.has(e)||(e&&Me(e.install)?(a.add(e),e.install(r,...t)):Me(e)&&(a.add(e),e(r,...t))),r),mixin:e=>(o.mixins.includes(e)||o.mixins.push(e),r),component:(e,t)=>t?(o.components[e]=t,r):o.components[e],directive:(e,t)=>t?(o.directives[e]=t,r):o.directives[e],mount(a,l,c){if(!s){const d=Ao(n,i);return d.appContext=o,l&&t?t(d,a):e(d,a,c),s=!0,r._container=a,a.__vue_app__=r,Qo(d.component)||d.component.proxy}},unmount(){s&&(e(null,r._container),delete r._container.__vue_app__)},provide:(e,t)=>(o.provides[e]=t,r)};return r}}function po(e,t,n,i,o=!1){if(Ie(e))return void e.forEach(((e,a)=>po(e,t&&(Ie(t)?t[a]:t),n,i,o)));if(hi(i)&&!o)return;const a=4&i.shapeFlag?Qo(i.component)||i.component.proxy:i.el,s=o?null:a,{i:r,r:l}=e,c=t&&t.r,d=r.refs===ge?r.refs={}:r.refs,u=r.setupState;if(null!=c&&c!==l&&(Le(c)?(d[c]=null,$e(u,c)&&(u[c]=null)):gn(c)&&(c.value=null)),Me(l))xn(l,r,12,[s,d]);else{const t=Le(l),i=gn(l);if(t||i){const r=()=>{if(e.f){const n=t?$e(u,l)?u[l]:d[l]:l.value;o?Ie(n)&&Te(n,a):Ie(n)?n.includes(a)||n.push(a):t?(d[l]=[a],$e(u,l)&&(u[l]=d[l])):(l.value=[a],e.k&&(d[e.k]=l.value))}else t?(d[l]=s,$e(u,l)&&(u[l]=s)):i&&(l.value=s,e.k&&(d[e.k]=s))};s?(r.id=-1,ho(r,n)):r()}}}const ho=function(e,t){t&&t.pendingBranch?Ie(e)?t.effects.push(...e):t.effects.push(e):function(e){Ie(e)?En.push(...e):_n&&_n.includes(e,e.allowRecurse?Nn+1:Nn)||En.push(e),Vn()}(e)};function mo(e){return function(e,t){(Ze||(Ze="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{})).__VUE__=!0;const{insert:n,remove:i,patchProp:o,createElement:a,createText:s,createComment:r,setText:l,setElementText:c,parentNode:d,nextSibling:u,setScopeId:p=be,insertStaticContent:h}=e,m=(e,t,n,i=null,o=null,a=null,s=!1,r=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!Eo(e,t)&&(i=R(e),V(e,o,a,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:c,ref:d,shapeFlag:u}=t;switch(c){case bo:f(e,t,n,i);break;case wo:g(e,t,n,i);break;case vo:null==e&&y(t,n,i,s);break;case yo:C(e,t,n,i,o,a,s,r,l);break;default:1&u?b(e,t,n,i,o,a,s,r,l):6&u?$(e,t,n,i,o,a,s,r,l):(64&u||128&u)&&c.process(e,t,n,i,o,a,s,r,l,q)}null!=d&&o&&po(d,e&&e.ref,a,t||e,!t)},f=(e,t,i,o)=>{if(null==e)n(t.el=s(t.children),i,o);else{const n=t.el=e.el;t.children!==e.children&&l(n,t.children)}},g=(e,t,i,o)=>{null==e?n(t.el=r(t.children||""),i,o):t.el=e.el},y=(e,t,n,i)=>{[e.el,e.anchor]=h(e.children,t,n,i,e.el,e.anchor)},b=(e,t,n,i,o,a,s,r,l)=>{s=s||"svg"===t.type,null==e?w(t,n,i,o,a,s,r,l):k(e,t,o,a,s,r,l)},w=(e,t,i,s,r,l,d,u)=>{let p,h;const{type:m,props:f,shapeFlag:g,transition:y,dirs:b}=e;if(p=e.el=a(e.type,l,f&&f.is,f),8&g?c(p,e.children):16&g&&x(e.children,p,null,s,r,l&&"foreignObject"!==m,d,u),b&&Li(e,null,s,"created"),v(p,e,e.scopeId,d,s),f){for(const t in f)"value"===t||Re(t)||o(p,t,null,f[t],l,e.children,s,r,O);"value"in f&&o(p,"value",null,f.value),(h=f.onVnodeBeforeMount)&&Fo(h,s,e)}b&&Li(e,null,s,"beforeMount");const w=(!r||r&&!r.pendingBranch)&&y&&!y.persisted;w&&y.beforeEnter(p),n(p,t,i),((h=f&&f.onVnodeMounted)||w||b)&&ho((()=>{h&&Fo(h,s,e),w&&y.enter(p),b&&Li(e,null,s,"mounted")}),r)},v=(e,t,n,i,o)=>{if(n&&p(e,n),i)for(let t=0;t<i.length;t++)p(e,i[t]);if(o&&t===o.subTree){const t=o.vnode;v(e,t,t.scopeId,t.slotScopeIds,o.parent)}},x=(e,t,n,i,o,a,s,r,l=0)=>{for(let c=l;c<e.length;c++){const l=e[c]=r?Ho(e[c]):Bo(e[c]);m(null,l,t,n,i,o,a,s,r)}},k=(e,t,n,i,a,s,r)=>{const l=t.el=e.el;let{patchFlag:d,dynamicChildren:u,dirs:p}=t;d|=16&e.patchFlag;const h=e.props||ge,m=t.props||ge;let f;n&&fo(n,!1),(f=m.onVnodeBeforeUpdate)&&Fo(f,n,t,e),p&&Li(t,e,n,"beforeUpdate"),n&&fo(n,!0);const g=a&&"foreignObject"!==t.type;if(u?S(e.dynamicChildren,u,l,n,i,g,s):r||M(e,t,l,null,n,i,g,s,!1),d>0){if(16&d)T(l,t,h,m,n,i,a);else if(2&d&&h.class!==m.class&&o(l,"class",null,m.class,a),4&d&&o(l,"style",h.style,m.style,a),8&d){const s=t.dynamicProps;for(let t=0;t<s.length;t++){const r=s[t],c=h[r],d=m[r];d===c&&"value"!==r||o(l,r,c,d,a,e.children,n,i,O)}}1&d&&e.children!==t.children&&c(l,t.children)}else r||null!=u||T(l,t,h,m,n,i,a);((f=m.onVnodeUpdated)||p)&&ho((()=>{f&&Fo(f,n,t,e),p&&Li(t,e,n,"updated")}),i)},S=(e,t,n,i,o,a,s)=>{for(let r=0;r<t.length;r++){const l=e[r],c=t[r],u=l.el&&(l.type===yo||!Eo(l,c)||70&l.shapeFlag)?d(l.el):n;m(l,c,u,null,i,o,a,s,!0)}},T=(e,t,n,i,a,s,r)=>{if(n!==i){if(n!==ge)for(const l in n)Re(l)||l in i||o(e,l,n[l],null,r,t.children,a,s,O);for(const l in i){if(Re(l))continue;const c=i[l],d=n[l];c!==d&&"value"!==l&&o(e,l,d,c,r,t.children,a,s,O)}"value"in i&&o(e,"value",n.value,i.value)}},C=(e,t,i,o,a,r,l,c,d)=>{const u=t.el=e?e.el:s(""),p=t.anchor=e?e.anchor:s("");let{patchFlag:h,dynamicChildren:m,slotScopeIds:f}=t;f&&(c=c?c.concat(f):f),null==e?(n(u,i,o),n(p,i,o),x(t.children,i,p,a,r,l,c,d)):h>0&&64&h&&m&&e.dynamicChildren?(S(e.dynamicChildren,m,i,a,r,l,c),(null!=t.key||a&&t===a.subTree)&&go(e,t,!0)):M(e,t,i,p,a,r,l,c,d)},$=(e,t,n,i,o,a,s,r,l)=>{t.slotScopeIds=r,null==e?512&t.shapeFlag?o.ctx.activate(t,n,i,s,l):I(t,n,i,o,a,s,l):E(e,t,l)},I=(e,t,n,i,o,a,s)=>{const r=e.component=function(e,t,n){const i=e.type,o=(t?t.appContext:e.appContext)||qo,a={uid:Go++,vnode:e,type:i,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,scope:new et(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Zi(i,o),emitsOptions:qn(i,o),emit:null,emitted:null,propsDefaults:ge,inheritAttrs:i.inheritAttrs,ctx:ge,data:ge,props:ge,attrs:ge,slots:ge,refs:ge,setupState:ge,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return a.ctx={_:a},a.root=t?t.root:a,a.emit=Fn.bind(null,a),e.ce&&e.ce(a),a}(e,i,o);if(mi(e)&&(r.ctx.renderer=q),function(e,t=!1){Ko=t;const{props:n,children:i}=e.vnode,o=Jo(e);(function(e,t,n,i=!1){const o={},a={};Ke(a,_o,1),e.propsDefaults=Object.create(null),Ki(e,t,o,a);for(const t in e.propsOptions[0])t in o||(o[t]=void 0);e.props=n?i?o:function(e){return rn(e,!1,At,Zt,tn)}(o):e.type.props?o:a,e.attrs=a})(e,n,o,t),((e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=pn(t),Ke(t,"_",n)):so(t,e.slots={})}else e.slots={},t&&ro(e,t);Ke(e.slots,_o,1)})(e,i),o&&function(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=hn(new Proxy(e.ctx,Hi));const{setup:i}=n;if(i){const n=e.setupContext=i.length>1?function(e){const t=t=>{e.exposed=t||{}};let n;return{get attrs(){return n||(n=function(e){return new Proxy(e.attrs,{get:(t,n)=>(gt(e,0,"$attrs"),t[n])})}(e))},slots:e.slots,emit:e.emit,expose:t}}(e):null;Uo(e),mt();const o=xn(i,e,0,[e.props,n]);if(ft(),zo(),Ve(o)){if(o.then(zo,zo),t)return o.then((n=>{Xo(e,n,t)})).catch((t=>{Sn(t,e,0)}));e.asyncDep=o}else Xo(e,o,t)}else Zo(e,t)}(e,t),Ko=!1}(r),r.asyncDep){if(o&&o.registerDep(r,_),!e.el){const e=r.subTree=Ao(wo);g(null,e,t,n)}}else _(r,e,t,n,o,a,s)},E=(e,t,n)=>{const i=t.component=e.component;if(function(e,t,n){const{props:i,children:o,component:a}=e,{props:s,children:r,patchFlag:l}=t,c=a.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return!(!o&&!r||r&&r.$stable)||i!==s&&(i?!s||Kn(i,s,c):!!s);if(1024&l)return!0;if(16&l)return i?Kn(i,s,c):!!s;if(8&l){const e=t.dynamicProps;for(let t=0;t<e.length;t++){const n=e[t];if(s[n]!==i[n]&&!Gn(c,n))return!0}}return!1}(e,t,n)){if(i.asyncDep&&!i.asyncResolved)return void N(i,t,n);i.next=t,function(e){const t=$n.indexOf(e);t>In&&$n.splice(t,1)}(i.update),i.update()}else t.el=e.el,i.vnode=t},_=(e,t,n,i,o,a,s)=>{const r=e.effect=new dt((()=>{if(e.isMounted){let t,{next:n,bu:i,u:r,parent:l,vnode:c}=e,u=n;fo(e,!1),n?(n.el=c.el,N(e,n,s)):n=c,i&&Ye(i),(t=n.props&&n.props.onVnodeBeforeUpdate)&&Fo(t,l,n,c),fo(e,!0);const p=zn(e),h=e.subTree;e.subTree=p,m(h,p,d(h.el),R(h),e,o,a),n.el=p.el,null===u&&function({vnode:e,parent:t},n){for(;t&&t.subTree===e;)(e=t.vnode).el=n,t=t.parent}(e,p.el),r&&ho(r,o),(t=n.props&&n.props.onVnodeUpdated)&&ho((()=>Fo(t,l,n,c)),o)}else{let s;const{el:r,props:l}=t,{bm:c,m:d,parent:u}=e,p=hi(t);if(fo(e,!1),c&&Ye(c),!p&&(s=l&&l.onVnodeBeforeMount)&&Fo(s,u,t),fo(e,!0),r&&W){const n=()=>{e.subTree=zn(e),W(r,e.subTree,e,o,null)};p?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{const s=e.subTree=zn(e);m(null,s,n,i,e,o,a),t.el=s.el}if(d&&ho(d,o),!p&&(s=l&&l.onVnodeMounted)){const e=t;ho((()=>Fo(s,u,e)),o)}(256&t.shapeFlag||u&&hi(u.vnode)&&256&u.vnode.shapeFlag)&&e.a&&ho(e.a,o),e.isMounted=!0,t=n=i=null}}),(()=>Pn(l)),e.scope),l=e.update=()=>r.run();l.id=e.uid,fo(e,!0),l()},N=(e,t,n)=>{t.component=e;const i=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,i){const{props:o,attrs:a,vnode:{patchFlag:s}}=e,r=pn(o),[l]=e.propsOptions;let c=!1;if(!(i||s>0)||16&s){let i;Ki(e,t,o,a)&&(c=!0);for(const a in r)t&&($e(t,a)||(i=je(a))!==a&&$e(t,i))||(l?!n||void 0===n[a]&&void 0===n[i]||(o[a]=Xi(l,r,a,void 0,e,!0)):delete o[a]);if(a!==r)for(const e in a)t&&$e(t,e)||(delete a[e],c=!0)}else if(8&s){const n=e.vnode.dynamicProps;for(let i=0;i<n.length;i++){let s=n[i];if(Gn(e.emitsOptions,s))continue;const d=t[s];if(l)if($e(a,s))d!==a[s]&&(a[s]=d,c=!0);else{const t=Ge(s);o[t]=Xi(l,r,t,d,e,!1)}else d!==a[s]&&(a[s]=d,c=!0)}}c&&bt(e,"set","$attrs")}(e,t.props,i,n),((e,t,n)=>{const{vnode:i,slots:o}=e;let a=!0,s=ge;if(32&i.shapeFlag){const e=t._;e?n&&1===e?a=!1:(Se(o,t),n||1!==e||delete o._):(a=!t.$stable,so(t,o)),s=t}else t&&(ro(e,t),s={default:1});if(a)for(const e in o)io(e)||e in s||delete o[e]})(e,t.children,n),mt(),Dn(),ft()},M=(e,t,n,i,o,a,s,r,l=!1)=>{const d=e&&e.children,u=e?e.shapeFlag:0,p=t.children,{patchFlag:h,shapeFlag:m}=t;if(h>0){if(128&h)return void A(d,p,n,i,o,a,s,r,l);if(256&h)return void L(d,p,n,i,o,a,s,r,l)}8&m?(16&u&&O(d,o,a),p!==d&&c(n,p)):16&u?16&m?A(d,p,n,i,o,a,s,r,l):O(d,o,a,!0):(8&u&&c(n,""),16&m&&x(p,n,i,o,a,s,r,l))},L=(e,t,n,i,o,a,s,r,l)=>{const c=(e=e||ye).length,d=(t=t||ye).length,u=Math.min(c,d);let p;for(p=0;p<u;p++){const i=t[p]=l?Ho(t[p]):Bo(t[p]);m(e[p],i,n,null,o,a,s,r,l)}c>d?O(e,o,a,!0,!1,u):x(t,n,i,o,a,s,r,l,u)},A=(e,t,n,i,o,a,s,r,l)=>{let c=0;const d=t.length;let u=e.length-1,p=d-1;for(;c<=u&&c<=p;){const i=e[c],d=t[c]=l?Ho(t[c]):Bo(t[c]);if(!Eo(i,d))break;m(i,d,n,null,o,a,s,r,l),c++}for(;c<=u&&c<=p;){const i=e[u],c=t[p]=l?Ho(t[p]):Bo(t[p]);if(!Eo(i,c))break;m(i,c,n,null,o,a,s,r,l),u--,p--}if(c>u){if(c<=p){const e=p+1,u=e<d?t[e].el:i;for(;c<=p;)m(null,t[c]=l?Ho(t[c]):Bo(t[c]),n,u,o,a,s,r,l),c++}}else if(c>p)for(;c<=u;)V(e[c],o,a,!0),c++;else{const h=c,f=c,g=new Map;for(c=f;c<=p;c++){const e=t[c]=l?Ho(t[c]):Bo(t[c]);null!=e.key&&g.set(e.key,c)}let y,b=0;const w=p-f+1;let v=!1,x=0;const k=new Array(w);for(c=0;c<w;c++)k[c]=0;for(c=h;c<=u;c++){const i=e[c];if(b>=w){V(i,o,a,!0);continue}let d;if(null!=i.key)d=g.get(i.key);else for(y=f;y<=p;y++)if(0===k[y-f]&&Eo(i,t[y])){d=y;break}void 0===d?V(i,o,a,!0):(k[d-f]=c+1,d>=x?x=d:v=!0,m(i,t[d],n,null,o,a,s,r,l),b++)}const S=v?function(e){const t=e.slice(),n=[0];let i,o,a,s,r;const l=e.length;for(i=0;i<l;i++){const l=e[i];if(0!==l){if(o=n[n.length-1],e[o]<l){t[i]=o,n.push(i);continue}for(a=0,s=n.length-1;a<s;)r=a+s>>1,e[n[r]]<l?a=r+1:s=r;l<e[n[a]]&&(a>0&&(t[i]=n[a-1]),n[a]=i)}}for(a=n.length,s=n[a-1];a-- >0;)n[a]=s,s=t[s];return n}(k):ye;for(y=S.length-1,c=w-1;c>=0;c--){const e=f+c,u=t[e],p=e+1<d?t[e+1].el:i;0===k[c]?m(null,u,n,p,o,a,s,r,l):v&&(y<0||c!==S[y]?P(u,n,p,2):y--)}}},P=(e,t,i,o,a=null)=>{const{el:s,type:r,transition:l,children:c,shapeFlag:d}=e;if(6&d)P(e.component.subTree,t,i,o);else if(128&d)e.suspense.move(t,i,o);else if(64&d)r.move(e,t,i,q);else if(r!==yo)if(r!==vo)if(2!==o&&1&d&&l)if(0===o)l.beforeEnter(s),n(s,t,i),ho((()=>l.enter(s)),a);else{const{leave:e,delayLeave:o,afterLeave:a}=l,r=()=>n(s,t,i),c=()=>{e(s,(()=>{r(),a&&a()}))};o?o(s,r,c):c()}else n(s,t,i);else(({el:e,anchor:t},i,o)=>{let a;for(;e&&e!==t;)a=u(e),n(e,i,o),e=a;n(t,i,o)})(e,t,i);else{n(s,t,i);for(let e=0;e<c.length;e++)P(c[e],t,i,o);n(e.anchor,t,i)}},V=(e,t,n,i=!1,o=!1)=>{const{type:a,props:s,ref:r,children:l,dynamicChildren:c,shapeFlag:d,patchFlag:u,dirs:p}=e;if(null!=r&&po(r,null,n,e,!0),256&d)return void t.ctx.deactivate(e);const h=1&d&&p,m=!hi(e);let f;if(m&&(f=s&&s.onVnodeBeforeUnmount)&&Fo(f,t,e),6&d)H(e.component,n,i);else{if(128&d)return void e.suspense.unmount(n,i);h&&Li(e,null,t,"beforeUnmount"),64&d?e.type.remove(e,t,n,o,q,i):c&&(a!==yo||u>0&&64&u)?O(c,t,n,!1,!0):(a===yo&&384&u||!o&&16&d)&&O(l,t,n),i&&D(e)}(m&&(f=s&&s.onVnodeUnmounted)||h)&&ho((()=>{f&&Fo(f,t,e),h&&Li(e,null,t,"unmounted")}),n)},D=e=>{const{type:t,el:n,anchor:o,transition:a}=e;if(t===yo)return void B(n,o);if(t===vo)return void(({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=u(e),i(e),e=n;i(t)})(e);const s=()=>{i(n),a&&!a.persisted&&a.afterLeave&&a.afterLeave()};if(1&e.shapeFlag&&a&&!a.persisted){const{leave:t,delayLeave:i}=a,o=()=>t(n,s);i?i(e.el,s,o):o()}else s()},B=(e,t)=>{let n;for(;e!==t;)n=u(e),i(e),e=n;i(t)},H=(e,t,n)=>{const{bum:i,scope:o,update:a,subTree:s,um:r}=e;i&&Ye(i),o.stop(),a&&(a.active=!1,V(s,e,t,n)),r&&ho(r,t),ho((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},O=(e,t,n,i=!1,o=!1,a=0)=>{for(let s=a;s<e.length;s++)V(e[s],t,n,i,o)},R=e=>6&e.shapeFlag?R(e.component.subTree):128&e.shapeFlag?e.suspense.next():u(e.anchor||e.el),F=(e,t,n)=>{null==e?t._vnode&&V(t._vnode,null,null,!0):m(t._vnode||null,e,t,null,null,null,n),Dn(),Bn(),t._vnode=e},q={p:m,um:V,m:P,r:D,mt:I,mc:x,pc:M,pbc:S,n:R,o:e};let G,W;return t&&([G,W]=t(q)),{render:F,hydrate:G,createApp:uo(F,G)}}(e)}function fo({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function go(e,t,n=!1){const i=e.children,o=t.children;if(Ie(i)&&Ie(o))for(let e=0;e<i.length;e++){const t=i[e];let a=o[e];1&a.shapeFlag&&!a.dynamicChildren&&((a.patchFlag<=0||32===a.patchFlag)&&(a=o[e]=Ho(o[e]),a.el=t.el),n||go(t,a)),a.type===bo&&(a.el=t.el)}}const yo=Symbol(void 0),bo=Symbol(void 0),wo=Symbol(void 0),vo=Symbol(void 0),xo=[];let ko=null;function So(e=!1){xo.push(ko=e?null:[])}let To=1;function Co(e){To+=e}function $o(e){return e.dynamicChildren=To>0?ko||ye:null,xo.pop(),ko=xo[xo.length-1]||null,To>0&&ko&&ko.push(e),e}function Io(e,t,n,i,o,a){return $o(Lo(e,t,n,i,o,a,!0))}function Eo(e,t){return e.type===t.type&&e.key===t.key}const _o="__vInternal",No=({key:e})=>null!=e?e:null,Mo=({ref:e,ref_key:t,ref_for:n})=>null!=e?Le(e)||gn(e)||Me(e)?{i:Wn,r:e,k:t,f:!!n}:e:null;function Lo(e,t=null,n=null,i=0,o=null,a=(e===yo?0:1),s=!1,r=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&No(t),ref:t&&Mo(t),scopeId:jn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:i,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Wn};return r?(Oo(l,n),128&a&&e.normalize(l)):n&&(l.shapeFlag|=Le(n)?8:16),To>0&&!s&&ko&&(l.patchFlag>0||6&a)&&32!==l.patchFlag&&ko.push(l),l}const Ao=function(e,t=null,n=null,i=0,o=null,a=!1){if(e&&e!==Ai||(e=wo),function(e){return!!e&&!0===e.__v_isVNode}(e)){const i=Po(e,t,!0);return n&&Oo(i,n),To>0&&!a&&ko&&(6&i.shapeFlag?ko[ko.indexOf(e)]=i:ko.push(i)),i.patchFlag|=-2,i}var s;if(Me(s=e)&&"__vccOpts"in s&&(e=e.__vccOpts),t){t=function(e){return e?un(e)||_o in e?Se({},e):e:null}(t);let{class:e,style:n}=t;e&&!Le(e)&&(t.class=ce(e)),Pe(n)&&(un(n)&&!Ie(n)&&(n=Se({},n)),t.style=oe(n))}return Lo(e,t,n,i,o,Le(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:Pe(e)?4:Me(e)?2:0,a,!0)};function Po(e,t,n=!1){const{props:i,ref:o,patchFlag:a,children:s}=e,r=t?Ro(i||{},t):i;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:r,key:r&&No(r),ref:t&&t.ref?n&&o?Ie(o)?o.concat(Mo(t)):[o,Mo(t)]:Mo(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==yo?-1===a?16:16|a:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Po(e.ssContent),ssFallback:e.ssFallback&&Po(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Vo(e=" ",t=0){return Ao(bo,null,e,t)}function Do(e="",t=!1){return t?(So(),function(e,t,n,i,o){return $o(Ao(e,t,n,i,o,!0))}(wo,null,e)):Ao(wo,null,e)}function Bo(e){return null==e||"boolean"==typeof e?Ao(wo):Ie(e)?Ao(yo,null,e.slice()):"object"==typeof e?Ho(e):Ao(bo,null,String(e))}function Ho(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:Po(e)}function Oo(e,t){let n=0;const{shapeFlag:i}=e;if(null==t)t=null;else if(Ie(t))n=16;else if("object"==typeof t){if(65&i){const n=t.default;return void(n&&(n._c&&(n._d=!1),Oo(e,n()),n._c&&(n._d=!0)))}{n=32;const i=t._;i||_o in t?3===i&&Wn&&(1===Wn.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=Wn}}else Me(t)?(t={default:t,_ctx:Wn},n=32):(t=String(t),64&i?(n=16,t=[Vo(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ro(...e){const t={};for(let n=0;n<e.length;n++){const i=e[n];for(const e in i)if("class"===e)t.class!==i.class&&(t.class=ce([t.class,i.class]));else if("style"===e)t.style=oe([t.style,i.style]);else if(xe(e)){const n=t[e],o=i[e];!o||n===o||Ie(n)&&n.includes(o)||(t[e]=n?[].concat(n,o):o)}else""!==e&&(t[e]=i[e])}return t}function Fo(e,t,n,i=null){kn(e,t,7,[n,i])}const qo=lo();let Go=0,Wo=null;const jo=()=>Wo||Wn,Uo=e=>{Wo=e,e.scope.on()},zo=()=>{Wo&&Wo.scope.off(),Wo=null};function Jo(e){return 4&e.vnode.shapeFlag}let Yo,Ko=!1;function Xo(e,t,n){Me(t)?e.render=t:Pe(t)&&(e.setupState=bn(t)),Zo(e,n)}function Zo(e,t,n){const i=e.type;if(!e.render){if(!t&&Yo&&!i.render){const t=i.template||Gi(e).template;if(t){const{isCustomElement:n,compilerOptions:o}=e.appContext.config,{delimiters:a,compilerOptions:s}=i,r=Se(Se({isCustomElement:n,delimiters:a},o),s);i.render=Yo(t,r)}}e.render=i.render||be}Uo(e),mt(),Ri(e),ft(),zo()}function Qo(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(bn(hn(e.exposed)),{get:(t,n)=>n in t?t[n]:n in Di?Di[n](e):void 0,has:(e,t)=>t in e||t in Di}))}const ea=(e,t)=>function(e,t,n=!1){let i,o;const a=Me(e);return a?(i=e,o=be):(i=e.get,o=e.set),new vn(i,o,a||!o,n)}(e,0,Ko),ta="3.2.47",na="undefined"!=typeof document?document:null,ia=na&&na.createElement("template"),oa={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,i)=>{const o=t?na.createElementNS("http://www.w3.org/2000/svg",e):na.createElement(e,n?{is:n}:void 0);return"select"===e&&i&&null!=i.multiple&&o.setAttribute("multiple",i.multiple),o},createText:e=>na.createTextNode(e),createComment:e=>na.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>na.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,i,o,a){const s=n?n.previousSibling:t.lastChild;if(o&&(o===a||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),o!==a&&(o=o.nextSibling););else{ia.innerHTML=i?`<svg>${e}</svg>`:e;const o=ia.content;if(i){const e=o.firstChild;for(;e.firstChild;)o.appendChild(e.firstChild);o.removeChild(e)}t.insertBefore(o,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},aa=/\s*!important$/;function sa(e,t,n){if(Ie(n))n.forEach((n=>sa(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const i=function(e,t){const n=la[t];if(n)return n;let i=Ge(t);if("filter"!==i&&i in e)return la[t]=i;i=Ue(i);for(let n=0;n<ra.length;n++){const o=ra[n]+i;if(o in e)return la[t]=o}return t}(e,t);aa.test(n)?e.setProperty(je(i),n.replace(aa,""),"important"):e[i]=n}}const ra=["Webkit","Moz","ms"],la={},ca="http://www.w3.org/1999/xlink";function da(e,t,n,i){e.addEventListener(t,n,i)}const ua=/(?:Once|Passive|Capture)$/;let pa=0;const ha=Promise.resolve(),ma=/^on[a-z]/,fa={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},ga=Se({},si.props,fa);new WeakMap,new WeakMap;Se({},ga,{tag:String,moveClass:String});const ya=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Ie(t)?e=>Ye(t,e):t};function ba(e){e.target.composing=!0}function wa(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const va={created(e,{modifiers:{lazy:t,trim:n,number:i}},o){e._assign=ya(o);const a=i||o.props&&"number"===o.props.type;da(e,t?"change":"input",(t=>{if(t.target.composing)return;let i=e.value;n&&(i=i.trim()),a&&(i=Xe(i)),e._assign(i)})),n&&da(e,"change",(()=>{e.value=e.value.trim()})),t||(da(e,"compositionstart",ba),da(e,"compositionend",wa),da(e,"change",wa))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:i,number:o}},a){if(e._assign=ya(a),e.composing)return;if(document.activeElement===e&&"range"!==e.type){if(n)return;if(i&&e.value.trim()===t)return;if((o||"number"===e.type)&&Xe(e.value)===t)return}const s=null==t?"":t;e.value!==s&&(e.value=s)}},xa={deep:!0,created(e,{value:t,modifiers:{number:n}},i){const o=_e(t);da(e,"change",(()=>{const t=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>n?Xe(Sa(e)):Sa(e)));e._assign(e.multiple?o?new Set(t):t:t[0])})),e._assign=ya(i)},mounted(e,{value:t}){ka(e,t)},beforeUpdate(e,t,n){e._assign=ya(n)},updated(e,{value:t}){ka(e,t)}};function ka(e,t){const n=e.multiple;if(!n||Ie(t)||_e(t)){for(let i=0,o=e.options.length;i<o;i++){const o=e.options[i],a=Sa(o);if(n)o.selected=Ie(t)?he(t,a)>-1:t.has(a);else if(pe(Sa(o),t))return void(e.selectedIndex!==i&&(e.selectedIndex=i))}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function Sa(e){return"_value"in e?e._value:e.value}const Ta=Se({patchProp:(e,t,n,i,o=!1,a,s,r,l)=>{"class"===t?function(e,t,n){const i=e._vtc;i&&(t=(t?[t,...i]:[...i]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,i,o):"style"===t?function(e,t,n){const i=e.style,o=Le(n);if(n&&!o){if(t&&!Le(t))for(const e in t)null==n[e]&&sa(i,e,"");for(const e in n)sa(i,e,n[e])}else{const a=i.display;o?t!==n&&(i.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(i.display=a)}}(e,n,i):xe(t)?ke(t)||function(e,t,n,i,o=null){const a=e._vei||(e._vei={}),s=a[t];if(i&&s)s.value=i;else{const[n,r]=function(e){let t;if(ua.test(e)){let n;for(t={};n=e.match(ua);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[":"===e[2]?e.slice(3):je(e.slice(2)),t]}(t);if(i){const s=a[t]=function(e,t){const n=e=>{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();kn(function(e,t){if(Ie(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=pa||(ha.then((()=>pa=0)),pa=Date.now()),n}(i,o);da(e,n,s,r)}else s&&(function(e,t,n,i){e.removeEventListener(t,n,i)}(e,n,s,r),a[t]=void 0)}}(e,t,0,i,s):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,i){return i?"innerHTML"===t||"textContent"===t||!!(t in e&&ma.test(t)&&Me(n)):"spellcheck"!==t&&"draggable"!==t&&"translate"!==t&&("form"!==t&&(("list"!==t||"INPUT"!==e.tagName)&&(("type"!==t||"TEXTAREA"!==e.tagName)&&((!ma.test(t)||!Le(n))&&t in e))))}(e,t,i,o))?function(e,t,n,i,o,a,s){if("innerHTML"===t||"textContent"===t)return i&&s(i,o,a),void(e[t]=null==n?"":n);if("value"===t&&"PROGRESS"!==e.tagName&&!e.tagName.includes("-")){e._value=n;const i=null==n?"":n;return e.value===i&&"OPTION"!==e.tagName||(e.value=i),void(null==n&&e.removeAttribute(t))}let r=!1;if(""===n||null==n){const i=typeof e[t];"boolean"===i?n=ue(n):null==n&&"string"===i?(n="",r=!0):"number"===i&&(n=0,r=!0)}try{e[t]=n}catch(e){}r&&e.removeAttribute(t)}(e,t,i,a,s,r,l):("true-value"===t?e._trueValue=i:"false-value"===t&&(e._falseValue=i),function(e,t,n,i,o){if(i&&t.startsWith("xlink:"))null==n?e.removeAttributeNS(ca,t.slice(6,t.length)):e.setAttributeNS(ca,t,n);else{const i=de(t);null==n||i&&!ue(n)?e.removeAttribute(t):e.setAttribute(t,i?"":n)}}(e,t,i,o))}},oa);let Ca;const $a=(...e)=>{const t=(Ca||(Ca=mo(Ta))).createApp(...e),{mount:n}=t;return t.mount=e=>{const i=function(e){if(Le(e))return document.querySelector(e);return e}(e);if(!i)return;const o=t._component;Me(o)||o.render||o.template||(o.template=i.innerHTML),i.innerHTML="";const a=n(i,!1,i instanceof SVGElement);return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),a},t};class Ia extends o{constructor(){super(),this.className="ItemHelper",this.itemNameMap=null,this.itemValueMap={"Glass of Beer":{itemName:"",itemInfo:"[]Only savages drink beer straight out of the bottle. This glass of beer is obtained fresh from the keg, and provides the same level of drunken joy as you'd get from a regular bottle of suds. Provides a moderate nerve increase when consumed.",itemInfoContent:'\n <div class=\'m-bottom10\'>\n <span class="bold"></span> \n </div>\n Only savages drink beer straight out of the bottle. This glass of beer is obtained fresh from the keg, and provides the same level of drunken joy as you\'d get from a regular bottle of suds. Provides a moderate nerve increase when consumed.\n <div class="t-green bold item-effect m-top10">: + 2CD + 1h</div>'}},this.itemPriceMap={205:{name:"Vicodin",price:1300}},this.priceTimeout=720}getItemData(t){return e(this,void 0,void 0,(function*(){let e,n=null;try{n=parseInt(t)}finally{}return e=this.itemNameMap?n||this.itemNameMap[t]:(yield this.getItemNameMap().promise)[t],yield(yield c.getInstance().ajaxFetch({url:"/inventory.php",method:"POST",body:JSON.stringify({step:"info",itemID:e,armouryID:0}),referrer:"displaycase.php"})).json()}))}getItemPrice(e){}getItemPriceApi(e){}getItemValue(t){return e(this,void 0,void 0,(function*(){return(yield this.getItemData(t)).itemValue.replaceAll(/[,$]/,"")}))}getLocalPriceData(){let e=localStorage.getItem("WHItemPrice"),n={data:null,promise:null},i=null;if(!e)return n.promise=this.fetchPriceData(),n;try{i=JSON.parse(e)}catch(e){throw t.error(e.stack||e.message||e),new Error("JSON")}return Date.now()-i.timestamp>6e4*this.priceTimeout?(n.data=null,n.promise=this.fetchPriceData()):(n.data=i.data,n.promise=null),n}getItemNameMap(){let n=this.getLocalPriceData(),i={data:null,promise:null};return n.data||this.itemNameMap?this.itemNameMap?i.data=this.itemNameMap:(i.data={},Object.keys(n.data).forEach((e=>{i.data[n.data[e].name]=parseInt(e)})),this.itemNameMap=i.data):i.promise=new Promise((i=>e(this,void 0,void 0,(function*(){let e=yield n.promise;t.info({response:e});let o={};Object.keys(e).forEach((t=>{o[e[t].name]=t})),this.itemNameMap=o,i(o)})))),i}fetchPriceData(){return e(this,void 0,void 0,(function*(){let e=null;try{e=JSON.parse(yield b.COFetch("https://jjins.github.io/item_price_raw.json"))}catch(e){throw t.error(e.stack||e.message||e),new Error("线")}let n={timestamp:Date.now(),data:e};return localStorage.setItem("WHItemPrice",JSON.stringify(n)),e}))}}function Ea(e){e=(e||0).toString();let t="";for(;e.length>3;)t=","+e.slice(-3)+t,e=e.slice(0,e.length-3);return e&&(t=e+t),t}const _a={Home:"","Estate Agents":"",Newspaper:"","Job Listing":"",Freebies:"","Classified Ads":"广",Properties:"","All Properties":"",City:"",Education:"",Gym:"","Biology Modules":"",Traveling:"",Events:"",Hospital:"","Received Events":"","Saved Events":"",Awards:"",Faction:"","Your Properties":"","Stock Market":"",Preferences:"",Missions:"","Spouse's Properties":"",Items:"","Travel Agency":"","Display Cabinet":"","Torn Docks":"","Nikeh Sports Shop":"","Torn City Super Store":"","Sally's Sweet Shop":"",Calendar:"","Christmas Town":"","My Maps":""},Na={"Personal stats":"",Log:"","Tell your story":"","Rental Market":"","Selling Market":"",City:"","Back to Estate Agents":"",Tutorial:"","Back to Education":"","Recruit Citizens":"",Events:"","Travel Home":"",Rehabilitation:"",People:"",Computer:"",Market:"",Back:"",Hospital:"",Everyone:"",Nobody:"","Friends & faction":" & ",Forum:"","Leave Faction":"",Properties:"","Back to Properties":"","Your Profile":"",Ammo:"",Trades:"",Bazaar:"",Display:"","Christmas Town":"","Token Shop":"Token ",Calendar:"","My Maps":"",Mods:""},Ma={Money:"",Level:"",Points:"PT",Merits:"",Energy:"E",Nerve:"N",Happy:"",Life:"",Chain:"Chain",Home:"",home:"",Items:"",City:"",Job:"",job:"",Gym:"",Properties:"",property:"",Education:"",edu:"",Crimes:"",Missions:"",Newspaper:"",News:"",Jail:"",Hospital:"",Casino:"",Forums:"","Hall of Fame":"",ranks:"","My Faction":"",faction:"","Recruit Citizens":"",recruit:"",Competitions:"",comps:"","Community Events":"",Community:"",Friends:"",Enemies:"",Information:"",Areas:"",Lists:"",messages:"",events:"",awards:""},La={"Traveling to Mexico":"西","Traveling to Cayman Islands":"","Traveling to Canada":"","Traveling to Hawaii":"","Traveling to United Kingdom":"","Traveling to Argentina":"","Traveling to Switzerland":"","Traveling to Japan":"","Traveling to China":"","Traveling to UAE":" UAE","Traveling to South Africa":"","Returning to Torn from Mexico":"西","Returning to Torn from Cayman Islands":"","Returning to Torn from Canada":"","Returning to Torn from Hawaii":"","Returning to Torn from United Kingdom":"","Returning to Torn from Argentina":"","Returning to Torn from Switzerland":"","Returning to Torn from Japan":"","Returning to Torn from China":"","Returning to Torn from UAE":" UAE ","Returning to Torn from South Africa":"","In Mexico":"西","In Cayman Islands":"","In Canada":"","In Hawaii":"","In United Kingdom":"","In Argentina":"","In Switzerland":"","In Japan":"","In China":"","In UAE":" UAE","In South Africa":""},Aa={"General Information":"","Property Information":"","Battle Stats":" (BS)","Working Stats":" (WS)","Equipped Armor":"","Equipped Weapons":"","Skill Levels":"","Latest Messages":"","Job Information":"","Latest Events":"","Latest Attacks":"","Faction Information":"","Criminal Record":"","Personal Perks":"",Property:"",Cost:"",Fees:"",Job:"",Company:"","Days in company":"",Type:"",Position:"",Income:"","Job points":"",Rating:"",Faction:"","Days in faction":"",Respect:"",Members:"","Illegal products":"",Theft:"","Auto theft":"","Drug deals":"","Computer crimes":"",Murder:"","Fraud crimes":" (Fraud crimes)",Other:"",Total:"",Name:"",Money:"",Points:"PT",Level:"",Rank:"",Life:"",Age:"","Marital status":"",Networth:"",Strength:" STR",Defense:" DEF",Speed:" SPD",Dexterity:" DEX","Hunting skill":"","Racing skill":"","Manual labor":" MAN",Intelligence:" INT",Endurance:" END"},Pa={mugged:" ",attached:" ",arrested:" ",hospitalized:" ",but:"",Someone:"",lost:""},Va={"front page":"",archive:"","job listing":"",properties:"",freebies:"","classified ads":"广",personals:"",bounties:"",comics:"",chronicles:"","TCSE Market Index":"TCSE ","Weekly bazaars":"",LOTTERY:"",BOUNTIES:"","TC PERSONALS":"","Why not visit our sponsor?":"广","View all":"","Advertise here":"广","Submit your own comic and earn 250 points!":"250PT","Welcome to personal page! Who are you seeking?":"","Search or put up your own ad!":"广","Put up your own personal advertisement":"广","Go to an interview to see if you can get the job, or check out one of the companies that take your fancy, someone might give you the chance of being their employee?":"","To claim the rewards, please click claim and hospitalize the person.":"","Put a bounty on someone":"",REWARD:"",TARGET:"",Target:"",LVL:"","Level:":": ",LISTER:"","Listed by:":": ",REASON:"",Reason:"","Reason:":": ",QTY:"","Qty:":": ",STATUS:"","Status:":": ",CLAIM:"",Claim:"","Reward per hospitalization":"","(optional)":"()","30 char":"30 ","I would like to make my listing anonymous (+50% fee)":"(+50%)","Would you like to place a bounty on someone? You c":"107退","Bounty rewards:":"","Listing fee:":"","Anonymity fee:":"","Total cost to pay now:":"","Are you sure you wish to place a bounty of":"1","Are you sure you wish to place":"",of:"",on:"",Yes:"",No:"",PLACE:"",Cancel:"",Hospital:"",Traveling:"",None:"","A total of {$} listings were found.":" {$} "},Da={Shack:"",Trailer:"",Apartment:"","Semi - Detached":"","Semi-Detached House":"","Semi Detached house":"","Detached House":"","Beach House":"",Chalet:"",Villa:"",Penthouse:"",Mansion:"",Ranch:"",Palace:"殿",Castle:"","Private Island":"屿 (PI)",Owner:"","Owner:":"",Happiness:"","Happiness:":"",Cost:"","Cost:":"","Cost per Day":"","Rental Period":"","Rental period:":"",Rent:"",Info:"",Buy:"","Property:":"",Modifications:"","Upkeep:":"","Staff:":"","Leased to":" ","Owned by your spouse":"","Owned by you":"","All Properties":"","Your Properties":"","Spouse's Properties":"","Spouse's":"",All:"",Yours:"","Customize this property":"",Travel:"","Kick your spouse out of this property":"","Pay upkeep":"","Move into this property":"","Sell this property":"","Lease this property":"","Give this property to someone":"","Pay bills":"","Recent upkeep payments":""},Ba={"Remaining Flight Time -":" - ","Torn to London.":" (London)","London to Torn.":" (London) ","Torn to Zurich.":" (Zurich)","Zurich to Torn.":" (Zurich) ","Torn to Honolulu.":" (Honolulu)","Honolulu to Torn.":" (Honolulu) ","Torn to Buenos Aires.":" (Buenos Aires)","Buenos Aires to Torn.":" (Buenos Aires) "},Ha={"According to the Economist Intelligence Unit's Quality of Life Index, Switzerland is the second best place in the world to be born, after Denmark. Torn ranked 224th, despite there being only 194 recognised nations in the world.":"194224","The opportunities for employment in Torn are wide and varied, from jobs in the zoo and the meat warehouse through to fantastic openings at the strip club - a description rarely used to refer to those who work there.":"广,--","One of the main requirements for a wedding to take place in Torn is the procurement of a ring. You may either purchase one from the Jewellery Store, or you can choose the more romantic option of stealing one, which requires far more effort if you think about it.":"","Despite having no discernible court system Torn still employs several thousand people within its Judicial Services department. Nobody knows what the hell these people do all day, but if we had to guess, we'd say Solitaire.":"","At one point a Dual Wield Melee course was available at Torn City College for a fee of $50,000,000, but this was discontinued when Torn's citizens realized they were effectively paying to learn how to hold two things at once.":"$50,000,000西"},Oa={Map:"","Quick Links":"","Key of Symbols":"",Financial:"",Administrative:"","inactive-mode1":"","inactive-mode2":"2.75mb","active-mode":"",ADMINISTRATIVE:"","City Hall":"",Hospital:"",Jail:"","Visitor Center":"WIKI",Staff:"Torn City ",Committee:"","Community Center":"","Chronicle Archives":"",Bank:"","Stock Exchange":"","Item Market":"","Sweet Shop":"","Msg Inc":"广","Donator House":"","Big Al's Gun Shop":"","Cyber Force":"",Church:"",Education:"","Travel Agency":"","Auction House":"","Points Building":"PT ","Points Market":"PT ",Docks:"","Estate Agents":"","Jewelry Store":"","Pawn Shop":"PT ","Post Office":"","Super Store":"","TC Clothing":"TC ","Token Shop":"Token ",Casino:"",Dump:"",Missions:"","Loan Shark":"","Race Track":"","City Center":"","East Side":"","West Side":"西","North Side":"","Red-Light":"",Residential:"","Sort by:":"",Area:"",Type:"",Name:"",Popularity:"",FINANCIAL:"",LEISURE:"",Leisure:"",MISC:"",Miscellaneous:"","REAL ESTATE":"","Real Estate":"",SHOPPING:"",Shopping:"","Nikeh Sports":"","Bits 'n' Bobs":""},Ra={Strength:" STR",Defense:" DEF",Speed:" SPD",Dexterity:" DEX",STR:"",DEF:"",SPD:"",DEX:"",TRAIN:"","Welcome to":" ","!":"","You walk into the gym and begin browsing the exercises available.":"","You have":"","available to use.":"",energy:"","Estimated Energy progress:":"(TornTools) ","What would you like to train today?":"","You do not have enough energy left":"","BACK TO GYM":"","ACTIVATE MEMBERSHIP":"","BUY MEMBERSHIP":"",Cancel:"","Chance of hitting opponent":"","Chance of hitting":"","Ability to withstand damage":"","Withstand damage":"","Damage you make on impact":"","Damage on impact":"","Ability to evade an attack":"","energy per train":" /","Class:":"","Membership cost:":": ","Energy usage:":": ",Heavyweight:"","Strength Gains":"","Speed Gains":"","Defense Gains":"","Dexterity Gains":"",Boxing:"","Are you sure you would like to buy this membership?":"","Not Available":"",Unavailable:"",Middleweight:"",Lightweight:"","5 per train":"5 /","10 per train":"10 /","50 per train":"50 /","Bicep Curls":"",Cycling:"",Yoga:"","Press-ups":"",Running:"",Karate:"",Catch:"","Leg Curls":"","Muay Thai":"","Woody's Slalom Sprint":"",Frisbee:"","Sit-ups":"",Wrestling:"","Lateral Raises":"","Interval Training":"",Judo:"","Balance Board":"",Planking:"","Kick Boxing":"",Zumba:"","Chin-ups":"",Jujitsu:"",Pilates:"","Tricep-dips":"","Sprint Training":"",Taekwondo:"",Squash:"",Squats:"","Explosive Kettle Bell":"",Darts:"","Chest Flys":"","Fartlek Training":"",Badminton:"","Shoulder Shrugs":"",Speedball:"",Pool:"","Chest Press":"",Skipping:"",Batting:"","Shoulder Press":"","Viper Belt Training":"",Swimming:"","Bench Press":"","Agility Training Course":"","Table Tennis":"","Suicide Running":"",Aerobics:"","Tricep Pulldowns":"","Incline Sprinting":"",Basketball:"","Weighted Chin-ups":""},Fa={"Premier Fitness":"","Average Joes":"","Woody's Workout Club":"","Beach Bods":"","Silver Gym":"","Pour Femme":"","Davies Den":"","Global Gym":"","Knuckle Heads":"","Pioneer Fitness":"","Anabolic Anomalies":"",Core:"","Racing Fitness":"","Complete Cardio":"","Legs, Bums and Tums":"","Deep Burn":"","Apollo Gym":"","Gun Shop":"","Force Training":"","Cha Cha's":"",Atlas:"","Last Round":"","The Edge":"","George's":"","Balboas Gym":"","Frontline Fitness":"线","Gym 3000":"3000","Mr. Isoyamas":"","Total Rebound":"",Elites:"","The Sports Science Lab":"","The Jail Gym":""},qa={Biology:"",Business:"","Combat Training":"","Computer Science":"","General Studies":"","Health & Fitness":"",History:"",Law:"",Mathematics:"",Psychology:"","Self Defense":"","Sports Science":"","Biology Modules":"","Introduction to Biochemistry":"","Physiological Testing":"","You do not meet the requirements for this course. Please complete the prerequisites first.":"","Description:":"","Learning outcomes:":"","Prerequisites:":"","Parameters:":"","As the ultimate module - you will focus on maximum gym gain with the least amount of input.":"","Ability to withdraw and deliver blood":" (使)",intelligence:"(INT)",endurance:"(END)","manual labor":"(MAN)","[Leave this course]":"[退]","You are taking the":"","education course.":"","This course will be completed in":"","Strength and Conditioning":"","[Leave course]":"[退]","Are you sure you want to leave the":"退","course?":"","course.":"","course!":"","It will take":"","to complete.":"","You have started the":"","You are currently taking this course.":"","You have completed this course!":"","You are currently taking an education course already. This course must be completed before you can start another.":"","The current progress will be canceled and you'll have to start all over again.":"","Sports Science Modules":"","Introduction to Sports Science":"","Are you the missing link? At the end of this course you'll know more about Neanderthal man than the Discovery Channel.":"","Congratulations! You have completed the":"","You have gained the following:":"","upon completion":"",Gain:"",Length:"",Cost:"","Tier: 2":": T2","Tier: 1":": T1","Tier: 3":": T3","Gain a 1% bonus to strength gains in the gym":"1%","Bonus:":"","Introduction to General Studies":"","Driving License":"","Gain access to driving related crimes":" (11)","You'll need this to get around the city. Our crash course should give you a license without fail.":"穿",Astronomy:"","Mechanical Arts":"","General Mechanics":"","Basic English":"","Ivory Crafting":"","Intravenous Therapy":"","Put that fear of needles behind you by learning how to successfully administer a blood transfusion.":"",Networking:"","Gain access to hacking crimes":" (18)","Computer Security and Defense":"","Gain a 10% increase in hacking crime success rate":"10%"},Ga={"User's Name / ID":"ID",Name:"",Faction:"",Company:"",Places:"","Item Market":"","Forum posts":"",Help:"","search...":"","Search users by...":"",Property:"",Male:"",Female:"",to:"",Condition:"",Married:"",Travelling:"","In a faction":"","In a company":"","In hospital":"","In jail":"","In Federal jail":"",Level:"","Days old":"",Offences:"","Last action":"",Reset:"",Search:"","0 - 15 min":"0 - 15 ","15 min - 1 hour":"15 - 1 ","1 hour - 1 day":"1 - 1 ","1 day - 1 week":"1 - 1 ","1 week - 1 month":"1 - 1 ","1 month - 1 year":"1 - 1 ","longer than 1 year ago":" 1 ",Not:"","View Log":"","View Profile":"",Settings:"","Server:":" ","Dark Mode":"","News Ticker":"","Desktop View":"",Logout:"",Gender:""},Wa={"Delete selected":" ","Save selected":" ","Check All":" ","Uncheck All":" ","ALL EVENTS (":" (","All Events":"","RECEIVED (":" (","Received Events":"","SAVED (":" (","Saved Events":"",hospitalized:"","and earned your":"","bounty reward":"","Someone hospitalized":"","You pop the LSD pill into your mouth and down a glass of water. A headache is followed by nausea and vomiting. You have overdosed.":" LSD (OD)","Your application to join the company":" ","has been declined":" ","has been accepted":" ","You have been given a bazaar for your 250 points. You can now sell items there.":" 250 PT ","You have received a Stock Ticker in exchange for 25 points. Now you can access the Stock Market and start buying shares.":" 25 PT ","You have received a Racing License in exchange for 50 points. You can now access the Race Track in the city.":" 50 PT ","You have been given a display cabinet for your 100 points. Now you can store special items there. Go to the items page to start using it.":" 100 PT 使","successfully revived you.":" ",Save:"",Send:"",SEND:"",Cancel:"","Send Event":"",Delete:"","failed to revive you.":" ","User ID:":"","You have successfully referred":" ",". Once they have validated, they will be added to your":"","referral list":"","and you will start earning rewards from them as they level up.":"","You have used the reward bonus code {$} and have received a boost of +250 energy.":"使 {$} 250 E",", the director of":" (",MAN:" (MAN)",END:" (END)",INT:" (INT)","You took some Xanax and downed a glass of water. A headache was followed by nausea and vomiting. You overdosed.":" Xanax(OD)"},ja={Global:"",Faction:"",People:"",Settings:"",Trade:"",Jail:"",Hospital:"",Company:"",Height:"",Width:"","Jail & Hospital":"",Traveling:"",Competition:"",Private:"","Room sound":"","Who is allowed to initiate chat with you?":"",Disabled:"",Enabled:"","Flash notifier":"","Chirp 1":" 1","Chirp 2":" 2","Chirp 3":" 3","Flash & sound":"","Click 1":" 1","Click 2":" 2","Data 1":" 1","Data 2":" 2","Data 3":" 3","Double 2":"","Electronic 1":"","Electronic 2":"","Future 1":"","Future 2":"","Plink 1":"","Plink 2":"","Soft beep 1":"","Soft beep 2":"",Subtle:"","Transmission 1":"","Transmission 2":"","Warble 1":"","Warble 2":"","Only people you know or have met":"","Anyone can initiate chat with you":"",Recent:"",Friends:"",Blocked:"",All:"","Enter a name or ID to add to this list":"ID","This list is empty.":""},Ua={"You take a trip down to the hospital to see who's been unlucky today.":"","Nobody can revive you.":"","Anyone can now revive you.":"","Only those on your friends list & your faction members can now revive you.":"","in Hospital":"","People are":"",Time:"",Level:"",Reason:"","Overdosed on Xanax":"Xanax","Shot while attempting to take down a president":"","Taken down by guards":"","Got a nasty surprise in the post.":"","Dropped by Swiss Guards":"","Mauled by a guard dog":"","Collapsed after taking Ketamine":"Ketamine","Collapsed after taking PCP":"PCP","Burned in an arson attempt":"","Fallen ill with radiation poisoning":"","Taken down by members of Aftermath":"Aftermath","Crashed his":"","Crashed her":"","Taken down by members of The Black Hand":"","Got derailed":"","Third degree burns on back from explosion":"",general:" ","Hit in the head by flying metal":"","Shot themselves in the foot":"","Hospitalized by someone":"","Attacked by someone":"","Mugged by someone":"","Gunned down by FBI agents":"","Taken down by a SWAT marksman":"",Exploded:"","Fell from a two story building while on a hitman mission":"","Suffering from an acute hemolytic transfusion reaction":"","Choked out by Leslie":"Leslie","Shot in the back":"","Lost to":" ","Suspect of a presidential assassination":""},za={"Honors (":" (","Medals (":" (","Merits (":" (","As you progress, you will unlock new honors. To add an Honor to your name, click the one you want.":"","As you progress, you will unlock new medals. Your medals will be pinned on your profile to show your\nprestige.":"","You have":" ",merits:"",merit:"",medals:"",honors:"","Available Merits:":":","Merits Used:":":","to spend on anything you would like on\nthe list below.\nYou've earned these merits by attaining":" ",and:" ",".\nThe enhancements are incremental and will go up in cost the more you upgrade them.\nFor example, if you pay one merit to upgrade an improvement,\nnext time you want to upgrade it you will need to pay two merits, after that three etc.":" 12","Awards you are about to unlock":"",Upgrade:"",Progress:"","Expand All":"",Latest:"",Defaults:"",Attacking:"",Camo:"",Weapons:"",Education:"",Crimes:"",Drugs:"","Jail & Hospital":"",Travel:"",Gym:"",Level:"",Competitions:"",Money:"",Items:"",Commitment:"",Casino:"",Missions:"",Misc:"",General:"",Rank:"",Networth:"",SPEND:"",CHANGE:"",Cancel:"","Are you sure you want to change your name background to this Honor?":"","Nerve Bar":"N","Critical Hit Rate":"","Life Points":"","Crime Experience":"","Education Length":"",Awareness:"","Bank Interest":"","Masterful Looting":"",Stealth:"",Hospitalizing:"","Addiction Mitigation":"","Employee Effectiveness":"",Brawn:"",Protection:"",Sharpness:"",Evasion:"","Heavy Artillery Mastery":"","Machine Gun Mastery":"","Rifle Mastery":"","SMG Mastery":"","Shotgun Mastery":"","Pistol Mastery":"","Club Mastery":"(Clubbing)","Piercing Mastery":"穿(Piercing)","Slashing Mastery":"(Slashing)","Mechanical Mastery":"","Temporary Mastery":"","Increases maximum nerve bar by 1 point":" 1 N","Increases critical hit rate by 0.5%":" 0.5% ","Increases maximum life by 5%":" 5% ","Increases crime success rate":"","Decreases education course length by 2%":" 2% ","Increases frequency of items found in the city":"","Increases bank interest by 5%":" 5% ","Increases money gained from mugging by 5%":" 5% ","Increases ability to stealth attacks":"","Increases hospitalization time by 5%":" 5% ","Reduces the negative effects of addiction by 2%":" 2% ","Increases employee effectiveness by +1":" +1 ","Gives a passive bonus to strength of 3%":" 3% ","Gives a passive bonus to defense of 3%":" 3% ","Gives a passive bonus to speed of 3%":" 3% ","Gives a passive bonus to dexterity of 3%":" 3% ","Increases proficiency with heavy artillery":"","Increases proficiency with machine guns":"","Increases proficiency with rifles":"","Increases proficiency with submachine guns":"","Increases proficiency with shotguns":"","Increases proficiency with pistols":"","Increases proficiency with clubbing weapons":"","Increases proficiency with piercing weapons":"穿","Increases proficiency with slashing weapons":"","Increases proficiency with mechanical devices":"","Increases proficiency with temporary weapons":"","Increases damage and accuracy of heavy artillery weapons":"","Increases damage and accuracy of machine gun weapons":"","Increases damage and accuracy of rifle weapons":"","Increases damage and accuracy of submachine gun weapons":"","Increases damage and accuracy of shotgun weapons":"","Increases damage and accuracy of pistol weapons":"","Increases damage and accuracy of axe & clubbing weapons":"","Increases damage and accuracy of piercing weapons":"穿","Increases damage and accuracy of slashing weapons":"","Increases damage and accuracy of mechanical devices":"","Increases damage and accuracy of temporary weapons":"","Are you sure you want to spend":" ",on:"","upgrade?":"","You have upgraded this merit upgrade to the maximum already.":"","This upgrade will give you one extra nerve point on your maximum nerve.":" 1 N","This upgrade will give you an extra 0.5% chance at getting a critical hit during attacks. Critical hits are blows made on an opponent's head, throat or heart during an attack.":"使 0.5% ","This upgrade will increase your maximum life by 5%. This upgrade works great with your defense and might keep you going a little longer during attacks.":"使 5%","This upgrade will give you a continuous boost of 3% (per upgrade) to the effect of your crime experience resulting in increased success rates.":"使 3% ()","This upgrade will decrease the amount of days you have to wait to complete an education course. This upgrade will start working on the next education course you start.":"","This upgrade will increase the amount of items you can find in the city, however it will not necessarily increase their quality.":"","This upgrade will give you an increase of 5% to your investment bank interest. This upgrade will start working on your next investment.":"使 5%","This upgrade will give you a 5% boost in money that you mug from opponents. Perfect for experienced muggers, looking for some extra cash.":"使5%","This upgrade will make you more likely to stay stealthed when beating an opponent by increasing your stealth level by 0.2 per increment. When you're stealthed, your name will be listed as 'Someone' so your enemy will not know who hit them.":" 0.2 使","This upgrade will increase the amount of time you hospitalize someone by 5%. Make sure they feel the burn with 50% extra hospital time when fully upgraded.":"使 5% 50%","This upgrade will reduce the negative effects addiction causes towards your battle stats, employee effectiveness, and education / gym access.":"访","This upgrade will provide an additional minor bonus to employee effectiveness, helping you to earn more money for the company you work for.":"","This upgrade will give you a passive bonus to your strength stat. This upgrade will not increase your actual viewable stat number, but you will notice the effects during attacks.":"","This upgrade will give you a passive bonus to your defense stat. This upgrade will not increase your actual viewable stat number, but you will notice the effects during attacks.":"","This upgrade will give you a passive bonus to your speed stat. This upgrade will not increase your actual viewable stat number, but you will notice the effects during attacks.":"","This upgrade will give you a passive bonus to your dexterity stat. This upgrade will not increase your actual viewable stat number, but you will notice the effects during attacks.":"","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Heavy Artillery weapons include: Flamethrower, RPG Launcher, and Type 98 Anti Tank.":"使 (Flamethrower)RPG (RPG Launcher)98 (Type 98 Anti Tank)","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Machine Gun weapons include: M249 SAW, Rheinmetall MG 3, and Snow Cannon.":"使M249 SAWRheinmetall MG 3Snow Cannon","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Rifle weapons include: AK-47, Enfield SA-80, and ArmaLite M-15A4.":"使AK-47Enfield SA-80ArmaLite M-15A4","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. SMG weapons include: P90, MP5 Navy and 9mm Uzi.":"使P90MP5 Navy9mm Uzi","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Shotgun weapons include: Jackhammer, Mag 7, and Ithaca 37.":"使JackhammerMag 7Ithaca 37","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Pistol weapons include: Glock 17, Desert Eagle, and Flare Gun.":"使 (Glock 17) (Desert Eagle)Flare Gun","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Clubbing weapons include: Baseball Bat, Frying Pan, and Axe (Melee weapons that usually just cause a heavy blow).":"使 (Baseball Bat) (Frying Pan) (Axe) ()","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Piercing weapons include: Pen Knife and Dagger (Melee weapons that you stab with to pierce the skin).":"使穿 (Pen Knife) (Dagger) (穿)","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Slashing weapons include: Samurai Sword and Scimitar (Swords and other weapons that you would slash with).":"使 (Samurai Sword) (Scimitar)()","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Mechanical devices include: Chainsaw and Taser (Weapons with an electronic or engineered system).":"使 (Chainsaw) (Taser) ()","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Temporary weapons include: Grenade, Ninja Star, and Molotov Cocktail (Temporary weapons that cause damage).":"使 (Grenade) (Ninja Star) (Molotov Cocktail) ()","Go to hospital 250 times (Very Common)":" 250 ()"},Ja={"blackmail someone":"","blackmailed someone":"","kidnap someone":"","kidnapped someone":"","make a bomb threat":"","made a bomb threat":""},Ya={"User Information":"",Actions:"",Status:"",Medals:"","Basic Information":"","Personal Information":"","Competition Status":"",Level:"",Rank:"",Age:"","What would you like to do?":"","Give some money to {$}":" {$} ","Initiate a chat with {$}":" {$} ","Initiate a trade with {$}":" {$} ","Send {$} a message":" {$} ","Add {$} to your enemy list":" {$} ","Add {$} to your friend list":" {$} ","View {$}'s personal statistics":" {$} ","{$} is currently traveling":"{$} ","{$} has no items in their bazaar":"{$} ","View {$}'s bazaar":"{$} ","{$} is currently in hospital":"{$} ","Place a bounty on {$}":" {$}","Report {$} to staff":" Torn City {$}","Attack {$}":" {$}","{$} has not been online in the last 6 hours":"{$} 6线","{$} is on your friend list":"{$} ","{$} is on your enemy list":"{$} ","You do not have enough energy to attack {$}":"E {$}",Description:"","{$} characters left":" {$} ",ADD:"",ENEMY:"",FRIEND:"",Cancel:"","You are currently traveling":"","You are not in Torn":"","You don't own a Laptop!":"","View {$}'s display cabinet":" {$} ",Name:"",Role:"",Faction:"",Job:"",Life:"",Property:"","Marital status":"",Awards:"",Friends:"",Enemies:"","Forum posts":"","Last action":"",Civilian:"",Committee:"",Admin:"",Tester:"",Officer:"",Moderator:"",Helper:"","(With":"(",")":")",Spouse:"","Married to":"",Now:"","N/A":"",None:"",Single:"","Real name":"",Country:"",City:"",Grocer:"",Education:"",Casino:"",Medical:"",Army:"",Law:"","There is no active competition":"","doesn't wish to share":""},Ka={"Some players may be out to part you from your money, using any means necessary. Use the secure trade feature if you want to protect an exchange and check the contents very carefully.":"使","Do not fall for scams!":"","For more info please visit here.":"访",SEND:"",Cancel:"","Message (optional, up to 200 characters)":" (200)","Click here to add the maximum amount, or use shortcuts like <br /> 5k, 1.5m, max, half, quarter, 1/2, 1/3, 1/4, 25%":" <br /> 5k, 1.5m, max, half, quarter, 1/2, 1/3, 1/4, 25%"},Xa={Stock:"",Name:"",Price:"","1h":"1","24h":"24","7d":"7","1m":"1","1y":"1",Live:"",live:"","Last hour":"","Last day":"","Last week":"","Last month":"","Last year":"","All time":"",Owned:"",Dividend:"","West Side University":"西","Insured On Us":"","Torn City Investments":"Torn City ","Torn & Shanghai Banking":"Torn ","Symbiotic Ltd.":"","Crude & Co":"","Feathery Hotels Group":"","Mc Smoogle Corp":"","Wind Lines Travel":"线","Performance Ribaldry":"","Syscore MFG":" MFG","Evil Ducks Candy Corp":"","Munster Beverage Corp.":"","Torn City Clothing":"Torn City ","Lucky Shots Casino":"","TC Media Productions":"TC ","International School TC":"TC ","Big Al's Gun Shop":"","Torn City Health Service":"TC ","Alcoholics Synonymous":"","Torn City Motors":"TC ","Legal Authorities Group":"","The Torn City Times":"",Grain:"","Eaglewood Mercenary":"","Home Retail Group":"","Empty Lunchbox Traders":"","Messaging Inc.":"","TC Music Industries":"TC ","I Industries Ltd.":"","Tell Group Plc.":"",Yazoo:"","1x Random Property":"1","10% Bank Interest Bonus":"10% ","a 10% Bank Interest Bonus":"10% ","100 Energy":"100 E","Private Jet Access":"","1000 Happiness":"1000 ","Advanced Firewall":"","an Advanced Firewall":"","Company Sales Boost":"","a Company Sales Boost":"","Free Education Courses":"","a Free Education Courses":"","10% Racing Skill Boost":" 10% ","10% Home Upgrade Discount":"10% ","Free Classified Advertising":"广","50% Coding Time Reduction":" 50% ","Company Advertising Boost":"广","a Company Advertising Boost":"广","10% Course Time Reduction":" 10% ","a 10% Education Course Time Reduction":" 10% ","Free Banner Advertising":"广","a Free Banner Advertising":"广",Inactive:"","Ready for collection":"","Benefit active":"",provides:"()",Every:"","when holding at least":"","shares currently valued at":"",days:"",Buy:"","more shares for":"","to unlock the":"",increment:"",After:"",in:"","You currently have":"",benefit:"","You cannot buy shares while traveling":"","You cannot sell shares while traveling":"","How many shares would you like to":"","You will be able to collect":"",buy:"",sell:"","will buy you":"",shares:"",share:"",Your:"","shares are worth":"","Do you want to":"","shares at":"","each?":"","For a total of":"",Back:"","Confirm Transaction":"","Price updating...":"","after the":"","fee of":"","You have":"",sold:"",bought:"",each:"","Buy date":"",Shares:"",Value:"",Bought:"",Current:"",Change:"",Profit:"",View:"",Sell:"",Merge:"","Current Price:":"","change:":"","start:":"","end:":"","high:":"","low:":""},Za={Primary:"",Secondary:"",Melee:"",Temporary:"",Defensive:"",Armor:"",Clothing:"",Jewelry:"","Your items -":" - ",All:"",Medical:"",Drugs:"","Energy Drink":"",Alcohol:"",Candy:"",Boosters:"",Enhancer:"","Supply Packs":"",Electronics:"",Flowers:"",Plushies:"",Cars:"",Viruses:"",Miscellaneous:"",Artifacts:"",Books:"",Special:"",Collectibles:"",Donate:"",Drink:"",Eat:"",Enlist:"",Equip:"",Listen:"",Open:"",Propose:"",Return:"退",Sell:"",Send:"",Take:"使",Trash:"","Turn on":"",Unequip:"",Use:"使","Donate this Item":"","Equip this Item":"","Sell this Item":"","Send this Item":"","Trash this Item":"","Unequip this Item":"","Return to Faction":"退","Buy:":":","Sell:":":","Value:":":","Accuracy:":":","Damage:":":","Circ:":":","Quality:":":","Stealth:":":","Caliber:":":","Ammo:":":","Bonus:":":","Masked:":":","Coverage:":":","Armor:":":","Top Speed:":":","Dirt:":":","Tarmac:":":","Acceleration:":":","Safety:":":","Braking:":":","Handling:":":","Rate of Fire:":":","Read:":":"},Qa={"Ammunition Pack":"","Clothing Cache":"","First Aid Kit":"","Small First Aid Kit":"","Empty Blood Bag":"","Blood Bag : A-":"A-","Blood Bag : A+":"A+","Blood Bag : AB+":"AB+","Blood Bag : AB-":"AB-","Blood Bag : O+":"O+","Blood Bag : O-":"O-","Blood Bag : B-":"B-","Blood Bag : B+":"B+","Blood Bag : Irradiated":"",Morphine:"","Neumune Tablet":"",Antidote:"",Felovax:"",Zylkene:"","Cake Frosting":"","Lock Picking Kit":"","Special Fruitcake":"","Sawed-Off Shotgun":"",Thompson:"",TMP:"TMP","Benelli M1 Tactical":"M1",MP5k:"MP5k","MP5 Navy":"MP5",Skorpion:"","MP 40":"MP40","SKS Carbine":"SKS","Vektor CR-21":"CR-21",P90:"P90","Ithaca 37":"37","XM8 Rifle":"XM8",AK74U:"AK74U","AK-47":"AK-47","Bushmaster Carbon 15":"15","M4A1 Colt Carbine":"M4A1","Benelli M4 Super":"M4 Super","Heckler & Koch SL8":"HK SL8","M16 A2 Rifle":"M16A2","Mag 7":"Mag 7","Steyr AUG":"AUG","SIG 550":"SIG 550","Enfield SA-80":"SA80","Tavor TAR-21":"21TAR-21","9mm Uzi":"9mm Uzi","M249 SAW":"M249",Minigun:"",Jackhammer:"","SIG 552":"SIG 552","ArmaLite M-15A4":"M15A4","Nock Gun":"","Snow Cannon":"","Rheinmetall MG 3":"MG3","Gold Plated AK-47":"AK47","Lorcin 380":"380","Flare Gun":"","Glock 17":"17",Taurus:"","Springfield 1911":"M1911","Raven MP25":"","Ruger 22/45":"",Crossbow:"",Slingshot:"","S&W Revolver":"S&W","Beretta M9":"M9",USP:"USP","Beretta 92FS":"92FS",Luger:"",Fiveseven:"FN",Blowgun:"",Blunderbuss:"",Magnum:"","S&W M29":"","Desert Eagle":"","BT MP9":"","Cobra Derringer":"","Qsz-92":"",Harpoon:"",Flamethrower:"","Dual 92G Berettas":"","Type 98 Anti Tank":"98","Beretta Pico":"","Homemade Pocket Shotgun":"","RPG Launcher":"RPG",Hammer:"","Lead Pipe":"","Baseball Bat":"",Crowbar:"","Bo Staff":"","Knuckle Dusters":"","Pen Knife":"","Leather Bullwhip":"","Kitchen Knife":"","Frying Pan":"",Sai:"","Plastic Sword":"","Butterfly Knife":"",Dagger:"","Swiss Army Knife":"","Chain Whip":"",Axe:"","Wooden Nunchakus":"",Taser:"","Ninja Claws":"",Scimitar:"",Chainsaw:"","Cricket Bat":"","Ice Pick":"",Katana:"",Spear:"",Kama:"","Twin Tiger Hooks":"","Samurai Sword":"","Claymore Sword":"","Rusty Sword":"",Macana:"",Kodachi:"","Wushu Double Axes":"",Guandao:"","Metal Nunchakus":"",Pillow:"","Diamond Icicle":"","Diamond Bladed Knife":"","Pair of Ice Skates":"","Fine Chisel":"",Flail:"","Ivory Walking Cane":"","Pair of High Heels":"",Madball:"","Yasukuni Sword":"","Naval Cutlass":"","Meat Hook":"","Petrified Humerus":"","Blood Spattered Sickle":"",Cleaver:"","Golden Broomstick":"","Riding Crop":"","Devil's Pitchfork":"","Dual Hammers":"","Dual Axes":"","Dual Scimitars":"","Dual Samurai Swords":"",Sledgehammer:"","Bread Knife":"","Poison Umbrella":"","Leather Boots":"","Leather Gloves":"","Leather Helmet":"","Leather Pants":"","Leather Vest":"","Chain Mail":"","Flak Jacket":"","Police Vest":"","Hiking Boots":"","Construction Helmet":"","Bulletproof Vest":"","Full Body Armor":"","Safety Boots":"","WWII Helmet":"","Kevlar Gloves":"","Outer Tactical Vest":"","Combat Gloves":"","Combat Boots":"","Combat Pants":"","Combat Helmet":"","Combat Vest":"","Liquid Body Armor":"","Flexible Body Armor":"","Medieval Helmet":"","Motorcycle Helmet":"","Welding Helmet":"","Hazmat Suit":"",Brick:"","Ninja Star":"",Fireworks:"","Claymore Mine":"","Stick Grenade":"",Snowball:"",HEG:"",Grenade:"","Flash Grenade":"","Pepper Spray":"","Tear Gas":"",Trout:"","Throwing Knife":"","Molotov Cocktail":"","Smoke Grenade":"",Melatonin:"",Tyrosine:"",Epinephrine:"",Sand:"",Serotonin:"","Nail Bomb":"","Concussion Grenade":"",Book:"","Can of Goose Juice":"","Can of Damp Valley":"湿","Can of Crocozade":"","Can of Santa Shooters":"","Can of Munster":"","Can of Rockstar Rudolph":"","Can of Red Cow":"","Can of X-MASS":"XS","Can of Taurine Elite":"","Bag of Bon Bons":"","Box of Extra Strong Mints":"","Bag of Chocolate Kisses":"","Box of Sweet Hearts":"","Box of Chocolate Bars":"",Lollipop:"","Box of Bon Bons":"","Big Box of Chocolate Bars":"","Bag of Candy Kisses":"","Bag of Tootsie Rolls":"","Bag of Bloody Eyeballs":"","Bag of Chocolate Truffles":"","Bag of Reindeer Droppings":"鹿便","Red Easter Egg":"","Yellow Easter Egg":"","Blue Easter Egg":"","Pink Easter Egg":"","Orange Easter Egg":"","Black Easter Egg":"","Green Easter Egg":"绿","Brown Easter Egg":"","Pixie Sticks":"","Bag of Sherbet":"",Jawbreaker:"","Bag of Humbugs":"","Purple Easter Egg":"","White Easter Egg":"","Birthday Cupcake":"","Gold Easter Egg":"",Shrooms:"",LSD:"",Ketamine:"",Ecstasy:"",PCP:"使",Speed:"",Xanax:"XAN","Love Juice":"",Cannabis:"",Opium:"",Vicodin:"","Heavy Duty Padlock":"","High-Speed Drive":"","Tracking Device":"","Tumble Dryer":"","Duct Tape":"",Chloroform:"仿",Glasses:"","Fanny Pack":"","Slim Crowbar":"","Advanced Driving Manual":"","Cut-Throat Razor":"","Wireless Dongle":"线",Screwdriver:"","Ergonomic Keyboard":"","Mountain Bike":"",Balaclava:"","Small Suitcase":"","Medium Suitcase":"","Rosary Beads":"","Large Suitcase":"","Wind Proof Lighter":"","Bottle of Beer":"","Bottle of Champagne":"","Bottle of Tequila":"","Bottle of Sake":"","Bottle of Kandy Kane":"","Bottle of Pumpkin Brew":"","Bottle of Wicked Witch":"","Bottle of Minty Mayhem":"","Bottle of Christmas Cocktail":"","Bottle of Mistletoe Madness":"","Bottle of Stinky Swamp Punch":"","Bottle of Moonshine":"","Bottle of Green Stout":"绿","Bottle of Christmas Spirit":"","Glass of Beer":"","Lawyer Business Card":"()","Erotic DVD":"DVD","Gift Card":"","Book of Carols":"","Feathery Hotel Coupon":"FHC",Skateboard:"SE ","Boxing Gloves":"SE ",Dumbbells:"SE ",Parachute:"SE ","Pack of Music CDs":"","Pack of Blank CDs : 100":"","RS232 Cable":"","Hard Drive":"","MP3 Player":"","Personal Computer":"","CD Player":"","DVD Player":"",Television:"","Game Console":"",Microwave:"",Laptop:"","Gold Ring":"","Plain Silver Ring":"","Sapphire Ring":"","Plastic Watch":"","Gold Necklace":"","Silver Necklace":"","Gold Watch":"","Diamond Ring":"","Stainless Steel Watch":"","Pearl Necklace":"","Cocktail Ring":"","Crystal Bracelet":"","Statement Necklace":"","Gold Chain":"","Simple Virus":"","Tunneling Virus":"","Polymorphic Virus":"","Firewalk Virus":"","Armored Virus":"","Stealth Virus":"","Bunch of Flowers":"","Single Red Rose":"","Bunch of Black Roses":"","Dozen Roses":"",Dahlia:"",Crocus:"","Banana Orchid":"",Orchid:"",Edelweiss:"","Ceibo Flower":"",Heather:"","African Violet":"","Cherry Blossom":"",Peony:"","Tribulus Omanense":"","Box of Medical Supplies":"","Lottery Voucher":"","Box of Grenades":"","Six Pack of Alcohol":"6","Denim Cache":"","Drug Pack":"DP dú","Keg of Beer":"","Elderly Cache":"","Cutesy Cache":"","Six Pack of Energy Drink":"6","Gentleman Cache":"","Wannabe Cache":"","Elegant Cache":"","Naughty Cache":"","Goodie Bag":"","Anniversary Present":"",Parcel:"","Broken Bauble":"","Bronze Ribbon":"","Silver Ribbon":"","Coin : Dump":"","Coin : Church":"","Santa's Elf '09":"","Metal Dog Tag":"","Coin : Hospital":"","Birthday Cake '05":"","Bunch of Balloons '05":"","Jack-O-Lantern '05":"","Coin : Race Track":"","Coin : Casino":"","Coin : Estate Agents":"","Coin : Travel Agency":"","Coin : Education":"","Coin : Museum":"","Coin : Drugs":"","Coin : Auction House":"","Coin : Stock Exchange":"","Coin : Companies":"","Poker Chip":"","Coin : Factions":"","Voodoo Doll":"","Rabbit Foot":"","Gold Ribbon":"","Coin : Jail":"","Santa's List '17":"","Snowflake '05":"","Cheesus '18":"","Bronze Microphone":"","Paper Bag":"","Toast Jesus '18":"","Silver Dog Tag":"","Christmas Tree '05":"","Bronze Dog Tag":"","Bronze Paint Brush":"","10 Ton Pacifier":"","Single White Rose":"","Chocolate Egg '05":"","Annoying Man":"","Scammer in the Slammer '18":"","Gold Microphone":"","Amazon Doll":"",Soapbox:"","Gold Paint Brush":"","Dollar Bill Collectible":"","Octopus Toy":"","Gold Dog Tag":"","Crazy Cow":"","Citrus Squeezer":"","Strife Clown":"","Evil Doll":"","Blow-Up Doll":"","Backstage Pass":"","Karate Man":"","YouYou Yo Yo":"","Flea Collar":"","Ms Torn Crown":"","Kevlar Helmet":"","Cursed Moon Pendant":"","Mr Torn Crown":"","Mr Brownstone Doll":"","Burmese Flag":"","Chocobo Flute":"","Skeleton Key":"","Yoda Figurine":"","Barbie Doll":"","China Tea Set":"",Dreamcatcher:"","Non-Anon Doll":"","Christmas Card '09":"","Christmas Stocking '09":"","Jester's Cap":"","Official Ninja Kit":"","Silver Paint Brush":"","Tank Top":"",Jacket:"",Trainers:"",Bandana:"","Mediocre T-Shirt":"T","Sports Shades":"","Diving Gloves":"","Proda Sunglasses":"",Speedo:"",Flippers:"","Kabuki Mask":"",Sweater:"",Snorkel:"",Bikini:"",Wetsuit:"","Mountie Hat":"","Exotic Gentleman Mask":"","Young Lady Mask":"","Moustache Man Mask":"","Old Lady Mask":"","Nun Mask":"","Scarred Man Mask":"","Ginger Kid Mask":"","Psycho Clown Mask":"","Trench Coat":"","Festive Socks":"","Coconut Bra":"","Badge : 15th Anniversary":"","Paper Crown : Red":"","Paper Crown : Blue":"","Paper Crown : Green":"绿","Paper Crown : Yellow":"","Party Hat '19":"","String Vest":"","Santa Gloves":"","Classic Fedora":"",Sweatpants:"","Santa Trousers":"","Pinstripe Suit Trousers":"","Santa Boots":"","Denim Cap":"","Tube Dress":"","Hair Bow":"","Pleated Skirt":"","Reading Glasses":"",Pullover:"","Denim Vest":"","Basketball Shirt":"","Denim Jacket":"","Santa Jacket":"","Bandit Mask":"",Durag:"",Chinos:"",Tights:"","Collared Shawl":"","Denim Shirt":"",Shrug:"",Dungarees:"",Sandals:"","Check Skirt":"","Ballet Shoes":"","Sun Hat":"","Cork Hat":"",Pantyhose:"","Denim Shoes":"","Knee Socks":"",Shorts:"","Golf Socks":"","Bucket Hat":"","Maid Hat":"","Panama Hat":"","Oversized Shirt":"","Pencil Skirt":"","Floral Dress":"","Booty Shorts":"",Blouse:"",Halterneck:"","Snapback Hat":"","Crop Top":"",Bermudas:"","Peplum Top":"","Baseball Cap":"","Santa Hat":"","Baseball Jacket":"","Capri Pants":"",Thong:"","Fishnet Stockings":"","Chin Diaper":"","Chest Harness":"","Platform Shoes":"","Fur Hat":"","Polo Shirt":"","Bunny Ears":"","Denim Jeans":"",Skirt:"","Puppy Ears":"",Tutu:"",Camisole:"","Assless Chaps":"","Head Scarf":"","Puffer Vest":"",Choker:"","Boob Tube":"","Tighty Whities":"","Puffer Jacket":"","Travel Socks":"","Fur Scarf":"",Waistcoat:"","Derby Shoes":"",Braces:"",Blindfold:"","Medical Mask":"",Nightgown:"","Flip Flops":"","Saggy Pants":"","Square Sunglasses":"",Cardigan:"","Gym Shorts":"","Knee-high Boots":"","Sports Jacket":"","Bowler Hat":"","Cover-ups":"","Bingo Visor":"","Yoga Pants":"",Raincoat:"","Silver Hoodie":"","Fisherman Hat":"",Lingerie:"","Bush Hat":"",Turtleneck:"","Lolita Dress":"","Fitted Shirt":"",Blazer:"","Opera Gloves":"","Mini Skirt":"","Shoulder Sweater":"","Suit Trousers":"",Mackintosh:"","Black Oxfords":"","Shutter Shades":"","Cat Ears":"","Fascinator Hat":"",Poncho:"","Fur Coat":"","Silver Flats":"","Kitty Shoes":"","Neck Tie":"","Maid Uniform":"","Bow Tie":"","Polka Dot Dress":"",Slippers:"","Gold Sneakers":"","Smoking Jacket":"","Parachute Pants":"","Latex Gloves":"",Collar:"","Nipple Tassels":"","Scrooge's Boots":"",Mankini:"","Scrooge's Gloves":"","Ripped Jeans":"","Santa Beard":"","Ball Gown":"","Scrooge's Trousers":"","Unicorn Horn":"",Onesie:"","Wedding Veil":"","Christmas Sweater '15":"","Bunny Nose":"",Straitjacket:"",Monocle:"","Scrooge's Topcoat":"","Wedding Dress":"","Witch's Hat":"",Bathrobe:"","Tiger King Mask '20":"","Greta Mask '19":"","Scrooge's Top Hat":"","Sandworm Mask '21":"",Duster:"","Ski Mask":"","Pennywise Mask '20":"","Anatoly Mask '19":"","Ball Gag":"","Elon Musk Mask '17":"","Heart Sunglasses":"","Jigsaw Mask '19":"",Pipe:"","Michael Myers Mask '18":"","Respo Hoodie":"","Bunny Suit":"","Donald Trump Mask '16":"","Gronch Mask '18":"","Chevrolet Cavalier":"","Peugeot 106":"","Volkswagen Beetle":"","Citroen Saxo":"","Vauxhall Corsa":"","Vauxhall Astra GSI":"","Honda Civic":"","Classic Mini":"MINI","Volkswagen Golf GTI":"","Renault Clio":"","Alfa Romeo 156":"","Audi S4":"S4","Reliant Robin":"","Nissan Micra":"","Honda Integra R":"","Ford Mustang":"","Lotus Exige":"","Hummer H3":"","Honda S2000":"","Honda Accord":"","Holden SS":"","Mini Cooper S":"","Seat Leon Cupra":"","Toyota MR2":"","Volvo 850":"","Honda NSX":"","BMW X5":"X5","TVR Sagaris":"","BMW M5":"M5","Ford Focus RS":"","Subaru Impreza STI":"","Chevrolet Corvette Z06":"","Audi TT Quattro":"","Fiat Punto":"","Pontiac Firebird":"","Dodge Charger":"","BMW Z8":"Z8","Porsche 911 GT3":"","Nissan GT-R":"","Ford GT40":"","Audi R8":"R8","Mitsubishi Evo X":"","Lexus LFA":"","Ferrari 458":"","Lamborghini Gallardo":"","Mercedes SLR":"","Aston Martin One-77":"","Sierra Cosworth":"","Senet Board":"","Florin Coin":"","Leopard Coin":"","Gold Noble Coin":"","Vairocana Buddha Sculpture":"","Black Senet Pawn":"","White Senet Pawn":"","Ganesha Sculpture":"","Quran Script : Ubay Ibn Kab":"","Quran Script : Ali":"","Quran Script : Ibn Masud":"","Shabti Sculpture":"","Egyptian Amulet":"","Sheep Plushie":"","Kitten Plushie":"","Teddy Bear Plushie":"","Stingray Plushie":"","Wolverine Plushie":"","Jaguar Plushie":"","Nessie Plushie":"","Red Fox Plushie":"","Chamois Plushie":"","Monkey Plushie":"","Panda Plushie":"","Lion Plushie":"","Camel Plushie":"","Dong : Effy":"","Dong : Jeremy":"","Dong : Greg":"","Dong : Holly":"","Dong : Thomas":"","Toilet Paper":"","Stink Bombs":"","Dog Poop":"","Horse's Head":"","Christmas Cracker":"","Small Explosive Device":"","Business Class Ticket":"","Strippogram Voucher":"","Poison Mistletoe":"","Donator Pack":"(DP)","Casino Pass":"","Cesium-137":"137","Dirty Bomb":"","Box of Tissues":"","Pack of Cuban Cigars":"","Birthday Wrapping Paper":"","Empty Box":"","Bolt Cutters":"","Christmas Wrapping Paper":"","Soap on a Rope":"","Generic Wrapping Paper":"","Crazy Straw":"",Fruitcake:"","Pele Charm":"","Mayan Statue":"","Steel Drum":"","Sumo Doll":"","Hockey Stick":"",Chopsticks:"","Soccer Ball":"",Snowboard:"","Paper Weight":"","Yakitori Lantern":"",Sensu:"","Dart Board":"","Elephant Statue":"","Certificate of Lame":"","Yucca Plant":"","Jade Buddha":"",Compass:"","Nodding Turtle":"","Fire Hydrant":"","Model Space Ship":"","Tailors Dummy":"",Sextant:"","Afro Comb":"","Maneki Neko":"","Blank Tokens":"","Printing Paper":"","Stick of Dynamite":"","Blank Credit Cards":"","Advent Calendar":"","Certificate of Awesome":"","Glow Stick":"","Ship in a Bottle":"","Santa's Snot":"","Christmas Angel":"","Sprig of Holly":"","Polar Bear Toy":"","Turkey Baster":"","Electronic Pumpkin":"","Salt Shaker":"","Cinnamon Ornament":"","Spooky Paper Weight":"","Lump of Coal":"","Vanity Hand Mirror":"","Gingerbread Man":"","Christmas Lights":"","C4 Explosive":"C4","Jack O Lantern Lamp":"","Gingerbread House":"","Mini Sleigh":"","Golden Wreath":"","Coat Hanger":"","Memory Locket":"",Cauldron:"",Mistletoe:"","Witch's Cauldron":"","Gas Can":"","Golden Candy Cane":"","Christmas Express":"",Eggnog:"","Raw Ivory":"","Oriental Log":"",Snowman:"","Christmas Gnome":"","Pile of Vomit":"","Loaf of Bread":"","Deputy Star":"","Oriental Log Translation":"",Tangerine:"","Dancing Santa Claus '09":"",Photographs:"","Japanese/English Dictionary":"","Gold Nugget":"","Peg Leg":"","Birthday Cake '14":"14","Zombie Brain":"","Rotten Eggs":"","Pack of Trojans":"","Snow Globe '09":"","Medal of Honor":"","Rusty Dog Tag":"","Human Head":"","Article on Crime":"","Piece of Cake":""},es={"Effect: Provides 100 Lucky Shot Lotto tickets when used.":"","Effect: Improves success rate for the Transporting Drugs crime.":"","Effect: Increases happiness by 25 and booster cooldown by 30 minutes.":"","Effect: Increases happiness by 50 and booster cooldown by 30 minutes.":"","Effect: Increases happiness by 75 and booster cooldown by 30 minutes.":"","Effect: Increases energy by 10 and booster cooldown by 2 hours.":"","Effect: Opponent becomes Maced, decreasing Dexterity to 1/5th for 15-20 seconds.":"1/515-20s","Effect: Opponent becomes Blinded, decreasing Speed to 1/5th for 15-20 seconds.":"1/515-20s","Effect: Opponent becomes Gassed, decreasing Dexterity to 1/3rd for 120-180 seconds.":"1/3120-180s","Effect: Opponent receives Severe Burning damage over 3 turns.":"3","Effect: Opponent becomes Smoked, decreasing Speed to 1/3rd for 120-180 seconds.":"1/3120-180s","Effect: User becomes Hastened, increasing Speed by 500% for 120 seconds.":"使500%120s","Effect: User becomes Sharpened, increasing Dexterity by 500% for 120 seconds.":"使500%120s","Effect: User becomes Strengthened, increasing Strength by 500% for 120 seconds.":"使500%120","Effect: User becomes Hardened, increasing Defense by 300% for 120 seconds and replenishing life by 25%.":"使120300%25%","Effect: Opponent becomes Concussed, decreasing Dexterity to 1/5th for 15-20 seconds.":"1/515-20","Effect: Increases happiness by 5-20 if under 20% of maximum.":"","Effect: Can be used with a Fruitcake and Cake Frosting to create a Special Fruitcake.":""},ts={"is a Defensive Armor.":"","are a Defensive Armor.":"","is a Machine Gun Weapon.":"","is a SMG Weapon.":"","is a Shotgun Weapon.":"","is a Rifle Weapon.":"","is a Heavy Artillery Weapon.":"","is a Pistol Weapon.":"","is a Piercing Weapon.":"穿(piercing)","is a Clubbing Weapon.":"(Clubbing)","is a Slashing Weapon.":"(slashing)","is a Mechanical Weapon.":"","is a Temporary Weapon.":"","is a Clothing Item.":"","is a Medical Item.":"","is a Drug Item.":"(dú)","is an Energy Drink Item.":"","is an Alcohol Item.":"","is a Candy Item.":"","is a Booster Item.":"","is an Enhancer Item.":"","is a Supply Pack Item.":"","is an Electronic Item.":"","is a Jewelry Item.":"","is a Flower Item.":"","is a Plushie Item.":"","is a class E Car Item.":"E","is a class D Car Item.":"D","is a class C Car Item.":"C","is a class B Car Item.":"B","is a class A Car Item.":"A","is a Virus Item.":"","is an Other Item.":"","is a Book Item.":"","is a Special Item.":""},ns={"API Keys":"API ","General settings":"","Attack settings":"","Create New Key":"","New key's name":"","Public Only":"","Minimal Access":"","Limited Access":"","Full Access":"","Here you can share your account's information with":"APIAPI"},is={_taskHint:{a_good_day_to_get_hard:{task:"3-10",hint:"lost"},a_kimpossible_task:{task:"3使",hint:""},a_problem_at_the_tracks:{task:"3使",hint:"使"},a_thor_loser:{task:"Duke(Duke's hammer)8-16",hint:""},against_the_odds:{task:"2"},an_honorary_degree:{task:"使",hint:"使"},army_of_one:{task:"31",hint:"Duke2"},bakeout_breakout:{task:"(lock pick)(fruitcake)(special fruitcake)",hint:"Duke"},bare_knuckle:{task:"",hint:"西buff"},batshit_crazy:{task:"Penelope",hint:"DukePenelope"},battering_ram:{task:"3"},big_tub_of_muscle:{task:""},birthday_surprise:{task:"Duke",hint:"使(Empty box)(parcel)"},bonnie_and_clyde:{task:""},bountiful:{task:"2-5",hint:"(hospitalize)"},bounty_on_the_mutiny:{task:"",hint:""},bring_it:{task:"Duke",hint:""},candy_from_babies:{task:"$50,000-$250,000",hint:"(hospitalize)"},charity_work:{task:"2",hint:""},cracking_up:{task:"(interrogate)使Duke(Duke's Safe)Duke",hint:""},critical_education:{task:"3-9"},cut_them_down_to_size:{task:""},dirty_little_secret:{task:"",hint:"ID"},double_jeopardy:{task:"",hint:""},drug_problem:{task:"Defeat 4 - 7 (P)."},emotional_debt:{task:"(tear gas)(pepper spray)",hint:"Hazmat Suit()"},estranged:{task:""},family_ties:{task:"3"},field_trip:{task:"3$100-$1,000,000"},fireworks:{task:"250-1250",hint:"minigunm249"},forgotten_bills:{task:""},frenzy:{task:"5-15"},get_things_jumping:{task:"2000-500001000-25000"},graffiti:{task:"(pepper spray)"},guardian:{task:""},hammer_time:{task:"(hammer)",hint:""},hands_off:{task:"3-5"},hare_meet_tortoise:{task:"",hint:""},hide_and_seek:{task:"3-51",hint:"线"},hiding_in_plain_view:{task:""},high_fliers:{task:"3"},hobgoblin:{task:"5"},immovable_object:{task:""},inside_job:{task:"secrete"},"introduction:_duke":{task:"10 Duke "},keeping_up_appearances:{task:"",hint:""},kiss_of_death:{task:"kiss"},lack_of_awareness:{task:""},lost_and_found:{task:"12"},loud_and_clear:{task:"使3-11(HEGGrenade)",hint:""},loyal_customer:{task:""},make_it_slow:{task:"使5-9",hint:"79"},marriage_counseling:{task:""},massacrist:{task:""},meeting_the_challenge:{task:"$10,000-$16,000,000"},motivator:{task:"",hint:"5使"},new_kid_on_the_block:{task:"5"},no_man_is_an_island:{task:"32",hint:"2"},no_second_chances:{task:""},out_of_the_frying_pan:{task:"使Felovax使Zylkene"},painleth_dentitht:{task:"",hint:"使"},party_tricks:{task:"DEX"},pass_the_word:{task:"",hint:""},peak_experience:{task:""},proof_of_the_pudding:{task:"使",hint:"使"},rabbit_response:{task:"10-303",hint:""},reconstruction:{task:"(kitchen knife)(leather gloves)西",hint:"使"},red_faced:{task:"使(trout)"},rising_costs:{task:"(Brick)",hint:""},rolling_in_it:{task:"",hint:""},safari:{task:"(rifle)"},scammer:{task:"",hint:""},sellout_slayer:{task:"2-6"},sending_a_message:{task:""},show_some_muscle:{task:"",hint:""},sleep_aid:{task:""},some_people:{task:"",hint:"(Empty box)使"},standard_routine:{task:"使(Clubbing)",hint:"(Metal Nunchakus)"},stomach_upset:{task:""},swan_step_too_far:{task:"",hint:""},the_executive_game:{task:"使",hint:""},the_tattoo_artist:{task:"使(slashing)穿(piercing)",hint:""},three_peat:{task:"3"},training_day:{task:"250 - 1,250E"},tree_huggers:{task:"5-8"},undercutters:{task:"4"},unwanted_attention:{task:"4"},withdrawal:{task:"",hint:""},wrath_of_duke:{task:"4"}},Hit:"","with a brick.":"使 (brick)",Put:""},os={"Virus Programming":""},as={"Buy Items":"",Buy:"","in stock)":")","Flower (":"(","Plushie (":"(","Other (":"(","Temporary (":"(","Melee (":"(","Candy (":"(","Booster (":"(","Car (":"(","Electronic (":"(","Alcohol (":"(",Sell:"",items:"",Value:"",Amount:"","items to Bits 'n' Bobs":"","Select All":"","Unselect All":"","SELL ITEMS":"",Cancel:"","Are you sure you would like to sell these items?":"","Total value:\n$":"$",Yes:"",No:"","Are you sure you would like to buy":"","Sell your points":"PT"},ss={January:"",February:"",March:"",April:"",May:"",June:"",July:"",August:"",September:"",October:"",November:"",December:""},rs=/[\u4e00-\u9fa5]/;var ls=function(e){return Me(e)?{setup:e,name:e.name}:e}({name:"ItemPrice",data:()=>({itemNameInput:"",itemInfo:{id:-1,name:"",price:"",value:""},itemNameMap:{},optDefault:"...",itemSelected:"",apiPriceResult:{status:-1,data:[]},tNameQuery:"",itemNameTranslated:[],selectOpts:[],itemNameDict:Qa}),computed:{},methods:{onApiPricePress(n,i){return e(this,void 0,void 0,(function*(){i.target.disabled=!0;let e=null,o=T.getInstance().isPDA?T.getInstance().PDA_APIKey:localStorage.getItem("APIKey");try{if(!o)return new Error("APIKEY");e=JSON.parse(yield c.getInstance().fetchText(`//api.torn.com/market/${this.itemNameMap[n]}?selections=bazaar&key=${o}`)).bazaar.slice(0,5)}catch(e){t.error(e.stack||e.message||e),new f(e.message||e.toString()),i.target.disabled=!1}this.apiPriceResult.status=0,this.apiPriceResult.data=e,i.target.disabled=!1}))},onSelectChange(){this.apiPriceResult.status=-1,this.itemInfo.value="";let t=Ia.getInstance().getLocalPriceData(),n=e=>{var t;this.itemInfo.name=this.itemSelected,this.itemInfo.price="$"+Ea(null===(t=e[this.itemNameMap[this.itemSelected]])||void 0===t?void 0:t.price),this.itemInfo.id=this.itemNameMap[this.itemSelected]};t.data?n(t.data):window.setTimeout((()=>e(this,void 0,void 0,(function*(){return n(yield t.promise)}))),0),Ia.getInstance().getItemData(this.itemSelected).then((e=>{this.itemInfo.value=e.itemValue}))},moneyFormat:e=>"$"+Ea(e)},mounted(){let t=Ia.getInstance().getItemNameMap();t.data?(this.itemNameMap=t.data,this.optDefault="-"):window.setTimeout((()=>e(this,void 0,void 0,(function*(){this.itemNameMap=yield t.promise,this.optDefault="-"}))),0)},watch:{tNameQuery(e){this.selectOpts=[],0===this.itemNameTranslated.length&&Object.keys(Qa).forEach((e=>{let t=Qa[e];t&&this.itemNameTranslated.push({translatedName:t,itemName:e})})),this.itemNameTranslated.forEach((t=>{t.translatedName.includes(e)&&this.selectOpts.push(t.itemName)}))},itemNameInput(e){e&&(this.selectOpts=[],Object.keys(this.itemNameMap).forEach((e=>{e.toLowerCase().includes(this.itemNameInput.toLowerCase())&&this.selectOpts.push(e)})))}}});C("select[data-v-6fc6b64f]{padding:.5em}.apiResults[data-v-6fc6b64f]{background:#ebebeb;padding:1em}");var cs=(e,t)=>{const n=e.__vccOpts||e;for(const[e,i]of t)n[e]=i;return n};const ds=e=>(function(e){jn=e}("data-v-6fc6b64f"),e=e(),jn=null,e),us={disabled:"",value:""},ps=["value"],hs={key:0},ms=["src","alt"],fs=ds((()=>Lo("span",null," (API)",-1))),gs={key:0},ys={key:1,class:"apiResults"},bs=ds((()=>Lo("span",null," (Value)",-1))),ws={key:0},vs={key:1},xs=ds((()=>Lo("p",null,null,-1))),ks=["href"],Ss={key:1},Ts=[ds((()=>Lo("p",null,"",-1)))];var Cs=cs(ls,[["render",function(e,t,n,i,o,a){return So(),Io(yo,null,[Lo("div",null,[Lo("div",null,[Mi(Lo("input",{"onUpdate:modelValue":t[0]||(t[0]=t=>e.itemNameInput=t),placeholder:"()"},null,512),[[va,e.itemNameInput]]),Mi(Lo("input",{"onUpdate:modelValue":t[1]||(t[1]=t=>e.tNameQuery=t),placeholder:"(!)"},null,512),[[va,e.tNameQuery]])]),e.selectOpts.length?Mi((So(),Io("select",{key:0,"onUpdate:modelValue":t[2]||(t[2]=t=>e.itemSelected=t),onChange:t[3]||(t[3]=(...t)=>e.onSelectChange&&e.onSelectChange(...t))},[Lo("option",us,me(e.optDefault),1),(So(!0),Io(yo,null,Pi(e.selectOpts,(t=>(So(),Io("option",{value:t},me(t)+" "+me(e.itemNameDict[t]?"("+e.itemNameDict[t]+")":""),9,ps)))),256))],544)),[[xa,e.itemSelected]]):Do("",!0)]),-1!==e.itemInfo.id?(So(),Io("div",hs,[Lo("p",null,[Lo("img",{src:`/images/items/${e.itemInfo.id}/medium.png`,alt:e.itemInfo.id},null,8,ms)]),Lo("p",null," "+me(e.itemInfo.name)+me(e.itemNameDict[e.itemInfo.name]?"("+e.itemNameDict[e.itemInfo.name]+")":""),1),Lo("p",null," ()"+me(e.itemInfo.price),1),Lo("div",null,[fs,-1===e.apiPriceResult.status?(So(),Io("span",gs,[Lo("button",{onClick:t[4]||(t[4]=t=>e.onApiPricePress(e.itemInfo.name,t)),class:"torn-btn"},"API")])):(So(),Io("div",ys,[Lo("ul",null,[(So(!0),Io(yo,null,Pi(e.apiPriceResult.data,(t=>(So(),Io("li",null,me(e.moneyFormat(t.cost))+" x "+me(t.quantity),1)))),256))]),Lo("button",{onClick:t[5]||(t[5]=t=>e.onApiPricePress(e.itemInfo.name,t)),class:"torn-btn"},"")]))]),Lo("p",null,[bs,e.itemInfo.value?(So(),Io("span",ws,me(e.itemInfo.value),1)):(So(),Io("span",vs,"..."))]),xs,Lo("p",null,[Lo("a",{href:"/imarket.php#/p=shop&step=shop&type=&searchname="+String(e.itemInfo.name).replaceAll(" ","+"),target:"_blank",class:"torn-btn"},"",8,ks)])])):(So(),Io("div",Ss,Ts))],64)}],["__scopeId","data-v-6fc6b64f"]]),$s={show(){$a(Cs).mount(new w("","",(()=>$a(Cs).unmount())).getElement())}};class Is extends o{constructor(){super(),this.className="ZhongIcon",this.menuItemList=null,this.cashView=null}init(){t.info("ZhongIcon, "),this.constructMenuList().insert2Dom().dragHandler(),t.info(", ZhongIcon")}updateCashView(e){this.cashView&&Is.ZhongNode.contains(this.cashView)||(this.cashView=document.createElement("div"),this.cashView.id="wh-cash-monitor",Is.ZhongNode.append(this.cashView)),this.cashView.innerText=e}static setPosition(e,t){e&&t&&(e>0&&e<document.documentElement.offsetWidth-100&&(Is.ZhongNode.style.left=e+"px"),t>0&&t<document.documentElement.offsetHeight-60&&(Is.ZhongNode.style.top=t+"px"))}insert2Dom(){let n=document.querySelector("div#wh-trans-icon");this.menuItemList;let{version:i}=o.glob;if(self!==top||n)return null;n=document.createElement("div"),Is.ZhongNode=n,n.id="wh-trans-icon",n.classList.add("cont-gray"),n.innerHTML='<div><button id="wh-trans-icon-btn"></button></div><div class="wh-container"><div class="wh-main"><div><b></b></div><div id="wh-gSettings"></div><div><p>: {{}} <button id="wh-update-btn"></button></p></div><div><p>: <span id="wh-latest-version"></span></p></div><div><p id="wh-inittimer"></p></div></div></div>'.replace("{{}}","$"===i.slice(-1)?"DEV":i);const a=n.querySelector("#wh-gSettings");if(this.menuItemList.forEach((e=>b.getInstance().elemGenerator(e,a))),t.info(""),n.initTimer=n.querySelector("#wh-inittimer"),n.querySelector("#wh-trans-icon-btn").onclick=()=>{n.classList.toggle("wh-icon-expanded");const e=i=>{t.info(i.target),i.target!==n.querySelector("#wh-trans-icon-btn")&&(n.contains(i.target)||(t.info(""),document.body.removeEventListener("click",e),n.classList.remove("wh-icon-expanded")))};n.classList.contains("wh-icon-expanded")?(t.info("->"),document.body.addEventListener("click",e)):(t.info("->"),document.body.removeEventListener("click",e))},n.querySelector("#wh-update-btn").onclick=t=>{t.target.blur();new w('<h4></h4><p>使<a href="https://gitlab.com/JJins/wuhu-torn-helper/-/raw/dev/release.min.user.js" target="_blank"></a></p><p><img alt="tm.png" src="//jjins.github.io/tm.png"><img alt="vm.png" src="//jjins.github.io/vm.png"></p><p></p><h4></h4><p> KIWI 👆</p><p>Torn PDA app Alook <a href="//jjins.github.io/fyfuzhi/" target="_blank"></a></p><h4></h4><p></p><p><button></button></p>',"").getElement().querySelector("button").onclick=t=>e(this,void 0,void 0,(function*(){let e=t.target;e.innerHTML="";const n=yield b.COFetch(`https://jjins.github.io/fyfuzhi/release.min.user.js?${performance.now()}`);e.innerHTML="",e.onclick=()=>{const t=document.createElement("textarea");t.innerHTML=n,e.parentElement.append(t),t.focus(),t.select(),document.execCommand("Copy"),t.remove(),e.innerHTML="",e.onclick=null,new f("")}}))},n.querySelectorAll("#wh-trans-fest-date button").forEach(((e,t)=>0===t?e.addEventListener("click",(()=>{let e="<table>";Object.keys(A).sort().forEach((t=>e+=`<tr><td>${1+(0|t.slice(0,2))}${t.slice(2)}</td><td>${A[t].name}</td><td>${A[t].eff}</td></tr>`)),new w(e+="</table>","")})):e.addEventListener("click",null))),n.querySelectorAll("#wh-trans-event-cont button").forEach(((e,t)=>0===t?e.addEventListener("click",(()=>{let e="<table>";L.forEach((t=>e+=`<tr><td><b>${t.name}</b></td><td>${t.start[0]+1}${t.start[1]}${t.start[2]}:00~${t.end[0]+1}${t.end[1]}${t.end[2]}:00</td></tr><tr><td colspan="2">${t.eff}</td></tr>`)),new w(e+="</table><p></p>","")})):e.addEventListener("click",null))),g.get("SaveIconPosition")){let e=g.get("IconPosition"),t={x:document.documentElement.offsetWidth,y:document.documentElement.offsetHeight};Is.setPosition(e.x>t.x?.9*t.x|0:e.x,e.y>t.y?.9*t.y|0:e.y)}document.body.append(n),t.info("torn"),window.initializeTooltip&&window.initializeTooltip(".wh-container","white-tooltip"),t.info("torn mini profile");let s={id:window.setInterval((()=>{s.counter++,(window.$||window.unsafeWindow&&window.unsafeWindow.$)&&(!function(e){let t={timeout:0,clickable:!1,rootElement:null,targetElement:null,rootId:"profile-mini-root",rootSelector:"#profile-mini-root",userNameSelector:"a[href*='profiles.php?XID=']",contentWrapper:e,setClickable:function(e){this.clickable=e},setRootElement:function(){document.getElementById(this.rootId)?(window.ReactDOM.unmountComponentAtNode($(this.rootSelector).get(0)),this.rootElement=document.getElementById(this.rootId)):(this.rootElement=document.createElement("div"),this.rootElement.classList.add(this.rootId),this.rootElement.id=this.rootId,$("body").append(this.rootElement))},subscribeForHideListeners:function(){const e=this;let t=$(window).width();function n(n){let i=$(this);i.width()!==t&&(t=i.width(),o.call(e,n))}function i(t){document.activeElement.classList.contains("send-cash-input")||o.call(e,t)}function o(t){if(0===$(t.target).closest(this.rootSelector).length||["resize","scroll"].includes(t.type)){e.targetElement=null;let t=$(this.userNameSelector);window.ReactDOM.unmountComponentAtNode($(this.rootSelector).get(0)),t.off("click",this.handleUserNameClick),t.unbind("contextmenu"),$(document).off("click",o);let a=$(window);a.off("hashchange",o),a.off("resize",n),a.off("scroll",i)}}let a=$(window);$(document).on("click",o.bind(this)),a.on("hashchange",o.bind(this)),a.on("resize",n),e.targetElement.closest("#chatRoot")&&a.on("scroll",i)},subscribeForUserNameClick:function(){$(this.userNameSelector).click(this.handleUserNameClick.bind(this))},handleUserNameClick:function(){if(!this.clickable)return this.setClickable(!0),!1},subscribeForContextMenu:function(e){$(e).on("contextmenu",(function(e){return e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),!1}))},handleMouseDown:function(){const e=this;$(this.contentWrapper).on("mousedown touchstart",this.userNameSelector,(function(t){return(1===t.which||"touchstart"===t.type)&&(e.targetElement=t.currentTarget,e.subscribeForContextMenu(e.targetElement),e.handleFocusLost(t.currentTarget),e.timeout=window.setTimeout((function(){"touchstart"!==t.type?(e.setClickable(!1),e.subscribeForUserNameClick()):$(t.currentTarget).off("touchmove mouseleave"),e.subscribeForHideListeners(),e.setRootElement();const n={userID:t.currentTarget.search.slice("?XID=".length),event:t.originalEvent};window.renderMiniProfile(e.rootElement,n)}),500),"touchstart"===t.type&&void 0)}))},handleMouseUp:function(){const e=this;$(this.contentWrapper).on("mouseup touchend",this.userNameSelector,(function(){e.timeout&&clearTimeout(e.timeout)}))},handleFocusLost:function(e){const t=this;$(e).on("touchmove mouseleave",(function e(){t.timeout&&clearTimeout(t.timeout),$(this).off("touchmove mouseleave",e)}))},init:function(){this.handleMouseDown(),this.handleMouseUp()}};t.init()}("#wh-trans-icon"),window.clearInterval(s.id)),s.counter>30&&window.clearInterval(s.id)}),1e3),counter:0};return t.info(""),this}dragHandler(){let e=!1,t=!1,n={x:0,y:0};return Is.ZhongNode.addEventListener("mousedown",(t=>{if(0===t.button){t.preventDefault(),e=!0;let i=Is.getPosition();n.x=t.x-i.x,n.y=t.y-i.y}})),document.addEventListener("mouseup",(()=>{e=!1,t&&(t=!1,g.get("SaveIconPosition")&&g.set("IconPosition",Is.getPosition()))})),document.addEventListener("mousemove",(i=>{e&&(Is.setPosition(i.x-n.x,i.y-n.y),t=!0)})),this}static getPosition(){return{x:Is.ZhongNode.style.left?parseInt(Is.ZhongNode.style.left.slice(0,-2)):Is.ZhongNode.offsetLeft,y:Is.ZhongNode.style.top?parseInt(Is.ZhongNode.style.top.slice(0,-2)):Is.ZhongNode.offsetTop}}constructMenuList(){t.info("");let i=new n,o=T.getInstance();const a=new Date;let s=[];0!==o.player_info.userID&&s.push({domType:"plain",domId:"wh-trans-welcome",domHTML:`<a href="/profiles.php?XID=${o.player_info.userID}" target="_blank">${o.player_info.playername}</a>[${o.player_info.userID}]`});let r="<button></button>: ";{const e=A,t=(e,t)=>(e<10?`0${e}`:e.toString())+(t<10?`0${t}`:t.toString()),n=t(a.getUTCMonth(),a.getUTCDate());if(e[n])r+=` - ${e[n].name}(<button title="${e[n].eff}"></button>)`;else{let t=Object.keys(e);t.push(n);const i=t.sort().indexOf(n)+1,o=e[t[i]||t[0]];r+=`${(new Date(i!==t.length?a.getUTCFullYear():a.getUTCFullYear()+1,0|t[i!==t.length?i:0].slice(0,2),0|t[i!==t.length?i:0].slice(2),8).getTime()-a.getTime())/864e5|0} - ${o.name}(<button title="${o.eff}"></button>)`}}s.push({domType:"plain",domId:"wh-trans-fest-date",domHTML:r});let l={onEv:!1,daysLeft:1/0,events:L};return s.events=L,l.events.forEach(((e,t)=>{if(l.onEv)return;const n=a.getFullYear(),i=new Date(n,e.start[0],e.start[1],e.start[2]),o=new Date(n,e.end[0],e.end[1],e.end[2]);if(i<a&&a<o)l.onEv=!0,l.daysLeft=(o.getTime()-a.getTime())/864e5|0,l.current=e;else{const i=o<a?l.events[t+1]||l.events[0]:e,s=(new Date(i!==e&&t===l.events.length-1?n+1:n,i.start[0],i.start[1],i.start[2]).getTime()-a.getTime())/864e5|0;0<=s&&s<l.daysLeft&&(l.daysLeft=s,l.next=i)}})),l.html="<button></button>: ",l.onEv?l.html+=`${l.current.name}(<button title="${l.current.eff}"></button>) - ${l.daysLeft}`:l.html+=`${l.daysLeft} - ${l.next.name}(<button title="${l.next.eff}"></button>)`,s.push({domType:"plain",domId:"wh-trans-event-cont",domHTML:l.html}),s.push({domType:"button",domId:"wh-quick-fly-btn",domText:" ",clickFunc:()=>B.getInstance().handle()}),s.push({domType:"button",domId:"wh-foreign-stock-btn",domText:"🌸 ",clickFunc:()=>x.getInstance().clickHandler().then()}),s.push({domType:"button",domId:"wh-npc-loot-btn",domText:"🔫 LOOT",clickFunc:()=>{const e='<p></p><ul><li><a href="https://www.torn.com/loader.php?sid=attack&user2ID=4" target="_blank">Duke</a></li><li><a href="https://www.torn.com/loader.php?sid=attack&user2ID=15" target="_blank">Leslie</a></li><li><a href="https://www.torn.com/loader.php?sid=attack&user2ID=19" target="_blank">Jimmy()</a></li><li><a href="https://www.torn.com/loader.php?sid=attack&user2ID=20" target="_blank">Fernando()</a></li><li><a href="https://www.torn.com/loader.php?sid=attack&user2ID=21" target="_blank">Tiny()</a></li></ul><div><img alt="stock.png" src="https://jjins.github.io/t2i/loot.png?{{}}" style="max-width:100%;display:block;margin:0 auto"></div>'.replace("{{}}",performance.now().toString());new w(e,"NPC LOOT")},tip:"5NPC"}),s.push({domType:"button",domId:"wh-nnb-info",domText:"👮 NNB",clickFunc:()=>H.getInstance().handle()}),s.push({domType:"button",domId:"wh-link-collection",domText:"🔗 ",clickFunc:()=>R.getInstance().handle()}),s.push({domType:"button",domId:"wh-price-watcher-btn",domText:"💊 ",clickFunc:()=>F.getInstance().handle()}),T.getInstance().isPDA||s.push({domType:"button",domId:"",domText:"🖥 ",clickFunc(){document.documentElement.requestFullscreen().then()}}),s.push({domType:"button",domId:"",domText:"📜 ",clickFunc:N}),s.push({domType:"button",domId:"",domText:"🛡 ",clickFunc:function(){M()}}),s.push({domType:"button",domId:"",domText:"🌲 ",clickFunc(){window.location.replace("https://www.torn.com/item.php?temp=4#xunzhaomuzhuang")}}),s.push({domType:"button",domId:"",domText:"🍺 ",clickFunc(){$s.show()}}),s.push({domType:"button",domId:"",domText:"🐞 ",clickFunc:()=>e(this,void 0,void 0,(function*(){return G.getInstance().handle()}))}),s.push({domType:"button",domId:"",domText:" ",clickFunc:()=>te.getInstance().handler()}),t.debug()&&s.push({domType:"button",domId:"",domText:"📐 ",clickFunc:function(){return e(this,void 0,void 0,(function*(){let e=performance.now();t.info("");try{V.getInstance().test()}catch(e){t.error(","+JSON.stringify(e))}t.info(" "+(performance.now()-e|0)+"ms")}))}}),this.menuItemList=s,t.info(""+i.getTimeMs()),this}}Is.ZhongNode=null;class Es extends o{constructor(){super(...arguments),this.className="ActionButtonUtils",this.hasAdded=!1}add(e,n=(()=>null)){this.hasAdded?t.warn("ActionButton"):this.handle(e,n)}handle(e,n){let i=document.createElement("button");i.style.padding="8px 13px 8px 0",i.style.verticalAlign="bottom",i.style.color="#4CAF50",i.innerHTML=e,i.addEventListener("click",n),Is.ZhongNode.querySelector("button").after(i),this.hasAdded=!0,t.info("ActionButton",{txt:e,func:n,btn:i})}}var _s=".wh-depo-helper div#armoury-donate div.cash,.wh-depo-helper div#funds div.deposit{background:#f2f2f2;box-shadow:0 0 8px 1px #00000091;position:fixed!important;right:12px;top:150px;z-index:999999}";C(_s);class Ns{constructor(e){this.baseElement=document.createElement("div"),this.headElement=document.createElement("div"),this.elem=document.createElement("div"),this.headElement.classList.add("title-black","m-top10","top-round"),this.headElement.innerHTML=e,this.elem.classList.add("cont-gray","bottom-round"),this.elem.style.padding="0.5em",this.baseElement.append(this.headElement,this.elem),this.baseElement.id="WHTornStyleBlock"+d.getInstance().getRandomInt(0,100),this.baseElement.insertAdjacentHTML("beforeend",'<hr class="delimiter-999 m-top10 m-bottom10" />')}append(...e){return this.elem.append(...e),this}appendChild(...e){return this.append(...e)}getBase(){return this.baseElement}getElement(){return this.elem}insert2Dom(e="#websocketConnectionData"){let n=document.querySelector(e);if(!n)throw t.error("[#websocketConnectionData] blockdom"),"[#websocketConnectionData] blockdom";return n.after(this.baseElement),this}remove(){this.baseElement.remove()}setTitle(e){this.headElement.innerHTML=e}setContent(e){this.elem.innerHTML=e}querySelector(e){return this.baseElement.querySelector(e)}querySelectorAll(e){return this.baseElement.querySelectorAll(e)}}function Ms(){return e(this,void 0,void 0,(function*(){let e=c.getInstance();if(!location.href.contains("option=funds"))return void new f("");let{addRFC:t}=window;if("function"!=typeof t)return;let n=t("https://www.torn.com/inputMoneyAction.php?step=generalAction"),i=yield e.ajax(n,"GET");if("0"===i)return;let o=document.querySelector("#funds .deposit form");o.querySelectorAll("input.input-money").forEach((e=>{e.value=i,e.attributes["data-money"].value=i})),$(o).trigger("submit"),new f("")}))}function Ls(){return e(this,void 0,void 0,(function*(){let e=c.getInstance(),t=document.querySelector("#armoury-donate form");if(!location.hash.includes("tab=armoury")||!t)return void new f("");if("function"!=typeof window.addRFC)return;let n=window.addRFC("https://www.torn.com/inputMoneyAction.php?step=generalAction"),i=yield e.ajax(n,"POST");if("0"===i)return;t.querySelectorAll("input.input-money").forEach((e=>{e.value=i,e.attributes["data-money"].value=i})),$(t).trigger("submit");let o=`ajax=true&step=armouryDonate&type=cash&amount=${i}`,a=yield(yield window.fetch(window.addRFC("https://www.torn.com/factions.php"),{method:"POST",body:o,headers:{"X-Requested-With":"XMLHttpRequest","Content-Type":"application/x-www-form-urlencoded"}})).json();!0===a.success&&(new f(""),new f(`${a.text}`))}))}function As(){return e(this,void 0,void 0,(function*(){let e=c.getInstance(),{addRFC:n}=window;if("function"!=typeof n)return;let i=n("https://www.torn.com/inputMoneyAction.php?step=generalAction"),o=yield e.ajax(i,"GET");if("0"===o)return;let a=yield(yield window.fetch(n("https://www.torn.com/companies.php?step=funds"),{method:"POST",referrer:"companies.php",body:"deposit="+o,headers:{"X-Requested-With":"XMLHttpRequest","Content-Type":"application/x-www-form-urlencoded"}})).text();t.info(a);let s=document.createElement("div");s.innerHTML=a;let r=s.querySelector(".success-message");r&&new f(r.innerHTML)}))}function Ps(){let e=$("h4#skip-to-content");const t=0===e.length?$('h4[class^="title"]'):e,n=_a[t.text().trim()]||Oa[t.text().trim()];n&&"none"!==t.css("display")&&t.after(t.clone().text(n)).css("display","none")}function Vs(){const e=document.querySelectorAll("div.content-title span:nth-child(2)");(0===e.length?document.querySelectorAll('div[class^="topSection"] span[class*="Title"]'):e).forEach((e=>{Na[e.innerText.trim()]?e.innerText=Na[e.innerText.trim()]:"events"===e.id&&Na[e.innerText.trim().split(" ")[0]]&&(e.innerText=e.innerText.trim().replace(e.innerText.trim().split(" ")[0],Na[e.innerText.trim().split(" ")[0]]))}))}var Ds="#wh-trv-alarm{background:#fff;border:1px solid #aaa;border-radius:4px;box-shadow:0 0 10px 4px #0000001f;margin:2em;position:absolute;width:248px;z-index:100001}#wh-trv-alarm button{margin:0}#wh-trv-error{display:none;height:100%;position:absolute;width:100%;z-index:2}#wh-trv-error p{background:#ffd0d0;color:red;display:table-cell;padding:1em;text-align:center;vertical-align:middle}#wh-trv-alarm-title{border-bottom:1px solid #aaa;cursor:move;height:30px}h5#wh-trv-alarm-header{font-weight:700;height:100%;line-height:30px;padding:0 12px;text-align:center}#wh-trv-alarm-bottom{padding:12px}#wh-trv-alarm-remaining{color:red;float:right}#wh-trv-alarm-cont{line-height:18px}#wh-trv-alarm-cont input[type=number]{border-bottom:1px solid #aaa;width:42px}.wh-trv-alarm-stop-hide{display:none}";C(Ds);var Bs='<div id="wh-trv-error"><p><b> </b><br></p></div><div id="wh-trv-alarm-title"><h5 id="wh-trv-alarm-header"></h5></div><div id="wh-trv-alarm-bottom"><div id="wh-trv-alarm-cont"><p id="wh-trv-alarm-remaining"></p><p><span id="wh-trv-status">{{}} </span><span></span></p><div><input class="checkbox-css" id="WHTravelAlarmToggle" type="checkbox" {{}}><label class="marker-css non-selection" for="WHTravelAlarmToggle"></label></div><div><label>(): <input type="number" value="{{}}"></label> <button></button></div><div class="wh-trv-alarm-stop-hide"><button></button></div></div></div>';function Hs(){return e(this,void 0,void 0,(function*(){if("function"!=typeof window.getAction)return;let e=yield new Promise((e=>{window.getAction({type:"post",action:"travelagency.php",data:{step:"backHomeAction"},success:function(t){e(t)}})}));new f(e),e.includes("error")?new f(""):(new f(""),window.setTimeout((()=>location.reload()),3e3))}))}function Os(n,i){let o={},a=window.setInterval((()=>{const s=g.get("priceWatcher"),r=n?i:localStorage.getItem("APIKey");if(!r||-1===s.pt&&-1===s.xan)return t.warn("apikey"),void window.clearInterval(a);-1!==s.pt&&function(n,i,o){return e(this,void 0,void 0,(function*(){t.info("pt",{apikey:typeof n,lower_price:i,priceWatcher:o}),o["watch-pt-lower-id"]||(o["watch-pt-lower-id"]=[]);const e=yield window.fetch("https://api.torn.com/market/?selections=pointsmarket&key="+n),a=yield e.json();if(a.pointsmarket){const e=[];let t=1/0;if(Object.keys(a.pointsmarket).forEach((n=>{a.pointsmarket[n].cost<=i&&(e.push(n),a.pointsmarket[n].cost<t&&(t=a.pointsmarket[n].cost))})),0===e.length)return;JSON.stringify(o["watch-pt-lower-id"])!==JSON.stringify(e)&&(o["watch-pt-lower-id"]=e,new f(`PT$${Ea(t)}( < $${Ea(i)}) - <a href="/pmarket.php" target="_blank"></a>`,{timeout:6,sysNotify:!0,sysNotifyClick:()=>window.open("https://www.torn.com/pmarket.php")}))}else t.error("pt")}))}(r,s.pt,o).then(),-1!==s.xan&&function(n,i,o){return e(this,void 0,void 0,(function*(){o["watch-xan-lower-id"]||(o["watch-xan-lower-id"]="");const e=yield window.fetch("https://api.torn.com/market/206?selections=bazaar&key="+n),a=yield e.json();if(a.bazaar){const e=a.bazaar[0];e.cost<=i&&o["watch-xan-lower-id"]!==e.ID&&(o["watch-xan-lower-id"]=e.ID,new f(`XAN$${Ea(e.cost)}( < $${Ea(i)}) - <a href="/imarket.php#/p=shop&step=shop&type=&searchname=Xanax" target="_blank"></a>`,{timeout:6,sysNotify:!0,sysNotifyClick:()=>window.open("https://www.torn.com/imarket.php#/p=shop&step=shop&type=&searchname=Xanax")}))}else t.error("xan")}))}(r,s.xan,o).then()}),1e4)}var Rs,Fs=".wh-move-btn #defender div[class^=modal___]{background:none;display:block;left:-169px!important;width:0!important}.wh-move-btn #defender div[class^=dialog___]{border:0;height:96px;max-width:unset;width:159px}.wh-move-btn #defender div[class^=colored___]{display:block;padding:0}.wh-move-btn #defender div[class^=title___]{height:0}.wh-move-btn #defender div[class^=modelWrap___]{max-width:100%}.wh-move-btn #defender button{height:60px;margin:17px 0;width:100%}.wh-move-btn #defender div[class^=playerWindow___]{overflow:unset}@media screen and (max-width:600px){.wh-move-btn #attacker div[class^=playerWindow___]{overflow:unset}.wh-move-btn #attacker div[class^=modelWrap___]{max-width:100%}.wh-move-btn #attacker div[class^=modal___]{display:block;height:0;left:-80px;top:CSSVAR;width:0}.wh-move-btn #attacker div[class^=dialog___]{border:0;height:CSSVAR;max-width:unset;width:80px}.wh-move-btn #attacker div[class^=colored___]{display:block;padding:0}.wh-move-btn #attacker div[class^=title___]{height:0}.wh-move-btn #attacker button{height:63px;margin:0;white-space:normal;width:100%}}";C(Fs);class qs{constructor(e){this.intervalId=null,this.handler=e,t.info("[LoopHelper] , : ",e)}start(e=1e3){t.info("[LoopHelper] , "+e),this.timer=new n,this.intervalId=window.setInterval((()=>{try{this.handler()}catch(e){throw t.error(e.message,e.stack),e}}),e)}stop(){t.info("[LoopHelper] , "+this.timer.getTimeMs()),window.clearInterval(this.intervalId),this.intervalId=null}isRunning(){return null!==this.intervalId}}!function(e){e.READY="ready",e.IN_PROGRESS_OR_ERROR="in_progress_or_error",e.FINISHED="finished",e.END="end",e.OTHER="other"}(Rs||(Rs={}));class Gs extends o{constructor(){super(),this.className="AttackHelper",this.currentStage=Rs.OTHER,window.setTimeout((()=>this.urlMatch()),0)}urlMatch(){if(window.location.href.contains(/loader\.php\?sid=attack/))this.fightingPageHandle();else if(window.location.href.includes("loader2.php")&&g.get("attRelocate")){const e=window.location.href.trim().split("="),n=e[e.length-1];b.getInstance().isValidUid(n)?window.location.href="https://www.torn.com/loader.php?sid=attack&user2ID="+n:t.error("[AttackHelper] UID")}}fightingPageHandle(){Es.getInstance().add("",(()=>this.doAttackReload())),this.watchTarget(),new MutationObserver(((e,n)=>{let i=document.querySelectorAll('div[class^="dialogButtons___"] button');if(0===i.length)return this.currentStage===Rs.READY&&3===g.get("quickFinishAtt")&&(document.body.classList.remove("wh-move-btn"),t.info("body class wh-move-btn"),n.disconnect()),this.currentStage=Rs.IN_PROGRESS_OR_ERROR,void t.info("[attackHelper] currentStage",this.currentStage);i.forEach((e=>{let o=e.innerText.toLowerCase();o.includes("start")||o.includes("join")?this.quickStartFight():o.includes("continue")?(this.currentStage=Rs.END,n.disconnect()):o.includes("leave")&&this.quickFinishFight(i),t.info("[attackHelper] currentStage",this.currentStage)}))})).observe(document.querySelector("#react-root"),{childList:!0,subtree:!0})}doAttackReload(){if(!window.ReactDOM)return new f("React"),void t.error("React");if(!document.querySelector("#react-root #attacker"))return void t.error("domselector: [#react-root #attacker]");let e=document.querySelector('script[src*="/builds/attack/"]'),n=e.src;if(!n.contains(/runtime\..+\.js/))return void t.error("["+n+"] ");window.ReactDOM.unmountComponentAtNode(document.querySelector("#react-root")),e.remove();let i=document.createElement("script");i.src=n,i.type="text/javascript",document.head.appendChild(i)}quickStartFight(){if(this.currentStage===Rs.READY)return;if(this.currentStage=Rs.READY,6===g.get("quickAttIndex"))return;const e=document.querySelector("#attacker button")||document.querySelector("#defender button");if(t.info("",{btn:e}),e.innerText.toLowerCase().includes("fight")){const n=!!document.querySelector("#weapon_boots");let i=T.getInstance().device;switch(t.info(`${i}`),i){case l.PC:{t.info("");let e="0";switch(g.get("quickAttIndex")){case 1:e="97px";break;case 2:e="194px";break;case 3:e="291px";break;case 4:case 5:e="375px"}b.addStyle(Fs),b.addStyle(`.wh-move-btn #defender div[class^="modal___"]{top: ${e};}`),document.body.classList.add("wh-move-btn");break}case l.MOBILE:{t.info("");let i="0",o="76px";if(n)switch(g.get("quickAttIndex")){case 1:i="76px";break;case 2:i="152px";break;case 3:i="228px";break;case 4:i="304px";break;case 5:i="380px"}else{const e=document.querySelector("#weapon_main").offsetHeight+1;switch(o=e+"px",g.get("quickAttIndex")){case 1:i=`${e}px`;break;case 2:i=2*e+"px";break;case 3:i=3*e+"px";break;case 4:i=4*e+"px";break;case 5:i=5*e+"px"}}const a=Fs.replace("CSSVAR",i).replace("CSSVAR",o);b.addStyle(a),document.body.classList.toggle("wh-move-btn"),e.onclick=()=>{3!==g.get("quickFinishAtt")?e.remove():document.body.classList.toggle("wh-move-btn")};break}case l.TABLET:}}else t.info(", "),new f(", ")}quickFinishFight(e){if(this.currentStage===Rs.FINISHED)return;if(this.currentStage=Rs.FINISHED,3===g.get("quickFinishAtt"))return document.body.classList.remove("wh-move-btn"),void t.info("body class wh-move-btn");const n=["leave","mug","hosp"][g.get("quickFinishAtt")];t.info("",n),e.length>1&&e.forEach((e=>{const i=e.innerText.toLowerCase().includes(n);t.info("",e.innerText,"",i),i||(e.style.display="none")}))}watchTarget(){t.info("id");let n=window.location.href.split("user2ID=")[1];if(!b.getInstance().isValidUid(n))throw t.error("id",n),new Error("id:"+n);let i=new qs((()=>e(this,void 0,void 0,(function*(){let i;try{i=yield c.getInstance().getProfile(n)}catch(e){throw t.error("id"),new Error("id")}yield b.getInstance().sleep(d.getInstance().getRandomInt(20,50)),("ok"===i.userStatus.status&&b.getInstance().getTravelStage()===y.IN_TORN||"abroad"===i.userStatus.status&&b.getInstance().getTravelStage()===y.ABROAD)&&(a.getInput().checked=!1,window.setTimeout((()=>e(this,void 0,void 0,(function*(){new f("//",{timeout:10,force:!0,sysNotify:!0}),yield b.getInstance().audioPlay(),yield b.getInstance().sleep(300),yield b.getInstance().audioPlay(),yield b.getInstance().sleep(300),yield b.getInstance().audioPlay(),yield b.getInstance().sleep(300)}))),0))})))),o=new Ns("").insert2Dom(),a=new u("");o.append(a.getBase()),a.getInput().addEventListener("change",(()=>{a.getInput().checked?new z("()<br/>",{callback:()=>{if(b.getInstance().getTravelStage()===y.FLYING)return new f(""),void(a.getInput().checked=!1);t.info(", id"+n),i.start(parseInt(g.get("WatchTargetFreq")))},cancel:()=>a.getInput().checked=!1}):(i.stop(),t.info(""))}))}}class Ws extends o{constructor(){super(),this.className="SidebarHelper",this.sidebarRootNode=document.querySelector("#sidebarroot"),this.toggleBtn=document.createElement("button"),this.isHide=!!g.get("HideSidebar"),!document.body.classList.contains("without-sidebar")||window.location.href.includes("christmas_town.php")?(this.initToggleBtn(),this.barRedirect()):t.warn("[SidebarHelper] 退")}initToggleBtn(){if(T.getInstance().device===l.PC&&this.sidebarRootNode&&g.get("HideSidebarBtn")){this.isHide?this.hideHandler():this.showHandler();let e=document.createElement("div");e.append(this.toggleBtn),e.style.width="0",e.style.zIndex="1",e.style.opacity="0.75",this.toggleBtn.classList.add("torn-btn"),this.sidebarRootNode.before(e),this.toggleBtn.addEventListener("click",(()=>{this.isHide?this.showHandler():this.hideHandler()}))}}hideHandler(){this.sidebarRootNode.classList.add("wh-hide"),this.isHide=g.set("HideSidebar",!0),this.toggleBtn.innerHTML=">>"}showHandler(){this.sidebarRootNode.classList.remove("wh-hide"),this.isHide=g.set("HideSidebar",!1),this.toggleBtn.innerHTML="<<"}barRedirect(){if(g.get("barsRedirect")){const e=document.getElementById("barEnergy"),t=document.getElementById("barNerve"),n=document.getElementById("barHappy"),i=document.getElementById("barLife");e?(e.addEventListener("click",(()=>location.href="/gym.php")),e.href="/gym.php"):b.elementReady("#barEnergy").then((e=>{e.addEventListener("click",(()=>location.href="/gym.php")),e.href="/gym.php"})),t?(t.addEventListener("click",(()=>location.href="/crimes.php")),t.href="/crimes.php"):b.elementReady("#barNerve").then((e=>{e.addEventListener("click",(()=>location.href="/crimes.php")),e.href="/crimes.php"})),n?(n.addEventListener("click",(()=>location.href="/item.php#boosters-items")),n.href="/item.php#boosters-items"):b.elementReady("#barHappy").then((e=>{e.addEventListener("click",(()=>location.href="/item.php#boosters-items")),e.href="/item.php#boosters-items"})),i?(i.addEventListener("click",(()=>location.href="/item.php#medical-items")),i.href="/item.php#medical-items"):b.elementReady("#barLife").then((e=>{e.addEventListener("click",(()=>location.href="/item.php#medical-items")),e.href="/item.php#medical-items"}))}}}class js extends i{constructor(){super(...arguments),this.className="FetchEventCallback"}responseHandler(t,n){t.includes("profiles.php?step=getUserNameContextMenu")&&g.get("ShowMiniProfLastAct")&&window.setTimeout((()=>e(this,void 0,void 0,(function*(){let e=b.querySelector("[class*=profile-mini-_userProfileWrapper___]"),t=n.json,i=document.createElement("div"),o=b.getInstance().secondsFormat(t.user.lastAction.seconds);i.innerText=": "+o,(yield e).append(i)}))),0)}}class Us extends i{constructor(){super(...arguments),this.className="TranslateNew"}responseHandler(e,n,i){if(!g.get("transNew"))return;let o={iconMap:{Online:{title:"线"},"Level 100":{title:"100 "},Jail:{title:"",description:{map:{"Being questioned for suspicious online activity.":"","Suspect of a presidential assassination":""}}},"Federal jail":{title:"(FJ)",description:{map:{"Account marked for deletion":""}}},Idle:{title:""},Offline:{title:"线"},Enby:{title:""},Male:{title:""},Female:{title:""},Donator:{title:"DP"},Subscriber:{title:""},Traveling:{title:""},Hospital:{title:"",description:{map:{"Fell from a two story building while on a hitman mission":"","Overdosed on Xanax":" Xan OD","Mauled by a guard dog":""},replace:[/(Hospitalized|Mugged|Attacked|Defeated) by (someone|<a.+\/a>)(.+Early discharge available.+)?/," $2 $1$3"],attachedMap:[{Hospitalized:"",Mugged:"",Attacked:"",Defeated:""},{someone:""},{"<br><i>Early discharge available</i>":"<br><i>(ED)</i>"}]}},Bounty:{title:"",description:{replace:[/On this person's head for (\$[,0-9]+)( : .+)?/,"$1 $2"]}},Married:{title:"",description:{replace:[/To/,""]}},Company:{title:"",description:{replace:[/([a-zA-Z ]+)( of )(.+) \(([aA-zZ ]+)\)$/,"$3$4$1"],attachedMap:[{Director:"",Salesperson:""},{},{},{"Private Security Firm":" (PSF)","Lingerie Store":" (LS)","Adult Novelties":" (AN)"}]}},Job:{title:"",description:{replace:[/([a-zA-Z ]+) (in|at) (.+)$/,"$3$1"],attachedMap:[{Manager:""},{},{"a Grocery Store":""}]}},Faction:{title:"",description:{replace:[/([aA-zZ ]+)( of )(.+)/,"[$3] [$1]"]}},Bazaar:{title:"",description:{map:{"This person has items in their bazaar for sale":""}}}},buttonMap:{message:{"Add $0 to your enemy list":" $0 ","Add $0 to your friend list":" $0 ","You are currently traveling":"","Initiate a chat with $0":" $0 ","You are not in Torn":"","View $0's personal statistics":" $0 ","Place a bounty on $0":" $0 ","Report $0 to staff":" $0","Send $0 a message":" $0","View $0's display case":" $0 ","$0 is currently in hospital":"$0 ","$0 has not been online in the last 6 hours":"$0 6 线","Give some money to $0":" $0 ","$0's bazaar is closed":"$0 ","View $0's bazaar":" $0 ","Initiate a trade with $0":" $0 ","$0 has no items in their bazaar":"$0 ","$0 is currently in jail":"$0 ","Pay $0's bail":" $0 ","Bust $0 out of jail":" $0 ","$0 is currently in federal jail":"$0 (FJ)","NPC's cannot be bountied":"NPC ","$0 is hiding out abroad":"$0 ","$0 has no items in their display cabinet":"$0 ","You do not have enough energy to attack $0":" $0","You have not met this person recently or they have blocked you":""}},destinationMap:{Mexico:"西","Cayman Islands":"",Canada:"",Hawaii:"","United Kingdom":"",Argentina:"",Switzerland:"",Japan:"",China:"",UAE:"(UAE)","South Africa":""},barMap:{Chain:{name:""},Energy:{name:""},Happy:{name:""},Life:{name:""},Nerve:{name:""}},areaMap:{calendar:{name:"",shortName:""},traveling:{name:"",shortName:""},casino:{name:""},city:{name:""},crimes:{name:""},education:{name:"",shortName:""},forums:{name:""},gym:{name:""},hall_of_fame:{name:"",shortName:""},home:{name:"",shortName:""},hospital:{name:""},items:{name:""},jail:{name:""},job:{name:"",shortName:""},missions:{name:""},my_faction:{name:"",shortName:""},newspaper:{name:"",shortName:""},properties:{name:"",shortName:""},recruit_citizens:{name:"",shortName:""}},accountMap:{awards:{name:""},events:{name:""},messages:{name:""}}};try{if(e.includes("profiles.php?step=getUserNameContextMenu")){let e=n.json;if(t.info("mini profile"),e.icons.forEach((e=>{let n=o.iconMap,i=e.title;if(n[i]){e.title=n[i].title;let o=n[i].description,a=e.description;e.description&&o&&(o.map&&o.map[a]?e.description=o.map[a]:o.replace&&(e.description=a.replace(new RegExp(o.replace[0]),o.replace[1]),o.attachedMap&&o.attachedMap.forEach(((n,i)=>{let s=a.replace(new RegExp(o.replace[0]),"$"+(i+1));t.info({factor:s});let r=n[s];r&&(e.description=e.description.replace(s,r))}))))}})),e.user.sendMoneyWarning){let t=e.user.sendMoneyWarning.match(/[0-9]+/);0!==t.length&&(e.user.sendMoneyWarning=`线 ${t[0]} `)}let i=e.profileButtons.buttons,a=Object.keys(i),s=e.user.playerName,r=o.buttonMap.message;switch(a.forEach((e=>{if("hidden"===i[e].state)return;let t=i[e],n=t.message.replace(s,"$0");r[n]&&(t.message=r[n].replace("$0",s))})),e.userStatus.status.type){case"traveling-to":{let t=e.userStatus.status.to.simpleName,n=o.destinationMap[t];n&&(e.userStatus.status.to.simpleName=n);break}case"traveling-from":{let t=e.userStatus.status.from.simpleName,n=o.destinationMap[t];n&&(e.userStatus.status.from.simpleName=n);break}case"abroad":{let t=e.userStatus.status.in.simpleName,n=o.destinationMap[t];n&&(e.userStatus.status.in.simpleName=n);break}case"jail":{let t=e.userStatus.status.description,n=o.iconMap.Jail.description.map[t];n&&(e.userStatus.status.description=n);break}}n.isModified=!0,t.info({localized:e})}else if(e.includes("sidebarAjaxAction.php?q=sync")){let e=n.json,t=(e,t)=>{Object.keys(e).forEach((n=>{e[n]&&t[n]&&(e[n].name=t[n].name,e[n].shortName&&t[n].shortName&&(e[n].shortName=t[n].shortName))}))};t(e.areas,o.areaMap),t(e.account,o.accountMap),n.isModified=!0}else if(e.includes("inventory.php?step=info")||e.includes("inventory.php")&&"POST"===(null==i?void 0:i.method)&&"string"==typeof(null==i?void 0:i.requestBody)&&(null==i?void 0:i.requestBody.includes("step=info"))){t.info("responseHandler");let e=n.json,i={"Glass of Beer":{itemName:"",itemInfo:"[]Only savages drink beer straight out of the bottle. This glass of beer is obtained fresh from the keg, and provides the same level of drunken joy as you'd get from a regular bottle of suds. Provides a moderate nerve increase when consumed.",itemInfoContent:'\n <div class=\'m-bottom10\'>\n <span class="bold"></span> \n </div>\n Only savages drink beer straight out of the bottle. This glass of beer is obtained fresh from the keg, and provides the same level of drunken joy as you\'d get from a regular bottle of suds. Provides a moderate nerve increase when consumed.\n <div class="t-green bold item-effect m-top10">: + 2CD + 1h</div>'}},o={816:"Glass of Beer"},a=b.getInstance().getItemByIdOrName(e.itemName,o,i);a&&(n.isModified=!0,e.itemInfo=a.itemInfo,e.itemName=a.itemName,e.itemInfoContent=a.itemInfoContent);let s=Qa[e.itemName];s&&(n.isModified=!0,e.itemInfoContent=e.itemInfoContent.replace("The ","").replace(e.itemName,`${s}(${e.itemName})`))}else if((e.includes("item.php")||e.includes("inventory.php"))&&"POST"===(null==i?void 0:i.method)&&"string"==typeof(null==i?void 0:i.requestBody)&&((null==i?void 0:i.requestBody.includes("step=getCategoryList"))||(null==i?void 0:i.requestBody.includes("step=getList"))||(null==i?void 0:i.requestBody.includes("step=getNotAllItemsListWithoutGroups")))){let e=n.json;if(e.html){let i=document.createElement("div");i.innerHTML=e.html,t.info(i),i.childNodes.forEach((e=>{if(1===e.nodeType){let t=e,n=t.querySelector(".name-wrap .name"),i=Qa[n.innerText.trim()];i&&(n.innerText=`${n.innerText} ${i}`),t.querySelectorAll(".icon-h").forEach((e=>{let t=e.getAttribute("title"),n=Za[t];n&&e.setAttribute("title",n)}))}})),e.html=i.innerHTML,n.isModified=!0}}else e.includes("inventory.php")&&"POST"===(null==i?void 0:i.method)&&"string"==typeof(null==i?void 0:i.requestBody)&&(null==i||i.requestBody.includes("step=getList"))}catch(e){t.error("responseHandler",e.stack||e.message)}}}class zs extends o{constructor(){super(...arguments),this.className="Common"}resolve(n){let i=zs.glob;Os(i.isPDA,i.PDA_APIKey),g.get("_15Alarm")&&i.beer.start(),Ws.getInstance(),"interactive"===document.readyState&&g.get("SolveGoogleScriptPendingIssue")&&(window.stop(),document.open(),document.addEventListener("readystatechange",(function e(){if(t.info("document.readyState",document.readyState),"complete"===document.readyState)throw document.removeEventListener("readystatechange",e),n(),new Error("")})),c.getInstance().fetchText(window.location.href).then((e=>{let n=e;[/<script id="gtm_tag">.+?<\/script>/ms,/<script async src="https:\/\/www\.google.+?<\/script>/ms,/<script nonce=".+?gtag.+?<\/script>/ms,/<script.+?google.+?\/script>/].forEach((e=>{n=n.replace(e,"")})),t.info({removed:n}),document.write(n),document.close()}))),E.responseHandlers.push(js.getInstance().responseHandler),E.responseHandlers.push(Us.getInstance().responseHandler),function(){let n,i=Es.getInstance(),{href:a}=o.glob;const s={CMPY:"div#funds div.deposit",FAC:"div#armoury-donate div.cash"};if(a.includes("companies.php")){if(n="CMPY",!a.includes("funds")&&g.get("companyRedirect")){const e=document.getElementById("ui-id-9");e&&(e.click(),t.info(""))}g.get("companyBWCollapse")&&b.elementReady("#effectiveness-wrap").then((e=>{document.body.classList.add("wh-bwtable-ctrl"),b.addStyle(".wh-bwtable-ctrl #effectiveness-wrap {display:none !important;}");const t=document.createElement("button");t.innerHTML="",t.addEventListener("click",(()=>{document.body.classList.toggle("wh-bwtable-ctrl"),t.innerText=""===t.innerText?"":""})),e.before(t)})),i.add("",Ms)}if(a.includes("factions.php")&&(n="FAC",i.add("",Ls)),g.get("floatDepo")&&n&&(document.body.classList.add("wh-depo-helper"),b.addStyle(_s),b.elementReady(s[n]).then((e=>{const t=document.createElement("button");t.addEventListener("click",(()=>{document.body.classList.remove("wh-depo-helper"),t.remove()})),t.innerHTML="",t.style.float="right",e.prepend(t)}))),location.pathname.startsWith("/trade.php")){let n=null,i=(i=null)=>{let{addRFC:o}=window;if(null!==n||location.hash.toLowerCase().includes("logview"))return void(n&&(n.return(),n=null));t.info("GT");let a=location.hash.slice(1),s=i;s||a.split("&").forEach((e=>e.startsWith("ID=")&&(s=e.slice(3)))),t.info("id",s);let r=()=>e(this,void 0,void 0,(function*(){if("function"==typeof o){let e=o("/trade.php?step=getFullMoney&ID="+s);return(yield c.getInstance().ajaxFetch({url:e,method:"GET",referrer:"trade.php"})).text()}}));t.debug()&&$(document).ajaxComplete(((e,n,i)=>t.info({xhr:n,settings:i}))),b.elementReady("#trade-container").then((()=>document.querySelector("#trade-container").before(l.getBase())));let l=new Ns("GT");n=l;let d=document.createElement("input"),u=document.createElement("button"),p=document.createElement("button"),h=document.createElement("button");d.placeholder="",d.type="number",d.style.padding="7px",d.style.paddingLeft="14px",u.innerHTML="",u.style.color="green",u.classList.add("torn-btn"),p.innerHTML="",p.classList.add("torn-btn"),h.innerHTML="",h.style.color="red",h.classList.add("torn-btn"),l.append(d,p,u,h),p.addEventListener("click",(()=>e(this,void 0,void 0,(function*(){if(parseInt(d.value)<1)return void new f("");let e=yield r(),t=parseInt(d.value),n=parseInt(e)-t;n<1?new f(""):(yield c.getInstance().ajaxFetch({url:o("/trade.php"),method:"POST",referrer:"trade.php",body:`step=view&sub_step=addmoney2&ID=${s}&amount=${n}&ajax=true`}),new f(` ${t}`))})))),u.addEventListener("click",(()=>e(this,void 0,void 0,(function*(){let e=yield r();"0"!==e&&(yield c.getInstance().ajaxFetch({url:o("/trade.php"),method:"POST",referrer:"trade.php",body:`step=view&sub_step=addmoney2&ID=${s}&amount=${e}&ajax=true`}),new f(`$${e} GT`))})))),h.addEventListener("click",(()=>e(this,void 0,void 0,(function*(){yield c.getInstance().ajaxFetch({url:o("/trade.php"),method:"POST",referrer:"trade.php",body:`step=view&sub_step=addmoney2&ID=${s}&amount=0&ajax=true`}),new f("")}))))};location.hash.includes("ID=")&&i(),addEventListener("hashchange",(()=>{location.hash.includes("ID=")?i():location.hash.includes("initiateTrade")?b.elementReady('a[href*="trade.php#step=addmoney"]').then((e=>{i(e.getAttribute("href").split("ID=")[1])})):(n&&n.remove(),n=null,t.info("GT"))}))}g.get("companyDepositAnywhere")&&i.add("",As)}(),function(){return e(this,void 0,void 0,(function*(){let{href:e,bodyAttrs:t,device:n}=o.glob;if(e.includes("index.php"))switch(b.getInstance().getTravelStage()){case y.FLYING:if(n===l.PC&&g.get("trvAlarm")){let e,t=document.body.getAttribute("data-country");e="torn"===t?"":{uk:"",switzerland:"",mexico:"西",canada:"",cayman:"",hawaii:"",argentina:"",japan:"",china:"",uae:"UAE","south-africa":""}[t]||t;const n=document.querySelector("#countrTravel").getAttribute("data-to"),i=localStorage.getItem("wh_trv_alarm")?JSON.parse(localStorage.getItem("wh_trv_alarm")):{enable:!0,alert_time:30,node_pos:[240,240]},o=()=>localStorage.setItem("wh_trv_alarm",JSON.stringify(i)),a=document.createElement("div");a.id="wh-trv-alarm",a.style.left=`${i.node_pos[0]}px`,a.style.top=`${i.node_pos[1]}px`,a.innerHTML=Bs.replace("{{}}",""===e?e:""+e).replace("{{}}",i.enable?"checked ":"").replace("{{}}",i.alert_time||30),b.addStyle(Ds),document.body.append(a);const s=a.querySelector("#wh-trv-error");$(a).draggable({containment:"body",distance:5,handle:"#wh-trv-alarm-title",stop:()=>{i.node_pos=[parseInt(a.style.left),parseInt(a.style.top)],o()},scroll:!1});const r=a.querySelector("#wh-trv-alarm-remaining"),l=a.querySelectorAll("#wh-trv-alarm-cont button")[0],c=a.querySelector('input[type="number"]');let d={close:()=>{}};l.onclick=()=>{try{i.alert_time=parseInt(c.value)}catch(e){i.alert_time=30}o(),l.value=i.alert_time,d.close(),d=new f("")};const u=a.querySelectorAll("#wh-trv-alarm-cont button")[1];u.onclick=()=>{v=!0,u.innerText="",u.disabled=!0};const p=a.querySelector('#wh-trv-alarm-cont input[type="checkbox"]');let h={close:()=>{}};p.onchange=e=>{i.enable=e.target.checked,o(),h.close(),h=new f(i.enable?"":"")};const m=parseInt(n),g=Date.now()+1e3*m,y=document.createElement("audio");y.src="https://www.torn.com/js/chat/sounds/Warble_1.mp3",y.play().then((()=>y.pause())).catch((()=>{s.style.display="table";const e=()=>{s.remove(),document.body.removeEventListener("click",e)};document.body.addEventListener("click",e)}));let w=!1,v=!1,x=null,k=()=>{if(v)return clearInterval(x),void(x=null);w&&i.enable&&y.play().then()};const S=[" ","&nbsp;&nbsp; ","&nbsp;&nbsp;&nbsp;&nbsp; ","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "],T=a.querySelector("#wh-trv-status").nextElementSibling;let C=0;window.setInterval((()=>{const e=(g-Date.now())/1e3|0;r.innerText=`${e/3600|0}${e%3600/60|0}${e%60}`,e<i.alert_time?i.enable&&(w=!0,null!==x||v||(x=window.setInterval(k,750)),u.parentElement.classList.remove("wh-trv-alarm-stop-hide")):i.enable&&(clearInterval(x),x=null,u.parentElement.classList.add("wh-trv-alarm-stop-hide")),T.innerHTML=`${S[C]}`,C=(C+1)%S.length}),1e3)}g.get("landedRedirect")&&null===document.querySelector("#tcLogo[title]")&&window.addEventListener("beforeunload",(()=>{let e={url:g.get("landedRedirect"),timestamp:Date.now()};sessionStorage["wh-landed-redirect"]=JSON.stringify(e)}));break;case y.ABROAD:if(Es.getInstance().add("",Hs),g.get("abroadWarning")){let e=1;setInterval((()=>new f(`${30*e++}`,{timeout:30,sysNotify:!0})),3e4)}if("switzerland"===t["data-country"]){let e=new Ns("");e.setContent('<p><a href="/index.php?page=rehab"> </a></p>'),document.querySelector("h4#skip-to-content").before(e.getBase())}break;case y.IN_TORN:if(sessionStorage["wh-landed-redirect"]){let{url:e,timestamp:t}=JSON.parse(sessionStorage["wh-landed-redirect"]);Date.now()-t<3e4&&(sessionStorage.removeItem("wh-landed-redirect"),location.href=e)}}else if(e.contains(/travelagency\.php/)){if(g.get("energyAlert")){const e=document.querySelector(".content-wrapper"),t=new MutationObserver((()=>{t.disconnect(),Ps(),Vs(),n(),t.observe(e,{characterData:!0,attributes:!0,subtree:!0,childList:!0})})),n=()=>{const e=$('#barEnergy p[class^="bar-value__"]').text().trim(),[t,n]=2===e.split("/").length?[parseInt(e.split("/")[0]),parseInt(e.split("/")[1])]:[NaN,NaN],i=150===n?10:15,o=isNaN(t)||isNaN(n)?NaN:(n-5-t)/5*i+(i-(new Date).getMinutes()%i);$(".travel-confirm .travel-question .q-wrap span:nth-of-type(2)").each(((e,t)=>{if(isNaN(o))return;const n=t.innerText.trim().split(" "),[i,a]=5===n.length?[parseInt(n[0]),parseInt(n[3])]:[0,parseInt(n[0])];o<2*(60*i+a)&&($(t).parent().hasClass("wh-translated")||$(t).parent().prepend('<div style="color: red"></div>').addClass("wh-translated"))}))};n(),t.observe(e,{characterData:!0,attributes:!0,subtree:!0,childList:!0})}sessionStorage["wh-quick-fly"]&&B.doQuickFly()}}))}().then(),Gs.getInstance(),P.getInstance(),g.get("CustomCss")&&(t.info("CSS"),b.addStyle(g.get("CustomCss"))),g.get("CashChangeAlert")&&b.elementReady("#user-money").then((e=>{new MutationObserver(((n,i)=>{if(!g.get("CashChangeAlert"))return i.disconnect(),void new f("",{sysNotify:!0});t.info("",n),n.forEach((t=>{"data-money"===t.attributeName&&(Is.getInstance().updateCashView(e.innerText),new f(": "+t.oldValue+" -> "+e.innerText,{sysNotify:!0}))}))})).observe(e,{attributes:!0,attributeOldValue:!0})}))}}var Js='.wh-city-finds .leaflet-marker-pane img[src*="torn.com/images/items/"]{background-color:#d2d2d28c;border:none;border-radius:100%;box-shadow:0 0 10px 5px #000;box-sizing:border-box;display:block!important;height:40px!important;left:-20px!important;padding:10px 0;top:-20px!important;width:40px!important;z-index:999!important}.wh-city-finds .leaflet-marker-pane.leaflet-marker-icon.user-item-pinpoint.leaflet-clickable{display:none!important}.wh-city-finder-item{background:green;border-radius:2px;color:#fff;display:inline-block;margin:2px 4px 2px 0;padding:2px}';C(Js);var Ys='<div id="wh-xmas-cont"><div class="title-black"><span></span><span><button style="color:#fff">[]</button></span></div><div class="cont-gray dropdown-default dropdown-new select-wrap"><select><option value="None"></option><option value="Christmas Town">Christmas Town</option><option value="Maltese Snow Globe">Maltese Snow Globe</option><option value="Long way from home">Long way from home</option><option value="Chedburn Towers">Chedburn Towers</option><option value="Kidnapped Santa">Kidnapped Santa</option><option value="Holiday terror">Holiday terror</option><option value="Among Us">Among Us</option><option value="Kiss My Festivus">Kiss My Festivus</option><option value="Stanley Hotel">Stanley Hotel</option><option value="DoggoQuest">DoggoQuest</option><option value="Pokemon CT">Pokemon CT v2.0</option><option value="Winter in Gatlin">Winter in Gatlin</option></select><div><p>Torn City</p><div id="wt-content"></div></div></div><hr class="m-bottom10 m-top10 page-head-delimiter r1854"></div><style>#wh-xmas-cont .cont-gray{padding:.5em}#wh-xmas-cont li,#wh-xmas-cont p,#wh-xmas-cont select{margin:0 0 3px}</style>',Ks="<ul><li>鹿[94,3]</li><li>沿西</li><li>[55,7][61,64]Labyrinth</li><li>[395,397]</li><li></li></ul>",Xs="<ul><li>1.</li><li>2. </li><li>3.1-12</li><li>4.</li><li>5.901,486</li><li>6.</li><li>7.B-D-C-E-F-G-C-A</li><li>8.</li><li>9.</li><li>10.:</li><li>1212,3,1,23.12</li><li>11.300,476</li><li>12.363,406361,400 ,</li><li>13.352,334,,1绿</li><li>14.</li></ul>",Zs="<ul><li>1.便</li><li>2.</li><li>3.</li><li>3.,退</li><li>4.,</li><li>,</li><li>5.</li><li>6.*</li><li></li><li>7., </li><li>8.darkforest</li><li>9.</li><li>10.,</li><li>11.(),</li><li>12.</li><li>13.,</li><li>14.,,</li><li>15.</li><li>16.</li></ul>",Qs='<ul><li>使FASTTChedburn Towers</li><li>""</li><li>穿</li><li>3 9 5 4 9 2 6 8</li><li>Ched西</li><li>沿</li><li></li><li></li><li>JAIL</li><li>沿</li><li>Chedburn NPC</li></ul>',er='<ul><li></li><li>沿</li><li>西[124, -30]</li><li>Fantasy Island</li><li><span style="color:#32cd32">绿NPC</span></li><li>西西</li><li></li><li>()[111-60]</li><li>沿</li><li>沿</li><li>[137, -84]</li><li>[164, -81]</li><li>穿[142, -63]<b>NPC</b></li><li></li><li>[133, -2]</li><li>西work shop[1694]</li><li><b></b>NPC</li><li>沿</li><li></li><li>绿</li><li>[165, 18]</li><li><span style="color:gold">NPC</span>[16625]</li></ul>',tr="<ul><li>1. 沿沿穿</li><li>2. Mansion's Labyrinth[121,29]</li><li>3. [131,41]</li><li>4. </li><li>5. 沿<b></b></li><li>6. </li><li>322413621622454</li><li>7. </li><li>Christmas Miracle</li><li>24/12/2019</li><li>Hohoho Coldington</li><li>Christmas Miracle Cave</li><li>8. [101-74]</li><li>9. 西Erik the last elfNPC</li><li>10. </li></ul>",nr='<ul><li> 1 [399,12]</li><li>1[502-1]</li><li>D B A A D D B B B C A D D D : B (Green)</li><li>2</li><li>2沿[55624]</li><li>穿 [571,32]</li><li>BBACBDC A</li><li>3</li><li>沿[345170]</li><li>[356173]</li><li>CCADABBCD</li><li>"PEEP SHOW"</li></ul>',ir="<ul><li>沿Dark Forest [96,16]</li><li>沿</li><li>沿穿[114,-89]</li><li></li><li>西<b></b>()</li><li></li><li>沿</li><li>45°[156,-74]</li><li></li><li>屿沿</li><li>屿[12, -79]</li><li></li><li></li><li>西</li><li>沿[26,58]</li><li>穿</li><li>沿Evil-Duck NPC</li></ul>",or="<ul><li></li><li>[188,72]</li><li>沿穿</li><li>使使</li><li>Bob</li></ul>",ar='<ul><li></li><li>沿</li><li>01</li><li>[101,1]</li><li>西<span style="color:#32cd32"></span></li><li><span style="color:gold"></span></li><li>[101,1]</li><li>[11-19]</li><li>03</li><li>绿<span style="color:#32cd32"></span></li><li>西西<span style="color:#32cd32"></span></li><li>西[53-49]</li><li> 04 </li><li>[15-65]</li><li>西</li><li>沿[39-69]</li><li>5</li><li>西[29-93]</li><li> 6 </li><li><span style="color:#32cd32">绿</span></li><li>05[33-114]</li><li>05</li><li>[54, -99]</li><li></li><li>沿沿Rudolph NPC</li><li></li><li>Rudolph</li></ul>',sr="<ul><li></li><li>/</li><li>33</li><li>BOSS</li><li></li><li></li><li></li><li>BOSS</li><li>使</li><li>BOSSBOSS </li><li>:absorbing()</li><li></li><li></li><li>Professor Oak</li><li></li><li></li><li>Veridian City</li><li>穿Veridian City</li><li> Poke Mart [134-3]</li><li>西</li><li></li><li>穿[79,-21]</li><li></li><li></li><li>穿</li><li></li><li></li><li>西</li><li>穿西</li><li>沿穿</li><li>沿穿</li><li>沿 Pewter City西</li><li></li><li></li></ul>",rr="<ul><li></li><li>穿</li><li>沿[14,80]</li><li></li><li></li><li>1,4,6,8,7,6,4</li><li>Epic_Heasley NPC </li></ul>",lr='<div class="m-bottom10" id="wh-loot-container"><audio src="https://www.torn.com/js/chat/sounds/Chirp_3.mp3" style="display:none"></audio><div class="title-black"><span></span></div><div class="cont-gray" id="wh-loot-container-main"><b></b><span id="wh-loot-item-count"></span><div id="wh-loot-container-items"></div><b></b><span id="wh-loot-chest-count"></span><div id="wh-loot-container-chests"></div></div><div class="cont-gray wh-hide" id="wh-loot-container-ex"><div><label><input id="wh-loot-setting-blink" type="checkbox" {{}}> </label></div><div><label><input id="wh-loot-setting-sound" type="checkbox" {{}}> <del>(iOS)</del></label></div><div><label><input id="wh-loot-setting-chest" type="checkbox" {{}}> </label></div><div id="wh-hist"><div id="wh-hist-clear"><p><button></button> - </p></div><table><thead><tr><th colspan="5"></th></tr><tr><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody></tbody></table></div></div><div class="cont-gray" id="wh-loot-btn"><button></button></div></div><style>#wh-loot-container-main{padding:.5em}#wh-loot-container-main div{overflow-x:auto;overflow-y:hidden;white-space:nowrap;min-height:4em}#wh-loot-container-main div span{display:inline-block;background-color:#2e8b57;color:#fff;margin:0 1em 0 0;border-radius:4px;padding:.5em}#wh-loot-container-main div span img{height:1em;width:1em}#wh-loot-container-ex{padding:.5em}#wh-loot-container-ex.wh-hide{display:none}#wh-loot-container-ex #wh-hist{overflow-x:auto}#wh-loot-container-ex table{margin-top:.5em}#wh-loot-container-ex tbody{background-color:#faebd7}#wh-loot-container-ex table,#wh-loot-container-ex td,#wh-loot-container-ex th{padding:5px;border:1px solid #000;height:auto}#wh-loot-container-ex th:nth-child(1){min-width:5em}#wh-loot-container-ex th:nth-child(2){min-width:8em}#wh-loot-container-ex th:nth-child(3){min-width:4em}#wh-loot-container-ex th:nth-child(4){min-width:9em}#wh-loot-container-ex th:nth-child(5){min-width:3em}#wh-loot-container-ex thead{background-color:#2e8b57;color:#fff}@keyframes lootFoundAlert{0%{background:#f2f2f2}50%{background:#2e8b57}100%{background:#f2f2f2}}</style>';class cr extends o{constructor(){super(...arguments),this.className="LotteryHelper",this.loopFlag=!0,this.radioDaily=null,this.radioWeekly=null,this.radioMonthly=null,this.time=null,this.startBtn=null,this.stopBtn=null,this.progressBar=null,this.status=null,this.desc=null,this.mathUtils=d.getInstance()}init(){let e=new n;t.info("");let i=document.createElement("label"),o=document.createElement("label"),a=document.createElement("label");this.radioDaily=document.createElement("input"),this.radioWeekly=document.createElement("input"),this.radioMonthly=document.createElement("input"),this.time=document.createElement("input"),this.startBtn=document.createElement("button"),this.stopBtn=document.createElement("button"),this.progressBar=document.createElement("div"),this.status=document.createElement("div"),this.desc=document.createElement("p");let{radioDaily:s,radioWeekly:r,radioMonthly:l,time:c,startBtn:d,stopBtn:u,progressBar:p,status:h,desc:m}=this,f=document.createElement("div");s.type="radio",s.name="lottery_type",s.checked=!0,r.type="radio",r.name="lottery_type",l.type="radio",l.name="lottery_type",c.type="number",c.placeholder="",c.style.padding="0.5em",c.style.margin="0 0 0.5em 0.5em",d.innerHTML="",d.addEventListener("click",(()=>this.start())),d.classList.add("torn-btn"),u.innerHTML="",u.disabled=!0,u.addEventListener("click",(()=>this.stop())),u.classList.add("torn-btn"),f.style.width="100%",f.style.height="1em",f.style.backgroundColor="#cecece",f.style.marginTop="1em",p.style.width="0",p.style.height="1em",p.style.backgroundColor="#00ff00",p.style.marginTop="-1em",p.style.marginBottom="1em",h.innerHTML="0/0",h.style.marginTop="-2em",h.style.textAlign="center",m.style.marginTop="1em",m.innerHTML="",i.append(s),i.append(" $100"),i.style.marginLeft="0.5em",o.append(r),o.append(" $10k"),a.append(l),a.append(" $1m"),new Ns("").append(i,o,a,document.createElement("br"),c,document.createElement("br"),d,u,f,p,h,m).insert2Dom(),t.info(""+e.getTimeMs())}start(){return e(this,void 0,void 0,(function*(){let e=new n;this.loopFlag=!0,this.stopBtn.disabled=!1,this.startBtn.disabled=!0;let i=null,o=parseInt(this.time.value);if(o>0){let e=document.querySelector(".info-msg-wrap .msg").innerText.trim().split(" "),n={money:(yield k.getInstance().getSessionData()).user.money.value,token:parseInt(e[4])},a=1;this.radioWeekly.checked?a=2:this.radioMonthly.checked&&(a=3);let s=[null,100,1e4,1e6][a]*o;if(s<=n.money&&o<=n.token){this.desc.innerHTML="",this.status.innerHTML=`0/${o}`,this.progressBar.style.width="0";let e=0;for(;e<o;){if(!this.loopFlag){i=`${e}/${o}`;break}yield c.getInstance().ajaxFetch({url:window.addRFC("https://www.torn.com/loader.php?sid=lotteryPlay&step=buyTicket&lotteryID="+a),method:"GET",referrer:"/loader.php?sid=lottery"}),yield b.getInstance().sleep(this.mathUtils.getRandomInt(20,50)),e++,this.desc.innerHTML=`${e}`,this.status.innerHTML=`${e}/${o}`,this.progressBar.style.width=(e/o*100|0)+"%"}this.loopFlag&&(i="")}else i="",t.warn({totalCost:s,inputNumber:o})}else i="";this.desc.innerHTML=": "+(i?i+"<br/>"+e.getTimeMs():""),this.stopBtn.disabled=!0,this.startBtn.disabled=!1}))}stop(){this.loopFlag=!1,this.stopBtn.disabled=!0,this.startBtn.disabled=!1}}class dr extends o{constructor(){super(),this.className="PTHelper",this.observer=new MutationObserver((e=>{for(const t of e)t.addedNodes.forEach((e=>"LI"===e.tagName&&this.removeConfirm(e)))})),this.usersPointSell=document.querySelector(".users-point-sell");let e=new Ns("PT").insert2Dom(),t=new u("");e.append(t.getBase());let n=t.getInput();if(n.checked=g.get("ptQuickBuy"),n.checked){new f("");for(const e in this.usersPointSell.children)"LI"===this.usersPointSell.children[e].tagName&&this.removeConfirm(this.usersPointSell.children[e]);this.observer.observe(this.usersPointSell,{childList:!0})}n.addEventListener("change",(()=>{if(g.set("ptQuickBuy",n.checked,!1),n.checked){for(const e in this.usersPointSell.children)"LI"===this.usersPointSell.children[e].tagName&&this.removeConfirm(this.usersPointSell.children[e]);this.observer.observe(this.usersPointSell,{childList:!0}),new f("")}else{for(const e in this.usersPointSell.children)"LI"===this.usersPointSell.children[e].tagName&&this.rollbackConfirm(this.usersPointSell.children[e]);this.observer.disconnect(),new f("")}}))}removeConfirm(e){let t=e.firstElementChild;t.classList.add("yes");let n=t.getAttribute("href").replace(/=buy/,"=buy1").replace(/&points=\d{1,9}$/,"");t.setAttribute("href",n)}rollbackConfirm(e){let t=e.firstElementChild;t.classList.remove("yes");let n=t.getAttribute("href").replace(/=buy1/,"=buy");t.setAttribute("href",n)}}class ur extends o{constructor(){super(),this.className="StackHelper";let e=new Ns("E").insert2Dom(),t=new u(""),n=t.getInput();e.append(t.getBase()),n.checked=g.get("SEProtect"),n.checked&&document.body.classList.add("wh-gym-stack"),n.onchange=e=>{let t=e.target;document.body.classList.toggle("wh-gym-stack"),g.set("SEProtect",t.checked,!0)}}}var pr,hr=[17003,251077,340581,313353,498729,279673,353885,514096,753853,458343,464918,491e3,237866,451695,953808,162476,802907,800608,342669,67254,147082,792900,275866,112024,365986,264257,464079,342150,372870,14092,905822,654795,575176,815125,983447,330496,436308,1072681,280295,660205,1180420,478962,382338,229632,488384,465467,381995,342907,332479,190695,346837,79416,432474,378718,1177887,451753,83039,421949,740967,470180,1082559,644384,484743,281747,1210736,762865,938350,320161,283188,522960,488552,387822,566484,298167,234429,428732,18798,476620,472351,807823,796316,316768,153910,76096,659852,450465,738073,284536,524912,263120,729174,251566,519062,1489357,669996,191060,454302,684732,1046495,1199189,485156,1399310,581300,982173,211286,810355,469582,652354,781161,146715,491724,233040,471136,688148,442427,588113,669588,75522,95057,21631,76480,76583,87572,241909,200728,943004,248808,87461,929257,326028,136660,1514039,34069,556583,130275,173148,247665,320301,264772,583658,813216,41317,50835,14641,222151,26299,340810,27340,54567,228704,359740,185958,374418,316174,431576,244123,188142,1462209,45179,768356,232564,364079,668705,758810,295155,343321,65146,384786,466947,325378,1278107,463919,930653,380958,349371,184845,931279,355177,228051,545762,507362,28699],mr=".content-title,.info-msg-cont{display:none!important}";C(mr);class fr extends o{constructor(){super(),this.className="XZMZ",this.stopSignal=!1}init(){b.addStyle(mr),document.title=document.title.replace("Items",""),this.mainRoleContainer=document.querySelector('div[role="main"]');let e=new Ns("");e.setContent('<div id="deadman_div" style="width:inherit"><div id="deadman_header" style="margin:10px 0;border:1px solid #a9a9a9;text-align:center"><button class="torn-btn" id="deadman-start-btn" style="margin:5px"></button> <button class="torn-btn" style="margin:5px"></button></div><div id="deadman_tips" style="text-align:center;margin-bottom:3px;font-size:16px"></div><div id="deadman_wrapper" style="min-height:700px;margin:10px 0;border:1px solid #a9a9a9;text-align:center;overflow:hidden"><table cellspacing="0" id="watchlist-table" style="width:100%;background-color:#fff;font-size:12px"><thead><th style="border:1px solid #a9a9a9;padding:5px;background-color:#000;color:#fff;font-weight:700;text-align:center">ID</th><th style="border:1px solid #a9a9a9;padding:5px;background-color:#000;color:#fff;font-weight:700;text-align:center"></th><th style="border:1px solid #a9a9a9;padding:5px;background-color:#000;color:#fff;font-weight:700;text-align:center"></th><th style="border:1px solid #a9a9a9;padding:5px;background-color:#000;color:#fff;font-weight:700;text-align:center"></th></thead><tbody id="table-body"></tbody></table></div></div>'),this.mainRoleContainer.append(e.getBase()),this.IDList=hr,this.btn=e.querySelector("#deadman-start-btn"),this.stopBtn=this.btn.nextElementSibling,this.tips=e.querySelector("#deadman_tips"),this.btn.addEventListener("click",(()=>{this.mainRoleContainer.querySelector("#table-body").innerHTML="",this.btn.disabled=!0,this.stopSignal=!1,this.StartSearch()})),this.stopBtn.addEventListener("click",(()=>this.stopSignal=!0))}StartSearch(){this.counter=this.IDList.length;this.tips.innerText="---,---",window.setTimeout((()=>e(this,void 0,void 0,(function*(){for(const e of this.IDList){if(this.stopSignal)return this.stopSignal=!1,this.counter=1,void this.counterHandler(!1);yield this.SearchDeadman(e)}}))),1)}SearchDeadman(t){return e(this,void 0,void 0,(function*(){c.getInstance().getProfile(t).then((e=>{"ok"===e.userStatus.status.type&&this.addRow({player_id:e.user.userID,name:e.userInformation.name,level:e.userInformation.level})})),yield b.getInstance().sleep(d.getInstance().getRandomInt(100,200))}))}addRow(e){let t=this.mainRoleContainer.querySelector("#table-body"),n='<tr data-id="'+e.player_id+'"></tr>';n+='<td style="border: 1px solid darkgray;padding:5px;text-align:center;">'+e.player_id+"</td>",n+=`<td style="border: 1px solid darkgray;padding:5px;text-align:center;"><a href="/profiles.php?XID=${e.player_id}">${e.name}</a></td>`,n+='<td style="border: 1px solid darkgray;padding:5px;text-align:center;">'+e.level+"</td>",n+='<td style="border: 1px solid darkgray;padding:5px;text-align:center;"><a href="https://www.torn.com/loader.php?sid=attack&user2ID='+e.player_id+'" target="_blank" class="torn-btn"></a></td>',t.insertAdjacentHTML("beforeend",n)}counterHandler(e=!0){if(this.counter--,0===this.counter){this.tips.innerText="---,60---";let t=e?60:2,n=window.setInterval((()=>{this.btn.innerHTML=(t--).toString(),0===t&&(window.clearInterval(n),this.btn.disabled=!1,this.btn.innerHTML="")}),1e3)}}}class gr extends o{constructor(){super(),this.className="ProfileHelper",this.task=!0,b.addStyle("body.wh-hide_profile_img .profile-image a.profile-image-wrapper .img-wrap img{display:none;}");let e=document.querySelector('link[rel="canonical"]').getAttribute("href").split("=")[1];b.getInstance().isValidUid(e)||t.error("[ProfileHelper] id"),g.get("HideProfileImg")&&(t.info("[ProfileHelper] "),document.body.classList.toggle("wh-hide_profile_img")),this.block=new Ns("").insert2Dom();let n=new u("",g.get("HideProfileImg"));this.block.append(n.getBase()),n.getInput().addEventListener("change",(()=>{document.body.classList.toggle("wh-hide_profile_img"),g.set("HideProfileImg",n.getInput().checked,!0)})),g.get("ShowNameHistory")&&E.responseHandlers.push(((e,t)=>this.responseHandler(e,t)))}responseHandler(e,t){if(e.includes("profiles.php?step=getProfileData")&&this.task){let e;e=document.createElement("p"),e.innerHTML="",this.block.append(e);let n=t.json;n.userInformation.previousAliases.length>0?n.userInformation.previousAliases.forEach((t=>e.innerHTML+=t+" ")):e.innerHTML+="",this.task=!1}}}class yr extends o{constructor(){super(),this.className="SearchHelper"}init(){let e=new Ns(""),t=new u("");e.append(t.getBase()).insert2Dom(),b.addStyle("body.WHSearchPagePlaceholder .content.logged-in {margin-bottom: 340px;}");let n=g.get("SearchPagePlaceholder");t.getInput().checked=n||!1,n?this.enable():this.disable(),t.getInput().addEventListener("change",(()=>{t.getInput().checked?this.enable():this.disable()}))}enable(){document.body.classList.add("WHSearchPagePlaceholder"),g.set("SearchPagePlaceholder",!0)}disable(){document.body.classList.remove("WHSearchPagePlaceholder"),g.set("SearchPagePlaceholder",!1)}}class br extends o{constructor(){super(...arguments),this.className="SlotsHelper",this.block=new Ns("")}init(){this.block.insert2Dom();let e=this.createNodes();this.block.append(e.root),this.block.getBase().insertAdjacentHTML("beforeend","<style>#wh-slots-cont input{padding:0.5em;}#wh-slots-cont select{margin:0.5em;min-width: 3em;}</style>")}createNodes(){let n=document.createElement("div");n.id="wh-slots-cont";let i=document.createElement("input");i.type="number",i.placeholder="";let o=document.createElement("select");["10","100","1k","10k","100k","1m","10m"].forEach((e=>o.innerHTML+=`<option>${e}</option>`));let a=document.createElement("button");a.innerHTML=" GO ",a.classList.add("torn-btn");let s=document.createElement("div");n.append(i,o,a,s);let r={root:n,counterInput:i,select:o,goBtn:a,msgBox:s};return a.addEventListener("click",(n=>e(this,void 0,void 0,(function*(){a.disabled=!0;try{yield this.goBtnHandler(n,r)}catch(e){t.error(e.stack||e)}a.disabled=!1})))),r}goBtnHandler(n,i){var o,a,s;return e(this,void 0,void 0,(function*(){let{counterInput:e,select:n,msgBox:r}=i,l=null===(s=null===(a=null===(o=yield k.getInstance().getSessionData())||void 0===o?void 0:o.user)||void 0===a?void 0:a.money)||void 0===s?void 0:s.value;r.innerText="";let u=parseInt((yield b.querySelector(".player-info-cont #tokens")).innerText),p=parseInt(e.value),h=[10,100,1e3,1e4,1e5,1e6,1e7][n.selectedIndex];if(l<p*h||u<p)throw r.innerText="",new Error("");if(!p)throw r.innerText="",new Error("");let m,f=0;for(m=0;m<p;m++){let e=yield(yield c.getInstance().ajaxFetch({url:window.addRFC("https://www.torn.com/loader.php?sid=slotsInterface&step=play&stake="+h),referrer:"/loader.php?sid=slots",method:"GET"})).json();if(f+=e.moneyWon,r.innerText=`${m+1}, $${f}`,0===e.tokens){r.innerHTML+="<br/>";break}yield b.getInstance().sleep(d.getInstance().getRandomInt(1800,2400))}let g=f-m*h,y=Math.abs(g)>1e7;r.innerHTML+="<br/>, ",r.innerHTML+=y?"":"",r.innerHTML+=g>0?"":"",t.info("[goBtnHandler]",{cash:l,tokens:u,count:p,price:h,wonTotal:f})}))}}class wr extends o{constructor(){super(...arguments),this.className="UrlPattern"}resolve(){let n=window.location.href;if(n.includes("city.php")&&g.get("cityFinder")){let t=new Ns("").insert2Dom(),n=new u("()");n.getInput().checked=g.get("SolveGoogleScriptPendingIssue"),t.append(n.getBase()).insert2Dom(),n.getInput().addEventListener("change",(()=>{n.getInput().checked&&window.location.replace(window.location.href),g.set("SolveGoogleScriptPendingIssue",n.getInput().checked,!0)})),t.append(document.createElement("br")),function(t){b.addStyle(Js);let n=null;const i=document.createElement("div");i.innerHTML="";const o=document.createElement("div");o.innerHTML="",t.append(i,o),document.body.classList.add("wh-city-finds");let a=Ia.getInstance();b.elementReady("div.leaflet-marker-pane").then((t=>{const s=[];if(t.querySelectorAll("img.map-user-item-icon").forEach((e=>{const t=e.src.split("/")[5],n=document.createElement("span");n.classList.add("wh-city-finder-item"),n.innerHTML=t,s.push({id:t,node:n,map_item:e}),o.append(n)})),0===s.length)return void(o.innerHTML="");const r=()=>{let e=0;s.forEach((t=>{const i=n[t.id].price;t.node.innerHTML=`<img src="${t.map_item.src}" alt="" />${n[t.id].name} ($${Ea(i)})`,i<1e5?t.node.style.backgroundColor="#9e9e9e":i<1e6?t.node.style.backgroundColor="#4caf50":i<25e6?t.node.style.backgroundColor="#03a9f4":i<449e6?t.node.style.backgroundColor="#ffc107":i>=449e6&&(t.node.style.backgroundColor="#f44336"),e+=n[t.id].price})),i.innerHTML=` - ${s.length} $${Ea(e)}`};let l=a.getLocalPriceData();l.data?(n=l.data,r()):window.setTimeout((()=>e(this,void 0,void 0,(function*(){n=yield l.promise,r()}))),0)}))}(t)}if(n.includes("pmarket.php")&&dr.getInstance(),n.includes("gym.php")&&ur.getInstance(),n.includes("item.php?temp=4")){let e=!1,t=()=>{e||"#xunzhaomuzhuang"!==window.location.hash||(fr.getInstance().init(),e=!0)};window.addEventListener("hashchange",t),t()}if(n.includes("shops.php?step=bitsnbobs")){let e=new Ns("").insert2Dom();e.setContent('<div><button class="torn-btn">👉</button><p></p><p id="wh-msg"></p></div>');const n=e.querySelector("#wh-msg");e.querySelector("button").addEventListener("click",(e=>{let i=document.querySelector("ul.items-list");if(!i)return n.innerHTML=" ",void t.error("");if(i.querySelector('span[id="180-name"]'))return n.innerHTML=" ",void t.warn("");const o=i.querySelector("li.clear"),a=document.createElement("li");a.classList.add("torn-divider","divider-vertical"),a.style.backgroundColor="#c8c8c8",a.innerHTML='<div class="acc-title"><span class="item-desc tt-buy" style="display:inline-block"><span aria-labelledby="180-name 180-price 180-stock" class="Alcohol item" itemid="180" loaded="0" tabindex="0"><span class="item-plate"><img alt="Bottle of Beer" class="large torn-item" src="/images/items/180/large.png"> </span><span class="item-hover"><button aria-label="Show info: Bottle of Beer" class="wai-btn view-h" value="100"></button> <button aria-label="Buy: Bottle of Beer" class="wai-btn buy-h" i-data="i_661_346_51_52" value="100"></button> </span></span><span class="desc"><span id="180-name" class="bold name t-overflow"></span> <span id="180-price" class="t-gray-6 price" data-sell="$5">$10</span> <span id="180-stock" class="t-gray-6 stock t-overflow">Alcohol (<span class="instock">600</span> in stock)</span> </span><span class="buy-act-wrap"><button aria-label="Close" class="wai-btn close-icon p0" value="100"></button> <label class="wai" for="180">Amount of Bottle of Beer</label> <input id="180" autocomplete="new-amount" maxlength="3" name="buyAmount[]" type="text" value="100"> <span class="bold buy-act"><button class="h t-blue wai-support" i-data="i_815_375_53_34" value="100">Buy<br><span class="tt-max-buy">fill max</span></button><div class="tt-max-buy-overlay"></div></span></span></span><div class="divider-right torn-divider"></div><div class="confirm-wrap" style="display:none"><span class="confirm"><span> </span><span><span class="count">100</span> x Bottle of Beer for $<span class="total">1,000</span> </span><span class="confirm-act m-top5"><a class="bold h m-right10 t-blue wai-support yes" data-id="180" href="#" i-data="i_705_379_24_14">Yes </a><span class="bold no"><a class="h t-blue wai-support" href="#" i-data="i_740_379_16_14">No</a></span></span></span></div><div class="success-wrap" style="display:none"><span class="success"><span class="bold t-red">There is not enough stock left to buy <b>100</b> of this item. </span><span class="confirm-act m-top5"><a class="bold h m-right10 t-blue items" href="item.php">Your Items</a> </span></span><button aria-label="Close" class="wai-btn close-icon p0" i-data="i_840_344_10_11" value="100"></button></div><div class="msg-wrap"><span class="bold t-green"><span class="ajax-preloader"></span></span></div></div><div class="view-item-info"><div class="item-cont"><div class="item-wrap"><span class="ajax-preloader m-bottom10 m-top10"></span></div></div></div>',o?o.before(a):i.append(a),e.target.disabled=!0,n.innerHTML=""})),E.responseHandlers.push(S.getInstance().responseHandler)}if(n.contains(/crimes\.php/)&&g.get("quickCrime")){if(self!==top){const e=document.querySelector("h4#skip-to-content").innerText.toLowerCase().includes("validate");b.elementReady("#header-root").then((e=>e.style.display="none")),b.elementReady("#sidebarroot").then((e=>e.style.display="none")),b.elementReady("#chatRoot").then((e=>e.style.display="none")),e||(document.body.style.overflow="hidden"),b.elementReady(".content-wrapper").then((e=>{e.style.margin="0px",e.style.position="absolute",e.style.top="-35px"})),b.elementReady("#go-to-top-btn button").then((e=>e.style.display="none"))}const e=document.querySelector(".content-wrapper"),t=new MutationObserver((()=>{t.disconnect(),n(),t.observe(e,{characterData:!0,attributes:!0,subtree:!0,childList:!0})})),n=()=>{const t=J,n=null!==e.querySelector(".wh-translate"),i=document.querySelector("div.content-title"),o=document.querySelector(".info-msg-cont");n||(i?i.insertAdjacentHTML("beforebegin",t):o&&o.insertAdjacentHTML("beforebegin",t))};n(),t.observe(e,{characterData:!0,attributes:!0,subtree:!0,childList:!0})}if(n.contains(/loader\.php\?sid=missions/)&&g.get("missionHint")){const e=document.querySelector(".content-wrapper"),t=new MutationObserver((()=>{t.disconnect(),i(),t.observe(e,{characterData:!0,attributes:!0,subtree:!0,childList:!0})})),n={},i=()=>{$("ul#giver-tabs a.ui-tabs-anchor").each(((e,t)=>{let i=$(t);i.children().hasClass("mission-complete-icon")?n[e]=t.innerText.trim():n[e]=i.clone().children().remove().end().text().trim()})),$("div.max-height-fix.info").each(((e,t)=>{let i=$(t);0===i.find(".wh-translated").length&&i.append(`<div class="wh-translated"><h6 style="color:green"><b></b></h6><p>${function(e){if(e=e.toLowerCase().replaceAll(" ","_").replaceAll("!","").replaceAll("-","_").replaceAll(",",""),!is._taskHint[e])return"";const t=is._taskHint[e].task||null,n=is._taskHint[e].hint||null;return`${t?""+t:'<a href="profiles.php?XID=2687093">Woohoo</a>'}${n?"<br>"+n:""}`}(n[e])}</p></div>`)})),$("ul.tasks-list span.title-wrap").contents().each(((e,t)=>{3===t.nodeType&&is[t.nodeValue.trim()]&&(t.nodeValue=is[t.nodeValue.trim()])}))};i(),t.observe(e,{characterData:!0,attributes:!0,subtree:!0,childList:!0})}if(n.includes("profiles.php?XID=")&&gr.getInstance(),n.contains(/christmas_town\.php/)&&(new Date).getMonth()>9&&function(){let e=document.querySelector("#christmastownroot");const[t,n]=g.get(["xmasTownWT","xmasTownNotify"]);if(t){const t=Ys,n={None:{title:"",wt:""},"Christmas Town":{title:"",wt:Ks},"Maltese Snow Globe":{title:"Maltese Snow Globe",wt:Xs},"Long way from home":{title:"Long way from home",wt:Zs},"Chedburn Towers":{title:"Chedburn Towers",wt:Qs},"Kidnapped Santa":{title:"Kidnapped Santa",wt:er},"Holiday terror":{title:"Holiday terror",wt:tr},"Among Us":{title:"Among Us",wt:nr},"Kiss My Festivus":{title:"Kiss My Festivus",wt:ir},"Stanley Hotel":{title:"Stanley Hotel",wt:or},DoggoQuest:{title:"DoggoQuest",wt:ar},"Pokemon CT":{title:"Pokemon CT",wt:sr},"Winter in Gatlin":{title:"Winter in Gatlin",wt:rr}};e.querySelectorAll('div[class^="core-layout__"]').forEach((i=>{let o=e.querySelector("#wh-xmas-cont");if(!o){$(i).prepend(t),o=e.querySelector("#wh-xmas-cont");const a=$(o),s=a.find(".cont-gray");a.find("button").click((e=>{"[]"===e.target.innerText?(s.hide(),e.target.innerText="[]"):(s.show(),e.target.innerText="[]")}));const r=a.find("#wt-content");a.find("select").change((e=>{const t=e.target.value;r.html(`<p><b>${n[t].title}</b></p><p>${n[t].wt}</p>`)}))}}))}if(n){const t={1:"",2:"",3:""},n={1:"gold",2:"silver",3:"sandybrown"},i={chests:"",gifts:"",combinationChest:"",keys:""},o={b:"",s:"",g:""};let a=localStorage.getItem("wh-loot-store")?JSON.parse(localStorage.getItem("wh-loot-store")):{};const s=localStorage.getItem("wh-loot-setting")?JSON.parse(localStorage.getItem("wh-loot-setting")):{blink:"y",sound:"y",chest:"y"};let r,l=!1;const c=new MutationObserver((()=>{if(r=e.querySelector("#ct-wrap"),r){c.disconnect();const t=lr.replace("{{}}","y"===s.blink?"checked":"").replace("{{}}","y"===s.sound?"checked":"").replace("{{}}","y"===s.chest?"checked":"");$(r).before(t);const n=e.querySelector("#wh-loot-container"),i=n.querySelector("#wh-loot-btn button"),o=n.querySelector("#wh-hist-clear button"),u=n.querySelector("#wh-loot-container-ex"),p=n.querySelector("tbody"),h=n.querySelector("#wh-loot-setting-blink"),m=n.querySelector("#wh-loot-setting-sound"),f=n.querySelector("#wh-loot-setting-chest"),g=n.querySelector("audio");i.onclick=e=>{let t=e.target;t.innerText=""===t.innerText?"":"",$(u).toggleClass("wh-hide"),t.blur()},o.onclick=e=>{e.target.blur(),a={},p.innerHTML="",localStorage.setItem("wh-loot-store",JSON.stringify(a))},h.onchange=e=>{e.target.checked?(s.blink="y","(0)"!==n.querySelector("#wh-loot-item-count").innerText&&(n.querySelector("#wh-loot-container-main").style.animation="lootFoundAlert 2s infinite")):(s.blink="n",n.querySelector("#wh-loot-container-main").style.animation=""),localStorage.setItem("wh-loot-setting",JSON.stringify(s))},m.onchange=e=>{e.target.checked?(s.sound="y","(0)"!==n.querySelector("#wh-loot-item-count").innerText&&(l=!0)):(s.sound="n",l=!1),localStorage.setItem("wh-loot-setting",JSON.stringify(s))},f.onchange=e=>{s.chest=e.target.checked?"y":"n",localStorage.setItem("wh-loot-setting",JSON.stringify(s))},window.setInterval((()=>{l&&g.play().then()}),1200),d.observe(e,{childList:!0,subtree:!0})}})),d=new MutationObserver((()=>{if(d.disconnect(),e=document.querySelector("#christmastownroot"),r=e.querySelector("#ct-wrap"),!r)return void d.observe(e,{childList:!0,subtree:!0});const s=r.querySelector(".status-title"),c=r.querySelector('.map-title span[class^="position___"]')||r.querySelector('.status-title span[class^="position___"]');if(!c)return void d.observe(e,{childList:!0,subtree:!0});const u=c.innerText.trim().split(","),p=parseInt(u[0]),h=parseInt(u[1]),m=e.querySelector("#wh-loot-container");if(!m)return console.error("DOM"),void d.observe(e,{childList:!0,subtree:!0});const f=m.querySelector("#wh-loot-setting-blink"),g=m.querySelector("#wh-loot-setting-sound"),y=m.querySelector("#wh-loot-setting-chest"),b=m.querySelector("tbody"),w=[];e.querySelectorAll("div.grid-layer div.items-layer div.ct-item").forEach((e=>{const t={x:0,y:0,name:"",type:"",url:""};t.x=parseInt(e.style.left.replaceAll("px",""))/30,t.y=-parseInt(e.style.top.replaceAll("px",""))/30,t.url=e.firstElementChild.src;const n=t.url.trim().split("/");t.name=n[6],t.type=n[8].slice(0,1),w.push(t)}));const v=m.querySelector("#wh-loot-container-items"),x=m.querySelector("#wh-loot-container-chests");let k=0,S=0;v.innerHTML="",x.innerHTML="",w.forEach((e=>{let r,l="=";if(e.x<p&&e.y<h?l="":e.x<p&&e.y===h?l="":e.x<p&&e.y>h?l="":e.x===p&&e.y>h?l="":e.x>p&&e.y>h?l="":e.x>p&&e.y===h?l="":e.x>p&&e.y<h?l="":e.x===p&&e.y<h&&(l=""),"chests"===e.name?(S++,r=t[e.type]+i[e.name],x.innerHTML+=`<span style="background-color: ${n[e.type]||"silver"};">${l}[${e.x},${e.y}] ${r}<img src="${e.url}" /></span>`):(k++,r=("keys"===e.name&&o[e.type]||"")+i[e.name]||e.name,v.innerHTML+=`<span>${l}[${e.x},${e.y}] ${r}<img src="${e.url}" /></span>`),s){const t=`[${e.x},${e.y}]"${s.firstChild.nodeValue.trim()}"${r}`,n=a[t];if(n)"="!==l||"keys"!==e.name&&"gifts"!==e.name||(n.isPassed=!0);else if("chests"!==e.name||!y.checked){const n=new Date;a[t]={pos:`[${e.x},${e.y}]`,data:s.firstChild.nodeValue.trim(),last:`${n.getFullYear()}-${n.getMonth()+1}-${n.getDate()} ${n.getHours()}:${n.getMinutes()}:${n.getSeconds()}`,name:r,id:Object.keys(a).length}}}})),m.querySelector("#wh-loot-item-count").innerText=`(${k})`,0===k?(v.innerText="",m.querySelector("#wh-loot-container-main").style.animation="",l=!1):(f.checked&&(m.querySelector("#wh-loot-container-main").style.animation="lootFoundAlert 2s infinite"),g.checked&&(l=!0)),m.querySelector("#wh-loot-chest-count").innerText=`(${S})`,0===S&&(x.innerText="");const T=Object.keys(a).map((e=>a[e])).sort(((e,t)=>e.id-t.id));let C="";T.forEach((e=>{C+=`<tr><td>${e.pos}</td><td>${e.map}</td><td>${e.name}</td><td>${e.last}</td><td>${e.isPassed?"":""}</td></tr>`})),b.innerHTML=C,localStorage.setItem("wh-loot-store",JSON.stringify(a)),d.observe(e,{childList:!0,subtree:!0})}));c.observe(e,{childList:!0,subtree:!0})}}(),n.includes("profiles.php?XID=0")){const t=function(){return e(this,void 0,void 0,(function*(){if(n.includes("#rader")){b.addStyle("div.content-title,div.info-msg-cont{display:none;}");const e=document.createElement("div");e.id="wh-rd-cont",e.innerHTML='<div class="m-top10"><h4 class="left" id="skip-to-content">RW </h4><div class="clear"></div><hr class="page-head-delimiter"></div><div class="m-top10 content"><a href="/profiles.php?XID=2687093" target="_blank">woohoo</a><table><thead><tr><th>123</th><th>456</th></tr></thead><tbody><tr><td>789</td><td>012</td></tr></tbody></table></div>',yield b.elementReady('div.msg[role="alert"]');document.querySelector("div.content-wrapper").append(e)}}))};addEventListener("hashchange",t),t().then()}n.includes("loader.php?sid=lottery")&&cr.getInstance().init(),n.includes("loader.php?sid=slots")&&br.getInstance().init(),n.includes("page.php?sid=UserList")&&yr.getInstance().init()}}function vr(e=$("span.mail-link")){const t=1===(window.location.href.indexOf("events.php#/step=received")>=0?1:0);$("ul.mailbox-action-wrapper a").contents().each(((e,t)=>{t.nodeValue&&Wa[t.nodeValue.trim()]&&(t.nodeValue=Wa[t.nodeValue.trim()])})),$("div.mailbox-container i[title]").each(((e,t)=>{Wa[$(t).attr("title")]&&$(t).attr("title",Wa[$(t).attr("title")])})),$(".mobile-mail-actions-wrapper div:nth-child(2)").each(((e,t)=>{Wa[$(t).text().trim()]&&$(t).text(Wa[$(t).text().trim()])})),$("#events-main-wrapper .title-black").each(((e,t)=>{Wa[$(t).text().trim()]&&$(t).text(Wa[$(t).text().trim()])})),$("#events-main-wrapper div.send-to a.btn").each(((e,t)=>{Wa[$(t).text().trim()]&&$(t).text(Wa[$(t).text().trim()])})),$("#events-main-wrapper div.send-to span.cancel a").each(((e,t)=>{Wa[$(t).text().trim()]&&$(t).text(Wa[$(t).text().trim()])})),$("#events-main-wrapper div.send-to span.name").each(((e,t)=>{Wa[$(t).text().trim()]&&$(t).text(Wa[$(t).text().trim()])})),"false"!==localStorage.getItem("wh_trans_event")&&0!==e.length&&e.each(((e,n)=>{if(t&&$(n).children("a.sender-name").remove(),Wa[$(n).text().trim()])$(n).text(Wa[$(n).text().trim()]);else{if($(n).text().indexOf("finished")>=0){if($(n).text().indexOf("crashed")>=0)return;const e=$(n).text().indexOf("racing point");let t=e>=0?$(n).text()[e-2]:null;const i=$(n).text().indexOf("beating")>=0;let o,a;i&&(o=$(n).text().split("record of ")[1].split(" by ")[0],a=$(n).text().split("record of ")[1].split(" by ")[1].split(". ")[0]);const s=n.childNodes[1].firstChild.nodeValue.match(/[0-9]+/)[0],r=n.childNodes[2].nodeValue.split(" "),l=n.childNodes[2].nodeValue.split(" best lap was ")[1].slice(0,8);let c=r[3];return c="Two"===c?"Two Islands":c,c="Stone"===c?"Stone Park":c,n.firstChild.nodeValue=" "+c+" ",n.childNodes[1].firstChild.nodeValue=s,n.childNodes[2].nodeValue=" ",e>=0&&(n.childNodes[2].nodeValue+=""+t+" (Racing Points)"),n.childNodes[2].nodeValue+=" "+l,i&&(n.childNodes[2].nodeValue+=" "+o+" "+a),n.childNodes[2].nodeValue+="",n.childNodes[2].nodeValue+="[",void(n.childNodes[3].firstChild.nodeValue="")}if($(n).text().contains(/You have been charged \$[\d,]+ for your loan/)){let e;return e=" ",e+=n.firstChild.nodeValue.split(" ")[4],e+=" ",n.firstChild.nodeValue=e,n.childNodes[1].firstChild.nodeValue="",void(n.childNodes[2].nodeValue="")}if($(n).text().contains(/You were sent .+ from/)){const e=$(n).contents().get(0).nodeValue.trim().split(" "),t=$(n).text().trim().split("with the message: "),i=/^\$[0-9,]+\b/.test(e[3])?"":e[3].numWordTrans(),o=""===i?e[3]:e.slice(4,-1).join(" "),a=t[1]?t[1]:null;return n.childNodes[0].nodeValue=` ${i} ${o} `,n.childNodes[2]&&(n.childNodes[2].nodeValue=""),void(a&&(n.childNodes[2].nodeValue=`${a}`))}if($(n).text().contains(/bought .+ from your bazaar for/)){const e=n.childNodes[1].nodeValue.split(" "),t=e[2],i=e.slice(4,e.indexOf("from")).join(" "),o=e[e.length-1].replace(".","");n.childNodes[1].nodeValue=" "+o+" "+t+" "+i+""}else{if($(n).text().indexOf("trade")>=0){const e="";if($(n).text().indexOf("You must now accept")>=0){const t=n.childNodes[1].nodeValue.split(". You must")[0],i=t.slice(31,t.length);return n.childNodes[1].nodeValue=" "+i+" ",void(n.childNodes[2].firstChild.nodeValue=e)}if($(n).text().indexOf("expired")>=0)return n.firstChild.nodeValue=" ",void(n.childNodes[2].nodeValue=" ");if($(n).text().indexOf("initiated")>=0){const t=n.childNodes[1].nodeValue,i=t.slice(30,t.length-2);return n.childNodes[1].nodeValue=" "+i+" ",void(n.childNodes[2].firstChild.nodeValue=e)}return $(n).text().indexOf("now complete")>=0?void(n.childNodes[1].nodeValue=" "):$(n).text().indexOf("canceled")>=0?void(n.childNodes[1].nodeValue=" "):$(n).text().indexOf("commented")>=0?(n.childNodes[1].nodeValue=" ",n.childNodes[2].firstChild.nodeValue="",void(n.childNodes[3].nodeValue=""+n.childNodes[3].nodeValue)):void 0}if($(n).text().indexOf("mugged")>=0){const e=$(n).text().trim().split(" ");if(e.length>7)return;const t=e[e.length-2];"Someone"===e[0]?(n.firstChild.nodeValue=" "+t+" [",n.childNodes[1].firstChild.nodeValue=""):(n.childNodes[1].nodeValue=" "+t+" [",n.childNodes[2].firstChild.nodeValue="")}else{if($(n).text().indexOf("attacked")>=0){const e=$(n).text().trim().split(" ");if(e.length>6)return"timed"===e[4]?n.firstChild.firstChild?(n.childNodes[1].nodeValue=" [",void(n.childNodes[2].firstChild.nodeValue="")):(n.firstChild.nodeValue=" ",n.childNodes[2].nodeValue=" [",void(n.childNodes[3].firstChild.nodeValue="")):void 0;if($(n).find("a").text().toLowerCase().indexOf("someone")<0&&"someone"===$(n).text().split(" ")[0].toLowerCase())return 6===e.length&&"hospitalized"===e[3]?(n.firstChild.nodeValue=" [",void(n.childNodes[1].firstChild.nodeValue="")):(n.firstChild.nodeValue=" [",void(n.childNodes[1].firstChild.nodeValue=""));if(4===e.length)return n.childNodes[1].nodeValue=" [",void(n.childNodes[2].firstChild.nodeValue="");if(6===e.length){switch(e[4]){case"lost":return n.childNodes[1].nodeValue=" [",void(n.childNodes[2].firstChild.nodeValue="");case"escaped":return n.childNodes[1].nodeValue=" [",void(n.childNodes[2].firstChild.nodeValue="");case"stalemated":return n.childNodes[1].nodeValue=" [",void(n.childNodes[2].firstChild.nodeValue="")}switch(e[3]){case"attack":return n.childNodes[1].nodeValue=" [",void(n.childNodes[2].firstChild.nodeValue="");case"hospitalized":return n.childNodes[1].nodeValue=" [",void(n.childNodes[2].firstChild.nodeValue="")}}}if($(n).text().indexOf("lottery")>=0){const e=n.childNodes[1].nodeValue.split(" "),t=e[e.length-3]+" "+e[e.length-2],i=e[2];n.childNodes[1].nodeValue=" "+t+" "+i+""}else if($(n).text().contains(/, the director of .+, has/))$(n).contents().each(((e,t)=>{if(3===t.nodeType)if(Wa[t.nodeValue.trim()])t.nodeValue=Wa[t.nodeValue.trim()];else{if(t.nodeValue.contains(/wage/)){const e=t.nodeValue.trim().slice(27,-9);return void(t.nodeValue=` ) ${e}`)}if(t.nodeValue.contains(/rank/)){const e=t.nodeValue.trim().slice(27,-1);return void(t.nodeValue=` ) ${e}`)}if(t.nodeValue.contains(/assigned/))return void(t.nodeValue=" ) ");if(t.nodeValue.contains(/trained/)){const e=t.nodeValue.trim().split(" "),n=e[10],i=e[13].slice(0,-1);t.nodeValue=` ) 50 ${Wa[n]} 25 ${Wa[i]}`}}}));else if($(n).text().contains(/bounty reward/))$(n).contents().each(((e,t)=>{if(3===t.nodeType)if(Wa[t.nodeValue.trim()])t.nodeValue=` ${Wa[t.nodeValue.trim()]} `;else if(t.nodeValue.contains(/bounty reward/)){const e=t.nodeValue.trim().split(" ")[3];t.nodeValue=` ${Wa["and earned your"]} ${e} ${Wa["bounty reward"]}`}}));else{if($(n).text().indexOf("organized crime")>=0){const e=n.childNodes[4].nodeValue.split(" ")[2],t=n.childNodes[3].firstChild.nodeValue;let i=n.childNodes[2].nodeValue.split(" ")[10];return i="one"===i?"1":i,n.firstChild.nodeValue=" ",n.childNodes[2].nodeValue=` (OC)${i}${e} `,n.childNodes[3].firstChild.nodeValue=Ja[t]?Ja[t]:t,void(n.childNodes[4].nodeValue="")}if($(n).text().indexOf("You and your team")>=0){let e="",t=n.firstChild.nodeValue.slice(31,-19);return $(n).text().indexOf("fail")>=0&&(e="",t=n.firstChild.nodeValue.slice(27,-30)),n.firstChild.nodeValue=`(OC) ${Ja[t]?Ja[t]:t} ${e}`,n.childNodes[1].firstChild.nodeValue="",void(n.childNodes[2].nodeValue="")}if($(n).text().indexOf("bust")>=0){if("f"===n.childNodes[1].nodeValue[1])return void(n.childNodes[1].nodeValue=" ");if("w"===n.childNodes[1].nodeValue[1])return void(n.childNodes[1].nodeValue=" ");if("s"===n.childNodes[1].nodeValue[1])return void(n.childNodes[1].nodeValue=" ")}if($(n).text().indexOf("bailed")>=0){const e=n.childNodes[1].nodeValue.trim().slice(27,-1);n.childNodes[1].nodeValue=" "+e+" "}else if($(n).text().contains(/You were given \$[\d,]+ from your faction/)){const e=n.firstChild.nodeValue.split(" ")[3];n.childNodes.length>1?(n.firstChild.nodeValue="",n.childNodes[2].nodeValue=" "+e+""):n.firstChild.nodeValue=" "+e+""}else if($(n).text().contains(/has placed .+ bount.+ on you/)){const e=$(n).text().trim().split(" "),t=$(n).text().trim().split(" and the reason: "),i=!n.children.length,o="a"===e[3]?"1":e[3],a=t[0].split(" ").slice(-1)[0],s=t[1]?t[1]:null,r=`${i?"":" "} ${o} ${a} ${s?""+s:""}`;i?$(n).text(r):$(n).contents().get(1).nodeValue=r}else if($(n).text().contains(/successfully revived you/)){if(1!==n.children.length)return;Wa[$(n).contents().get(1).nodeValue.trim()]&&($(n).contents().get(1).nodeValue=Wa[$(n).contents().get(1).nodeValue.trim()])}else if($(n).text().contains(/failed to revive you/)){if(1!==n.children.length)return;Wa[$(n).contents().get(1).nodeValue.trim()]&&($(n).contents().get(1).nodeValue=Wa[$(n).contents().get(1).nodeValue.trim()])}else if($(n).text().contains(/You were given [\d,]+ points? from your faction/)){const e=n.firstChild.nodeValue.split(" ")[3];n.firstChild.nodeValue=" "+e+" PT"}else if($(n).text().contains(/loaned you .+ from the faction armory/)){const[e,t]=(()=>{const e=n.lastChild.nodeValue.trim().slice().slice(11,-25).split(" ");return 1===e.length?[e[0],null]:[e[0],e.slice(1).join(" ")]})();e&&t&&(n.lastChild.nodeValue=` ${e.numWordTrans()} ${t}`)}else if($(n).text().indexOf("edu")>=0)$(n).text().trim().split(" ")&&(n.firstChild.firstChild.nodeValue="");else if($(n).text().contains(/LSD .+ overdosed/))Wa[$(n).text().trim()]&&$(n).text(Wa[$(n).text().trim()]);else if($(n).text().contains(/Your application to join the company .+ has been/))$(n).contents().each(((e,t)=>{3===t.nodeType&&Wa[t.nodeValue.trim()]&&(t.nodeValue=Wa[t.nodeValue.trim()])}));else if($(n).text().contains(/Your bank investment has ended/))$(n).children().text("");else if($(n).text().indexOf("upgraded")>=0){const e=n.firstChild.nodeValue.slice(44,-2);n.firstChild.nodeValue=""+e+""}else if($(n).text().contains(/You have successfully purchased membership in/)){const e=n.firstChild.nodeValue.trim().slice(46,-1);n.firstChild.nodeValue=`${Fa[e]}`}else if($(n).text().contains(/You are now known in the city as a/)){const e="",t=$(n).text().trim().split(" ").slice(9).join(" ").slice(0,-1);$(n).text(`${e} ${t}`)}else if($(n).text().contains(/You have successfully referred/))$(n).contents().each(((e,t)=>{3===t.nodeType?Wa[t.nodeValue.trim()]&&(t.nodeValue=Wa[t.nodeValue.trim()]):1===t.nodeType&&Wa[$(t).text().trim()]&&$(t).text(Wa[$(t).text().trim()])}));else{if($(n).text().indexOf("new virus")>=0){const e=n.firstChild.nodeValue.split(" ").slice(3,5).join(" ");return n.firstChild.nodeValue=` ${e}`,n.childNodes[1].firstChild.nodeValue="",void(n.childNodes[2].nodeValue="")}if($(n).text().contains(/You found .+ and .+ on your doorstep/)){const[e,t]=$(n).text().trim().slice(10,-18).split(" and "),i=t.contains(/a book titled/)?t.slice(15,-1):null;i?$(n).text(` ${e.numWordTrans()} ${i}`):$(n).text(` ${e.numWordTrans()} ${t.numWordTrans()}`)}else{if($(n).text().contains(/accepted your proposal, you are now engaged/)){const e=$(n).children(":first").text().trim();return n.childNodes[1]&&(n.childNodes[1].nodeValue=` ${e} `),n.childNodes[2]&&n.childNodes[2].firstChild&&(n.childNodes[2].firstChild.nodeValue=""),void(n.childNodes[3]&&(n.childNodes[3].nodeValue=""))}if($(n).text().indexOf("position")>=0){let e,t;const i=n.childNodes[2].nodeValue.split(" to ");return 2!==i.length?void X.info('" to "'):(e=i[0].slice(14,i[0].length),t=i[1].slice(0,i[1].length-2),n.firstChild.nodeValue=" ",void(n.childNodes[2].nodeValue=` ${e} ${t}`))}if($(n).text().indexOf("join the faction")>=0){const e=n.childNodes[2].nodeValue.trim().split(" ")[2],t={accepted:"",declined:""};return n.firstChild.nodeValue=" ",void(n.childNodes[2].nodeValue=` ${t[e]}`)}}}}}}}}))}function xr(e=document,t={},n=(()=>{}),i=!1,o=!1){if(i){const i=new MutationObserver((a=>{X.info(a),i.disconnect(),n(),o||i.observe(e,t)}));n(),i.observe(e,t)}else{const i=new MutationObserver((()=>{i.disconnect(),n(),o||i.observe(e,t)}));n(),i.observe(e,t)}}function kr(e=document.querySelector(".show-item-info")){if(e){const t=e.querySelector("span.info-msg");if(t){const e=!!t.querySelector(".tt-modified");e&&console.warn(e);const n=t.querySelector("span.bold"),i=n.innerText.trim().slice(4),o=n.nextSibling,a=t.querySelector("div.item-effect");Qa[i]&&(n.innerText=`${Qa[i]}(${i})`),ts[o.nodeValue.trim()]&&(o.nodeValue=ts[o.nodeValue.trim()]),a&&es[a.innerText.trim()]&&(a.innerText=es[a.innerText.trim()])}e.querySelectorAll("div.title").forEach((e=>{Za[e.innerText.trim()]&&(e.innerText=Za[e.innerText.trim()])}))}}function Sr(e=document.querySelectorAll('div[class^="linksContainer___"] span[class^="linkTitle___"]')){e.forEach((e=>{const t=Na[e.innerText.trim()];t&&(e.innerText=t)}))}function Tr(e=document.querySelectorAll('h4[class^="title___"]')){e.forEach((e=>{const t=_a[e.innerText.trim()];t&&(e.innerText=t)}))}function Cr(e){String.prototype.replaceHMS=function(){return this.replace("and","").replace("days","").replace("days","").replace("hours","").replace("hour","").replace("minutes","").replace("minute","").replace("seconds","").replace("second","")},String.prototype.numWordTrans=function(){return this.replace(/\ban\b/,"1 ").replace(/\ba\b/,"1 ").replace(/\bsome\b/,"1 ").replace(/([0-9])x\b/,"$1 ")};let n=60;const i=setInterval((()=>{if(0===$('div[class^="sidebar"]').length)return n--,void(n<0&&clearInterval(i));$('h2[class^="header"]').each(((e,t)=>{Ma[t.firstChild.nodeValue]&&(t.firstChild.nodeValue=Ma[t.firstChild.nodeValue])})),$('span[class^="menu-name"]').each(((e,t)=>{t.firstChild.nodeValue=":"})),$('p[class^="point-block"]').each(((e,t)=>{Ma[t.firstChild.firstChild.nodeValue]&&(t.firstChild.firstChild.nodeValue=Ma[t.firstChild.firstChild.nodeValue])})),$('p[class^="bar-name"]').each(((e,t)=>{Ma[t.firstChild.nodeValue]&&(t.firstChild.nodeValue=Ma[t.firstChild.nodeValue])})),$('span[class^="linkName"]').each(((e,t)=>{Ma[t.firstChild.nodeValue]&&(t.firstChild.nodeValue=Ma[t.firstChild.nodeValue])})),document.querySelector("#pointsMerits")&&($("#pointsMerits")[0].firstChild.nodeValue="[使]"),document.querySelector("#pointsPoints")&&($("#pointsPoints")[0].firstChild.nodeValue="[使]"),document.querySelector("#pointsLevel")&&($("#pointsLevel")[0].firstChild.nodeValue="[]"),$('div[class*="areas-mobile"] span:nth-child(2)').contents().each(((e,t)=>{Ma[t.nodeValue]&&(t.nodeValue=Ma[t.nodeValue])})),clearInterval(i)}),1e3);if(document.querySelector("div#header-root")){const e=new MutationObserver((n=>{e.disconnect(),t(),e.observe($("div#header-root")[0],{childList:!0,subtree:!0,attributes:!0})})),t=function(){let e=$("div.find button.toggler.down");Ga[e.text()]&&e.text(Ga[e.text()]),$("div.find li.item").each(((e,t)=>{let n=$(t);Ga[n.text()]&&n.text(Ga[n.text()])})),$('li[class^="search-type-"] label').each(((e,t)=>{Ga[$(t).text()]&&$(t).text(Ga[$(t).text()])}));let t=$('input[class^="searchInput"]');if(Ga[t.attr("placeholder")]&&t.attr("placeholder",Ga[t.attr("placeholder")]),Ga[document.querySelector("div#header-root legend.title").innerText]){let e=$("div#header-root legend.title");e.text(Ga[e.text()])}$("ul.advancedSearchFormBody label.label").each(((e,t)=>{let n=$(t);Ga[n.text()]&&n.text(Ga[n.text()])})),$("ul.advancedSearchFormBody div.select-wrapper button.toggler.down").each(((e,t)=>{let n=$(t);Ga[n.text().trim()]?n.text(Ga[n.text().trim()]):Da[n.text().trim()]&&n.text(Da[n.text().trim()])})),$("ul.advancedSearchFormBody li.item").each(((e,t)=>{let n=$(t);Ga[n.text()]?n.text(Ga[n.text()]):Da[n.text()]&&n.text(Da[n.text()])})),$("ul.advancedSearchFormBody label.search-condition-not").each(((e,t)=>{let n=$(t);Ga[n.text()]&&n.text(Ga[n.text()])})),$('ul.advancedSearchFormBody label[for*="To"]').each(((e,t)=>{let n=$(t);Ga[n.text()]&&n.text(Ga[n.text()])})),$("form.form-search-extend div.bottom button").each(((e,t)=>{let n=$(t);Ga[n.text()]&&n.text(Ga[n.text()])}));const n=$('div.recentHistory a[class^="link"] span[class^="text"]');Ga[n.text().trim()]&&n.text(Ga[n.text().trim()]),$("ul.settings-menu span").each(((e,t)=>{let n=$(t);Ga[n.text()]&&1===t.childNodes.length?n.text(Ga[n.text()]):3===t.childNodes.length&&Ga[t.firstChild.nodeValue]&&(t.firstChild.nodeValue=Ga[t.firstChild.nodeValue])}))};t(),e.observe($("div#header-root")[0],{childList:!0,subtree:!0,attributes:!0})}if(document.querySelector("div#chatRoot")){const e=new MutationObserver((n=>{e.disconnect(),t(),e.observe($("div#chatRoot").get(0),{childList:!0,subtree:!0,attributes:!0})})),t=function(){$('div#chatRoot div[class^="chat-box-title"] span[class^="name"]').each(((e,t)=>{let n=$(t);ja[n.text().trim()]&&n.text(ja[n.text().trim()])})),$('div[class^="chat-settings-opts"] div[class*="label"]').each(((e,t)=>{let n=$(t);n.next().children("div.rc-slider").length>0?ja[n.text().split(" ")[0]]&&n.text(n.text().replace(n.text().split(" ")[0],ja[n.text().split(" ")[0]])):ja[n.text().trim()]&&n.text(ja[n.text().trim()])})),$('div[class^="dropdown-root"]').find("*").contents().each(((e,t)=>{3===t.nodeType&&ja[t.nodeValue]&&(t.nodeValue=ja[t.nodeValue])})),$('label[class^="privacy-label"]').each(((e,t)=>{let n=$(t);ja[n.text().trim()]&&n.text(ja[n.text().trim()])})),$('ul[class^="type-list"] li a').each(((e,t)=>{let n=$(t);ja[n.text().trim()]&&n.text(ja[n.text().trim()])})),$("div.ac-wrapper input.ac-search").each(((e,t)=>{let n=$(t);ja[n.attr("placeholder")]&&n.attr("placeholder",ja[n.attr("placeholder")])}));let e=document.querySelector('div#chatRoot div[class^="overview"] > div > div:nth-child(2)');Wa[e.innerText.trim()]&&(e.innerText=Wa[e.innerText.trim()])};t(),e.observe(document.querySelector("div#chatRoot"),{childList:!0,subtree:!0,attributes:!0})}if(function(){const e={childList:!0,subtree:!0},t=new MutationObserver((n=>{const i=$("ul.ac-options li a");t.disconnect(),n.forEach((e=>{"ac-wrapper"===e.target.className&&i.each(((e,t)=>{ja[$(t).text().trim()]&&$(t).text(ja[$(t).text().trim()])}))})),t.observe(document.body,e)}));t.observe(document.body,e)}(),e.includes("index.php")&&document.querySelector("div.travelling h4")){let e=function(){if(Ps(),Vs(),Ha[document.querySelector("div.inner-popup").innerText.trim()]&&$("div.inner-popup").text(Ha[$("div.inner-popup").text().trim()]),$("div.destination-title span").contents().each(((e,t)=>{0===t.childNodes.length&&t.nodeValue&&Ba[t.nodeValue.trim()]&&(t.nodeValue=Ba[t.nodeValue.trim()])})),"Landing"===document.querySelector("div.tt-landing-time span.description").innerText.split(" ")[0]){let e=$("div.tt-landing-time span.description");const t=e.text().slice(11,19);e.text(" "+t+" ")}};const t=new MutationObserver((function(){t.disconnect(),e(),t.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}));e(),t.observe(document.querySelector("div.content-wrapper"),{childList:!0,subtree:!0})}if(e.contains(/index\.php/)&&document.querySelector("h4#skip-to-content").innerText.contains(/Home/))return Ps(),Vs(),$("h5.box-title").each(((e,t)=>{Aa[t.firstChild.nodeValue]&&("Latest Events"===t.firstChild.nodeValue?vr($(t).parent().next().find("span")):"Latest Attacks"===t.firstChild.nodeValue&&$(t).parent().next().find("span").each((function(){let e=$(this);e[0].childNodes.forEach(((t,n)=>{if(null!==t.nodeValue){t.nodeValue.replace("\n","").toString().split(" ").forEach(((t,i)=>{Pa.hasOwnProperty(t)&&("Someone"===t&&(e[0].childNodes[n].nodeValue=$(this)[0].childNodes[n].nodeValue.replace(" ","")),e[0].childNodes[n].nodeValue=e[0].childNodes[n].nodeValue.replace(t,Pa[t]))}))}}),this)})),"none"!==$(t).css("display")&&$(t).css("display","none").after('<h5 class="box-title">'+Aa[t.firstChild.nodeValue]+"</h5>"))})),void $("span.divider span").each(((e,t)=>{Aa[$(t).text()]&&$(t).text(Aa[$(t).text()])}));if(e.includes("city.php")){let e=function(){Ps(),Vs(),$("a.ui-tabs-anchor span").each(((e,t)=>{Oa[$(t).text()]&&$(t).text(Oa[$(t).text()])}));let e=document.querySelector("div.title-black");Oa[e.innerText]&&(e.innerText=Oa[e.innerText]),$("ul.map-symbols span").each(((e,t)=>{Oa[t.innerText]&&(t.innerText=Oa[t.innerText])})),$("span.inactive-mode").html(Oa["inactive-mode1"]+"<br>"+Oa["inactive-mode2"]),$("span.active-mode").text(Oa["active-mode"]),document.querySelector("div.on-label").innerText="",document.querySelector("div.off-label").innerText="",$("li.title").each(((e,t)=>{Oa[t.innerText]&&(t.innerText=Oa[t.innerText])})),$('li a[class^="font-num-"] span').each(((e,t)=>{Oa[$(t).text()]?$(t).text(Oa[$(t).text()]):"cql-your-property"===$(t).prev().attr("class")?Da[$(t).text().trim().slice(5)]&&$(t).text(""+Da[$(t).text().trim().slice(5)]):"cql-gym"===$(t).prev().attr("class")&&(Fa[$(t).text().trim()]?$(t).text(Fa[$(t).text()]):Fa[$(t).text().trim().split(" ").slice(0,2).join(" ")]&&$(t).text(Fa[$(t).text().trim().split(" ").slice(0,2).join(" ")]))})),$("div.sort-by label.marker-css").each(((e,t)=>{Oa[$(t).text()]&&$(t).text(Oa[$(t).text()])})),$("span#wai-sort-by").each(((e,t)=>{Oa[$(t).text()]&&$(t).text(Oa[$(t).text()])}))};const t=new MutationObserver((function(){t.disconnect(),e(),t.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}));return e(),void t.observe(document.querySelector("div.content-wrapper"),{childList:!0,subtree:!0})}if(e.includes("gym.php")){let e=function(){Ps(),Vs(),$('div[class^="notificationText"] b').text(),$('div[class^="notificationText"] p').contents().each(((e,t)=>{"B"===t.nodeName&&Fa[$(t).text().trim()]?$(t).text(Fa[$(t).text().trim()]):0===t.childNodes.length&&Ra[t.nodeValue.trim()]&&(t.nodeValue=Ra[t.nodeValue.trim()])})),$('h3[class^="title"]').each(((e,t)=>{Ra[$(t).text().trim()]&&$(t).text(Ra[$(t).text().trim()])})),$('div[class^="description"] p:nth-child(1)').each(((e,t)=>{Ra[$(t).text().trim()]&&$(t).text(Ra[$(t).text().trim()])})),$('div[class^="description"] p:nth-child(2)').each(((e,t)=>{1===t.childNodes.length?Ra[$(t).text().trim()]&&$(t).text(Ra[$(t).text().trim()]):2===t.childNodes.length&&Ra[t.lastChild.nodeValue.trim()]&&(t.lastChild.nodeValue=Ra[t.lastChild.nodeValue.trim()])})),$('button[class^="button"]').each(((e,t)=>{Ra[$(t).text().trim()]&&$(t).text(Ra[$(t).text().trim()])})),$('button[class^="cancel"]').each(((e,t)=>{Ra[$(t).text().trim()]&&$(t).text(Ra[$(t).text().trim()])})),$('div[class^="messageWrapper"] p').each(((e,t)=>{Ra[$(t).text()]&&$(t).text(Ra[$(t).text()])})),$('div[class^="gymTitle"] h3').each(((e,t)=>{Ra[$(t).text()]?$(t).text(Ra[$(t).text()]):Fa[$(t).text().trim()]&&$(t).text(Fa[$(t).text().trim()])})),$('ul[class^="gymInfo"] b').each(((e,t)=>{Ra[$(t).text().trim()]&&$(t).text(Ra[$(t).text().trim()])})),$('ul[class^="gymInfo"] span[class^="value"]').each(((e,t)=>{Ra[$(t).text().trim()]&&$(t).text(Ra[$(t).text().trim()])})),$('span[class^="exerciseName"]').each(((e,t)=>{Ra[$(t).text().trim()]&&$(t).text(Ra[$(t).text().trim()])})),$('div[class^="confirmMessage"] p[role="alert"]').each(((e,t)=>{Ra[$(t).text().trim()]&&$(t).text(Ra[$(t).text().trim()])}))};const t=new MutationObserver((function(){t.disconnect(),e(),t.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0,attributes:!0})}));return e(),void t.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0,attributes:!0})}if(e.contains(/item\.php/)){if(e.includes("item.php?temp="))return;xr(document.querySelector(".content-title"),{childList:!0},(()=>{Ps(),Vs()}));const t=document.getElementById("loadoutsRoot");t&&xr(t,{subtree:!0,attributes:!0},(()=>{const e=t.querySelector('div[class^="type___"]');e&&Za[e.innerText.trim()]&&(e.innerText=Za[e.innerText.trim()])}));const n={attributes:!0,subtree:!0,attributeFilter:["aria-hidden"]},i={cat:"",count:-1},o={item_opt:-1,opt_icon_count:-1};xr(document.getElementById("category-wrap"),n,(()=>{const e=document.querySelectorAll("ul.itemsList span.opt-name");if(o.item_opt!==e.length-1){let t=-1;e.forEach(((e,n)=>{Za[e.firstChild.nodeValue.trim()]&&(e.firstChild.nodeValue=Za[e.firstChild.nodeValue.trim()]),t=n})),o.item_opt=-1!==t?t:-1}const t=document.querySelector('ul.itemsList[aria-expanded="true"]');if(!t)return;const n=t.querySelectorAll("span.name"),a=t.id;if(n.length-1!==i.count||a!==i.cat){let e=-1;n.forEach(((t,n)=>{if(!t.classList.contains("wh-translated")&&Qa[t.innerText.trim()]){t.classList.add("wh-translated");const e=document.createElement("span");e.classList.add("wh-translate"),e.setAttribute("style","margin: 0 0 0 1em"),e.append(Qa[t.innerText.trim()]),t.after(e)}e=n})),-1!==e&&(i.cat=a,i.count=e)}kr(t.querySelector("li.show-item-info"));const s=$("ul.actions-wrap span.icon-h");if(o.opt_icon_count!==s.length-1){let e=-1;s.each(((t,n)=>{Za[n.getAttribute("title")]&&n.setAttribute("title",Za[n.getAttribute("title")]),e=t})),-1!==e&&(o.opt_icon_count=e)}}));const a=document.querySelector("div.title-black");if(a){const e=a.querySelector("span.m-hide");Za[e.innerText.trim()]&&(e.innerText=Za[e.innerText.trim()]);const t=a.querySelector("span.items-name");xr(t,{childList:!0},(()=>{Za[t.innerText.trim()]&&(t.innerText=Za[t.innerText.trim()])}))}document.querySelectorAll("li#categoriesItem a").forEach((e=>{Za[e.getAttribute("title")]&&e.setAttribute("title",Za[e.getAttribute("title")])}))}else if(e.contains(/(shops|bigalgunshop)\.php/)){xr(document.querySelector(".content-title"),{childList:!0,subtree:!0},(()=>{Ps(),Vs()}));const e=document.querySelector(".content-wrapper"),t=e.querySelector(".buy-items-wrap");if(t){const n=t.querySelector(".title-black");n&&as[n.firstChild.nodeValue.trim()]&&(n.firstChild.nodeValue=as[n.firstChild.nodeValue.trim()]);t.querySelectorAll("ul.items-list > li.torn-divider").forEach((e=>{const t=e.querySelector("span.desc span.name.bold");t&&Qa[t.innerText.trim()]&&(t.innerText=`${Qa[t.innerText.trim()]}(${t.innerText.trim()})`);const n=e.querySelector("span.desc span.stock");n&&n.childNodes.forEach((e=>{1===e.nodeType?as[e.innerText.trim()]&&(e.innerText=as[e.innerText.trim()]):as[e.nodeValue.trim()]&&(e.nodeValue=as[e.nodeValue.trim()])}));const i=e.querySelector("button.wai-support");i&&as[i.childNodes[0].nodeValue.trim()]&&(i.childNodes[0].nodeValue=as[i.childNodes[0].nodeValue.trim()]);const o=e.querySelector("span.confirm"),a=o.querySelector("span");a&&as[a.innerText.trim()]&&(a.innerText=as[a.innerText.trim()]);const s=o.querySelector("span.count").nextSibling;if(s&&!s.nodeValue.contains(rs)){const e=s.nodeValue.trim().split(" ").slice(1,-1).join(" "),t=Qa[e]||e;s.nodeValue=`[${t}]$`}o.querySelectorAll("span.confirm-act a").forEach((e=>{as[e.innerText.trim()]&&(e.innerText=as[e.innerText.trim()])}))})),xr(e,{childList:!0,subtree:!0},(()=>{kr(e.querySelector(".show-item-info")||e.querySelector(".view-item-info"))}))}const n=e.querySelector(".sell-items-wrap");if(n){n.querySelectorAll("ul.title li").forEach((e=>{e.childNodes.forEach((e=>{if(1===e.nodeType){let t=e;if(as[t.innerText.trim()])return void(t.innerText=as[t.innerText.trim()]);const n=t.innerText.trim().split(" ");if(n.length>3){const e="the"===n[2]?n.slice(3).join(" "):n.slice(2).join(" "),i=as[e]||_a[e]||Oa[e]||null;t.innerText=`${i||e}`}}else as[e.nodeValue.trim()]&&(e.nodeValue=as[e.nodeValue.trim()])}))}));n.querySelectorAll("span.name").forEach((e=>{Qa[e.innerText.trim()]&&(e.innerText+=` ${Qa[e.innerText.trim()]}`)}));n.querySelectorAll("button").forEach((e=>{as[e.innerText.trim()]&&(e.innerText=as[e.innerText.trim()])}));const e=n.querySelector("li.select button.wai-btn");e&&xr(e,{childList:!0},(()=>{e&&as[e.innerText.trim()]&&(e.innerText=as[e.innerText.trim()])}));const t=n.querySelector("span.cancel a");t&&as[t.innerText.trim()]&&(t.innerText=as[t.innerText.trim()]);const i=n.querySelector("div.sell-confirm");if(i){const e=i.childNodes[0];as[e.nodeValue.trim()]&&(e.nodeValue=as[e.nodeValue.trim()]);const t=i.querySelector("span.profit").childNodes[0];as[t.nodeValue.trim()]&&(t.nodeValue=as[t.nodeValue.trim()])}}const i=e.querySelector(".sell-points-wrap");if(i){const e=i.querySelector(".title-black");as[e.innerText.trim()]&&(e.innerText=as[e.innerText.trim()])}}else{if(e.contains(/page\.php\?sid=stocks/)){const e=new MutationObserver((()=>{e.disconnect(),Ps(),Vs(),t(),e.observe($(".content-wrapper").get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})})),t=function(){$("ul.title-black").find("*").contents().each(((e,t)=>{3===t.nodeType&&Xa[t.nodeValue.trim()]&&(t.nodeValue=Xa[t.nodeValue.trim()])})),$('div[class^="nameContainer"]').each(((e,t)=>{t.childNodes[0].nodeValue&&Xa[t.childNodes[0].nodeValue.trim()]&&(t.childNodes[0].nodeValue=Xa[t.childNodes[0].nodeValue.trim()])})),$('div[class^="dividendInfo"] p').each(((e,t)=>{const n=$(t).text().trim().split(" ");if(Xa[$(t).text().trim()])$(t).text(Xa[$(t).text().trim()]);else if(/[0-9]x$/.test(n[0])){const e=n.slice(1).join(" "),i=n[0].slice(0,-1);$(t).text(`${i}${Qa[e]?Qa[e]:e}`)}})),$('#panel-priceTab ul[role="tablist"] label span:last-child').each(((e,t)=>{Xa[$(t).text()]&&$(t).text(Xa[$(t).text()])})),$('ul[class^="priceInfoList___"] li').contents().each(((e,t)=>{3===t.nodeType&&Xa[t.nodeValue.trim()]&&(t.nodeValue=Xa[t.nodeValue.trim()])})),$('div#panel-ownedTab div[class^="manageBlock"] *').contents().each(((e,t)=>{1===t.nodeType?Xa[$(t).text().trim()]&&$(t).text(Xa[$(t).text().trim()]):3===t.nodeType&&(Xa[t.nodeValue.trim()]?t.nodeValue=Xa[t.nodeValue.trim()]:/\$[0-9]+ after the 0\.1% fee of \$[0-9]+$/.test(t.nodeValue.trim())&&(t.nodeValue=t.nodeValue.trim().replace("after the",Xa["after the"]).replace("fee of",Xa["fee of"])))})),$('div#panel-ownedTab div[class^="transactionsContainer"] li').each(((e,t)=>{t=0===t.childElementCount?t:t.children[0],Xa[$(t).text().trim()]&&$(t).text(Xa[$(t).text().trim()])}));const e=document.querySelector('li[class^="showMore___"] button');if(e&&e.innerText.trim().contains(/^Show [0-9]+ more$/)){const t=e.innerText.trim().split(" ")[1];e.innerText=`${t}`}$('div#panel-dividendTab div[class^="message"] *').contents().each(((e,t)=>{if(3===t.nodeType&&t.nodeValue.trim())if(Xa[t.nodeValue.trim()])t.nodeValue=Xa[t.nodeValue.trim()];else if(/[0-9][snrt][tdh]$/.test(t.nodeValue.trim()))t.nodeValue=`${t.nodeValue.trim().slice(0,-2)}`;else if(/[0-9]x$/.test(t.nodeValue.trim().split(" ")[0])){const e=t.nodeValue.trim().split(" "),n=e.slice(1).join(" ");t.nodeValue=` ${e[0].replace("x","")} ${Qa[n]?Qa[n]:n}`}else{if(/[\u4e00-\u9fa5]/.test(t.nodeValue))return;if(/\b\$?[0-9,]+$/.test(t.nodeValue))return;X.info(`[${t.nodeValue.trim()}]`)}}))};return t(),void e.observe($(".content-wrapper").get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})}if(e.indexOf("education.php")>=0){let e=function(){Ps(),Vs(),$("div.content-wrapper div.title").each(((e,t)=>{qa[$(t).text().trim()]&&(t.firstChild.nodeValue=qa[$(t).text().trim()])})),$('div.content-wrapper div[class^="msg"]').find("*").contents().each(((e,t)=>{null!==t.nodeValue&&(qa[t.nodeValue.trim()]?t.nodeValue=qa[t.nodeValue.trim()]:(t.nodeValue.indexOf("second")>=0||t.nodeValue.indexOf("minute")>=0||t.nodeValue.indexOf("hour")>=0||t.nodeValue.indexOf("day")>=0)&&(t.nodeValue=t.nodeValue.replace("days","").replace("day","").replace("hours","").replace("hour","").replace("minutes","").replace("minute","").replace("and","").replace("seconds","").replace("second","")))})),$("div.content-wrapper div.title-black").each(((e,t)=>{3===t.childNodes.length&&qa[t.lastChild.nodeValue.trim()]&&(t.lastChild.nodeValue=" "+qa[t.lastChild.nodeValue.trim()]),qa[$(t).text().trim()]&&$(t).text(qa[$(t).text().trim()])})),$("div.content-wrapper span.module-name").each(((e,t)=>{qa[$(t).text().trim()]&&$(t).text(qa[$(t).text().trim()])})),$("div.content-wrapper p.desc").each(((e,t)=>{qa[$(t).text().trim()]&&$(t).text(qa[$(t).text().trim()])})),$("div.module-desc p.title").each(((e,t)=>{qa[$(t).text().trim()]&&$(t).text(qa[$(t).text().trim()])})),$("div.module-desc ul.info").find("*").contents().each(((e,t)=>{null!==t.nodeValue&&(qa[t.nodeValue.trim()]?t.nodeValue=qa[t.nodeValue.trim()]:t.nodeValue.indexOf("Length")>=0?t.nodeValue=t.nodeValue.replace("Length",qa.Length).replace("d ","").replace("h ","").replace("m ",""):t.nodeValue.indexOf("Cost")>=0?t.nodeValue=t.nodeValue.replace("Cost",qa.Cost):t.nodeValue.indexOf("manual labor")>=0?t.nodeValue=t.nodeValue.replace("manual labor",qa["manual labor"]).replace("Gain",qa.Gain).replace("upon completion",qa["upon completion"]):t.nodeValue.indexOf("endurance")>=0?t.nodeValue=t.nodeValue.replace("endurance",qa.endurance).replace("Gain","").replace("upon completion",qa["upon completion"]):t.nodeValue.indexOf("intelligence")>=0&&(t.nodeValue=t.nodeValue.replace("intelligence",qa.intelligence).replace("Gain","").replace("upon completion",qa["upon completion"])))}))};const t=new MutationObserver((function(){t.disconnect(),e(),t.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}));return e(),void t.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}if(e.contains(/profiles\.php\?XID=\d+/)){const e=document.querySelector(".content-wrapper"),t=new MutationObserver((()=>{t.disconnect(),Ps(),Vs(),n(),t.observe(e,{characterData:!0,attributes:!0,subtree:!0,childList:!0})})),n=function(){const e=document.title.trim().contains(/('s |s' )/)?document.title.trim().split(/('s |s' )/)[0]:null;if(!e){console.error("");try{t.disconnect()}catch(e){}return}$(".content-wrapper .title-black").each(((t,n)=>{1!==t?Ya[$(n).text().trim()]&&$(n).text(Ya[$(n).text().trim()]):Ya[n.firstChild.nodeValue.trim().replace(e,"{$}")]&&(n.firstChild.nodeValue=Ya[$(n).text().trim().replace(e,"{$}")].replace("{$}",e))})),$(".profile-information-wrapper .box-info .box-name").each(((e,t)=>{Ya[t.innerText.trim()]&&(t.innerText=Ya[t.innerText.trim()])}));const n=$("#profile-container-description.profile-container-description");if(Ya[n.text().trim()])n.html(`<span class="wh-translated">${Ya[n.text().trim()]}</span>`);else if(Ya[n.text().trim().replace(e,"{$}")])n.html(`<span class="wh-translated">${Ya[n.text().trim().replace(e,"{$}")].replace("{$}",e)}</span>`);else if(n.text().contains(/is on your (friend|enemy) list/)){const t=n.text().trim().split(" "),i=6===t.length?null:t.slice(7).join(" ");switch(t[4]){case"friend":n.html(`<span class="wh-translated">${Ya["{$} is on your friend list"].replace("{$}",e)}${i?" : "+i:""}</span>`);break;case"enemy":n.html(`<span class="wh-translated">${Ya["{$} is on your enemy list"].replace("{$}",e)}${i?" : "+i:""}</span>`)}}else $(".wh-translated").length<=0&&X.info(`: ${n.text().trim()}`);var i;$(".add-user .reason-wrapper").find("*").contents().each(((e,t)=>{if(3===t.nodeType)if(Ya[t.nodeValue.trim()])t.nodeValue=Ya[t.nodeValue.trim()];else if(/\b[1-4]?[0-9]\b/.test(t.nodeValue.trim().slice(0,2))){const e=t.nodeValue.trim().slice(0,2);t.nodeValue=Ya["{$} characters left"].replace("{$}",e)}})),(i=$(".profile-status .profile-container span"))&&i.contents().each(((e,t)=>{3===t.nodeType&&(La[t.nodeValue.trim()]?t.nodeValue=La[t.nodeValue.trim()]:Ua[t.nodeValue.trim()]?t.nodeValue=Ua[t.nodeValue.trim()]:t.nodeValue.contains(/In hospital for/)?t.nodeValue=t.nodeValue.replace("In hospital for","").replaceHMS():t.nodeValue.contains(/In jail for/)&&(t.nodeValue=t.nodeValue.replace("In jail for","").replaceHMS()))})),$("ul.info-table li div").each(((e,t)=>{const n=$(t);if(n.attr("class").contains(/user-information-section/)){const e=t.children[0],n=$(e);Ya[n.text().trim()]&&n.text(Ya[n.text().trim()])}else{if(Ya[n.text().trim()])return void n.children().text(Ya[n.text().trim()]);switch(e){case 5:case 7:{if(n.text().contains(rs))return;const e=t.children[0].children[0],i=e.firstChild.nodeValue.trim().split(" ").slice(0,-1).join(" ");return e.firstChild.nodeValue="",void $(e).append(` ${i}`)}case 11:return void n.find("span *").contents().each(((e,t)=>{3===t.nodeType&&(Ya[t.nodeValue.trim()]?t.nodeValue=Ya[t.nodeValue.trim()]:Da[t.nodeValue.trim()]&&(t.nodeValue=Da[t.nodeValue.trim()]))}));case 13:{if(n.text().contains(rs))return;const e=n.text().contains(/ [0-9]+ /)?n.text().trim().split(" ")[4]:null;return void(e?(t.children[0].children[0].childNodes[0].nodeValue=" ",t.children[0].children[0].childNodes[2].nodeValue=` ${e}`):n.find("span *").contents().each(((e,t)=>{3===t.nodeType&&Ya[t.nodeValue.trim()]&&(t.nodeValue=Ya[t.nodeValue.trim()])})))}case 23:return void(n.text().contains(/ago/)&&n.children().text(n.text().replace("ago","").replace("and","").replace("seconds","").replace("second","").replace("minutes","").replace("minute","").replace("hours","").replace("hour","").replace("days","").replace("day","").replaceAll(" ","")))}}}));$(".personal-info p").contents().each(((e,t)=>{3===t.nodeType&&Ya[t.nodeValue.trim()]&&(t.nodeValue=Ya[t.nodeValue.trim()])}));const o=$(".profile-container.competition-wrap span");o.text(Ya[o.text().trim()]||o.text()),function(e="",t=".send-cash"){const n=$(`${e} ${t} *`);0!==n.length&&n.contents().each(((e,t)=>{if(1===t.nodeType){if(Ka[$(t).attr("placeholder")])return void $(t).attr("placeholder",Ka[$(t).attr("placeholder")]);Ka[$(t).attr("title")]&&$(t).attr("title",Ka[$(t).attr("title")])}else 3===t.nodeType&&Ka[t.nodeValue.trim()]&&(t.nodeValue=Ka[t.nodeValue.trim()])}))}(".content-wrapper")};return n(),void t.observe(e,{characterData:!0,attributes:!0,subtree:!0,childList:!0})}if(e.contains(/(newspaper|joblist|freebies|newspaper_class|personals|bounties|comics)\.php/)){let e=function(){Ps(),Vs();let e=$("a.newspaper-link");if(0===e.length)return;e.contents().each(((e,t)=>{Va[t.nodeValue]&&(t.nodeValue=Va[t.nodeValue])})),$("div.price.left").contents()[2].nodeValue="Torncity";const t=document.querySelector("span.date-label");if(t&&t.innerText.trim().contains(/^[FMSTW][adehinorstuy]+, [ADFJMNOS][abceglnoprtuvy]+ [1-3]?[0-9], 20[0-9][0-9]$/)){const e=t.innerText.trim().replaceAll(",","").split(" "),n={w:e[0],m:e[1],d:e[2],y:e[3]},i={Jan:1,Feb:2,Mar:3,Apr:4,May:5,Jun:6,Jul:7,Aug:8,Sep:9,Oct:10,Nov:11,Dec:12};t.innerText=`${n.y}${i[n.m]||n.m}${n.d}`}$("div.help-message").find("*").contents().each(((e,t)=>{t.nodeValue&&""!==t.nodeValue.trim()&&(Va[t.nodeValue.trim()]?t.nodeValue=Va[t.nodeValue.trim()]:Va[t.nodeValue.trim().slice(0,50)]&&(t.nodeValue=Va[t.nodeValue.trim().slice(0,50)]))})),$('div[class^="sideCont"] [class^="title"]').contents().each(((e,t)=>{Va[t.nodeValue]&&(t.nodeValue=Va[t.nodeValue])})),$('span[class^="winner"]').each(((e,t)=>{}));let n=document.querySelector("div.link-left");if(Va[n.innerText.trim()]&&(n.innerText=Va[n.innerText.trim()]),$("div.link-right a").contents().each(((e,t)=>{Va[t.nodeValue.trim()]&&(t.nodeValue=Va[t.nodeValue.trim()])})),$(".bounties-list-title li").each(((e,t)=>{Va[$(t).text().trim()]&&$(t).text(Va[$(t).text().trim()])})),window.location.href.contains(/personals/)&&$("div.personals-wrap span.msg").find("*").contents().each(((e,t)=>{t.nodeValue&&""!==t.nodeValue.trim()&&Va[t.nodeValue.trim()]&&(t.nodeValue=Va[t.nodeValue.trim()])})),window.location.href.contains(/freebies/)){let e=document.querySelector("div.bonus-wrap a");Va[e.innerText.trim()]&&(e.innerText=Va[e.innerText.trim()])}if(window.location.href.contains(/bounties/)){const e=$(".bounties-total");if(e.text().contains(/A total of [0-9]+ listings were found/)){const t=e.text().trim().split(" ")[3];e.text(Va["A total of {$} listings were found."].replace("{$}",t))}$(".user-info-wrap div *").contents().each(((e,t)=>{3===t.nodeType&&Va[t.nodeValue.trim()]&&(t.nodeValue=Va[t.nodeValue.trim()])})),$("ul.bounties-list div.claim button").each(((e,t)=>{Va[$(t).text().trim()]&&$(t).text(Va[$(t).text().trim()])})),$("ul.bounties-list div.claim a").each(((e,t)=>{Va[$(t).text().trim()]&&$(t).text(Va[$(t).text().trim()])})),$(".add-bounties-wrap .name").contents().each(((e,t)=>{3===t.nodeType?Va[t.nodeValue.trim()]&&(t.nodeValue=Va[t.nodeValue.trim()]):1===t.nodeType&&Va[$(t).text().trim()]&&$(t).text(Va[$(t).text().trim()])}));const t=$(".choice-container label");Va[t.text().trim()]&&t.text(Va[t.text().trim()]);const n=$("span.input-money-symbol");Ka[n.attr("title")]&&n.attr("title",Ka[n.attr("title")]);const i=$(".slider-title");i.text().contains(/Quantity:/)&&i.text(i.text().replace("Quantity","")),$(".confirm-bounties *").contents().each(((e,t)=>{3===t.nodeType&&Va[t.nodeValue.trim()]&&(t.nodeValue=Va[t.nodeValue.trim()])})),$(".confirm-buttons *").contents().each(((e,t)=>{if(3===t.nodeType){if(Va[t.nodeValue.trim()])return void(t.nodeValue=Va[t.nodeValue.trim()]);switch(e){case 7:case 10:t.nodeValue.contains(/[0-9] bounties/)?t.nodeValue=t.nodeValue.replace("bounties",""):t.nodeValue.contains(/with the reason: .+\?/)&&(t.nodeValue=t.nodeValue.replace("with the reason",""))}}}));const o=$(".place-buttons input");Va[o.attr("value")]&&o.attr("value",Va[o.attr("value")]);const a=$(".place-buttons a.cancel");Va[a.text().trim()]&&a.text(Va[a.text().trim()])}};const t=new MutationObserver((()=>{t.disconnect(),e(),t.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}));return e(),void t.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}if(e.includes("estateagents.php"))return Ps(),Vs(),void $("div.estate-info div.title").each(((e,t)=>{Da[t.firstChild.nodeValue]&&(t.firstChild.nodeValue=Da[t.firstChild.nodeValue])}));if(e.includes("properties.php")){const e=window.location.href.indexOf("rent")>=0,t=new MutationObserver((()=>{t.disconnect(),Ps(),Vs(),n(),t.observe($("div.content-wrapper").get(0),{childList:!0,subtree:!0})})),n=function(){if(e||window.location.href.indexOf("sell")>=0)return $("div.title-black span").each(((e,t)=>{t.firstChild.nodeValue=""})),$("ul.info-cont label.marker-css").contents().each(((e,t)=>{Da[t.nodeValue]&&(t.nodeValue=Da[t.nodeValue])})),$("div.btn-search button").text(""),$("div.search-text a").text(""),$("div.users-list-title div").each(((e,t)=>{Da[$(t).text()]&&$(t).text(Da[$(t).text()])})),$('div[class="confirm-text"] span.question').each(((t,n)=>{const i=n.firstElementChild.innerText.trim().split(" ").slice(8).join(" ");$(n).text().indexOf("another")>0?(n.firstElementChild.firstChild.nodeValue="",n.firstElementChild.firstChild.nodeValue+=e?"":"",n.firstElementChild.childNodes[1].firstChild.nodeValue="",n.firstElementChild.childNodes[2].nodeValue=Da[i]):(n.firstElementChild.firstChild.nodeValue="",n.firstElementChild.firstChild.nodeValue+=e?"":"",n.firstElementChild.firstChild.nodeValue+=Da[i]),n.children[1].firstChild.nodeValue=" ",n.children[1].childNodes[2].nodeValue=e?" ":"",e&&(n.children[1].childNodes[4].nodeValue=" ")})),$("div.info-block span.bold").each(((e,t)=>{2===t.childElementCount?(t.firstElementChild.firstChild.nodeValue="",t.childNodes[2].nodeValue="",t.childNodes[3].firstChild.nodeValue="",t.childNodes[4].nodeValue=""):Da[t.firstChild.nodeValue.trim()]&&(t.firstChild.nodeValue=Da[t.firstChild.nodeValue.trim()])})),$("div.rental-period span.bold").each(((e,t)=>{Da[t.firstChild.nodeValue.trim()]&&(t.firstChild.nodeValue=Da[t.firstChild.nodeValue.trim()])})),$("span.title-laptop.bold").each(((e,t)=>{Da[$(t).text().trim()]&&$(t).text(Da[$(t).text().trim()])})),void $("div.title.bold.left").each(((e,t)=>{Da[t.firstChild.nodeValue]&&(t.firstChild.nodeValue=Da[t.firstChild.nodeValue])}));window.location.href.indexOf("p=options")>=0?$("div.content-wrapper div.title-black").each(((e,t)=>{Da[$(t).text().trim()]&&$(t).text(Da[$(t).text().trim()])})):window.location.href.indexOf("p=propertyinfo")>=0||window.location.href.indexOf("step=viewOfferExtension")>=0||($("ul.property-tabs a.ui-tabs-anchor div").contents().each(((e,t)=>{Da[t.nodeValue]&&(t.nodeValue=Da[t.nodeValue])})),$("ul.properties-list div.image-description").find("*").contents().each(((e,t)=>{3===t.nodeType&&Da[t.nodeValue.trim()]&&(t.nodeValue=Da[t.nodeValue.trim()])})),$("div#properties-page-wrap a[title]").each(((e,t)=>{Da[$(t).attr("title")]&&$(t).attr("title",Da[$(t).attr("title")])})))};return n(),void t.observe($("div.content-wrapper").get(0),{childList:!0,subtree:!0})}if(e.includes("events.php")){const e=new MutationObserver((()=>{e.disconnect(),Ps(),Vs(),vr(),e.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}));return vr(),void e.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}if(e.includes("awards.php")){const e=new MutationObserver((()=>{e.disconnect(),t(),e.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0,attributes:!0})})),t=function(){Ps(),Vs(),$("div.content-wrapper a.ui-tabs-anchor span.bold").contents().each(((e,t)=>{3===t.nodeType&&za[t.nodeValue.trim()]&&(t.nodeValue=za[t.nodeValue.trim()])})),$("div.awards-msg").contents().each(((e,t)=>{3===t.nodeType?za[t.nodeValue.trim()]&&(t.nodeValue=za[t.nodeValue.trim()]):1===t.nodeType&&(za[$(t).text().trim()]?$(t).text(za[$(t).text().trim()]):$(t).text().indexOf("medals")>=0?$(t).text($(t).text().replace("medals",za.medals)):$(t).text().indexOf("honors")>=0&&$(t).text($(t).text().replace("honors",za.honors)))})),$("div#awards-tab-menu a[data-title]").each(((e,t)=>{const n=$(t).attr("data-title").split(" <i>")[0];za[n]&&$(t).attr("data-title",$(t).attr("data-title").replace(n,za[n]))})),$("div#honors div.msg").each(((e,t)=>{za[$(t).text().trim()]&&$(t).text(za[$(t).text().trim()])})),$("div#honors div.confirm-msg button").each(((e,t)=>{za[$(t).text().trim()]&&$(t).text(za[$(t).text().trim()])})),$("div#honors div.confirm-msg a.cancel").each(((e,t)=>{za[$(t).text().trim()]&&$(t).text(za[$(t).text().trim()])})),$("div.awards-msg p").contents().each(((e,t)=>{3===t.nodeType&&za[t.nodeValue.trim()]&&(t.nodeValue=t.nodeValue.replace(t.nodeValue.trim(),za[t.nodeValue.trim()]))})),$("div.title-black").contents().each(((e,t)=>{1===t.nodeType?za[$(t).text().trim()]&&$(t).text(za[$(t).text().trim()]):3===t.nodeType&&za[t.nodeValue.trim()]&&(t.nodeValue=za[t.nodeValue.trim()])})),$("div.tab-menu-cont li.ui-state-default a").each(((e,t)=>{za[$(t).text().trim()]&&$(t).text(za[$(t).text().trim()])})),$("ul#merits-list span.name").each(((e,t)=>{za[$(t).text().trim()]&&$(t).text(za[$(t).text().trim()])})),$('ul#merits-list span.desc span[class^="t-"]').each(((e,t)=>{const n="t-hide"===$(t).attr("class"),i=n?$(t).text().slice(2):$(t).text();za[i]&&$(t).text((n?"- ":"")+za[i])})),$("ul#merits-list div.msg").contents().each(((e,t)=>{if(1===t.nodeType){const e=$(t).text().split(" ");za[e[1]]&&$(t).text(e[0]+" "+za[e[1]])}else if(3===t.nodeType){if(za[t.nodeValue.trim()])return void(t.nodeValue=za[t.nodeValue.trim()]+"");const e=t.nodeValue.trim().split("\n");if(3===e.length){const n=e[1].slice(5,-9),i=e[0],o=e[1].slice(-8),a=e[2];za[i]&&za[o]&&za[n]&&za[a]&&(t.nodeValue=" "+za[i]+za[n]+za[o]+za[a])}else if(1===e.length){const e=t.nodeValue.trim().slice(0,60),n=t.nodeValue.trim().slice(61);za[e]&&(t.nodeValue=za[e]),za[n]&&(t.nodeValue+=za[n])}}})),$("ul#merits-list div.confirm-cont a").each(((e,t)=>{za[$(t).text().trim()]&&$(t).text(za[$(t).text().trim()])}))};return t(),void e.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0,attributes:!0})}if(e.contains(/preferences\.php/)){const e=$(".content-wrapper"),t=new MutationObserver((()=>{t.disconnect(),Ps(),Vs(),n(),t.observe(e.get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})})),n=()=>{const e=$(".title-black");ns[e.text().trim()]&&e.text(ns[e.text().trim()]);if($(".content-wrapper a.ui-tabs-anchor").each(((e,t)=>{ns[$(t).text().trim()]&&$(t).text(ns[$(t).text().trim()])})),window.location.href.contains(/tab=api/)){const e=$('.content-wrapper p[class^="apiDescription___"]');ns[e.text().slice(0,50)]&&e.text(ns[e.text().slice(0,50)]);const t=$('button[class^="addKey___"] span');ns[t.text().trim()]&&t.text(ns[t.text().trim()]);const n=$('input[placeholder="New key\'s name"]');ns[n.attr("placeholder")]&&n.attr("placeholder",ns[n.attr("placeholder")]);const i=$('div[class*="typesDropdown___"] button.down');ns[i.text().trim()]&&i.text(ns[i.text().trim()]);$('div[class*="typesDropdown___"] div.down li').each(((e,t)=>{ns[$(t).text().trim()]&&$(t).text(ns[$(t).text().trim()])}))}};return n(),void t.observe(e.get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})}if(e.contains(/displaycase\.php/)){const e=document.querySelector("#display-page-wrap");xr(e,{subtree:!0,attributes:!0,childList:!0},(()=>{Ps();const t=e.querySelector("#back");if(t){const e=t.innerText.split(/('s |s' )/);3===e.length&&"Profile"===e[2]&&(t.innerText=`${e[0]}`)}const n=e.querySelector(".display-cabinet");if(n){n.querySelectorAll("div.b-item-name span:nth-of-type(2)").forEach((e=>{Qa[e.innerText]&&(e.innerText=Qa[e.innerText])}));kr(n.querySelector(".show-item-info"))}}))}else{if(e.includes("level2.php"),e.includes("hospitalview.php")){let e=function(){Ps(),Vs(),$('div[class^="msg right-round"]').contents().each(((e,t)=>Ua[t.nodeValue.trim()]&&(t.nodeValue=Ua[t.nodeValue.trim()]))),$('div[class^="users-list-title title-black top-round m-top10"] span').contents().each(((e,t)=>{t.nodeValue&&Ua[t.nodeValue.trim()]&&(t.nodeValue=t.nodeValue.replace(t.nodeValue,Ua[t.nodeValue.trim()]))})),$('ul[class^="user-info-list-wrap"] span[class^="reason"]').each(((e,t)=>{let n=$(t).get(0).childNodes[1].nodeValue.trim();if(Ua[n])$(t)[0].childNodes[1].nodeValue=Ua[n];else if(n.indexOf("Crashed")>=0)$(t)[0].childNodes[1].nodeValue=n.replace("Crashed her",Ua["Crashed her"]).replace("Crashed his",Ua["Crashed his"]);else switch(n){case"Attacked by":$(t)[0].childNodes[1].nodeValue=Ua.general,$(t).append(" ");break;case"Hospitalized by":$(t)[0].childNodes[1].nodeValue=Ua.general,$(t).append(" ");break;case"Mugged by":$(t)[0].childNodes[1].nodeValue=Ua.general,$(t).append(" ")}}))};const t=new MutationObserver((function(){t.disconnect(),e(),t.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}));return e(),void t.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}if(e.includes("actions.php")){const e={INFO:"",TERRITORY:"",RANK:"",CRIMES:"",UPGRADES:"",ARMORY:"",CONTROLS:"",FACTION:"","YOUR FACTION IS NOT IN A WAR":"",TIER:"",RESPECT:"","No active chain":"","Main News":"",Attacking:"",Funds:"",Armory:"",Crimes:"",Membership:"","has claimed sovereignty of":"","has abandoned":"","Achieved a chain of":"",and:"","respect [":" [","deposited ${$1}":"${$1}","Leadership was transferred to":" ","Someone mugged":" ",hospitalized:" ",mugged:" ",attacked:" ","but lost":" ","Someone attacked":" ","Someone hospitalized":" "};let n=function(){Ps(),Vs(),$('span[class^="tab-name"]').each(((t,n)=>{e[$(n).text().trim()]&&$(n).text(e[$(n).text().trim()])})),$('div[class^="f-msg"]').contents().each(((t,n)=>{let i=$(n).text().trim().split(":")[0];i&&e[i]&&$(n).text($(n).text().replace(i,e[i]))})),$('div[class^="chain-box"]').contents().each(((t,n)=>{let i=$(n);e[i.text().trim()]&&i.text(e[i.text().trim()])})),$('div[class^="newsHeader"]').contents().each(((t,n)=>{let i=$(n);e[i.text().trim()]&&i.text(e[i.text().trim()])})),$('button[class^="tab"] ').each(((n,i)=>{if(i.classList.contains("active")){t.info(i.innerText);let n=$('ul[class^="news-list"] span[class^="info"]');switch(i.innerText.trim()){case"":n.contents().each(((t,n)=>{e[$(n).text().trim()]&&(n.nodeValue=n.nodeValue.replace($(n).text().trim(),e[$(n).text().trim()]))}));break;case"":n.find("*").contents().each(((n,i)=>{t.info($(i).text().trim()),e[$(i).text().trim()]&&(i.nodeValue=e[$(i).text().trim()])}));break;case"":n.contents().each(((e,t)=>{t.nodeValue&&(t.nodeValue=t.nodeValue.replace("deposited",""))}))}}}))};const i=new MutationObserver((function(){i.disconnect(),n(),i.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}));return n(),void i.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}if(e.contains(/pc\.php/)){const e=$(".content-wrapper"),t=new MutationObserver((()=>{t.disconnect(),Ps(),Vs(),n(),t.observe(e.get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})})),n=()=>{const e=$("div.title-black");os[e.text().trim()]&&e.text(os[e.text().trim()])};return n(),void t.observe(e.get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})}if(e.contains(/calendar\.php/)){document.querySelectorAll("#calendar-root").forEach((e=>{xr(e,{childList:!0,subtree:!0},(()=>{Tr(e.querySelectorAll('h4[class^="title___"]'));Sr(e.querySelectorAll('div[class^="linksContainer___"] span[class^="linkTitle___"]'));e.querySelectorAll('div[class^="monthName___"]').forEach((e=>{ss[e.innerText.trim()]&&(e.innerText=ss[e.innerText.trim()])}))}))}))}else if(e.contains(/christmas_town\.php/)){xr(document.querySelector("#christmastownroot").querySelector('div[class^="appHeaderWrapper___"]'),{childList:!0,subtree:!0},(()=>{Tr(),Sr()}))}}}}let $r=pr=class{static main(){o.conditionInterrupt(),_.getInstance().init(),g.setDefaults(),Is.getInstance().init();let e=()=>{try{zs.getInstance().resolve(pr.main)}catch(e){}wr.getInstance().resolve(),g.get("transEnable")&&Cr(window.location.href)};"function"==typeof $?e():b.getInstance().jQueryReady().then((()=>e()))}};return $r=pr=function(e,t,n,i){var o,a=arguments.length,s=a<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var r=e.length-1;r>=0;r--)(o=e[r])&&(s=(a<3?o(s):a>3?o(t,n,s):o(t,n))||s);return a>3&&s&&Object.defineProperty(t,n,s),s}([function(e){if(window.WHTRANS)throw"退, "+window.WHTRANS;window.WHTRANS=void 0===window.WHTRANS?1:window.WHTRANS++;let n=performance.now();try{e.main()}catch(e){t.error("[Starter]: "+e.stack||e.message)}let i=performance.now()-n|0;t.info(`, ${i}ms`),Is.ZhongNode&&Is.ZhongNode.initTimer&&(Is.ZhongNode.initTimer.innerHTML=` ${i}ms`)}],$r),$r}();