Element.prototype.index=function(){return this.parentElement?Array.prototype.indexOf.call(this.parentElement.children,this):-1},Element.prototype.triggerChange=function(e){e=e||"change";var t=document.createEvent("HTMLEvents");t.initEvent(e,!0,!0),this.dispatchEvent(t)},function(){var $=function(e,t){return(t||document).querySelector(e)},$$=function(e,t){return(t||document).querySelectorAll(e)},http={req:(e,t,a)=>{var o,n=t.match(/region=([^&]*)/);!n||""!=n[1]||HWSConnect.region&&HWSConnect.region.length?((o=new XMLHttpRequest).open(e,t,!0),(a=a||{}).type&&o.setRequestHeader("Content-type",a.type),o.onload=function(){if(4==o.readyState&&"200"==o.status){if(a.done){var e=o.response,t=o.getResponseHeader("content-type");if(t&&"application/json"==t.split(";")[0]){if((e=JSON.parse(e||"null"))&&"ERR"==e.status&&-1{var a,e=$(".sections.template");e&&(a=$("#hws-elements").content,$$("hws-page").forEach(e=>{var t=e.getAttribute("rel");e.insertAdjacentElement("beforebegin",$(t,a)),e.remove();t=t.substr(1);(e=H.pages[t])&&e.pageLoaded&&e.pageLoaded()}),$$("hws-clone").forEach(e=>e.replaceWith($(e.getAttribute("rel")).cloneNode(!0))),e.classList.remove("template"),H.initYoutube(),"1"==localStorage.hideConnectDot&&$(".hws-header-connect-dot").remove(),(H.devMode=-1H.urls[e]=H.devUrls[e]))},setData:t=>{var a;return(t=t||{}).user=t.user||{},t.urls&&Object.keys(t.urls).forEach(e=>H.urls[e]=t.urls[e]),H.navbarButtons["hws-events"]&&(H.navbarButtons["hws-events"].disabled=!H.urls.hwsEvents),H.pages["hws-navbar"].initLinks(),HWSConnect.ideMode=t.ideMode,HWSConnect.region=t.region||HWSConnect.region||"",HWSConnect.patreonClientId=t.patreonClientId||"",HWSConnect.ocdCategories=t.ocd?t.ocd.categories:[],HWSConnect.ocdLimits=t.ocd?t.ocd.limits:[],HWSConnect.factory=t.factory,HWSConnect.npcTraders=t.npcTraders,HWSConnect.stimpacks=t.stimpacks,H.lotteryInfo=t.lottery,H.dailyLoot=H.isDailyLootV5()?t.dailyLootV5:t.dailyLoot,H.warpRegions=t.warpRegions,Object.keys(t.user).forEach(function(e){HWSConnect.user[e]=t.user[e]||""}),HWSConnect.user.patreonLevel=parseInt(HWSConnect.user.patreonLevel||0),$("html").setAttribute("patreon-level",HWSConnect.user.patreonLevel||0),$$(".hws-connect-name").forEach(e=>{e.innerHTML=HWSConnect.user.name}),$$(".hws-connect-steamLink").forEach(e=>{e.href="https://steamcommunity.com/profiles/"+HWSConnect.user.id}),$$(".hws-connect-steamAvatar").forEach(e=>{e.src=HWSConnect.user.steamAvatar}),0HWSConnect.pages[e].onPatreonLevel?HWSConnect.pages[e].onPatreonLevel():0)),t.show_error&&("PATREON_ALREADY_LINKED"==(a=t.show_error)&&(a="This patreon account is already linked to a different steam id! Please contact RexXxuS for a ban, err i mean help, yes, for help..."),setTimeout(e=>H.alert("ERROR: "+a),1e3)),t},applyPatreonLocks(e){e.forEach(e=>{var t=e.getAttribute("patreon-lock"),a=HWSConnect.user.patreonLevel{var t=e.target.closest("[patreon-lock]");if(t){var a=t.getAttribute("patreon-lock");if(a&&t.matches(".patreon-disabled")){var o=$(".hws-popup.show",document.body);return o&&o.classList.remove("show"),$$('[patreon-lock="'+a+'"]').forEach(e=>e.remove()),HWSConnect.hideLock(a),HWSConnect.patreonLockEv(e,a,".patreon-disabled",t)}}},shouldHideLock:e=>{return-1{var e=JSON.parse(sessionStorage.hiddenLocks||"[]");-1{e=HWSConnect.pages[e];e&&e.onHideLock&&e.onHideLock(t)}))},init:function(e){"serviceWorker"in navigator&&navigator.serviceWorker.register("./service-worker.js").then(t=>{t.onupdatefound=()=>{const e=t.installing;e.onstatechange=()=>{"installed"===e.state&&navigator.serviceWorker.controller&&window.location.reload()}}}).catch(e=>console.error("[SW ERROR]",e)),e=HWSConnect.setData(e),HWSConnect.preBuild(),HWSConnect.eventListener("windowHashChange",window,"hashchange",HWSConnect.checkPageToSet),HWSConnect.eventListener("sectionScrollDetect",window,"scroll",HWSConnect.onSectionScroll,!0),HWSConnect.eventListener("scrollTopClick",$("#hws-scroll-top"),"click",HWSConnect.scrollTopClick),document.addEventListener("click",function(e){if(e.target.matches("[toggler-for],[toggler-for] *"))HWSConnect.toggleModal($("#"+e.target.closest("[toggler-for]").getAttribute("toggler-for")));else if(e.target.matches(".overlay")&&!e.target._modal.matches(".no-close"))HWSConnect.toggleModal(e.target._modal);else{if(e.target.matches('[href="#select-server"],[href="#select-server"] *'))return e.target.closest(".server-selection-wrapper").classList.toggle("expanded"),e.preventDefault(),!1;{if(e.target.matches('[href^="#set-server-"],[href^="#set-server-"] *'))return HWSConnect.setServer(e.target.closest("[href]").getAttribute("href").substr(12)),HWSConnect.checkPageToSet(),e.preventDefault(),!1;e.target.matches('[href^="#page-"],[href^="#page-"] *')?(t=(a=e.target.closest("[href]")).getAttribute("href").substr(6),a.hasAttribute("hws-modal")?(HWSConnect.setPage(t,1),e.preventDefault()):(a=a.getAttribute("href"))==window.location.hash?(HWSConnect.cache={},HWSConnect.setPage(t)):window.location.hash=a,"none"!=window.getComputedStyle($(".hws-navbar .small-screen-overlay")).display&&$(".hws-navbar .navbar-toggler").click()):e.target.matches("hws-modal-overlay,hws-modal-close,hws-modal-close *,.hws-modal-close")&&HWSConnect.toggleModal(e.target.closest(".hws-modal"))}var t,a}}),"true"==localStorage.getItem("hws-navbar-collapsed")&&document.body.classList.add("hws-navbar-collapsed"),HWSConnect.onDomLoaded(),""!=HWSConnect.user.id?HWSConnect.checkPageToSet():HWSConnect.onUnknownUser(),HWSConnect.eventListener("hwsButtonsShowSmallScreen",document.body,"click",HWSConnect.hwsButtonsShowSmallScreen)},scrollTopClick:e=>{$(".sections").scrollTop=0},onSectionScroll:e=>{e.target&&e.target.matches(".sections")&&(e=e.target,$("#hws-scroll-top").classList[350{e.target.matches("section>.buttons,section>.buttons *")?e.target.closest(".buttons").classList.add("show"):$$("section>.buttons.show").forEach(e=>e.classList.remove("show"))},isServerRe(){return window.location.pathname.startsWith("/re/")},checkPageToSet:()=>{var e,t=window.location.hash.match(/^#page\-(.*)$/);t&&(e=t[1],""==HWSConnect.user.id&&(HWSConnect.pages.hasOwnProperty(e)&&HWSConnect.pages[e].allowGuest||(e=0)));var a=localStorage.getItem("hws-server"),t=Object.keys(H.regions);(a=!a&&1==t.length?H.isServerRe()?"re":t[0]:a)&&HWSConnect.setServer(a),"hws-login"==(e=e||(""==HWSConnect.user.id?"hws-login":""==HWSConnect.region?"killboard":"dashboard"))||window.location.hash=="#page-"+e?HWSConnect.setPage(e):window.location.hash="#page-"+e,"hws-login"==e&&(localStorage.removeItem("bountyNotified"),sessionStorage.removeItem("hiddenLocks"))},onUnknownUser:()=>{$("body").classList.add("unknown-user"),$("body").classList.add("loading"),HWSConnect.http.get("hws-connect/api/user.php?get",e=>{$("body").classList.remove("loading"),"OK"==e.status&&($("body").classList.remove("unknown-user"),HWSConnect.setData(e)),HWSConnect.checkPageToSet(),$("body").triggerChange("hws-connect-loaded")})},onDomLoaded:()=>{Object.keys(HWSConnect.pages).forEach(e=>{e=HWSConnect.pages[e];e&&e.domLoaded&&e.domLoaded()})},setServer:function(t){var e;t=t.toLowerCase(),""!=(t=((t=!HWSConnect.regions[t]?Object.keys(HWSConnect.regions).shift():t)||"").toLowerCase())&&HWSConnect.region!=t&&(console.log("Setting region",t),HWSConnect.cache={},HWSConnect.region=t,document.body.setAttribute("hws-server",t),localStorage.setItem("hws-server",t),document.body.triggerChange("hws-server"),$$(".hws-region").forEach(function(e){"value"in e?(e.value=t.toUpperCase(),e.triggerChange("updated")):e.innerHTML=t.toUpperCase()}),$(".server-selection-wrapper").classList.remove("expanded"),$$("section").forEach(e=>delete e._loadedAt),Object.values(H._cachedPages).forEach(e=>delete e._loadedAt),"#page-not-played"!=document.location.hash&&"#page-banned"!=document.location.hash||(document.location.hash="#page-dashboard"),H.setPage(H._pageName),e="re"==t||"rn"==t,H.isServerRe()!=e&&(window.location=e?"/re"+window.location.pathname:window.location.pathname.substr(3)))},toggleModal:function(e){if(e){if(!e.matches(".active")&&!e._overlay)return e._marker=document.createElement("hws-marker"),e.parentNode.insertBefore(e._marker,e),e._overlay=document.createElement("div"),(e._overlay._modal=e)._overlay.classList.add("overlay"),e._overlay.classList.add("show"),document.body.appendChild(e._overlay),document.body.appendChild(e),void(e.matches("[delay-move]")?setTimeout(()=>{e.classList.add("hws-modal")},100):e.classList.add("hws-modal"));var t;e.classList.remove("hws-modal"),e._overlay&&(e._overlay.remove(),delete e._overlay),e._marker&&(t=()=>{e._marker.parentNode.insertBefore(e,e._marker),e._marker.remove(),delete e._marker},e.matches("[delay-move]")?setTimeout(()=>t,1e3):t())}},getUrlFor:function(e,t){if(t=t||{},e&&HWSConnect.urls[e])return HWSConnect.urls[e].replace("%id%",t.id||"").replace("%region%",t.region||HWSConnect.region).replace("%userIdS%",t.userIdS||HWSConnect.user.idS).replace("%timestamp%",t.timeStamp||Date.now());console.log("No URL found for key:"+e)},getPage(e){if(e){var t=$(".page-"+e),a=HWSConnect.pages[e];return t||(H._cachedPages||(H._cachedPages={}),(t=H._cachedPages[e])?$("hws-section-marker").insertAdjacentElement("beforebegin",t):(t=$(".page-"+e+",."+e,$("#hws-elements").content),$("hws-section-marker").insertAdjacentElement("beforebegin",t),H.initYoutube(t),t.triggerChange("onPageLoaded"),a&&a.pageLoaded&&a.pageLoaded(t),H._cachedPages[e]=t)),t}},setPage:function(e,t,a){"daily-loot"==e&&H.isDailyLootV5()&&(e+="-boxes");var o=H.getPage(e),n=$("section.active"),r=0,s=HWSConnect.pages[e];o==n?(r=1,HWSConnect.cache={}):t||($$(".hws-modal").forEach(e=>{HWSConnect.toggleModal(e)}),n&&(n.classList.remove("active"),n.remove()),o&&(o.classList.add("active"),o.triggerChange("activated")),$(".sections").scrollTop=0,HWSConnect.onSectionScroll({target:o})),t?HWSConnect.toggleModal(o):(HWSConnect._pageName=e,(t=$(".hws-navbar .selected"))&&t.classList.remove("selected"),(t=$('.hws-navbar [href="#page-'+e+'"]'))&&t.classList.add("selected")),!r&&o&&o._loadedAt&&Date.now()-o._loadedAt=HWSConnect.cacheTimeout?Object.values(HWSConnect.dataSources).forEach(e=>{e(t)}):HWSConnect.refreshDataSrcs(t,e.data)},refreshDataSrcs:function(src,data){$$('.hws-modal [data-src="'+src+'"],.active [data-src="'+src+'"],.page-loading [data-src="'+src+'"],.hws-header [data-src="'+src+'"]').forEach(function(tbl){document.body.classList.remove("page-loading");for(var customHandle,keys=Object.keys(HWSConnect.onElementData),i=0;i{$$('[hws-data="'+a+'"]',tbl).forEach(e=>{var t=HWSConnect.onElementData[e.tagName.toLowerCase()];t?t(data[a],tbl):e.innerHTML=data[a]}),$$('[hws-data-attr="'+a+'"]',tbl).forEach(e=>e.setAttribute("data-val",data[a])),$$('[hws-data-width="'+a+'"]',tbl).forEach(e=>e.style.width=data[a])}))}),HWSConnect._getDataCbs.hasOwnProperty(src)&&(HWSConnect._getDataCbs[src].forEach(e=>{e(src,data)}),HWSConnect._getDataCbs[src]=[])},emptyContainer:e=>{Array.prototype.filter.call(e.children,e=>!e.matches(".template")).forEach(e=>{e.remove()})},numberFormat:function(e){for(;/(\d+)(\d{3})/.test(e.toString());)e=e.toString().replace(/(\d+)(\d{3})/,"$1 $2");return e},formatNumbers:function(e){if("boolean"==typeof e)return e?"Yes":"No";var t=e&&e.match&&e.match(/^\d{2}(\d{2}\-\d{2}\-\d{2})T(\d{2}:\d{2}):\d{2}\.?[\d\-\+:]*Z?$/);return t?""+t[1]+" "+t[2]:"object"!=typeof e&&Number(parseFloat(e))==e?HWSConnect.numberFormat(e):e},genericList:function(e,t){e=e.split(",");var a,o,n=document.createElement("ul");return e.forEach(function(e){[e,a]=e.split(/:(.+)/),a=a||HWSConnect.capitalize(e.replace(/_/g," ")),(o=document.createElement("li")).innerHTML='
'+(a||e.replace(/_/g," "))+'
'+HWSConnect.numberFormat(t[e])+"
",n.appendChild(o)}),n},capitalize:e=>{for(var t=0,a=(e=e.split(" ")).length;t''+e+'',isInViewport:e=>{e=e.getBoundingClientRect();return 0<=e.top&&0<=e.left&&e.top<=(window.innerHeight||document.documentElement.clientHeight)&&e.left<=(window.innerWidth||document.documentElement.clientWidth)},onElData:(e,t)=>{HWSConnect.onElementData||(HWSConnect.onElementData={}),HWSConnect.onElementData[e]=t},downloadFile:(e,t,a)=>{a=a||"text/plain;charset=utf-8",console.log("Initiating download",e);var o=document.createElement("a");o.setAttribute("href","data:"+a+","+encodeURIComponent(t)),o.setAttribute("download",e),o.style.display="none",document.body.appendChild(o),o.click(),o.remove()},getLoginUrl:(e,t)=>document.location.origin+document.location.pathname.substr(0,document.location.pathname.lastIndexOf("/"))+"/hws-connect/api/user.php?"+(e||"login")+(t?"":"="+encodeURIComponent(document.location.href)),onUserLoggedOut:()=>{$("body").classList.add("unknown-user"),HWSConnect.user={id:""},HWSConnect.checkPageToSet()},onPlayerInactive:()=>{$("body").classList.add("not-played"),document.location="#page-inactive"},playerName:a=>{if(HWSConnect.cache.playerInfo&&HWSConnect.cache.playerInfo.data.Name)return a(HWSConnect.cache.playerInfo.data.Name);HWSConnect.getData("playerInfo",(e,t)=>a(HWSConnect.cache.playerInfo.data.Name))},eventListener:(e,t,a,o,n)=>{t?(t[e="_"+e]&&t.removeEventListener(a,t[e],n),t.addEventListener(a,t[e]=o,n)):console.log("eventListener, el not found for key",e)},strToCols:e=>{var t={};return e.split(",").forEach(e=>{e=e.split(/:(.+)/);e[1]=e[1]||HWSConnect.capitalize(e[0].replace("_"," ")),t[e[0]]=e[1]}),t},requestsInterval:()=>1e3*Math.max(10-2*HWSConnect.user.patreonLevel,2)+200,initItemTypesFilter:(a,e)=>{a.innerHTML="",HWSConnect.itemTypes.forEach(e=>{var t=document.createElement("option");t.innerHTML=t.value=e,a.appendChild(t)}),M.FormSelect.init(a);var t=a.closest(".select-wrapper");t&&t.classList[a.classList.contains("patreon-locked")?"add":"remove"]("patreon-locked"),HWSConnect.eventListener("initItemTypesFilter",a,"change",e)},secToDHHMM:e=>parseInt(e/86400)+"d "+new Date(1e3*e).toISOString().substr(11,5),copyToClipboard:(e,t,a)=>{var o=document.createElement("input");document.body.appendChild(o),o.type="text",o.value=e,o.select(),document.execCommand("copy"),o.remove(),a||M.toast({html:(t||"Text")+" copied to clipboard!"})},formatSecs:e=>{var t=parseInt(e,10),a=Math.floor(t/3600),o=Math.floor((t-3600*a)/60),n=t-3600*a-60*o,e=0;return 24{var t=HWSConnect.patreonLocks[e],e=HWSConnect.patreonTitles[t.level];HWSConnect.prompt({title:"Patreon Locked Feature!",desc:"Unlock this feature when you pledge as "+e+" or above!

"+t.desc+"


",dismiss:"",type:"none",ok:'Check out more benefits and become a HWS Patron'})},patreonLockEv:(e,t,a,o)=>{if(o=o||e.target,!a||o.matches(a))return HWSConnect.patreonAdPrompt(t),e.stopPropagation(),e.preventDefault(),!1},dataSourceDefault:(t,a,o)=>{var e={},n=t,r=t.match(/^(\w+)\-(\w+)$/);r&&(n=r[1],e.region=r[2]),HWSConnect._getData[t]||(HWSConnect._getData[t]=1,HWSConnect.http.get(HWSConnect.getUrlFor(n,e),e=>{HWSConnect.cache[t]={data:(a||JSON.parse)(e),timestamp:Date.now()},o?"function"==typeof o&&o():HWSConnect.refreshDataSrcs(t,HWSConnect.cache[t].data),HWSConnect._getData[t]=0},e=>{HWSConnect._getData[t]=0}))},remapKeys:(a,o)=>{Object.keys(o).forEach(e=>{var t=a[e];t&&(o[t]=o[e])})},triggerDownload(e,t){var a=document.createElement("a");a.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(t)),a.setAttribute("download",e),a.style.display="none",document.body.appendChild(a),a.click(),a.remove()},isLocal(){return"127.0.0.1"==location.host||"localhost"==location.host},otherRegion(){var e=JSON.parse(JSON.stringify(HWSConnect.warpRegions));return e.splice(e.indexOf(HWSConnect.region),1),e.shift()},addSelOpt:(e,t,a)=>{var o;t&&((o=document.createElement("option")).innerHTML=o.value=t,e.appendChild(o)),a&&(t&&(e.selectedIndex=e.children.length-1),M.FormSelect.init(e))},swapElements(e,t){var a=document.createElement("span");e.insertAdjacentElement("beforebegin",a),t.insertAdjacentElement("beforebegin",e),a.insertAdjacentElement("beforebegin",t),a.remove()},getItemDragPlaceholder(){var e;return H._itemDragPlaceHolder||(e=$(e=".backpack-wrapper.template .backpack .slot.template")||$(e,$("#hws-elements").content),H._itemDragPlaceHolder=e.cloneNode(!0),H._itemDragPlaceHolder.classList.remove("template")),H._itemDragPlaceHolder},baseName(e){return e.split("\\").pop().split("/").pop()},showLoading(){H._loadingCounter||(H._loadingCounter=0),H._loadingCounter++,document.body.classList.add("page-loading")},hideLoading(){H._loadingCounter&&--H._loadingCounter<1&&document.body.classList.remove("page-loading")},isDailyLootV5(){return-1{e.src=e.getAttribute("defered-src"),e.removeAttribute("defered-src")})},initYoutube(e){$$(".youtube[data-embed]",e).forEach(e=>{var t="https://img.youtube.com/vi/"+e.dataset.embed+"/sddefault.jpg",a=new Image;a.src=t,a.addEventListener("load",()=>e.appendChild(a)),e.addEventListener("mousedown",function(){var e=document.createElement("iframe");e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen",""),e.setAttribute("src","https://www.youtube.com/embed/"+this.dataset.embed+"?rel=0&showinfo=0&autoplay=1"),this.innerHTML="",this.appendChild(e)},!0)})},empryionItem(e){return EMPYRION_ITEMS[e]||{Name:"Item #"+e,Type:"Other",Category:"Other"}},getOCDLimits(e){var t=JSON.parse(JSON.stringify(HWSConnect.ocdLimits[e&&e.OCD_Level||0]));return t[4]+=e.PermanentOCDSlots,t}},window.H=window.HWSConnect}(),HWSConnect.cacheTimeout=6e4,HWSConnect.regions={eu:{voteid:21190},na:{voteid:21191},re:{voteid:44894},rn:{voteid:53280}},HWSConnect.cardsDashboard=!1,HWSConnect.patreonTitles="Join,Pro,Survivor,Veteran,Elite,Master,Meta,Astral".split(","),HWSConnect.origins="Explorer,Engineer,Fighter,Dealer".split(","),HWSConnect.itemTypes="Ammo,Armor,Block,Commodity,Components,Deco,Device,Ingot,Ingredients,Medical,Ore,Weapon".split(",").sort(),HWSConnect.itemTypes.unshift("All"),HWSConnect.garageCategories="Miner,Expedition,Utility,Fighter".split(","),HWSConnect.discordServerId="216919452674031617",HWSConnect.google_ad_client="ca-pub-6063456289040219",HWSConnect.patreonLocks={googleAds:{level:4},whisperPlayers:{level:2,desc:"Allows you to send whispers to players straight from online list"},sendCredits:{level:2,desc:"Allows you to send credits to players straight from online list"},watchPlayers:{level:2,desc:'Allows you to get notifications when "watched" players come online!'},ocdTradePrices:{level:4,desc:"Allows you to see Trade Prices in OCD page"},ocdFilters:{level:1,desc:"Enables custom filtering OCD content"},structFilters:{level:1,desc:"Enables custom filtering Structures table"},marketFilters:{level:1,desc:"Enables custom filtering HWS Marketplace table"},ocdToMarket:{level:4,desc:"Enables direct connetion between OCD and HWS Marketplace!"},ocdWarp:{level:4,desc:"Enables Warping OCD Slots between servers!"},ebWarp:{level:4,desc:"Enables Warping EB Credits between servers!"},marketplaceCompact:{level:3,desc:"Allows compacting marketplace items and sorting by cheapest first!"},marketItemSales:{level:3,desc:"Allows you to see selected item trade sales chart"}},H.devUrls={},HWSConnect.urls={openid:{steamLogin:"https://steamcommunity.com/openid/login?",return_to:"https://empyrion-homeworld.net/hws-connect.php?login",realm:"https://empyrion-homeworld.net"},buyStimpack:"hws-connect/api/user.php?buyStimpack=%id%®ion=%region%",forumRoot:"https://forum.empyrion-homeworld.net",forumTopic:"https://forum.empyrion-homeworld.net/t/%id%.json",latestNews:"https://forum.empyrion-homeworld.net/c/hws-announcements/l/latest.json",playerGameInfo:"hws-connect/api/user.php?PlayerInfo®ion=%region%",playerInfo:"hws-connect/api/user.php?data=Player®ion=%region%",playerLogs:"hws-connect/api/user.php?data=PlayerLog®ion=%region%&_=%timestamp%",cargoDrone:"hws-connect/api/user.php?data=OCD®ion=%region%",autoMiner:"hws-connect/api/user.php?data=Autominer®ion=%region%",playerStructs:"hws-connect/api/user.php?data=Structure®ion=%region%",stealthInfo:"hws-connect/api/user.php?data=StructureStealth®ion=%region%",proximityLogs:"hws-connect/api/user.php?data=Intruder®ion=%region%",hwsUniverse:"hws-connect/api/user.php?data=Playfield®ion=%region%",killCounter:"hws-connect/api/user.php?data=PlayerKillCounter®ion=%region%",hwsGarage:"hws-connect/api/user.php?data=StructureOnSale®ion=%region%",garageStats:"hws-connect/api/user.php?data=StructureSpawner®ion=%region%",playerInventory:"hws-connect/api/user.php?data=PlayerInventory®ion=%region%",factoryInfo:"hws-connect/api/factory.php?info®ion=%region%",tradeLogs:"hws-connect/api/user.php?data=PlayerTrade®ion=%region%",lottery:"hws-connect/api/lottery.php?get®ion=%region%",lotteryNumbers:"hws-connect/api/lottery.php?get®ion=%region%",factionTaxes:"hws-connect/api/user.php?taxes®ion=%region%",npcTraders:"hws-connect/api/user.php?data=NpcTrader®ion=%region%",npcTraderSubmit:"hws-connect/api/npc-trader.php?submit=%id%®ion=%region%",pendingTraders:"hws-connect/api/npc-trader.php?pending",skillTree:"hws-connect/api/skill-tree.php?get®ion=%region%",setSkill:"hws-connect/api/skill-tree.php?set®ion=%region%",resetSkills:"hws-connect/api/skill-tree.php?reset®ion=%region%",fixSkills:"hws-connect/api/skill-tree.php?fix®ion=%region%",dailyClaim:"hws-connect/api/skill-tree.php?dailyloot®ion=%region%",dailyCounter:"hws-connect/api/skill-tree.php?dailycheck®ion=%region%",itemIcon:"rsrc/images/items/%id%.png",vesselIcon:"rsrc/images/%id%.png",imageSrc:"rsrc/images/%id%",pda:"hws-connect/api/pda.php",npcTraderItems:"hws-connect/api/user.php?data=npcTraderItems®ion=%region%&id=%id%",playfieldsInfo:"hws-connect/api/user.php?data=playfieldsInfo®ion=%region%",hunterBoard:"hws-connect/api/user.php?data=hunterBoard®ion=%region%",onlinePlayers:"hws-connect/api/user.php?data=onlinePlayers®ion=%region%",patronsList:"hws-connect/api/support-hws.php?patrons",patreonTiers:"hws-connect/api/support-hws.php?benefits",onlinePlayersInfo:"hws-connect/api/user.php?onlinePlayers",ocdWarp:"hws-connect/api/ocd.php?warp",voteCheck:"hws-connect/api/user.php?voted®ion=%region%",voteLink:"https://empyrion-servers.com/server/%id%/vote/",claimReward:"hws-connect/api/user.php?claimReward®ion=%region%",patronTypeImg:"rsrc/images/%id%.png",supportPackages:"hws-connect/api/support-hws.php?packages",buyPackage:"hws-connect/api/support-hws.php?buy®ion=%region%&package=%id%",hwsImages:"hws-connect/api/tables.php?images",statsMarketSales:"hws-connect/api/market.php?region=%region%&stats=sales",statsItemSales:"hws-connect/api/market.php?region=%region%&stats=itemSales&id=%id%"},HWSConnect.navPanel=[{href:"https://empyrion-homeworld.net/home#hws-story-features",title:"HWS Story / Features",text:"Features"},{href:"https://forum.empyrion-homeworld.net/c/hws-guide",title:"HWS Guide / Rules",text:"Guide"},{href:window.location.origin+window.location.pathname+"#hws-login",title:"HWS Connect",text:"HWS Connect",class:"active"},{href:"https://forum.empyrion-homeworld.net/",title:"HWS Community / Forum",text:"Community"},{href:"https://empyrion-homeworld.net/hws-commands",title:"HWS Commands",text:"Commands"},{href:window.location.origin+window.location.pathname+"#page-support-us",title:"Support HWS",text:"Support Us"},{href:"https://patreon.com/hws",title:"Become a HWS Patron",text:"Become a Patron",class:"patreon",target:"_blank"}],HWSConnect.navbarButtons={dashboard:{icon:"fa-home",text:"Dashboard",title:"HWS Connect Home"},"support-us":{icon:"fa-hand-receiving",text:"Support Us"},"player-info":{icon:"fa-user-astronaut",text:"Player Info"},ocd:{icon:"fa-cubes",text:"Orbital Cargo Drone"},oam:{icon:"fa-database",text:"Orbital Auto Miner"},structures:{icon:"fa-code-merge",text:"Structure Commander"},"egs-stealth":{icon:"fa-shield",text:"EGS Stealth"},"prox-log":{icon:"fa-podcast",text:"Proximity Log"},eb:{icon:"fa-building",text:"Elemental Bank"},marketplace:{icon:"fa-shopping-cart",text:"HWS Marketplace"},"npc-trader":{icon:"fa-handshake",text:"HWS Trader"},"hws-garage":{icon:"fa-rocket",text:"HWS Garage"},"tax-list":{icon:"fa-file-invoice-dollar",text:"Tax List"},"faction-chat":{icon:"fa-comment",text:"HWS Faction Chat"},"hws-universe":{icon:"fa-globe",text:"HWS Universe"},"hunter-board":{icon:"fa-crosshairs",text:"HWS Hunter Board"},killboard:{icon:"fa-swords",text:"HWS Kill Board"},settings:{icon:"fa-cog",text:"Settings",title:"HWS Connect Settings",modal:1}},HWSConnect.empyrionIds={4296:{name:"Magnesium Ore",abr:"ma",idx:4},4297:{name:"Iron Ore",abr:"ir",idx:12},4298:{name:"Cobalt Ore",abr:"cob",idx:9},4299:{name:"Silicon Ore",abr:"si",idx:11},4300:{name:"Neodymium Ore",abr:"neo",idx:6},4301:{name:"Copper Ore",abr:"cop",idx:10},4302:{name:"Promethium Ore",abr:"pr",idx:8},4317:{name:"Erestrum Ore",abr:"ere",idx:3},4318:{name:"Zascosium Ore",abr:"zas",idx:2},4332:{name:"Sathium Ore",abr:"sa",idx:7},4341:{name:"Pentaxid",abr:"bc",idx:5},4345:{name:"Gold Ore",abr:"go",idx:1},4359:{name:"Titanium Ore",abr:"ti",idx:13},4358:{name:"Ice Blocks",abr:"ib",idx:14},4365:{name:"Platinum Ore",abr:"pl",idx:15},4362:{name:"Aluminum Ore",abr:"al",idx:16},8041:{name:"Carbon Ore",abr:"ca",idx:17}},HWSConnect.hotviewItems=` bank_credits player_credits playtime_h:Playtime (h) faction origin reputation_points playfield:Current Playfield coords:Current Coordinates deaths:All Deaths support_resource_packages support_blueprint_packages visited_bank:Visited the Bank hws_ingots:HWS Ingot `,HWSConnect.autoMinerLimits="300,600,900,1200,1700,2500,3500,5000,7000,10000".split(","),HWSConnect.pda={},HWSConnect.pda.player=[{desc:"See your playtime, start date and last reset",cmds:[{cmd:"cb:info"}]},{desc:"See the current server time ingame",cmds:[{cmd:"cb:time"}]},{desc:"Write to a specific person. Make sure you type the name correct!",cmds:[{cmd:"cb:w:$player:$message",title:"Send",inputs:{player:{type:"text",title:"Ingame name of Player (case sensitive!)"},message:{type:"text",title:"Whisper Message for that Player"}}}]},{desc:"See your current Origin info",cmds:[{cmd:"o:info"}]},{desc:"Get your Origin supply package (once per week)",cmds:[{cmd:"o:supply"}]},{desc:"hr"},{desc:'Reset your player and start fresh. See here what you keep and what not.',cmds:[{style:"negative",cmd:"cb:reset"}]}],HWSConnect.pda.ocd=[{desc:"Open the Orbital Cargo Drone input window",cmds:[{cmd:"ocd:put"}]},{desc:"Send all items in your OCD - if possible",cmds:[{cmd:"ocd:put:all"}]},{desc:"Sort your OCD to remove empty slots in between",cmds:[{cmd:"ocd:sort"}]},{desc:"Swap one slot with another one",cmds:[{cmd:"ocd:swap:$from:$to",title:"Send",inputs:{from:{type:"number",title:"Swap this slot"},to:{type:"number",title:"With this one"}}}]},{desc:"Upgrade your Orbital Cargo Drone if possible",cmds:[{cmd:"ocd:upgrade",style:"neutral"}]}],HWSConnect.pda.oam=[{desc:"Fuel ALL resources with every Auto Miner Cores you have or specific ones",cmds:[{cmd:"am:fuel:all:$amount",title:"Fuel All",inputs:{amount:{type:"text",title:"Type all for taking all of your Cores or a number"}}}]},{desc:"Get ALL of your Ores into your inventory",cmds:[{cmd:"am:get:all"}]}],"iron,copper,cobalt,silicon,sathium,promethium,neodymium,zascosium,erestrum,magnesium,bc:Pentaxid,gold,titanium,ib:Ice Block,platinum,aluminum,carbon".split(",").forEach(e=>{var t;[e,t]=e.split(":"),t=t||HWSConnect.capitalize(e),"carbon"===e?HWSConnect.pda.oam.push({desc:"Buy / Upgrade or sell the "+t+" resource. ⚠️Only available in HWS+",cmds:[{cmd:"am:buy:"+e},{cmd:"am:sell:"+e,style:"negative"}]}):HWSConnect.pda.oam.push({desc:"Buy / Upgrade or sell the "+t+" resource.",cmds:[{cmd:"am:buy:"+e},{cmd:"am:sell:"+e,style:"negative"}]})}),HWSConnect.pda.structures=[{desc:"Stealth only the clicked structure",cmds:[{title:"Stealth Ship",cmd:"egs:stealth:on:$id"}]},{desc:"Stealth all of your near ships (<= 200m)",cmds:[{title:"Stealth All",cmd:"egs:stealth:on"}]},{desc:"Recycle the clicked structure into your inventory or OCD",cmds:[{title:"Recycle",cmd:"egs:recycle:$id"},{title:"Recycle to OCD",cmd:"egs:recycleocd:$id"}]},{desc:"Bring the clicked structure to you",cmds:[{title:"cb:getshiphere",cmd:"cb:getshiphere:$id"}]},{desc:"Bring the clicked ship down",cmds:[{title:"cb:getshipdown",cmd:"cb:getshipdown:$id"}]},{desc:"Sell your ship while being in an Elemental Garage Zone (other players can buy it then)",cmds:[{cmd:"ts:sell:$price",title:"Sell ship to Garage",inputs:{price:{type:"text",title:"For what price (credits) you wanna sell your ship to the Garage?"}}}]},{desc:"Sell your ship for credits. Keep in mind some conditions. You can only sell your ship for credits if:
  • you are in PvE anywhere and in the Dealer Origin
  • you are in PvE anywhere and are HWS Patron Master or above
  • you are in PvE anywhere and bought the Master Origin
  • you are in PvE and in a Trading Zone
  • you are in PvP and in a Trading Zone
",cmds:[{cmd:"ts:sellcredits:$id",title:"Sell ship for credits"}]},{desc:"Destroy the clicked structure",cmds:[{title:"Destroy",style:"negative",cmd:"cb:destroy:$id"}]}],HWSConnect.pda.stealth=[{desc:"Un-Stealth all of your structures",cmds:[{title:"Un-Stealth All",cmd:"egs:stealth:off"}]},{desc:"Un-Stealth only the clicked ship",cmds:[{title:"Un-Stealth Ship",cmd:"egs:stealth:off:$id"}]}],HWSConnect.pda.eb=[{desc:"See your bank level, bank value and more",cmds:[{cmd:"eb:info"}]},{desc:"Transfer your Gold Coins into your Bank account",cmds:[{cmd:"eb:cointocr"}]},{desc:"Send your Bank credits to a specific player (click eb:info to see your account number) or type the exact name (case sensitive!)",cmds:[{cmd:"eb:send:$player:$amount",title:"Send",inputs:{player:{type:"text",title:"Account Number of player or exact Player name"},amount:{type:"number",title:"Amount of credits you want to send"}}}]},{desc:"Pay credits into your bank. (Warning: cost 5% fee if not in the Bank zone)",cmds:[{cmd:"eb:payin:$amount",title:"Pay in",inputs:{amount:{type:"text",title:"Type all for pay in all of your credits or a number"}}}]},{desc:"Get credits out of your bank. (Warning: cost 5% fee if not in the Bank zone)",cmds:[{cmd:"eb:payout:$amount",title:"Pay out",inputs:{amount:{type:"text",title:"Type all for pay out all of your credits or a number"}}}]},{desc:"Activate your Bank interest (Bank Level 5 required)",cmds:[{cmd:"eb:interest"}]},{desc:"Upgrade your Bank Level",cmds:[{style:"neutral",cmd:"eb:upgrade"}]}],function(){var t=H.$;H.$$;H.pages.banned={init(e){t(".banned-img",e).src="https://media1.tenor.com/images/66b9e27c779a1a314f0a8b31bb5609f7/tenor.gif"}}}(),function(){var t=HWSConnect.$,o=(HWSConnect.$$,{types:{2:"Base",4:"Small Vessel",8:"Capital Vessel",16:"Hover Vessel"},init:e=>{e._initChangeVessel||(e._initChangeVessel=1,o._el=e,t("input[type=file]",e).addEventListener("change",o.onFileChange),t("button",e).addEventListener("click",o.convert),o._sel=t("select",e),Object.keys(o.types).forEach(e=>{var t=document.createElement("option");t.value=e,t.innerHTML=o.types[e],o._sel.appendChild(t)}))},parseEpb(e){o._bin=e,o._type=new Uint8Array(e,8,1)[0],t(".file-type",o._el).innerHTML=o.types[o._type]},convert(e){new DataView(o._bin).setInt8(8,o._sel.value);var t=document.createElement("a"),a=new Blob([o._bin],{type:"application/octet"}),a=URL.createObjectURL(a);t.setAttribute("href",a),t.setAttribute("download",o._name),t.style.display="none",document.body.appendChild(t),t.click(),t.remove()},onFileChange(e){var t=new FileReader;t.onload=function(e){o.parseEpb(t.result)},o._name=e.target.files[0].name,t.readAsArrayBuffer(e.target.files[0])}});HWSConnect.pages["change-vessel-type"]=o}(),function(t,a){"function"==typeof define&&define.amd?define(["chartist"],function(e){return t.returnExportsGlobal=a(e)}):"object"==typeof exports?module.exports=a(require("chartist")):t["Chartist.plugins.tooltip"]=a(Chartist)}(this,function(e){return function(g,h,v){"use strict";var e={currency:void 0,currencyFormatCallback:void 0,tooltipOffset:{x:0,y:-20},anchorToPoint:!1,appendToBody:!1,class:void 0,pointClass:"ct-point"};function a(e){var t=new RegExp("tooltip-show\\s*","gi");e.className=e.className.replace(t,"").trim()}function S(e,t){return-1<(" "+e.getAttribute("class")+" ").indexOf(" "+t+" ")}v.plugins=v.plugins||{},v.plugins.tooltip=function(u){return u=v.extend({},e,u),function(i){var e=u.pointClass;i.constructor.name,v.Bar.prototype.constructor.name,i.constructor.name==v.Pie.prototype.constructor.name&&(e=i.options.donut?"ct-slice-donut":"ct-slice-pie");var c=i.container,l=c.querySelector(".chartist-tooltip");l||((l=h.createElement("div")).className=u.class?"chartist-tooltip "+u.class:"chartist-tooltip",(u.appendToBody?h.body:c).appendChild(l));var d=l.offsetHeight,p=l.offsetWidth;function t(e,t,a){c.addEventListener(e,function(e){t&&!S(e.target,t)||a(e)})}function m(e){d=d||l.offsetHeight;var t,a,o,n,r=-(p=p||l.offsetWidth)/2+u.tooltipOffset.x,s=-d+u.tooltipOffset.y;u.appendToBody?(l.style.top=e.pageY+s+"px",l.style.left=e.pageX+r+"px"):(n=c.getBoundingClientRect(),o=e.pageX-n.left-g.pageXOffset,n=e.pageY-n.top-g.pageYOffset,!0===u.anchorToPoint&&e.target.x2&&e.target.y2&&(t=parseInt(e.target.x2.baseVal.value),a=parseInt(e.target.y2.baseVal.value)),l.style.top=(a||n)+s+"px",l.style.left=(t||o)+r+"px")}a(l),t("mouseover",e,function(e){var t=e.target,a="",o=(i instanceof v.Pie?t:t.parentNode)?t.parentNode.getAttribute("ct:meta")||t.parentNode.getAttribute("ct:series-name"):"",n=t.getAttribute("ct:meta")||o||"",r=!!n,s=t.getAttribute("ct:value");u.transformTooltipTextFnc&&"function"==typeof u.transformTooltipTextFnc&&(s=u.transformTooltipTextFnc(s)),u.tooltipFnc&&"function"==typeof u.tooltipFnc?a=u.tooltipFnc(n,s):(u.metaIsHTML&&((o=h.createElement("textarea")).innerHTML=n,n=o.value),n=''+n+"",r?a+=n+"
":i instanceof v.Pie&&((t=function(e,t){for(;e=e.nextSibling,e&&!S(e,t););return e}(t,"ct-label"))&&(a+=((t=t).innerText||t.textContent)+"
")),s&&(a+=s=''+(s=u.currency?null!=u.currencyFormatCallback?u.currencyFormatCallback(s,u):u.currency+s.replace(/(\d)(?=(\d{3})+(?:\.\d+)?$)/g,"$1,"):s)+"")),a&&(l.innerHTML=a,m(e),S(e=l,"tooltip-show")||(e.className=e.className+" tooltip-show"),d=l.offsetHeight,p=l.offsetWidth)}),t("mouseout",e,function(){a(l)}),t("mousemove",null,function(e){!1===u.anchorToPoint&&m(e)})}}}(window,document,e),e.plugins.tooltip}),function(){var i=H.$,t=H.$$,c={pageLoaded(e){c._adminSection=i(".admin-section",e),H.user.is_admin?(c._adminSection.addEventListener("dataLoaded",c.adminTableLoaded),c._adminSection.addEventListener("click",c.adminTableClick)):(c._adminSection.remove(),delete c._adminSection),c._nextCycleSpan=i(".cycle-reset-time",e)},adminTableClick(e){var t;e.target.matches(".btnApply")&&(e=i("table",c._adminSection),t={},Object.keys(e._hwsTable.colsIndex).forEach(e=>t[e]=i("tbody td."+e,c._adminSection).innerText.trim()),H.http.post("hws-connect/api/tables.php?dailyBoxesCfg®ion="+H.region,t,e=>{H.user.patreonLevel=t.patreon,console.log("daily check?!"),delete c._claimLootAvailable,c.dailyCheck("first")}))},adminTableLoaded(e){t("td:not(.btnApply)",e.target).forEach(e=>e.setAttribute("contenteditable",!0))},onBoxClick(e){!e.target.closest(".daily-box.claim-box")||0{H.hideLoading(),"OK"!=e.status?H.alert(e.error||"Error!"):c.showLoot(e.loot),delete H.cache.skillTree;e=i(".page-skill-tree");e&&(e._loadedAt=0,t("[data-src]",e).forEach(function(e){H.getData(e.getAttribute("data-src"))}))}))},showLoot(a){var o=[],e=Object.keys(a);if(e.length<1){var t=["As you tried to open the box,
it self destructed and all loot was lost!","Oups, this box was empty!
Better luck tomorrow!","CONGRATULATIONS!
YOU WON NOTHING!"];return H.alert(t[Math.floor(Math.random()*t.length)])}e.forEach(e=>{var t="HWSIngot"==e?{Name:"HWS Ingot",icon:"rsrc/images/hws-ingot.png"}:EMPYRION_ITEMS[e];o.push({icon:'',amount:a[e],tooltip:t.Name})}),H.cache.dailyClaimLoot={timestamp:Date.now(),data:o},H.getPage("daily-loot-result")._loadedAt=0,H.setPage("daily-loot-result",!0)},onPatreonLevel(){},onClaimHelp(e){return H.alert("Claim Loot Check-list:","
  • "+`Log into hws game server Keep 4 slots empty in ur backpack Play for 2mins or more (just moving around is enough) and STAY ingame Don’t have any boxes open in-game! Log into hws connect (while staying in-game!) Check hunterboard and make sure ur player is in the online list Make sure on top u have chosen correct server Goto dashboard, open the daily loot window and click claim Alt tab back into game and wait a few seconds… loot should appear in ur inventory!`.split(/\n/).join("
  • ")+"
  • "),e.preventDefault(),e.stopPropagation(),!1},init:e=>{var o,n,r,s;c._page=i(".page-daily-loot-boxes"),c.dailyCheck("first"),e._dailyLootInit||(e._dailyLootInit=1,i(".claim-help",c._page).addEventListener("click",c.onClaimHelp),i(".daily-boxes",c._page).addEventListener("click",c.onBoxClick),o=i(".daily-boxes",c._page),n=i(".daily-row.template",o),r=i(".daily-box.template",o),H.dailyLoot.forEach((e,t)=>{t%7==0&&((s=n.cloneNode(!0)).classList.remove("template"),o.appendChild(s));var a=r.cloneNode(!0);a.classList.remove("template"),a.setAttribute("data-id",e.id),i(".day",a).innerHTML=t+1,i(".amount",a).innerHTML=1e3{c._claimLootAvailable||(c._claimLootAvailable={});var t=c._page;if("first"!=e&&!t.matches(".hws-modal,.active,.loading,.page-loading"))return t._loadedAt=0,void(c._claimLootAvailable[H.region]=0);c._timeout&&(clearTimeout(c._timeout),delete c._timeout);i(".page-daily-loot [hws-button]");t=Date.now()/1e3;if(c._claimLootAvailable[H.region]>t)return c._timerDiv.innerHTML="Unlocks in "+H.formatSecs(c._claimLootAvailable[H.region]-t),void(c._timeout=setTimeout(c.dailyCheck,1e3));H.http.get(H.getUrlFor("dailyCounter"),e=>{c._nextCycleTime=e.next_cycle,c._timeoutCycleTimer&&clearTimeout(c._timeoutCycleTimer),c.cycleTimer(),c._claimLootAvailable[H.region]=e.available,c._claimInfo=e,c.setLootTable(e),H.cache.dailyBoxesAdmin||(e.patreon=H.user.patreonLevel,H.cache.dailyBoxesAdmin={timestamp:Date.now()+1e11,data:e},H.refreshDataSrcs("dailyBoxesAdmin",e)),c._timeout=setTimeout(c.dailyCheck,1e3)})},cycleTimer(){var e=Date.now()/1e3;c._nextCycleSpan.innerHTML=H.formatSecs(c._nextCycleTime-e),c._timeoutCycleTimer=setTimeout(c.cycleTimer,1e3)},setLootTable(a){var o,e=i(".page-daily-loot-boxes"),n=a.autoClaims||a.claims;c._timerDiv&&c._timerDiv.remove(),t(".daily-box:not(.template)",e).forEach((e,t)=>{e.classList.remove("claim-box"),t.content").remove()):l(".page-dashboard .hws-cards",t).remove(),H.isDailyLootV5()&&d('[href="#page-daily-loot"]',t).forEach(e=>e.setAttribute("href","#page-daily-loot-boxes"))},init:function(a){H.getData("statsMarketSales",n.marketStats),HWSConnect.http.get(HWSConnect.getUrlFor("latestNews"),function(e){var t=e.topic_list.topics[0],e=l(".hws-connect-news .hws-connect-newsCardThumbnail");e.setAttribute("alt",t.title),e.src=t.image_url||"rsrc/images/favicon.png",l(".hws-connect-news .hws-connect-newsCardTitle",a).innerHTML=t.fancy_title,l(".hws-connect-news .hws-connect-newsCardContent>small",a).innerHTML=H.formatNumbers(t.created_at),l(".hws-connect-news a",a).href=HWSConnect.urls.forumRoot+"/t/"+t.slug+"/"+t.id}),HWSConnect.eventListener("onFilterChange",l(".hws-connect-playerLogWrapper hws-table",a),"dataLoaded",n.onPlayerLogs),HWSConnect.eventListener("onFilterChange",l(".hws-connect-playerLogWrapper hws-table",a),"change",n.onFilterChange),HWSConnect.eventListener("onShowMore",l(".hws-connect-playerLogWrapper hws-table",a),"click",n.onShowMoreLogs)},marketStats(e,t){n.statsMarketSales(t.statsMarketSales),n.showTopPlayers(t.topSellers,".top-sellers.ct-chart"),n.showTopPlayers(t.topBuyers,".top-buyers.ct-chart")},showTopPlayers(e,t){var o=l("ol",l(t,n._page));o.innerHTML="",e.forEach((e,t)=>{var a=document.createElement("li");a.innerHTML=e.name,o.appendChild(a)})},statsMarketSales(e){var t=[],a=[];e.forEach(e=>{t.push(e.key.substr(5)),a.push(e.val)});e={labels:t,series:[a]};new Chartist.Bar(l(".sales.ct-chart",n._page),e,{low:0,showArea:!0,seriesBarDistance:20})},onPlayerLogs:e=>{var t=l(".page-dashboard .hws-connect-playerLogWrapper hws-table table select[name=Activity]"),a=JSON.parse(localStorage["playerLogs.hiddenCols"]||"[]");d("option",t).forEach(e=>{e.selected=a.indexOf(e.value)<0}),t.triggerChange()},onFilterChange:e=>{var t;e.target.matches("[name=Activity]")&&(t=[],d("option",e.target).forEach(e=>e.selected?0:t.push(e.value)),localStorage["playerLogs.hiddenCols"]=JSON.stringify(t))},onShowMoreLogs:e=>{var t;e.target.matches(".show-more")&&(e=(t=e.target.closest(".shortLogs")).closest("[data-iscut]"),t.innerHTML=e._obj.Log)},computePercentages:(e,t)=>{var a=Math.round(100*e[t]/e[t+"Max"]),o="black",n=["#019245","orange","#d41313"],r=100-a,s=n[0];e[t+"State"]=0,95{"statsMarketSales"==e?HWSConnect.dataSourceDefault(e,e=>e):"playerInfo"==e?HWSConnect.dataSourceDefault(e,e=>(e?(document.body.classList.remove("not-played"),e.Coordinates_NS=parseInt(e.Coordinates_NS),e.Coordinates_EW=parseInt(e.Coordinates_EW),e.Coordinates_Height=parseInt(e.Coordinates_Height),HWSConnect.remapKeys(t,e),e.playtime_h=Math.round(e.playtime/36e9),e.faction=e.faction||"",e.origin=e.origin||"",e.coords=e.coordX+" / "+e.coordZ+" / "+e.coordY,e.DO_EGS_Level5="5"==e.recycle_level,e.DO_EGS_Stealth_Level5="5"==e.stealth_level,e.last_reset_fmt=H.formatNumbers(e.last_reset)):(document.body.classList.add("not-played"),document.location="#page-not-played"),e)):"playerLogs"==e&&(HWSConnect.cutLongLogsAt=HWSConnect.cutLongLogsAt||250,HWSConnect.dataSourceDefault(e,e=>((e=e||[]).forEach(e=>{HWSConnect.remapKeys(a,e),e.isCut=e.Log.length>HWSConnect.cutLongLogsAt?1:0,e.shortLog=e.isCut?e.Log.substr(0,HWSConnect.cutLongLogsAt)+"...":e.Log}),e=e.filter(e=>!e.Log.match(/^(OCD Post|Player Payment|Player Credits):.*/)).sort((e,t)=>e.Date>t.Date?-1:1))))},HWSConnect.onElementData["hws-hotview"]=function(e,t){var a=JSON.parse(localStorage.getItem("hwsHotviewList")||"{}"),o=l(".template",t),n=HWSConnect.hotviewItems.trim().split(/[\r\n]+/);if(HWSConnect.emptyContainer(t),e)for(var r=0;r{return H.http.get(H.getUrlFor("lotteryNumbers"),e=>(e=>{o(".page-eb .lottery hws-table tbody .numbers_picked").innerHTML=e.length?e.join(","):"-",mod._numbersPicked=e})(e.map(e=>e.Number)))})},init(e){e._hwsEbInit||(e._hwsEbInit=1,e.addEventListener("click",e=>{if(e.target.matches('[href="#buy-lot"]'))return HWSConnect.pages.eb.buyLottery()}),o(".eb-warp",e).addEventListener("click",mod.ebWarp))},ebWarp(e){var a=H.otherRegion();H.getData("playerInfo",(e,t)=>{H.prompt({title:"EB Credits Warp",desc:"Enter amount of credits to warp to "+a.toUpperCase()+"",min:1,max:t.Bank_Coins},e=>{H.toggleModal(o(".page-eb-warp-transfer")),H.http.post("hws-connect/api/user.php?eb-warp",{amount:e,from_region:H.region,to_region:a},e=>{H.toggleModal(o(".page-eb-warp-transfer")),"OK"!=e.status?H.alert("EB Warp Failed: "+e.error):H.alert("Warp Successful!"),H.setPage("eb")})})})},buyLottery(){var e=mod._numbersPicked.length+1,t=H.lotteryInfo.COST_CREDITS*e,e=H.lotteryInfo.COST_RP*e;HWSConnect.prompt({title:"HWS Elemental Lottery",desc:"Your next ticket will cost "+t+" credits and "+e+" RP. You can max send "+H.lotteryInfo.MAX_TICKETS+" tickets. You have "+(H.lotteryInfo.MAX_TICKETS-mod._numbersPicked.length)+" tickets left.",label:"Lottery Number (1-"+H.lotteryInfo.MAX_NUMBER+")",min:1,max:H.lotteryInfo.MAX_NUMBER,ok:"Send"},e=>{H.urls.lottery!=H.urls.lotteryNumbers?HWSConnect.http.get("hws-connect/api/user.php?region="+HWSConnect.region+"&lottery="+e,e=>{console.log(e)}):HWSConnect.http.get("hws-connect/api/lottery.php?region="+HWSConnect.region+"&number="+e,e=>{e&&"OK"==e.status?(H.alert("Ticket Bought!"),delete H.cache.lottery,delete H.cache.Player,H.getData("playerInfo"),H.getData("lottery")):H.alert("Failed: "+e.error)})})}},HWSConnect.pages.eb=mod,HWSConnect.dataSources.lottery=e=>{"lottery"!=e&&"lotteryHistory"!=e||HWSConnect._getData.lottery||(HWSConnect._getData.lottery=1,HWSConnect.http.get(HWSConnect.getUrlFor("lottery"),function(e){var t=e.lottery_history||[];H.urls.lottery!=H.urls.lotteryNumbers?H.remapKeys({Lottery_Pot:"lottery_pot",Lottery_Pot_RP:"lottery_pot_rp"},e):(mod._numbersPicked=e.chosen_numbers,t.forEach(e=>{var t;e.draw_stamp=e.draw_stamp.split(" ")[0],e.winners.length&&(t=[],e.winners.forEach(e=>t.push(e.personaname)),e.winners=t),e.winners=e.winners.length?e.winners.join(", "):"-"}),e={lottery_pot:e.lottery_pot.credits,lottery_pot_rp:e.lottery_pot.rp,numbers_picked:e.chosen_numbers.length?e.chosen_numbers.join(","):"-"}),HWSConnect.cache.lottery={timestamp:Date.now(),data:e},HWSConnect.cache.lotteryHistory={timestamp:Date.now(),data:t},HWSConnect.refreshDataSrcs("lottery",HWSConnect.cache.lottery.data),HWSConnect.refreshDataSrcs("lotteryHistory",HWSConnect.cache.lotteryHistory.data),HWSConnect._getData.lottery=0}))}}(),function(){HWSConnect.$,HWSConnect.$$;HWSConnect.dataSources.stealthInfo=e=>{var t;"stealthInfo"==e&&(t={ID:"id",Name:"name",Typ:"type",Owner:"owner",Playfield:"playfield",NS:"coordY",EW:"coordX",Height:"coordZ",Duration:"duration"},HWSConnect.dataSourceDefault(e,e=>(e.forEach(e=>{HWSConnect.remapKeys(t,e),e.coords=[e.ow_coord,e.h_coord,e.ns_coord].join(" / "),e.icon=HWSConnect.getStructureIcon(e.type)}),e)))}}(),function(){var o=H.$,n=H.$$,r={pageLoaded(){r._page=o(".page-empyrion-items");var e=o("hws-table",r._page);e.addEventListener("dataLoaded",r.dataLoaded),e.addEventListener("click",r.tblClick),r._categories=o(".categories",r._page);var a=o(".template",r._categories);"All,Weapons/Items,BuildingBlocks,Components,Devices,Deco Blocks,Farming,Medical,Food".split(",").forEach(e=>{var t=a.cloneNode(!0);t.classList.remove("template"),t.setAttribute("x-cat",e),o("img",t).setAttribute("src","rsrc/images/cat-"+e.toLowerCase().replace(/[\/\s]/g,"-")+".png"),r._categories.appendChild(t)}),r._categories.addEventListener("click",r.categoryClick)},tblClick(e){e=e.target.closest("[data-id]");e&&(r._page._value=e.getAttribute("data-id"),r._page.triggerChange(),r._page.matches(".hws-modal")&&H.toggleModal(r._page),r._cb&&r._cb(e._obj))},dataLoaded(){o(".categories [x-cat]",r._page).click()},init(e){e._empyrionItemsInit||(e._empyrionItemsInit=1)},categoryClick(e){window.T=o("select[name=Category]",void 0);var t,a=e.target.closest("[x-cat]");a&&(t=a.getAttribute("x-cat"),e=o("hws-table table",r._page),a.classList.add("active"),n(".active",a.parentNode).forEach(e=>e.classList.remove("active")),a.classList.add("active"),"All"==t?n("select[name=Category] option",e).forEach(e=>e.selected=!0):o("select[name=Category]",e).value=t,H.pages["hws-table"].filterData(e))},dataSource(e){var o;"empyrion-items"==e&&(o=[],H.http.get("hws-connect/api/npc-trader.php?tradeItems",a=>{Object.keys(EMPYRION_ITEMS).forEach(e=>{e=parseInt(e);var t=EMPYRION_ITEMS[e];t?"TemplateRoot"in t&&""!=t.TemplateRoot&&t.TemplateRoot!=t.Key||(t.traderItem=0',t.tooltip=t.Name,o.push(t)):console.log("WARNING: Failed to map trader item id: "+e)}),HWSConnect.cache[e]={data:o,timestamp:Date.now()},HWSConnect.refreshDataSrcs(e,HWSConnect.cache[e].data)}))},showPopup(e,t){r._cb=e,t=t||{},H.setPage("empyrion-items",!0),r._page.classList[t.noFilter?"remove":"add"]("trader-items")}};H.pages["empyrion-items"]=r,H.selectEmpyrionItem=r.showPopup,H.dataSources.empyrionItems=r.dataSource}(),function(){var t=HWSConnect.$,a=(HWSConnect.$$,{_require:"hws-pda,input-fields",init:e=>{e._initFactionChat||(e._initFactionChat=1,t('[href="#send"]',e).addEventListener("click",a.send),t('[href="#clear"]',e).addEventListener("click",a.clear))},send:()=>{var e=t(".page-faction-chat input");if(HWSConnect.validateInput(e),e.matches(".invalid"))return e.focus(),!1;HWSConnect.pdaSend("factionChat:"+e.value)},clear:()=>{var e=t(".page-faction-chat input");e.value="",e.classList.remove("valid"),e.classList.remove("invalid"),e.focus()}});HWSConnect.pages["faction-chat"]=a}(),function(){HWSConnect.$;var t=HWSConnect.$$,a={init:e=>{},onLoaded:e=>{HWSConnect.user.patreonLevel>=HWSConnect.patreonLocks.googleAds.level||a.initGoogleAds()},initGoogleAds:()=>{var e;HWSConnect._initGoogleAdsCalled||H.isLocal()||(HWSConnect._initGoogleAdsCalled=1,(e=document.createElement("script")).setAttribute("async",""),e.src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js",google_adtest="on",document.body.appendChild(e),(window.adsbygoogle=window.adsbygoogle||[]).push({google_adtest:!0,google_ad_client:HWSConnect.google_ad_client,enable_page_level_ads:!0}),t("ins.adsbygoogle").forEach(e=>window.adsbygoogle.push({})))}};HWSConnect.pages["google-ads"]=a,document.body.addEventListener("hws-connect-loaded",a.onLoaded)}(),function(){var n=HWSConnect.$,r=HWSConnect.$$,s={pageLoaded:()=>{var e=Object.keys(HWSConnect.regions);r(".page-hunter-board .table-wrapper").forEach(o=>{e.forEach(e=>{var t=o.cloneNode(!0),a=n("hws-table",t);a.setAttribute("data-src",a.getAttribute("data-src")+"-"+e),n(".region",t).innerHTML=e.toUpperCase(),o.parentNode.insertBefore(t,o)}),o.remove()})},onPatreonLevel:()=>{},init:function(e){e._hwsHunterBoardInit||(e._hwsHunterBoardInit=1,n('[href="#set-bounty"]',e).addEventListener("click",s.setBounty),HWSConnect.eventListener("setPlayerBounty",e,"click",s.setPlayerBounty),HWSConnect.eventListener("onlinePlayerClick",n(".online-lists",e),"click",s.onlinePlayerClick),HWSConnect.eventListener("onlineWatchListAdd",n(".add-watch-player",e),"click",s.onlineWatchAdd),HWSConnect.eventListener("bountyRefreshed",e,"dataLoaded",e=>s.onlinePlayersRefresh("cache",e.target)))},setPlayerBounty:e=>{e.target.matches("td.Name,.player_info .Name")&&s.setBounty(e)},onlineWatchAdd:()=>{HWSConnect.prompt({title:"Enter exact player name to watch for",type:"text"},e=>{s.addToWatchlist({Name:e})})},getWatchlist:()=>JSON.parse(localStorage.getItem("onlineWatchList")||"[]"),addToWatchlist:(e,t)=>{-1<(t=t||s.getWatchlist()).indexOf(e.Name)||(e.watched=1,t.push(e.Name),localStorage.setItem("onlineWatchList",JSON.stringify(t)),r('.page-hunter-board .online-lists [data-Name="'+e.Name+'"]').forEach(e=>e.setAttribute("data-watched",1)),n(".page-settings")._loadedAt=0)},removeFromWatchlist:(t,e,a)=>{t.watched=0;var o=(e=e||s.getWatchlist()).indexOf(t.Name);o<0||(e.splice(o,1),localStorage.setItem("onlineWatchList",JSON.stringify(e)),"eu,na,re,rn".split(",").forEach(e=>{HWSConnect.cache.onlinePlayers.data[e].onlinePlayers.forEach(e=>{t.Name==e.Name&&(e.watched=0)})}),(a=a||n('.page-hunter-board [data-name="'+t.Name+'"]'))&&a.setAttribute("data-watched",t.watched),n(".page-settings")._loadedAt=0)},onlinePlayerClick:e=>e.target.matches("tbody td .watchedIcon, tbody td .watchedIcon *")?s.onlineWatchToggle(e):e.target.matches("tbody .more .hws-popup *")?s.playerAction(e):void 0,playerAction:e=>{var t=e.target.closest("li");t&&(t.matches(".whisper")?s.whisperPlayer(e):t.matches(".send-credits")?s.sendCredits(e):t.matches(".set-bounty")&&s.setBounty(e))},sendCredits:e=>{s.playerPrompt(e,{title:"Send Credits",desc:"Send credits to which player? Server=",ok:"Send",inputs:{name:{type:"text",label:"Ingame name of player"},val:{type:"number",min:1,label:"Amount to send",focus:1}}},(e,t)=>{HWSConnect.pdaSend("eb:send:"+e.name+"#"+e.val,t)})},whisperPlayer:e=>{s.playerPrompt(e,{title:"Whisper Player",desc:"Send private message to which player? Server=",ok:"Send",inputs:{name:{type:"text",label:"Ingame name of player"},val:{type:"text",label:"Message to send",focus:1}}},(e,t)=>{HWSConnect.pdaSend("cb:w:"+e.name+"#"+e.val,t)})},setBounty:e=>{s.playerPrompt(e,{title:"Bounty Hunt",desc:"Who should be running for his / her life? Server=",ok:"RUN!",inputs:{name:{type:"text",label:"Ingame name of victim (case sensitive!)"},val:{type:"number",min:1,label:"Bounty credit amount"}}},(e,t)=>{HWSConnect.pdaSend("bounty:"+e.name+"#"+e.val,t)})},playerPrompt:(e,t,a)=>{var o=HWSConnect.region,e=e.target.closest("[data-name],[data-na]");e?(t.inputs.val.focus=1,t.inputs.name.value=e._obj.Name||e._obj.Na,o=e.closest("[data-src]").getAttribute("data-src").match(/^[^\-]+\-(.*)$/)[1]):t.inputs.name.focus=1,t.desc+=o.toUpperCase(),HWSConnect.prompt(t,e=>a(e,o))},onlineWatchToggle:e=>{var t=e.target.closest("[data-watched]"),a=t._obj,e=s.getWatchlist();a.watched?s.removeFromWatchlist(a,e,t):s.addToWatchlist(a,e)},onlinePlayersRefresh:(e,t)=>{var a=(o=t.getAttribute("data-src").match(/(hwsOnlinePlayers|hwsHunterBoard)\-(.*)$/))[1],o=o[2];""!=HWSConnect.region&&("cache"==e&&(e=HWSConnect.cache.onlinePlayers.data[o].onlinePlayers),"hwsOnlinePlayers"!=a?(r(".is-online",t).forEach(e=>e.classList.remove("is-online")),e.forEach(e=>{r('[data-Na="'+e.Name+'"]',t).forEach(e=>e.classList.add("is-online"))})):n("h2>.online",t.parentNode).innerHTML=e.length)}};HWSConnect.pages["hunter-board"]=s}(),function(){var a=H.$,o=H.$$,r={pageLoaded(){r._page=a(".page-hws-admin"),r._hwsTable=a("hws-table.tbl-rows",r._page),a("hws-table.hws-tables",r._page).addEventListener("click",r.clickTablesList),a("hws-table.tbl-rows",r._page).addEventListener("click",r.clickTableRow),H.user.is_admin?(a(".season-reset",r._page).addEventListener("click",r.seasonReset),a(".warp-player",r._page).addEventListener("click",r.warpPlayer)):(a(".season-reset",r._page).remove(),a(".warp-player-info",r._page).remove())},warpPlayer(e){var t={};o(".warp-player-info [name]",r._page).forEach(e=>t[e.getAttribute("name")]=e.value),H.http.post("hws-connect/api/user.php",{warp:t},e=>{H.alert("Player Warped: "+e.status)})},seasonReset(e){H.confirm("ARE YOU SURE U WANT TO WIPE DB FOR SEASON REASON?!!!","*drum roll*",()=>{H.http.post("hws-connect/api/tables.php",{seasonReset:1},e=>{H.alert("RESET SUCCESSUL: "+(e&&"OK"==e.status?"YES":"NO"))},e=>{console.log(e),H.alert("Failed to submit command!")})})},clickTableRow(e){var o,n,t=e.target.closest("td");t&&(o=t.closest("tr"),e=H.TABLES[r._currentTable],o&&e&&(e=e[n=t.getAttribute("class")],console.log("editing: ",n,e),(e="JSON"===e.type?(t.innerHTML="",a("textarea",t)):(t.innerHTML='',a("input",t))).addEventListener("change",e=>{o._obj[n]=e.target.value;var t={},a=H.TABLES[r._currentTable];Object.keys(a).forEach(e=>null===o._obj[e]?"":t[e]="JSON"==a[e].type?JSON.parse(o._obj[e]):o._obj[e]),H.http.post("hws-connect/api/tables.php?update="+r._currentTable,{row:t},e=>{console.log("updated row?",o._obj,e)}),console.log("changed!",n,o._obj[n])}),e.addEventListener("blur",e=>{t.innerHTML=o._obj[n]}),e.focus(),e.select(),e.scrollIntoView()))},clickTablesList(e){e=e.target.closest(".Table");(e=e&&e.closest("tr"))&&r.showTable(e._obj.Table)},showTable(e){var t=H.TABLES[e],a="tbl-"+e;if(!t)return H.alert("Failed to find table info for: "+e);r._currentTable=e,r._hwsTable.setAttribute("data-src",a),r._hwsTable.setAttribute("data-cols","#%"+Object.keys(t).join(",#%")),r._hwsTable.innerHTML="",H.getData(a)},init(e){}};H.dataSources.hwsTables=a=>{var e=a.match(/^tbl-(.*)$/);if(e){var e=e[1],o=H.TABLES[e];if(!o)return H.alert("Failed to find table info for: "+e);H.http.get("hws-connect/api/tables.php?tbl="+e,e=>{e.rows.forEach(t=>{Object.keys(o).forEach(e=>{"JSON"==o[e].type&&(t[e]=t[e]?JSON.stringify(t[e]):null)})}),H.refreshDataSrcs(a,e.rows)})}else"hwsTables"==a&&H.http.get("hws-connect/api/tables.php",e=>{var t=[];Object.keys(e.tables||{}).forEach(e=>t.push({Table:e})),H.TABLES=e.tables,H.refreshDataSrcs(a,t)})},H.pages["hws-admin"]=r}(),function(){var m=HWSConnect.$,u=HWSConnect.$$,g={domLoaded:()=>{m(".sections").addEventListener("onPageLoaded",g.onPageLoaded),H.movable({sel:'[x-view=backpack] .ocd-table [data-slot]:not([data-id="0"])',tgtSel:"[x-view=backpack] [data-slot],[x-view=backpack] .trashcan",start:g.onSlotMouseDown,over:g.onMouseMove,stop:g.onMouseUp,click:g.onMouseClick,placeHolder:H.getItemDragPlaceholder()})},onPageLoaded(e){u("hws-backpack",e.target).forEach(e=>{e._modBackpackInit||(e._modBackpackInit=1,g.initEl(e))})},initEl:e=>{var t=m(".backpack-wrapper.template",m("#hws-elements").content).cloneNode(!0),a=m(".left-side",t),o=m(".backpack .slots",t);for(t.classList.remove("template");e.firstChild;)a.appendChild(e.firstChild);Array.prototype.forEach.call(e.classList,e=>t.classList.add(e)),t.setAttribute("get-cmd",e.getAttribute("get-cmd")),t.setAttribute("list-name",e.getAttribute("list-name")),e.parentNode.insertBefore(t,e),M.FormSelect.init(m(".backpack select",t)),g._slotTpl=m(".backpack .slot.template",t),g.loadSavedLists(m(".bp-helper-saved select",t)),HWSConnect.eventListener("backpackReset",m(".btn-reset",t),"click",g.backpackReset),HWSConnect.eventListener("slotsRightClick",a,"contextmenu",g.onSlotClick),HWSConnect.eventListener("backpackClick",o,"click",g.onBackpackClick),HWSConnect.eventListener("backpackRightClick",o,"contextmenu",g.onBackpackClick),HWSConnect.eventListener("sendGet",m(".btn-send",t),"click",g.sendGet),HWSConnect.eventListener("copyBackpackString",m(".btn-copy",t),"click",g.copyBackpackString),HWSConnect.eventListener("showHelp",m(".btn-help",t),"click",g.showHelp),HWSConnect.eventListener("newList",m('.bp-helper-saved [href="#new"]',t),"click",g.newList),HWSConnect.eventListener("updateList",m('.bp-helper-saved [href="#update"]',t),"click",g.updateList),HWSConnect.eventListener("deleteList",m('.bp-helper-saved [href="#delete"]',t),"click",g.deleteList),HWSConnect.eventListener("loadList",m(".bp-helper-saved",t),"click",g.loadList,!0),HWSConnect.eventListener("dataLoaded",m("hws-table[data-src]",a),"dataLoaded",g.dataLoaded,!0),HWSConnect.eventListener("dataLoaded",m(".backpack hws-table[data-src]",t),"dataLoaded",g.dataLoadedBackpack,!0),HWSConnect.eventListener("onPageActivated",t.closest("section"),"activated",g.onPageActivated),HWSConnect.eventListener("onClickTrash",m(".trashcan",t),"click",g.onClickTrash)},onClickTrash:e=>{g.copyBackpackString(e,0,1,"trash"),M.toast({html:"Please Confirm Item Deletion INGAME!",displayLength:5e3})},onPageActivated:e=>{"1"==localStorage["backpack.emptyOnPageSwitch"]&&g.backpackReset({target:m(".backpack-wrapper",e.target)})},dataLoaded:e=>{e=m("table",e.target);e._hwsTable.data.forEach(e=>e._tr?e._tr._amount=parseInt(e.amount):""),g.recalcVolume(m(".backpack",e.closest(".backpack-wrapper")))},dataLoadedBackpack(e){m("table",e.target)._hwsTable.data.forEach(e=>e._tr._amount=parseInt(e.amount)),g.backpackReset(e,"clearSlot")},loadList:e=>{var t,a,o,n,r;e.target.matches(".select-wrapper ul li, .select-wrapper ul li *")&&(a=e.target.closest("li"),a=((e=(t=m("select",a.closest(".bp-helper-saved"))).closest(".backpack-wrapper")).getAttribute("list-name")||"list")+"-"+a.textContent.trim(),console.log("loading list",a),(n=localStorage.getItem(a))?((n=JSON.parse(n))instanceof Array||(o=[],Object.keys(n).forEach(e=>{o.push({id:e,count:n[e].count,title:n[e].title})}),n=o),g.backpackReset({target:t}),r={},ocdSlots=m(".left-side",e),n.forEach(e=>{for(;e.count;){var t=Array.prototype.map.call(u('[data-id="'+e.id+'"]',ocdSlots),e=>e).sort((e,t)=>(e=e._amount)==(t=t._amount)?0:t\n
    • "+r.join("
    • ")+"
    "})):M.toast({html:"Failed to load list!"}))},newList:e=>{var t=m("select",e.target.closest(".bp-helper-saved")),a=(t.closest(".backpack-wrapper").getAttribute("list-name")||"list")+"-";HWSConnect.prompt({title:"New List Name",type:"text",validate:e=>!localStorage.hasOwnProperty(a+e.value)},e=>{H.addSelOpt(t,e,!0),g.updateList({target:t})})},updateList:e=>{var t=m("select",e.target.closest(".bp-helper-saved")),a=t.closest(".backpack-wrapper"),e=(a.getAttribute("list-name")||"list")+"-"+t.value,a=m(".backpack .slots",a),o=[];t.selectedIndex<1||(u('[data-id]:not([data-id="0"])',a).forEach(e=>{var t=e._amount-parseInt(e.dataset.amount||"0");t<1||o.push({id:e.getAttribute("data-id"),count:t,title:e.getAttribute("title")})}),localStorage.setItem(e,JSON.stringify(o)),M.toast({html:"List saved!"}))},deleteList:e=>{var t=m("select",e.target.closest(".bp-helper-saved")),a=(t.closest(".backpack-wrapper").getAttribute("list-name")||"list")+"-"+t.value;t.selectedIndex<1||HWSConnect.prompt({title:"Are you sure you want to delete this list?",desc:t.value,type:"none"},()=>{localStorage.removeItem(a),t.children[t.selectedIndex].remove(),g.backpackReset({target:t}),t.selectedIndex=0})},loadSavedLists:t=>{for(;1{e=a.exec(e);e&&H.addSelOpt(t,e[1])}),H.addSelOpt(t,null,!0)},backpackReset:(e,t)=>{t=t||"packToSlot";e=m(".backpack .slots",e.target.closest(".backpack-wrapper"));u('[data-id]:not([data-id="0"])',e).forEach(e=>{g[t](e)}),g.recalcVolume(e.closest(".backpack"))},recalcVolume(e){var a;e&&(a=0,u(".slots [data-id]",e).forEach(e=>{var t;e._amount=parseInt(e._amount||0),e._amount<1||(EMPYRION_ITEMS[e.dataset.id]?(t=parseFloat(EMPYRION_ITEMS[e.dataset.id].Volume),isNaN(t)||(a+=t*e._amount)):console.log("WTF?",e.dataset.id,e))}),m(".volume",e).innerHTML=H.formatNumbers(Math.ceil(a)))},packToSlot:(n,e)=>{var t=n._amount,r=(n.getAttribute("data-id"),m(".left-side",n.closest(".backpack-wrapper"))),s=e=null==e||e<1||t{var t=m('[data-slot="'+e+'"]',r),a=t._amount,o=Math.min(s,n._from[e]);g.copyItemInfo(n,t),g.setSlotAmount(t,a+o),n._from[e]-=o,s-=o}),e==t?g.clearSlot(n):g.setSlotAmount(n,t-e)},onSlotMouseDown(e){g._wrapper=e.tgt.closest(".backpack-wrapper")},onMouseMove(e){g._wrapper.classList.add("dragging-item")},onMouseClick(e){g.onSlotClick(e,e.tgt)},onMouseUp(e){var t,a,o=e.tgt,n=e.overEl==e.placeHolder?null:e.overEl;g._wrapper.classList.remove("dragging-item"),n&&(n.matches(".backpack .slots,.backpack .slots *")?g.onSlotClick(e,o):n.matches(".backpack .trashcan")?g.onSlotClick(e,o,"slotToTrash"):n.matches(".ocd-table tbody tr")&&g._wrapper.matches(".can-swap")&&(H.swapElements(n,o),t=n.getAttribute("data-slot"),a=o.getAttribute("data-slot"),n.setAttribute("data-slot",a),u(".slot",n).forEach(e=>{e.innerHTML=a}),o.setAttribute("data-slot",t),u(".slot",o).forEach(e=>{e.innerHTML=t}),g.swapSlots(a,t,n.closest(".backpack-wrapper").getAttribute("get-cmd"))))},onSlotClick:(e,t,a)=>{if((t=t||e.target).matches("[x-view=backpack] [data-slot],[x-view=backpack] [data-slot] *")){a=a||"slotToPack";var o=t.closest("[data-slot]"),t=o._amount;if(!(t<1))return 2==e.button||e.shiftKey&&"slotToTrash"==a?g.promptAmount(t,e=>{g[a](o,e)},a):e.shiftKey&&e.ctrlKey?g[a](o,1e3):e.shiftKey?g[a](o,10):e.ctrlKey?g[a](o,100):g[a](o),e.preventDefault&&e.preventDefault(),!1}},promptAmount:(e,t,a)=>{a=a||"slotToPack",HWSConnect.prompt({title:"Enter specific amount to "+("slotToTrash"==a?"trash":"move"),label:"Amount (1-"+e+")",ok:"slotToTrash"==a?"Trash":"Transfer",okStyle:"slotToTrash"==a?"negative":"info",min:1,max:e,focus:!0},t)},slotAmount:e=>e._amount,freeBpSlot:(e,t,a)=>{for(var o=u(".backpack .slots [data-id]:not(.template)",e),n=0;n{var a=e.getAttribute("data-slot"),o=e.closest(".backpack-wrapper"),n=e.getAttribute("data-id"),r=(EMPYRION_ITEMS[n]||{}).StackSize||5e4,s=0;for(r<1&&(r=HWSConnect.playerDefaultStackSize||5e4),t=Math.min(e._amount,null==t||t<1?999999999:t);0{e.dataset.amount||(e.dataset.amount=0);var t=e.dataset.amount||0;(t=!e.closest(".backpack")?0:t)<1&&(m("img",e).src=HWSConnect.getUrlFor("itemIcon",{id:"0"}),e.setAttribute("data-id","0"),e.setAttribute("title","")),g.setSlotAmount(e,t),e._from={}},copyItemInfo:(e,t)=>{m("img",t).src=m("img",e).src,t.setAttribute("title",e.getAttribute("title")),t.setAttribute("data-id",e.getAttribute("data-id"))},sendGet:function(e){g.copyBackpackString(e,0,1)},copyBackpackString:function(e,t,a,o){var e=e.target.closest(".backpack-wrapper"),n=m(".left-side",e),r=e.getAttribute("get-cmd"),s={},i=[];if(o=o||"get",u(".backpack .slots [data-id].from-slot",e).forEach(t=>{Object.keys(t._from).forEach(e=>{s.hasOwnProperty(e)||(i.push(e),s[e]=0),s[e]+=t._from[e]})}),!(i.length<1)){var c=a?99999:91,l=r+":"+o+":",d=[];if(i.forEach(function(e,t){return 0c?(d.push(l),void(l=r+":get:"+e.substr(1))):void(l+=e)}),d.length<1)return a?HWSConnect.pdaSend(l.replace(/#/g,"§§")):g.toClipboard(l,t);if(t)return g.toClipboard(d[0],t);d.push(l);var t=m(".backpack-wrapper .cmd-get-copy"),p=m("ul",t);p.innerHTML="",d.forEach(function(e,t){t<1&&(a?HWSConnect.pdaSend(e):g.toClipboard(e));t=document.createElement("li");t.setAttribute("hws-button","info"),t.innerHTML=e,t.onclick=()=>{a?HWSConnect.pdaSend(e):g.toClipboard(e)},p.appendChild(t)}),HWSConnect.toggleModal(t)}},toClipboard:(e,t)=>{if(null==t)return HWSConnect.copyToClipboard(e,e);g._clipboardTimer&&clearTimeout(g._clipboardTimer),g._clipboardTimer=setTimeout(function(){HWSConnect.copyToClipboard(e,e,!0)},500)},onBackpackClick:(e,t)=>{if((t=t||e.target).matches("[data-id],[data-id] *")){var a=t.closest("[data-id]");if(!(a.getAttribute("data-id")<1)){var o=a._amount,t=o;return 2==e.button?o=-1:e.shiftKey&&e.ctrlKey?o=1e3:e.shiftKey?o=10:e.ctrlKey&&(o=100),-1==o?g.promptAmount(t,e=>{g.packToSlot(a,e)}):g.packToSlot(a,o),e.preventDefault(),!1}}},showHelp:e=>{HWSConnect.toggleModal(m(".backpack-get-help",e.target.closest(".backpack-wrapper")))},queueCmd:e=>{g._pdaCmds||(g._pdaCmds=[]),g._pdaCmds.push(e),g._cmdsTimeout?u(".swapping-info .pending").forEach(e=>e.innerHTML=g._pdaCmds.length):g.sendNextCmd()},swapSlots:(e,t,a)=>{e!=t&&g.queueCmd({cmd:"swap",key:a,from:e,to:t})},sendNextCmd:()=>{var e=g._pdaCmds.shift();if(null==e)return g._cmdsTimeout=0,void m("section.active").classList.remove("swapping");var t,a=m(".swapping-info",m("section.active"));m(".pending",a).innerHTML=g._pdaCmds.length,m(".from",a).innerHTML=e.from,m(".to",a).innerHTML=e.to,m(".pending",a).innerHTML=g._pdaCmds.length,m("section.active").classList.add("swapping"),"swap"==e.cmd?t=e.key+":swap:"+e.from+":"+e.to:"trash"==e.cmd&&(t=e.key+":trash:"+e.str),t&&HWSConnect.pdaSend(t),g._cmdsTimeout=setTimeout(g.sendNextCmd,HWSConnect.requestsInterval())},slotToTrash:(e,t)=>{var a=e.getAttribute("data-slot"),o=(e.getAttribute("data-id"),e._amount);t=Math.min(o,null==t||t<1?999999999:t),g.queueCmd({cmd:"trash",key:e.closest(".backpack-wrapper").getAttribute("get-cmd"),str:a+"*"+t,to:"TRASH"}),t==o?g.clearSlot(e):g.setSlotAmount(e,o-t),M.toast({html:"Please Confirm Item Deletion INGAME!",displayLength:5e3})},setSlotAmount:(e,t)=>{e._amount=parseInt(t),isNaN(e._amount)&&(e._amount=0),m(".amount",e).innerHTML=0==t?"":t;t=0"OK"!=e.status?HWSConnect.prompt({title:"Error!",desc:e.error,dismiss:"Oups",type:"none",ok:""}):(H.cache.hwsEvents={data:o.parseEvents(e),timestamp:Date.now()},void H.refreshDataSrcs("hwsEvents",H.cache.hwsEvents.data)))},parseEvents(e){e.hwsEvents=e.hwsEvents||[];var n=(e,t)=>{title=(""+e.id).split(":"),title=1"
    • "+e.join("
    • ")+"
    ";return e.hwsEvents.forEach(a=>{var t,o=[];(a.winLoot||[]).forEach(e=>n(e,o)),a.perKill&&(t=[],a.perKill.forEach(e=>n(e,t)),o.push("Per Kill"+r(t))),a.duration+="mins",a.prizes=r(o),a.statusInfo=e.active.find(({event_id:e})=>e==a.event_id)||{status:"Idle"},a.status=a.statusInfo.status,a.playersQueued=(e.queues||[]).filter(({event_id:e,status:t})=>e==a.event_id&&"queued"==t).map(e=>e.playername).join(",")||"None",a.playersIngame=(e.queues||[]).filter(({event_id:e,status:t})=>e==a.event_id&&"in-game"==t).map(e=>e.playername).join(",")||"None",a.playerStatus=(e.queues.find(({event_id:e,playername:t})=>t==H.user.name&&e==a.event_id)||{status:"no"}).status}),e.hwsEvents},eventsDataSource(e){if("hwsEvents"==e)return HWSConnect.dataSourceDefault(e,o.parseEvents)}});H.dataSources.hwsEvents=o.eventsDataSource,H.pages["hws-events"]=o}(),function(){var r=HWSConnect.$,t=(HWSConnect.$$,{pageLoaded(){t._page=r(".page-hws-garage"),t._hwsTable=r("hws-table.garage-list",mod._page);var o=r("hws-tabs",t._page),n=r("hws-tab",o);H.garageCategories.forEach((e,t)=>{var a=n.cloneNode(!0);a.setAttribute("title",e),r("hws-table",a).setAttribute("data-src","garageStats-"+e),t<1&&a.classList.add("active"),o.insertAdjacentElement("beforeend",a)}),n.remove(),r(".open-stats",t._page).addEventListener("click",t.openStats),r(".close-stats",t._page).addEventListener("click",t.closeStats)},openStats(){t._page.setAttribute("sub-tab","stats")},closeStats(){t._page.removeAttribute("sub-tab")},init:function(e){t.closeStats(),e._hwsGarageInit||(e._hwsGarageInit=1,r("hws-table",e).addEventListener("click",e=>{if("#buy"==e.target.getAttribute("href"))return t.buyShip(e.target._obj)}))},buyShip:e=>{HWSConnect.prompt({title:"HWS Connect Garage Ship Delivery",desc:"Do you really want to buy "+e.N+" for "+e.SELP+" credits? (you have to be in the same Trading zone as the ship is in)",descSmall:"(make sure to pick the ship up within 2 minutes, otherwise it will be destroyed for a new ship)",type:"none",ok:"Yes",showClose:1},()=>{HWSConnect.pdaSend("ts:buy:"+e.ID)})},garageStats(e){e.startsWith("garageStats-")&&(H._getData.garageStats||(H._getData.garageStats=1,H.http.get(H.getUrlFor("garageStats"),function(e){var t,a;e&&(t={},a=(e,t)=>e.Counter==t.Counter?0:e.Counter>t.Counter?-1:1,H.garageCategories.forEach(e=>t[e]=[]),e.forEach(e=>t[e.Category]&&t[e.Category].push(e)),H.garageCategories.forEach(e=>t[e].sort(a)&&H.refreshDataSrcs("garageStats-"+e,t[e])),H._getData.garageStats=0)})))}});HWSConnect.pages["hws-garage"]=t,HWSConnect.dataSources.garageStats=t.garageStats,HWSConnect.dataSources.hwsGarage=e=>{var a;"hwsGarage"==e&&(a={Price:"SELP",Typ:"T",Name:"N",SellerAccount_Name:"SELA_N",Owner:"ON",Playfield:"PF"},HWSConnect.dataSourceDefault(e,e=>{var t=0;return e.forEach(e=>{t=Math.max(t,e.Price)}),e.forEach(e=>{HWSConnect.remapKeys(a,e),e.icon=HWSConnect.getStructureIcon(e.T),e.SELPMax=t,HWSConnect.pages.dashboard.computePercentages(e,"SELP"),e.SELPSlashMax=e.SELP}),e}))}}(),function(){var n=HWSConnect.$;HWSConnect.$$;HWSConnect.dataSources.guide=t=>{var e=t.match(/^hwsGuide-(\d+)$/);e&&(HWSConnect._getData[t]||(HWSConnect._getData[t]=1,HWSConnect.http.get(HWSConnect.getUrlFor("forumTopic",{id:e[1]}),function(e){"object"!=typeof e&&(e=JSON.parse(e)),HWSConnect.cache[t]={data:e,timestamp:Date.now()},HWSConnect.refreshDataSrcs(t,HWSConnect.cache[t].data),HWSConnect._getData[t]=0})))},HWSConnect.onElData("hws-guide",(e,t)=>{var a=n(".source",t),o=n(".contact",t),t=n(".cooked",t);a.innerHTML=e.title,a.href=HWSConnect.urls.forumRoot+"/t/"+e.slug+"/"+e.id;e=e.post_stream.posts[0];o.innerHTML=e.username+" ("+e.name+")",o.href=HWSConnect.urls.forumRoot+"/users/"+e.username,t.innerHTML=e.cooked}),HWSConnect.pages["hws-guide"]={init:function(e){},domLoaded:()=>{document.body._hwsGuideInit||(document.body._hwsGuideIni=1,document.body.addEventListener("click",e=>{if(e.target.matches('[href^="#hwsGuide-"],[href^="#hwsGuide-"] *')){var t=H.getPage("hws-guide");return n("hws-guide",t).setAttribute("data-src",e.target.closest("[href]").getAttribute("href").substr(1)),t._loadedAt=0,HWSConnect.setPage("hws-guide",e.target.closest("[href]").hasAttribute("hws-modal")),e.preventDefault(),!1}}))}}}(),function(){var r=HWSConnect.$,a=HWSConnect.$$,s={init:function(e){var t=r(".hws-header"),o=r("#hws-sidebar-left"),n=r(".link.template",o);a(".link:not(.template)",o).forEach(e=>e.remove()),HWSConnect.navPanel.forEach(function(e){var t=n.cloneNode(!0),a=r("a",t);t.classList.remove("template"),a.classList.add(e.class),a.href=e.href,a.title=e.title,r(".text",t).innerHTML=e.text,o.appendChild(t)}),s.setServerTime(),a(".refresh-online-players").forEach(e=>HWSConnect.eventListener("refreshClick",e,"click",s.refreshOnlinePlayers)),a("[data-src]",t).forEach(function(e){HWSConnect.getData(e.getAttribute("data-src"))}),s.initDiscord()},updateSkinnedSelect:e=>{M.FormSelect.init(e.target);var t=r(".hws-header .server-select"),a={rn:"RE NA",re:"RE EU"};Object.keys(HWSConnect.regions).forEach(e=>{opt=document.createElement("option"),opt.value=e,opt.innerHTML=a[e]||e.toUpperCase(),e==H.region&&(opt.selected=!0),t.appendChild(opt)}),M.FormSelect.init(t),t.remove()},setServer:e=>{HWSConnect.setServer(e.target.value)},initServerSelect:()=>{var t=r(".hws-header .server-select"),a={rn:"RE NA",re:"RE EU"};Object.keys(HWSConnect.regions).forEach(e=>{opt=document.createElement("option"),opt.value=e,opt.innerHTML=a[e]||e.toUpperCase(),e==H.region&&(opt.selected=!0),t.appendChild(opt)}),M.FormSelect.init(t)},initDiscord:()=>{var e="https://discordapp.com/api/servers/"+HWSConnect.discordServerId+"/embed.json",t=r(".hws-header .discord-widget");HWSConnect.http.get(e,e=>{r(".discord-users-online>span",t).innerHTML=e.members.length,r(".discord-join>a").href=e.instant_invite})},onLocChange:()=>{var e=r("#hws-sidebar-left"),t=r(".active",e);t&&t.classList.remove("active"),(t=(t=r('[href="'+window.location.href+'"]',e))||r('[href$="#hws-login"]',e))&&t.classList.add("active")},pageLoaded:()=>{HWSConnect.eventListener("headerInit",document.body,"hws-connect-loaded",s.init),HWSConnect.eventListener("headerHashChange",window,"hashchange",s.onLocChange),HWSConnect.eventListener("serverChange",r(".hws-header .title-server .server-select"),"change",s.setServer),HWSConnect.eventListener("serverUpdated",r(".hws-header .title-server .server-select"),"updated",s.updateSkinnedSelect),s.onLocChange()},tzTime:e=>{var t=new Date,t=t.getTime()+6e4*t.getTimezoneOffset();return new Date(t+36e5*e)},fmtTime:e=>{var t=e=>e<10?"0"+e:e;return e.getDate()+"-"+(e.getMonth()+1)+" "+t(e.getHours())+":"+t(e.getMinutes())+":"+t(e.getSeconds())},setServerTime:()=>{function e(e){var t=new Date,t=t.getTime()+6e4*t.getTimezoneOffset();return new Date(t+36e5*e).toLocaleString()}window._hwsHeaderServerTime&&clearTimeout(window._hwsHeaderServerTime),Date.prototype.stdTimezoneOffset=function(){var e=new Date(this.getFullYear(),0,1),t=new Date(this.getFullYear(),6,1);return Math.max(e.getTimezoneOffset(),t.getTimezoneOffset())},Date.prototype.isDstObserved=function(){return this.getTimezoneOffset(){window._hwsHeaderOnlinePlayers&&clearTimeout(window._hwsHeaderOnlinePlayers),HWSConnect.cache&&HWSConnect.cache.onlinePlayers&&(HWSConnect.cache.onlinePlayers.timestamp=0),HWSConnect.getData("hwsOnlinePlayers-eu")},playersOnline:(e,t)=>{var a,o;t.innerHTML=e.length,t.matches(".online-"+HWSConnect.region)&&"1"==localStorage.getItem("hwsShowBountyAlerts")&&(HWSConnect.cache&&HWSConnect.cache.onlinePlayers?(a={},o={},Object.keys(HWSConnect.cache.onlinePlayers.data).forEach(e=>{e in H.regions&&(HWSConnect.cache.onlinePlayers.data[e].hunterBoard&&HWSConnect.cache.onlinePlayers.data[e].hunterBoard.forEach(e=>a[e.Na]="0"==e.Bou?"GUILTY!":e.Bou),HWSConnect.cache.onlinePlayers.data[e].onlinePlayers&&HWSConnect.cache.onlinePlayers.data[e].onlinePlayers.forEach(e=>{o[e.Name]=1,!e.watched&&a.hasOwnProperty(e.Name)&&s.onlineNotification(e,"ALERT: "+e.Name+" ("+e.Faction+") is Online!\n
    Bounty: "+a[e.Name])}))}),Object.keys(s.bountyNotified).forEach(e=>{o[e]||delete s.bountyNotified[e]}),localStorage.setItem("bountyNotified",JSON.stringify(s.bountyNotified))):setTimeout(()=>s.playersOnline(e,t),1e3))},onlineNotification:(e,t)=>{s.bountyNotified[e.Name]||(s.bountyNotified[e.Name]=1,M.toast({html:t,displayLength:1e4}),s.beep())},beep(){new Audio("data:audio/wav;base64,//uQRAAAAWMSLwUIYAAsYkXgoQwAEaYLWfkWgAI0wWs/ItAAAGDgYtAgAyN+QWaAAihwMWm4G8QQRDiMcCBcH3Cc+CDv/7xA4Tvh9Rz/y8QADBwMWgQAZG/ILNAARQ4GLTcDeIIIhxGOBAuD7hOfBB3/94gcJ3w+o5/5eIAIAAAVwWgQAVQ2ORaIQwEMAJiDg95G4nQL7mQVWI6GwRcfsZAcsKkJvxgxEjzFUgfHoSQ9Qq7KNwqHwuB13MA4a1q/DmBrHgPcmjiGoh//EwC5nGPEmS4RcfkVKOhJf+WOgoxJclFz3kgn//dBA+ya1GhurNn8zb//9NNutNuhz31f////9vt///z+IdAEAAAK4LQIAKobHItEIYCGAExBwe8jcToF9zIKrEdDYIuP2MgOWFSE34wYiR5iqQPj0JIeoVdlG4VD4XA67mAcNa1fhzA1jwHuTRxDUQ//iYBczjHiTJcIuPyKlHQkv/LHQUYkuSi57yQT//uggfZNajQ3Vmz+Zt//+mm3Wm3Q576v////+32///5/EOgAAADVghQAAAAA//uQZAUAB1WI0PZugAAAAAoQwAAAEk3nRd2qAAAAACiDgAAAAAAABCqEEQRLCgwpBGMlJkIz8jKhGvj4k6jzRnqasNKIeoh5gI7BJaC1A1AoNBjJgbyApVS4IDlZgDU5WUAxEKDNmmALHzZp0Fkz1FMTmGFl1FMEyodIavcCAUHDWrKAIA4aa2oCgILEBupZgHvAhEBcZ6joQBxS76AgccrFlczBvKLC0QI2cBoCFvfTDAo7eoOQInqDPBtvrDEZBNYN5xwNwxQRfw8ZQ5wQVLvO8OYU+mHvFLlDh05Mdg7BT6YrRPpCBznMB2r//xKJjyyOh+cImr2/4doscwD6neZjuZR4AgAABYAAAABy1xcdQtxYBYYZdifkUDgzzXaXn98Z0oi9ILU5mBjFANmRwlVJ3/6jYDAmxaiDG3/6xjQQCCKkRb/6kg/wW+kSJ5//rLobkLSiKmqP/0ikJuDaSaSf/6JiLYLEYnW/+kXg1WRVJL/9EmQ1YZIsv/6Qzwy5qk7/+tEU0nkls3/zIUMPKNX/6yZLf+kFgAfgGyLFAUwY//uQZAUABcd5UiNPVXAAAApAAAAAE0VZQKw9ISAAACgAAAAAVQIygIElVrFkBS+Jhi+EAuu+lKAkYUEIsmEAEoMeDmCETMvfSHTGkF5RWH7kz/ESHWPAq/kcCRhqBtMdokPdM7vil7RG98A2sc7zO6ZvTdM7pmOUAZTnJW+NXxqmd41dqJ6mLTXxrPpnV8avaIf5SvL7pndPvPpndJR9Kuu8fePvuiuhorgWjp7Mf/PRjxcFCPDkW31srioCExivv9lcwKEaHsf/7ow2Fl1T/9RkXgEhYElAoCLFtMArxwivDJJ+bR1HTKJdlEoTELCIqgEwVGSQ+hIm0NbK8WXcTEI0UPoa2NbG4y2K00JEWbZavJXkYaqo9CRHS55FcZTjKEk3NKoCYUnSQ0rWxrZbFKbKIhOKPZe1cJKzZSaQrIyULHDZmV5K4xySsDRKWOruanGtjLJXFEmwaIbDLX0hIPBUQPVFVkQkDoUNfSoDgQGKPekoxeGzA4DUvnn4bxzcZrtJyipKfPNy5w+9lnXwgqsiyHNeSVpemw4bWb9psYeq//uQZBoABQt4yMVxYAIAAAkQoAAAHvYpL5m6AAgAACXDAAAAD59jblTirQe9upFsmZbpMudy7Lz1X1DYsxOOSWpfPqNX2WqktK0DMvuGwlbNj44TleLPQ+Gsfb+GOWOKJoIrWb3cIMeeON6lz2umTqMXV8Mj30yWPpjoSa9ujK8SyeJP5y5mOW1D6hvLepeveEAEDo0mgCRClOEgANv3B9a6fikgUSu/DmAMATrGx7nng5p5iimPNZsfQLYB2sDLIkzRKZOHGAaUyDcpFBSLG9MCQALgAIgQs2YunOszLSAyQYPVC2YdGGeHD2dTdJk1pAHGAWDjnkcLKFymS3RQZTInzySoBwMG0QueC3gMsCEYxUqlrcxK6k1LQQcsmyYeQPdC2YfuGPASCBkcVMQQqpVJshui1tkXQJQV0OXGAZMXSOEEBRirXbVRQW7ugq7IM7rPWSZyDlM3IuNEkxzCOJ0ny2ThNkyRai1b6ev//3dzNGzNb//4uAvHT5sURcZCFcuKLhOFs8mLAAEAt4UWAAIABAAAAAB4qbHo0tIjVkUU//uQZAwABfSFz3ZqQAAAAAngwAAAE1HjMp2qAAAAACZDgAAAD5UkTE1UgZEUExqYynN1qZvqIOREEFmBcJQkwdxiFtw0qEOkGYfRDifBui9MQg4QAHAqWtAWHoCxu1Yf4VfWLPIM2mHDFsbQEVGwyqQoQcwnfHeIkNt9YnkiaS1oizycqJrx4KOQjahZxWbcZgztj2c49nKmkId44S71j0c8eV9yDK6uPRzx5X18eDvjvQ6yKo9ZSS6l//8elePK/Lf//IInrOF/FvDoADYAGBMGb7FtErm5MXMlmPAJQVgWta7Zx2go+8xJ0UiCb8LHHdftWyLJE0QIAIsI+UbXu67dZMjmgDGCGl1H+vpF4NSDckSIkk7Vd+sxEhBQMRU8j/12UIRhzSaUdQ+rQU5kGeFxm+hb1oh6pWWmv3uvmReDl0UnvtapVaIzo1jZbf/pD6ElLqSX+rUmOQNpJFa/r+sa4e/pBlAABoAAAAA3CUgShLdGIxsY7AUABPRrgCABdDuQ5GC7DqPQCgbbJUAoRSUj+NIEig0YfyWUho1VBBBA//uQZB4ABZx5zfMakeAAAAmwAAAAF5F3P0w9GtAAACfAAAAAwLhMDmAYWMgVEG1U0FIGCBgXBXAtfMH10000EEEEEECUBYln03TTTdNBDZopopYvrTTdNa325mImNg3TTPV9q3pmY0xoO6bv3r00y+IDGid/9aaaZTGMuj9mpu9Mpio1dXrr5HERTZSmqU36A3CumzN/9Robv/Xx4v9ijkSRSNLQhAWumap82WRSBUqXStV/YcS+XVLnSS+WLDroqArFkMEsAS+eWmrUzrO0oEmE40RlMZ5+ODIkAyKAGUwZ3mVKmcamcJnMW26MRPgUw6j+LkhyHGVGYjSUUKNpuJUQoOIAyDvEyG8S5yfK6dhZc0Tx1KI/gviKL6qvvFs1+bWtaz58uUNnryq6kt5RzOCkPWlVqVX2a/EEBUdU1KrXLf40GoiiFXK///qpoiDXrOgqDR38JB0bw7SoL+ZB9o1RCkQjQ2CBYZKd/+VJxZRRZlqSkKiws0WFxUyCwsKiMy7hUVFhIaCrNQsKkTIsLivwKKigsj8XYlwt/WKi2N4d//uQRCSAAjURNIHpMZBGYiaQPSYyAAABLAAAAAAAACWAAAAApUF/Mg+0aohSIRobBAsMlO//Kk4soosy1JSFRYWaLC4qZBYWFRGZdwqKiwkNBVmoWFSJkWFxX4FFRQWR+LsS4W/rFRb/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VEFHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU291bmRib3kuZGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAwNGh0dHA6Ly93d3cuc291bmRib3kuZGUAAAAAAAAAACU=").play()}};HWSConnect.dataSources.hwsOnlinePlayers=t=>{var e;t.match(/^(hwsOnlinePlayers|hwsHunterBoard)-?(eu|na|re|exp)?$/)&&(s.bountyNotified||(s.bountyNotified=JSON.parse(localStorage.getItem("bountyNotified")||"{}")),"hwsHunterBoard"!=t&&"hwsOnlinePlayers"!=t||(t=(e=t)+"-"+HWSConnect.region,a("[data-src="+e+"]").forEach(e=>e.setAttribute("data-src",t))),HWSConnect._getData.onlinePlayers||(HWSConnect._getData.onlinePlayers=1,window._hwsHeaderOnlinePlayers&&clearTimeout(window._hwsHeaderOnlinePlayers),HWSConnect.http.get(HWSConnect.getUrlFor("onlinePlayersInfo"),function(t){var a=HWSConnect.user.patreonLevel{HWSConnect.cache.onlinePlayers.data[e]&&HWSConnect.cache.onlinePlayers.data[e].onlinePlayers&&HWSConnect.cache.onlinePlayers.data[e].onlinePlayers.forEach(e=>o.push(e.Name))}),HWSConnect.cache.onlinePlayers={timestamp:Date.now(),data:t},e.forEach(e=>{t[e]&&(t[e].onlinePlayers=(t[e].onlinePlayers||[]).sort((e,t)=>e.Name>t.Name?1:-1),t[e].hunterBoard=(t[e].hunterBoard||[]).sort((e,t)=>e.Bounty{e.watched=-1{e.Origin=e.Origin||"Unknown",e.guilty=e.Guilty?"Guilty":""}),HWSConnect.refreshDataSrcs("hwsOnlinePlayers-"+e,t[e].onlinePlayers),HWSConnect.refreshDataSrcs("hwsHunterBoard-"+e,t[e].hunterBoard))}),HWSConnect.refreshDataSrcs("onlinePlayers",t),HWSConnect._getData.onlinePlayers=0,window._hwsHeaderOnlinePlayers=setTimeout(()=>{HWSConnect.getData("hwsOnlinePlayers-eu")},HWSConnect.cacheTimeout)},()=>{HWSConnect._getData.onlinePlayers=0})))},HWSConnect.onElData(".hws-header .online-wrapper [data-src]",s.playersOnline),HWSConnect.pages["hws-header"]=s}(),function(){var a=HWSConnect.$;HWSConnect.$$;HWSConnect.pages["page-hws-items-config"]={pageLoaded(){},init(e){var t;e._hwsItemsCfgInit||(e._hwsItemsCfgInit=1,(t=a(".page-hws-items-config form")).onsubmit=function(){var e=new FormData(t);new XMLHttpRequest;return HWSConnect.http.req("POST",t.getAttribute("action"),{data:e,done(e){if("OK"==e.status)return HWSConnect.alert("Files Generated Successfully!");HWSConnect.alert("Failed to upload files! Check console for errors!"),console.log(e)},error(e){HWSConnect.alert("Failed to upload files! Check console for errors!"),console.log(e)}}),!1})}}}(),function(){var a=HWSConnect.$,o=(HWSConnect.$$,{getSteamLink:()=>{var t={"openid.ns":"http://specs.openid.net/auth/2.0","openid.mode":"checkid_setup","openid.return_to":HWSConnect.getLoginUrl(),"openid.realm":document.location.origin,"openid.ns.sreg":"http://openid.net/extensions/sreg/1.1","openid.claimed_id":"http://specs.openid.net/auth/2.0/identifier_select","openid.identity":"http://specs.openid.net/auth/2.0/identifier_select"},a=[];return Object.keys(t).forEach(e=>{a.push(e+"="+encodeURIComponent(t[e]))}),HWSConnect.urls.openid.steamLogin+a.join("&")},init:e=>{var t=a("a.steam-login",e);t.href=o.getSteamLink(),H.isLocal()&&(HWSConnect.bootstrap||HWSConnect.ideMode)&&((e=document.createElement("a")).setAttribute("hws-button","invert"),e.innerHTML="Fake login as Hayawen",e.href="hws-connect/api/user.php?fake="+encodeURIComponent(window.location.href),t.parentNode.appendChild(e))}});HWSConnect.pages["hws-login"]=o}(),function(){HWSConnect.$,HWSConnect.$$;var r={domLoaded(){document.body.addEventListener("mousedown",r.mousedown),document.body.addEventListener("touchstart",r.mousedown)},mousedown(t){if(r._targets&&(1==t.which||window.TouchEvent&&t instanceof window.TouchEvent)){var a,o=[];if(Object.keys(r._targets).forEach(e=>{(t.tgt=t.target.closest(e))&&(a=t.tgt,(e=r._targets[e]).forEach(e=>{e.start&&e.start(t,e),e.placeHolder&&(t.placeHolder=e.placeHolder)}),o.push({cbs:e,tgt:a}))}),!t.cancelMove&&o.length){var e=a.getBoundingClientRect();a._originalRect||(a._originalRect=e);var n=window.TouchEvent&&t instanceof window.TouchEvent?t.touches[0]:t;return r._moving={tgt:a,rect:a._originalRect,offsetX:n.pageX-e.left,offsetY:n.pageY-e.top,nfo:o,placeHolder:t.placeHolder},document.addEventListener("mousemove",r.mousemove),document.addEventListener("touchmove",r.mousemove),document.addEventListener("mouseup",r.mouseup),document.addEventListener("touchend",r.mouseup),t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t}}},mousemove(e){var t=(e=window.TouchEvent&&e instanceof window.TouchEvent?(r._moving._lastMovePos=e).touches[0]:e).pageX-r._moving.tgt._originalRect.left-r._moving.offsetX,a=e.pageY-r._moving.tgt._originalRect.top-r._moving.offsetY;if(r._moving.placeHolder&&!r._moving.placeHolder.parentElement){if(Math.abs(t)<10&&Math.abs(a)<10)return;r._moving.tgt.insertAdjacentElement("beforebegin",r._moving.placeHolder),r._moving.tgt.classList.add("dragging"),document.body.appendChild(r._moving.tgt)}r._moving.tgt.style.left=e.clientX+2+"px",r._moving.tgt.style.top=e.clientY+2+"px",r._moving.moved=!0;var o=r._moving._lastMovePos?document.elementFromPoint(r._moving._lastMovePos.touches[0].clientX,r._moving._lastMovePos.touches[0].clientY):e.target;r._moving.nfo.forEach(e=>e.cbs.forEach(e=>(r._moving.overEl=o.closest(e.tgtSel))&&e.over&&e.over(r._moving)))},mouseup(e){return document.removeEventListener("mousemove",r.mousemove),document.removeEventListener("touchmove",r.mousemove),document.removeEventListener("mouseup",r.mouseup),document.removeEventListener("touchend",r.mouseup),r._moving.moved?(r._moving.placeHolder&&(r._moving.placeHolder.parentElement&&r._moving.placeHolder.insertAdjacentElement("beforebegin",r._moving.tgt),r._moving.placeHolder.remove()),r._moving.nfo.forEach(e=>e.cbs.forEach(e=>e.stop&&e.stop(r._moving))),r._moving.keepAtLoc||(r._moving.tgt.style.left=0,r._moving.tgt.style.top=0),r._moving.tgt.classList.remove("dragging"),delete r._moving.tgt._originalRect,e.preventDefault&&e.preventDefault(),!1):r._moving.nfo.forEach(e=>e.cbs.forEach(e=>e.click&&e.click(r._moving)))},setup(e){r._targets||(r._targets={}),r._targets[e.sel]||(r._targets[e.sel]=[]),r._targets[e.sel].push(e)}};H.movable=r.setup,H.pages["hws-movable"]=r}(),function(){var a=HWSConnect.$,n=HWSConnect.$$,r={initLinks:function(){var e,t,o;r.loaded&&(e=a(".hws-navbar"),t=a(".links",e),o=a(".logout",e).closest("a"),n('a[href^="#page-"]',t).forEach(e=>{e.remove()}),Object.keys(HWSConnect.navbarButtons).forEach(function(e){var t,a=HWSConnect.navbarButtons[e];a.disabled||((t=document.createElement("a")).href="#page-"+e,t.title=a.title||a.text,t.innerHTML=''+a.text+"",a.modal&&t.setAttribute("hws-modal",""),o.parentElement.insertBefore(t,o))}),HWSConnect.eventListener("navbarTogglerClick",a(".navbar-toggler",e),"click",r.togglerClick),HWSConnect.eventListener("navbarTogglerBgClick",a(".small-screen-overlay",e),"click",r.togglerClick))},pageLoaded:()=>{r.loaded=1,HWSConnect.pages["hws-navbar"].initLinks()},togglerClick:()=>{document.body.classList.toggle("hws-navbar-collapsed"),localStorage.setItem("hws-navbar-collapsed",document.body.matches(".hws-navbar-collapsed"))}};HWSConnect.pages["hws-navbar"]=r}(),function(){var o=H.$,n=(H.$$,{domLoaded(){o("body").addEventListener("click",n.onClick)},onClick(e){return e.target.matches("hws-npc-items .item .delItem")?n.delItem(e.target.closest(".item")):e.target.matches("hws-npc-items .addItem")?n.addItem(e.target):e.target.matches("hws-npc-items .item,hws-npc-items .item *")?n.setItem(e.target.closest(".item")):void 0},addItem(e){var t=o("hws-table .item.template",H.getPage("npc-trader")).cloneNode(!0),a=o("hws-table .delItem.template",n._page).cloneNode(!0);[t,a].forEach(e=>e.classList.remove("template")),t.appendChild(a),o(".stack-count",t).innerHTML=1,t.setAttribute("item-stacks","1"),o(".image",t).src=H.getUrlFor("itemIcon",{id:"0"}),e.previousElementSibling&&e.previousElementSibling.matches(".item")&&(o(".stack-size",t).innerHTML=o(".stack-size",e.previousElementSibling).innerHTML,o(".image",t).src=o(".image",e.previousElementSibling).src,t.setAttribute("item-id",e.previousElementSibling.getAttribute("item-id")),t.setAttribute("title",e.previousElementSibling.getAttribute("title"))),e.insertAdjacentElement("beforebegin",t),e.triggerChange("checkDirty")},delItem(e){var t=e.closest("tr");e.closest("hws-npc-items");e.remove(),t.triggerChange("checkDirty")},setItem(a){!a.closest("tr")._obj.locked&&a.closest("hws-table.editable")&&H.selectEmpyrionItem(e=>{var t=EMPYRION_ITEMS[e.Id];o(".stack-size",a).innerHTML=Math.ceil(t.StackSizeV),o(".image",a).src=H.getUrlFor("itemIcon",{id:e.Id}),a.setAttribute("item-id",e.Id),a.setAttribute("title",e.Name+" ("+e.Id+")"),a.triggerChange("checkDirty")},{noFilter:a.closest("hws-npc-items").matches(".no-filter")})}});H.pages["hws-npc-items"]=n}(),function(){var i=HWSConnect.$,r=HWSConnect.$$;HWSConnect.pages["hws-pda"]={_require:"input-fields",init:e=>{},getInputField:(e,t)=>{if(console.log(e,t),(t=t||{}).type=t.type||"str","text"!=t.type&&"number"!=t.type)return(a=document.createElement("span")).innerHTML="Unknown type: "+t.type+", for: "+e,a;var a=i(".page-hws-pda .template.input-str").cloneNode(!0),o=i(".input",a);return i(".title",a).innerHTML=t.title,o.setAttribute("name",e),o.type=t.type,a.classList.remove("template"),a},setPda:(e,t,a)=>{var o=HWSConnect.pda[e],e=H.getPage("hws-pda"),n=i(".pda-list",e),r=i(".template.row",n),s=i(".template.seperator",n);e._pdaDataVars=a,i(".pda-title",e).innerHTML=t||"PDA Commands",HWSConnect.emptyContainer(n),o.forEach(e=>{var t;if("hr"==e.desc)return(t=s.cloneNode(!0)).classList.remove("template"),void n.appendChild(t);(t=r.cloneNode(!0)).classList.remove("template"),i(".descr",t).innerHTML=e.desc;var o=i(".cmds",t);(e.cmds||[]).forEach(t=>{var a=document.createElement("button");a.classList.remove("template"),a.innerHTML=t.title||t.cmd,a.setAttribute("hws-button",t.style||"info"),a.onclick=HWSConnect.pages["hws-pda"].sendCmd,(a._cmd=t).inputs?(a._inputs=document.createElement("hws-pda-inputs"),Object.keys(t.inputs).forEach(e=>{a._inputs.appendChild(HWSConnect.pages["hws-pda"].getInputField(e,t.inputs[e]))}),a._inputs.appendChild(a),o.appendChild(a._inputs)):o.appendChild(a)}),n.appendChild(t)})},sendCmd:e=>{var t,a,o,n;e&&e.target&&e.target._cmd&&(t=e.target._cmd,a=t.cmd,(o="object"==typeof a)&&(a=JSON.parse(JSON.stringify(t.cmd))),t.inputs&&(r("[name]",e.target._inputs).forEach(e=>{var t=document.createEvent("Event");t.initEvent("change",!0,!0),e.dispatchEvent(t),e.matches(".invalid")?e.focus():o?a[e.getAttribute("name")]=e.value:a=a.replace("$"+e.getAttribute("name"),e.value)}),i(".invalid",e.target._inputs))?console.error("pda-cmd missing params!"):((n=i(".page-hws-pda")._pdaDataVars)&&(o?Object.keys(a).forEach(e=>{n.hasOwnProperty(a[e])&&(a[e]=n[a[e]])}):Object.keys(n).forEach(e=>{a=a.replace("$"+e,n[e])})),t.beforeSend&&t.beforeSend(a),HWSConnect.pdaSend(a)))},domLoaded:()=>{document.body._hwsPdaInit||(document.body._hwsPdaInit=1,document.body.addEventListener("click",e=>{if(e.target.matches('[href^="#hwsPda-"],[href^="#hwsPda-"] *')){var t=e.target.closest("[href]");return HWSConnect.pages["hws-pda"].setPda(t.getAttribute("href").substr(8),t.getAttribute("title"),t._obj),HWSConnect.setPage("hws-pda",e.target.closest("[href]").hasAttribute("hws-modal")),e.preventDefault(),!1}}))}},HWSConnect.pdaSend=(a,e,o)=>{"object"!=typeof a&&(a={cmd:a,region:e||HWSConnect.region}),M.toast({html:"Sent to game => "+a.cmd}),HWSConnect.http.post(HWSConnect.getUrlFor("pda"),a,(e,t)=>{o&&o(!0,e),console.log("command sent",a,e.length)},(e,t)=>{o&&o(!1,e),console.error("command failed",e)})}}(),function(){var o=HWSConnect.$,e=(HWSConnect.$$,{domLoaded:()=>{HWSConnect.eventListener("hwsPopupClick",document.body,"click",e.onClick,!0)},onClick:e=>{var t=e.target.closest(".hws-popup"),a=o(".hws-popup.show",document.body);if(a)return a.classList.remove("show"),a==t||e.target.closest(".hws-popup")?void 0:(e.preventDefault(),e.stopPropagation(),!1);t&&t.classList.add("show")}});HWSConnect.pages["hws-popup"]=e}(),function(){HWSConnect.$,HWSConnect.$$;var t={onHide:e=>{if(document.body.classList.remove("paw-ask-install"),localStorage.hideHwsPaw="1",e)return e.preventDefault(),e.stopPropagation(),!1},onClick:e=>(t.onHide(),e.preventDefault(),e.stopPropagation(),t.deferredPrompt.prompt(),t.deferredPrompt.userChoice.then(e=>{"accepted"===e.outcome?console.log("User accepted the Install prompt"):console.log("User dismissed the Install prompt",e),t.deferredPrompt=null}),!1)};H.pwa=t,HWSConnect.pages["hws-pwa"]=t,/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||window.addEventListener("beforeinstallprompt",e=>{e.preventDefault(),t.deferredPrompt=e,localStorage.hideHwsPaw||document.body.classList.add("paw-ask-install")})}(),function(){HWSConnect.$,HWSConnect.$$;var r={pageLoaded(){document.body.addEventListener("mousedown",r.mousedown)},mousedown(e){if(1==e.which&&e.target.matches("[hws-sortable]>* *")){var t=e.target.closest("[hws-sortable]>*"),a=t.getBoundingClientRect();return t._originalRect||(t._originalRect=a),r._moving={tgt:t,rect:t._originalRect,offsetX:e.pageX-a.left,offsetY:e.pageY-a.top},document.addEventListener("mousemove",r.mousemove),document.addEventListener("mouseup",r.mouseup),e.preventDefault(),e.stopPropagation(),e}},mousemove(e){var t,a,o=e.pageX-r._moving.tgt._originalRect.left-r._moving.offsetX,n=e.pageY-r._moving.tgt._originalRect.top-r._moving.offsetY;return r._moving.tgt.style.transform="translate3d("+o+"px, "+n+"px,0) scale(1,1)",document.elementsFromPoint(e.pageX,e.pageY).forEach(e=>{t||e!=r._moving.tgt&&e.parentNode==r._moving.tgt.parentNode&&(t=e)}),t&&t!=r._moving.tgt&&(n=t.getBoundingClientRect(),e.pageX>=n.left+n.width/2?t.nextElementSibling!=r._moving.tgt&&(a="afterend"):t.previousElementSibling!=r._moving.tgt&&(a="beforebegin"),a&&(t.insertAdjacentElement(a,r._moving.tgt),r._moving.tgt.style.transform="translate3d(0px, 0px,0) scale(1,1)",r._moving.tgt._originalRect=r._moving.tgt.getBoundingClientRect())),e.stopPropagation(),e.preventDefault(),!1},mouseup(e){document.removeEventListener("mousemove",r.mousemove),document.removeEventListener("mouseup",r.mouseup),r._moving.tgt.style.transform="",delete r._moving.tgt._originalRect}};HWSConnect.pages["hws-sortable"]=r}(),function(){var $=HWSConnect.$,$$=HWSConnect.$$,hwsTable={drawRows:(e,t)=>{var a,o=$("tbody",e),n=0;t&&(e._hwsTable.scrollLoadLastIndex=0,o.innerHTML="");for(var r=e._hwsTable.scrollLoadLastIndex||0;r=e._hwsTable.scrollLoad));r++)(a=e._hwsTable.data[r])._filtered||(n++,a._tr||(a._tr=hwsTable.drawRow(e,a)),o.appendChild(a._tr));return e},drawRow:(o,n,r)=>{var r=r||document.createElement("tr"),s=Object.keys(n);return r.innerHTML="",o._hwsTable.cols.forEach(function(t){var e,a=document.createElement("td");a.classList.add(t.key),t.textCenter&&a.classList.add("text-center"),"_"==t.key&&o._hwsTable.tplBtns?((e=o._hwsTable.tplBtns.cloneNode(!0)).classList.remove("template"),a.appendChild(e),$$("[hws-button]",a).forEach(e=>{e._obj=n})):t.tpl?((e=t.tpl.cloneNode(!0)).classList.remove("template"),a.appendChild(e),$$("[hws-button]",a).forEach(e=>{e._obj=n}),$$('[hws-data="'+t.key+'"]',a).forEach(e=>{e.innerHTML=n[t.key]}),s.forEach(t=>$$("."+t,a).forEach(e=>"value"in e?e.value=n[t]:e.innerHTML=n[t]))):("object"!=typeof(e=null===n[t.key]||void 0===n[t.key]?"":n[t.key])?(""===(e=!t.preformatted&&"boolean"==typeof e?e?"Yes":"No":e)&&(e=" "),a.innerHTML=(t.preformatted||"id"==t.key.toLowerCase()?e:HWSConnect.formatNumbers(e))||e+""):(a.appendChild(e),$$("[hws-button]",a).forEach(e=>{e._obj=n})),t.key+"_style"in n&&a.setAttribute("style",n[t.key+"_style"])),t.addDataVar&&r.setAttribute("data-"+t.key,n[t.key]),(r._obj=n).tooltip&&r.setAttribute("title",n.tooltip),r.appendChild(a)}),o._hwsTable.exportVars&&o._hwsTable.exportVars.forEach(e=>{r.setAttribute("data-"+e,null==n[e]?"":n[e])}),r},genericTable:(e,t,a,o)=>hwsTable.drawTable({cols:e,data:t,tplBtns:a,scrollLoad:o}),prepareData(e){e instanceof Array||(e=[e]);var o=[];return e.forEach(t=>{var a={};Object.keys(t).forEach(e=>{a[e]=t[e]}),o.push(a)}),o},drawTable:n=>{var r,e=document.createElement("table"),t=document.createElement("thead"),a=document.createElement("tr"),o=document.createElement("tbody");return e.setAttribute("hws-clone",""),n.data=hwsTable.prepareData(n.data),n.cfgEl&&(n.cols=n.cfgEl.getAttribute("data-cols"),n.exportVars=(n.cfgEl.getAttribute("data-export")||"").split(",").filter(e=>""!=e),n.tplBtns=$("hws-row-btns.template",n.cfgEl),n.scrollLoad=n.cfgEl.hasAttribute("scroll-load")?parseInt(n.cfgEl.getAttribute("scroll-load")||25):0),t.appendChild(a),e.appendChild(t),e.appendChild(o),e.classList.add("highlight"),e.classList.add("hws-table"),n.scrollLoad&&HWSConnect.eventListener("hwsTableScroll",window,"scroll",e=>{$$("[scroll-load] table",e.target).forEach(e=>{var t=$("tbody",e);e&&e._hwsTable&&!(e._hwsTable.data.length<=t.children.length)&&HWSConnect.isInViewport(t.lastElementChild)&&hwsTable.drawRows(e)})},!0),n.colsIndex={},n.cols=n.cols.split(","),n.cols.forEach(function(e,t){var a={searchable:0,preformatted:0};[a.key,a.title]=e.split(/:(.+)/),(e=a.key.match(/^([^@]+)@([^@]+)$/))&&(a.key=e[1],a.sortKey=e[2]),(e=a.key.match(/^([!#%$~=]+)(.*)$/))&&(a.searchable=-1{var t=document.createElement("option"),a=e.indexOf("-");t.innerHTML=e,-1':e.filterable&&((o=document.createElement("select")).name=e.key,o.setAttribute("multiple","true"),o.innerHTML="",e.filter.forEach(e=>{var t=document.createElement("option");t.setAttribute("selected",""),t.innerHTML=e,o.appendChild(t)}),t.append(o)),t.classList.add(e.key),t._col=e,r.appendChild(t))}),a.classList.add("cols"),r&&(r.classList.add("search"),t.appendChild(r),r.addEventListener("keyup",hwsTable.onFilterChange),r.addEventListener("change",hwsTable.onFilterChange),r.addEventListener("blur",hwsTable.onFilterChange),r.addEventListener("click",hwsTable.onFilterClick,!0)),t.addEventListener("click",e=>{var t=e.target.closest("tr.cols th");t?hwsTable.toggleSort(t):e.target.matches("thead")&&e.target.classList[e.target.matches(".expand")?"remove":"add"]("expand")}),(e._hwsTable=n).parent&&n.parent.appendChild(e),n.sort&&hwsTable.prepareSort(e,n.sort),hwsTable.drawRows(e)},prepareSort(e,t){var a={};[a.key,a.dir]=t.split(",");t=$("tr.cols th."+a.key,e);t?hwsTable.setSort(t,"true"==a.dir):console.log("did not find","tr.cols th."+a.key,e)},onFilterClick:e=>{if(e.target.matches(".select-wrapper li, .select-wrapper li *")){var t=e.target.closest("li"),a=t.closest("th")._col;if(a.filterable)if(!(0{e.checked=o;e=e.closest("li");e.classList[o?"add":"remove"]("selected"),o?n.M_FormSelect._keysSelected[e.id]=!0:delete n.M_FormSelect._keysSelected[e.id]}),$$("option",n).forEach(e=>e.selected=o),n.triggerChange(),e.preventDefault(),e.stopPropagation(),!1}}},getUniqueValues:(e,t)=>{var a={};return e.forEach(e=>a[e[t]]=1),Object.keys(a)},onFilterChange:e=>{var t;e.target.matches("[name]")&&((t=e.target.closest("table"))._filterTimeout&&clearTimeout(t._filterTimeout),t._filterTimeout=setTimeout(()=>{hwsTable.filterData(t)},"keyup"==e.type?500:0))},filterData:tbl=>{var filters={},keys;return $$("thead tr.search [name]",tbl).forEach(t=>{if("SELECT"==t.tagName){if(t.multiple)return filters[t.name]=[],void Array.prototype.forEach.call(t.selectedOptions,e=>filters[t.name].push(e.value));if(t.selectedIndex<1)return}t.value&&t.value.length&&(filters[t.name]=t.value.toLowerCase())}),keys=Object.keys(filters),tbl._hwsTable.data.forEach(row=>{row._filtered=0,keys.forEach(key=>{var colNfo;row._filtered||(colNfo=tbl._hwsTable.colsIndex[key],colNfo.filterType?"ranged"==colNfo.filterType?eval("row._filtered = !("+filters[key].replace(/%x%/g,row[key])+")"):"checkboxes"==colNfo.filterType&&(row._filtered=filters[key].indexOf(""+row[key])<0):String(row[key]).toLowerCase().indexOf(filters[key])<0&&(row._filtered=1))})}),hwsTable.drawRows(tbl,1)},toggleSort:e=>{e.hasOwnProperty("_sort")?e._sort=!e._sort:e._sort=0,hwsTable.setSort(e,e._sort,!0)},setSort:(e,t,a)=>{e._sort=t;var o=e.closest("table"),n=$("[sort-dir]",o),r=o.closest("[data-src]"),t=r.getAttribute("data-src"),s=e._col.key,i=e._sort?1:-1,r=$(".template."+s+"[sort-key]",r);n&&n!=e&&(delete n._sort,n.removeAttribute("sort-dir")),r?s=r.getAttribute("sort-key"):e._col.sortKey&&(s=e._col.sortKey),e.setAttribute("sort-dir",e._sort?"desc":"asc"),o._hwsTable.data=o._hwsTable.data.sort((e,t)=>hwsTable.sorter(e[s],t[s],i)),a&&hwsTable.drawRows(o,1),localStorage["sortTbl-"+HWSConnect._pageName+"-"+t]=s+","+e._sort},isNumeric:e=>Number(parseFloat(e))===e,sorter:(e,t,a)=>{var o=/^(\d+)\s+(\d+):(\d+)$/,n=o.exec(e),r=o.exec(t);if(n||r)return n.forEach((e,t)=>n[t]=parseInt(e)),r.forEach((e,t)=>r[t]=parseInt(e)),n[1]==r[1]?n[2]==r[2]?n[3]==r[3]?0:n[3]{var a=t.getAttribute("data-src"),o=$("table",t),a=localStorage["sortTbl-"+HWSConnect._pageName+"-"+a];o?(o._hwsTable.data=hwsTable.prepareData(e),a&&hwsTable.prepareSort(o,a),hwsTable.filterData(o)):(o=hwsTable.drawTable({data:e,cfgEl:t,sort:t.hasAttribute("no-save-sort")?null:a,parent:t}),M.FormSelect.init($$("select",o))),t.triggerChange("dataLoaded")})}(),function(){HWSConnect.$;var o=HWSConnect.$$;HWSConnect.elements||(HWSConnect.elements={});var n={init:e=>{var a,t;e&&!e._hwsTabs&&(e._hwsTabs=1,a=document.createElement("ul"),(t=document.createElement("div")).classList.add("tabs-wrapper"),a.classList.add("tabs"),e.insertBefore(t,e.firstChild),t.appendChild(a),a.addEventListener("click",function(e){if(e.target.matches("li,li *"))return n.activate(e.target.closest("li")),e.preventDefault(),!1}),o("hws-tab",e).forEach(function(e){var t=document.createElement("li");t.innerHTML=''+e.getAttribute("title")+"",t.classList.add("tab"),t._tabFor=e,t.setAttribute("tabindex","0"),e.matches(".active")&&(a._active=t),a.appendChild(t)}),a._active&&n.activate(a._active,1))},activate:(e,t)=>{var a;e.matches(".active")||((a=e.parentNode)._active&&(a._active.classList.remove("active"),a._active._tabFor.classList.remove("active")),(a._active=e).classList.add("active"),e._tabFor.classList.add("active"))},domLoaded:()=>{HWSConnect._hwsTabsInit||(HWSConnect._hwsTabsInit=1,document.body.addEventListener("hws-elements",function(e){o("hws-tabs",e.target).forEach(e=>{n.init(e)})}))}};HWSConnect.pages["hws-tabs"]=n}(),function(){var s=H.$,i=H.$$,c={pageLoaded(e){var o;c._page=e,c._ptd=s(".hws-ptd",e),e.addEventListener("click",c.titleClick),H.urls.teleportLocations?(H.user.is_admin?c._ptd.addEventListener("dataLoaded",c.ptdLoaded):c._ptd.setAttribute("data-cols",c._ptd.getAttribute("data-cols").replace("origins:Allowed Origins,","")),c._ptd.addEventListener("click",c.ptdClick),(o=s("select.origins",c._page))&&H.origins.forEach((e,t)=>{var a=document.createElement("option");a.setAttribute("value",t),a.innerHTML=e,o.appendChild(a)})):(c._ptd.previousElementSibling.remove(),c._ptd.remove())},titleClick(e){e=e.target.closest("h3");e&&e.parentElement.classList.toggle("collapsed")},ptdClick(e){var t,a,o,n,r;e.target.matches(".btns .btnAdd")?(t=s("tbody tr",c._ptd).cloneNode(!0),i("td:not(.btnTp)",t).forEach(e=>e.innerHTML=""),s("tbody",c._ptd).appendChild(t),c._ptd.scrollTop=1e8,s("td",t).focus()):e.target.matches(".btns .btnSave")?c.saveList():e.target.matches(".btnTp .btnTp")?(a=s(".name",e.target.closest("tr")).innerText.trim(),o={region:H.region,loc:a},n=e=>{e&&(o.agreed=!0),H.http.post("hws-connect/api/ptd.php",o,e=>{"INVENTORY_ITEMS"==e.error?H.confirm("ITEMS DETECTED IN BACKPACK!","ATTENTION!!! Your items will be LOST!!!",e=>{n(!0)}):M.toast({html:"OK"==e.status?"Successfully teleported to: "+a:"Teleportation failed! "+e.error})})},H.confirm("Confirm Teleporation","WARNING: This is a one way trip!
    WARNING: YOUR BACKPACK ITEMS WILL BE VAPORIZED!",e=>{n()})):e.target.matches(".btnTp .btnDel")&&((r=e.target.closest("tr")).matches(":first-child:last-child")?M.toast({html:"Cannot delete the only teleport destination!"}):H.confirm("Confirm Delete","Delete this teleport destination?",e=>r.remove()))},saveList(e){var t=[],a=s("table",c._ptd);i("tbody tr",a).forEach(n=>{var r={};a._hwsTable.cols.forEach(e=>{var t,a,o;"btnTp"!=e.key&&(t=s("."+e.key,n),(a=s("select",t))?(o=[],i("option:checked",a).forEach(e=>o.push(e.value)),r[e.key]=o):r[e.key]=t.innerText.trim())}),t.push(r)}),H.http.post("hws-connect/api/ptd.php",{save:t},e=>{M.toast({html:"Save Teleport Locations: "+e.status})})},ptdLoaded(e){var t,a,o,n=s("tfoot",c._ptd);i("tbody tr",c._ptd).forEach(a=>{var e=s(".btnTp button",a),t=e.cloneNode(!0);t.setAttribute("hws-button","negative"),t.innerHTML="Delete",t.classList.replace("btnTp","btnDel"),e.parentNode.appendChild(t),i("td",a).forEach(e=>{e.matches(".btnTp")||e.setAttribute("contenteditable","true"),i("select",e).forEach(t=>{(a._obj[e.className]||[]).forEach(e=>e&&e.length&&(s('option[value="'+e+'"]',t).selected=!0))})})}),n||((n=document.createElement("tfoot")).innerHTML="",t=s("tr",n),a=s("table",c._ptd),(o=document.createElement("th")).setAttribute("colspan",a._hwsTable.cols.length),o.classList.add("btns"),o.innerHTML='',t.appendChild(o),a.appendChild(n))}};H.pages["hws-universe"]=c;var t={Name:"pfName",IsPlanet:"pfIsPlanet",IsPVE:"pfIsPve",MaxFactionCV:"pfFACvs",MaxFactionBase:"pfFABas",MaxPlayerCV:"pfPVCvs",MaxPlayerBase:"pfPVBas",MaxFactionSV:"pfFASvs",MaxPlayerSV:"pfPVSvs",MaxFactionHV:"pfFAHvs",MaxPlayerHV:"pfPVHvs",MaxClassCV:"pfCvClass",MaxClassBase:"pfBaClass",MaxClassSV:"pfSvClass",MaxClassHV:"pfHvClass",MaxStructures:"pfMaxStruc",Tax:"pfIsTax",Origin_Name:"pfOrig",EntranceMessage:"pfMessage",StructuresOnPlayfield:"pfStructures"};HWSConnect.dataSources.hwsUniverse=e=>{"re"===HWSConnect.region?i(".hws-universe").forEach(e=>e.style.display="none"):i(".hws-universe").forEach(e=>e.style.display="none"),"teleportLocations"==e?HWSConnect.dataSourceDefault(e,e=>(e.teleportLocations=e.teleportLocations||[],e.teleportLocations.length<1&&H.user.is_admin&&e.teleportLocations.push([]),e.teleportLocations)):"hwsUniverse"==e&&"re"!==HWSConnect.region&&HWSConnect.dataSourceDefault(e,e=>(e.forEach(e=>{HWSConnect.remapKeys(t,e),e.pfIsRP=e.MinRP<1?"free":e.MinRP,e.pfDon=""==e.BelongsTo?"No":"Yes"}),e))}}(),function(){var e=HWSConnect.$,t=HWSConnect.$$,o={domLoaded:()=>{HWSConnect.eventListener("hwsViewSwitcher",document.body,"click",o.onGlobalClick),e(".sections").addEventListener("onPageLoaded",o.restoreStates)},restoreStates:e=>{t('[href^="#view-"]',e.target).forEach(e=>{e=e.closest('section[class*="page-"]');e._viewStateRestored||(e._viewStateRestored=1,e.setAttribute("x-view",localStorage.getItem("view-"+o.pageNameFromClass(e))))})},pageNameFromClass:e=>{for(var t=0;t{if(e.target.matches('[href^="#view-"],[href^="#view-"] *')){var t=e.target.closest("[href]"),a=t.closest('section[class*="page-"]'),t=t.getAttribute("href").substr(6);return a.setAttribute("x-view",t),localStorage.setItem("view-"+o.pageNameFromClass(a),t),e.preventDefault(),!1}}};HWSConnect.pages["hws-view-switcher"]=o}(),function(){var a=HWSConnect.$,o=HWSConnect.$$,n={init:e=>{n.dailyCheck("first");var t=HWSConnect.getUrlFor("voteLink",{id:HWSConnect.regions[HWSConnect.region].voteid});o(".vote-link",e).forEach(e=>{e.href=t}),e._dailyLootInit||(e._dailyLootInit=1,a('[href="#claim"]',e).addEventListener("click",n.claim))},claim:()=>{HWSConnect.http.get(HWSConnect.getUrlFor("claimReward"),e=>{e.status})},dailyCheck:e=>{n._cooldownTimer||(n._cooldownTimer={});var t=a(".page-hws-vote");if("first"==e||t.matches(".hws-modal,.active,.loading,.page-loading")){if(0{"OK"==e.status&&("2"==e.voted?0{var t=HWSConnect.pages["hws-header"].tzTime(2),a=HWSConnect.pages["hws-header"].tzTime(2),e=e.match(/^(\d+)\s+(\d+):(\d+)$/);return e?(t.getDate()==e[1]&&a.setDate(t.getDate()+1),a.setHours(e[2],e[3],59),a-t):864e5}};HWSConnect.pages["hws-vote"]=n}(),function(){var r=HWSConnect.$,s=HWSConnect.$$,i={pageLoaded:()=>{i.$card=r(".hwsc-tutorial-box"),i.$list=r(".hwsc-tutorial"),r(".btn-close",i.$card).addEventListener("click",i.close),r(".btn-next",i.$card).addEventListener("click",i.next),r(".btn-prev",i.$card).addEventListener("click",i.prev)},onPatreonLevel:()=>{localStorage.hwsTutorialPrompt||setTimeout(()=>{HWSConnect.prompt({title:"HWS Connect v5 Tutorial!",desc:"Would you like to check out a quick tutorial about HWS Connect features?",ok:"YES!",type:"none"},()=>{i.start()},()=>{localStorage.hwsTutorialPrompt="1"})},1e3)},close:()=>{i.$card.classList.remove("running"),s(".hwsc-tutorial-element-highlight").forEach(e=>e.classList.remove("hwsc-tutorial-element-highlight")),i.$card.matches(".hws-modal")&&HWSConnect.toggleModal(i.$card),localStorage.hwsTutorialPrompt="1"},start:e=>{i._importedTutorial||(i._importedTutorial=1,s(".hwsc-tutorial-box",r("#hws-elements").content).forEach(e=>r("hws-section-marker").insertAdjacentElement("beforebegin",e))),H.getPage("hwsc-tutorial"),s(".hws-modal").forEach(e=>HWSConnect.toggleModal(e)),i.showCardByIndex(e||1)},next:()=>{i.showCardByIndex(i._idx+1)},prev:()=>{i.showCardByIndex(i._idx-1)},showCardByIndex:e=>{if((e=Math.max(e,1))>s("[data-rel]",i.$list).length)return i.close();i._idx=e,i.fillCard(e);var t=i.$card._li.getAttribute("data-page");t?(e="#page-"+t,location.hash==e?i.showCard():(location.hash=e,H.getPage(t).addEventListener("dataLoaded",e=>{i.showCard()},{once:!0}),setTimeout(i.showCard,200))):i.showCard()},showCard:()=>{if(i.$card.matches(".hws-modal")&&HWSConnect.toggleModal(i.$card),s(".hwsc-tutorial-element-highlight").forEach(e=>e.classList.remove("hwsc-tutorial-element-highlight")),i.$card._li.matches(":last-child"))return r(".btn-next",i.$card).innerHTML="End",i.$card.removeAttribute("style"),HWSConnect.toggleModal(i.$card),void i.$card.setAttribute("rel-pos","center");r(".btn-next",i.$card).innerHTML="Next";var e=i.$card._li.getAttribute("data-rel"),t=r(e),a=i.$card._li.getAttribute("data-view");t||console.log("FAILED to find rel: ",e),a&&r("section.active").setAttribute("x-view",a),i.$card.classList.add("running"),i.$card.setAttribute("rel-pos","below"),t.scrollIntoView();var o=t.getBoundingClientRect(),n=i.$card.getBoundingClientRect(),e=o.left-(n.width-o.width)/2,a=o.top+o.height;e<0&&(i.$card.setAttribute("rel-pos","rightof"),e=o.left+o.width,a=o.top-(n.height-o.height)/2),i.$card.style.left=e+"px",i.$card.style.top=a+"px",t.classList.add("hwsc-tutorial-element-highlight")},fillCard:e=>{var t=r(".content-wrapper .content",i.$card),a=r("li:nth-child("+e+")",i.$list);if(i.$card._li)for(;t.firstElementChild;)i.$card._li.appendChild(t.firstElementChild);for(;a.firstElementChild;)t.appendChild(a.firstElementChild);i.$card._li=a}};HWSConnect.pages["hwsc-tutorial"]=i}(),function(){var o=HWSConnect.$;HWSConnect.validateInput=e=>{var t,a;e.hasAttribute("required")&&((a="checkbox"==e.type?!e.checked:""==e.value)||"number"!=e.type||(e.hasAttribute("min")&&e.valueparseInt(e.getAttribute("max"))&&(a=1)),"SELECT"!=e.tagName||(t=o(".select-dropdown",e.parentElement))&&(e=t),e.classList[(a=a?["add","remove"]:["remove","add"])[0]]("invalid"),e.classList[a[1]]("valid"))};var e=e=>{e.target.matches(".input-field .validate")&&HWSConnect.validateInput(e.target)};HWSConnect.pages["input-fields"]={domLoaded:()=>{document.body.addEventListener("blur",e),document.body.addEventListener("focusout",e),document.body.addEventListener("change",e),document.body.addEventListener("click",function(e){e.target.matches(".input-field label")&&e.target.previousElementSibling.focus()})}}}(),function(){var o=HWSConnect.$,e=HWSConnect.$$;HWSConnect.dataSources.killCounter=t=>{var a;t.startsWith("killCounter")&&(a={Name:"Na",Enemy_Kills:"EK",Enemy_Death:"D",KillDeathRatio:"KDR"},"killCounter"==t&&(t=t+"-"+HWSConnect.region),e("[data-src=killCounter]").forEach(e=>e.setAttribute("data-src",t)),HWSConnect.dataSourceDefault(t,e=>{if(e)return e.forEach((e,t)=>{HWSConnect.remapKeys(a,e),e.Rank=t+1,e.Rank<4&&(e.Rank=''+e.Rank+'')}),e}))},HWSConnect.pages.killboard={pageLoaded(){var a=o(".page-killboard .killboards .killboard.template");Object.keys(HWSConnect.regions).forEach(e=>{var t=a.cloneNode(!0);t.classList.remove("template"),o("hws-table",t).setAttribute("data-src","killCounter-"+e),o(".region",t).innerHTML=e.toUpperCase(),a.parentNode.appendChild(t)}),a.remove()},init(e){e._killboardInit||(e._killboardInit=1)}}}(),function(){var n=H.$,r=H.$$,s={pageLoaded(e){s._page=e,s._lootTable=n("hws-table",s._page),s._hwsImages=H.getPage("hws-images"),H.getPage("npc-trader-cfg"),n(".add-table",s._page).addEventListener("click",s.addTable),n(".save-tables",s._page).addEventListener("click",s.saveClick),s._lootTable.addEventListener("checkDirty",s.checkDirty),s._lootTable.addEventListener("click",s.tableClick),s._lootTable.addEventListener("input",s.tableChange),s._hwsImages.addEventListener("click",s.hwsImagesClick),H.movable({sel:".page-loot-tables hws-table .iconImg",tgtSel:".page-loot-tables hws-table hws-npc-items .item",start:s.onImgIconMouseDown,stop:s.onImgIconDrop,click:s.onTableImgClick})},hwsImagesClick(e){s.cbHwsImage&&e.target.matches(".img,.img *")&&(s.cbHwsImage(e.target.closest(".img")),H.toggleModal(s._hwsImages))},onTableImgClick(e){var a=e.tgt.closest("tr");s.cbHwsImage=e=>{var t=n("img",e).src;t.substr("rsrc/images/".length);n(".iconImg img",a).src=t,r('hws-npc-items .item[item-id="tbl-'+a._obj.name+'"] img').forEach(e=>e.src=t)},H.setPage("hws-images",1)},tableChange(e){var t,a,o;!e.target.matches(".name")||(a=(t=e.target.closest("tr"))._obj.name)!=(o=e.target.innerText.trim())&&(t._obj.name=o,r('hws-npc-items .item[item-id="tbl-'+a+'"]',s._lootTable).forEach(e=>{e.setAttribute("item-id","tbl-"+o),e.setAttribute("title","Loot table: "+o)}))},onImgIconDrop(e){var t=e.tgt.closest("tr"),a=n(".name",t).innerText.trim(),e=e.overEl;e.setAttribute("item-id","tbl-"+a),e.setAttribute("title","Loot table: "+a),n(".stack-size",e).innerHTML="1",n("img",e).src=n(".iconImg img",t).src},onImgIconMouseDown(e,t){t.placeHolder=e.tgt.cloneNode(!0)},tableClick(e){if(e.target.matches(".name,.stack-count,.stack-size"))return e.target.setAttribute("contenteditable",!0),e.target.focus(),e.preventDefault(),e.stopPropagation(),!1},checkDirty(e){e=n(".stack-count",e.target.previousElementSibling);e._initialized||(e._initialized=1,e.innerHTML=50)},getNewTables(){var o=[];return r("tbody tr",s._lootTable).forEach(e=>{var t=n(".name",e).innerText.trim(),a=[];r("hws-npc-items .item",e).forEach(e=>{a.push({id:(e.getAttribute("item-id")||"").trim(),dropChance:parseInt(n(".stack-count",e).innerText.trim()),amount:n(".stack-size",e).innerText.trim()})}),o.push({name:t,icon:H.baseName(n(".iconImg img",e).src),type:n("td .type",e).value,items:a})}),o},saveClick(e){var t=s.getNewTables();H.http.post("hws-connect/api/tables.php",{saveLootTables:t},e=>{H.alert("Status: "+e.status)})},init(e){},addTable(e){var t=n("table",s._lootTable),a=t._hwsTable.data,o={name:"LootTable-"+(a.length+1),icon:"cat-all.png",iconImg:'',items:[]};H.pages["npc-trader-cfg"].setupHtmlItems(o,o.items),o.itemsHtmlX.classList.add("no-filter"),a.push(o),H.pages["hws-table"].drawRows(t,1)},fixImages(e){var t=[];return e.images.forEach(e=>t.push({name:e,img:''})),t},lootTables(a){if("hwsImages"==a)return HWSConnect.dataSourceDefault(a,s.fixImages);"lootTables"==a&&H.http.get("hws-connect/api/tables.php?lootTables",e=>{var t={};e.lootTables=e.lootTables||[],e.lootTables.forEach(e=>{(e.items||[]).forEach(e=>{e.Item_ID="null"!=e.id&&e.id?e.id:"0",e.Amount=e.amount,e.stackCount=e.dropChance}),e.iconImg='',e.type=e.type||"one",t[e.name]=e,H.pages["npc-trader-cfg"].setupHtmlItems(e,e.items)}),e.lootTables.forEach(e=>{e.itemsHtmlX.classList.add("no-filter"),r("[item-id^=tbl]",e.itemsHtmlX).forEach(e=>{tgt=t[e.getAttribute("item-id").substr(4).trim()],e.setAttribute("title","Loot table: "+tgt.name),n("img",e).src="rsrc/images/"+tgt.icon})}),H.cache[a]={timestamp:Date.now(),data:e.lootTables},H.refreshDataSrcs(a,H.cache[a].data)})}};H.dataSources.lootTables=s.lootTables,H.pages["loot-tables"]=s}(),function(){var r=HWSConnect.$,n=HWSConnect.$$,s=()=>"1"==localStorage.getItem("marketplaceCompactMode"),o={showClose:1,title:"HWS Connect Marketplace Delivery",desc:"Are you sure you want to buy that offer for the given cost?",ok:"Deliver",dismiss:"Deliver to OCD",dismissStyle:"info",dismissRequires:"",focus:0,inputs:{amountPlayer:{label:"Amount of items (min 1)",min:1,value:1},amountOcd:{label:"Amount of items (min 1)",min:1,value:1}}};HWSConnect.dataSources.marketplace=e=>{"marketplace"==e&&(HWSConnect._getData.marketplace||(HWSConnect._getData.marketplace=1,HWSConnect.http.get(HWSConnect.getUrlFor("tradeLogs"),function(e){HWSConnect.cache.marketplace={timestamp:Date.now(),data:[],dataCompact:[]};r(".page-marketplace .market-listings .template.btn");var a={},o={Amount:"amount",DaysTillReduction:"sale_date",Item_ID:"item_id",Key:"id",Price:"unit_price",Seller_ID:"seller_id",Seller_Name:"seller",TimeReduction:"sale_level"};(e.listings||e).forEach(e=>{H.marketplaceV5||H.remapKeys(o,e),e.id=parseInt(e.id),e.unit_price=e.sale_price||e.unit_price,e.total_price=e.unit_price*e.amount,e.icon=''+e.item_name+'',H.marketplaceV5?(t=0Reduced by "+e.sale_perc+"%")+(e.next_sale?t+"in "+e.next_sale+" Day(s) by "+e.next_perc+"%":"")):(e.sale_perc=[25,50,75,75][e.sale_level]+"%",e.sale_status=("0"==e.sale_date?"Reduced by ":"in "+e.sale_date+" Day(s) by ")+e.sale_perc),e.is_seller=HWSConnect.user.id==e.seller_id;var t=EMPYRION_ITEMS[e.item_id]||{Name:e.Item_Name||"ItemID #"+e.item_id,Category:e.ItemType||"Other"};e.item_name=t.Name,e.type=t.Category,a[e.item_id]||(a[e.item_id]=[]),a[e.item_id].push(e),HWSConnect.cache.marketplace.data.push(e)}),Object.values(a).forEach(e=>{e.sort((e,t)=>(e=parseInt(e.unit_price))==(t=parseInt(t.unit_price))?0:e{var a=0;return e.forEach(e=>{e=parseInt(e[t]);a(e=e._moreSellers?Math.max(e.time_posted,n(e._moreSellers,"time_posted")):e.time_posted)==(t=t._moreSellers?Math.max(t.time_posted,n(t._moreSellers,"time_posted")):t.time_posted)?0:ee.target.matches('[href="#edit"]')?HWSConnect.pages.marketplace.editOffer(e.target._obj):e.target.matches('[href="#buy"]')?HWSConnect.pages.marketplace.buyOffer(e.target._obj):void 0))},onHideLock:e=>{"ocdToMarket"==e&&(o.focus=1,delete o.inputs.amountOcd,delete o.dismissStyle,delete o.dismiss,delete o.onShow)},onPatreonLevel:()=>{var e,t;H.marketplaceV5=-1{H.getData("playerInfo",(e,t)=>{HWSConnect.user.patreonLevel{var e=r(".page-number-prompt .p-dismiss");e.classList.add("patreon-disabled"),e.setAttribute("patreon-lock","ocdToMarket")}),HWSConnect.user.patreonLevel{HWSConnect.patreonLockEv(e,"marketFilters","hws-table thead .search *"),HWSConnect.hideLock("marketFilters");var t=e.target.closest(".search");t&&(e=t.closest("hws-table"),t.remove(),e.setAttribute("data-cols",e.getAttribute("data-cols").replace(/[~%]/g,"")))},!0)))})}),HWSConnect.user.patreonLevel!1:(t=(e=r('.page-marketplace [data-src="marketplace"]',r("#hws-elements").content)).getAttribute("data-cols"),e.setAttribute("data-cols",t.replace("%type","~type")))},toggleCompactMode:(e,t)=>{var t=null==t?!s():t,a=r(".page-marketplace"),o=r(".market-listings table",a);HWSConnect.user.patreonLevel<3||(localStorage.setItem("marketplaceCompactMode",t?"1":"0"),a.classList[t?"add":"remove"]("compact-mode"),HWSConnect.cache&&HWSConnect.cache.marketplace&&o&&(t=HWSConnect.cache.marketplace[t?"dataCompact":"data"],t=HWSConnect.pages["hws-table"].drawTable({data:t,cfgEl:o.closest("hws-table")}),o.parentNode.insertBefore(t,o),o.remove(),M.FormSelect.init(n("select",t))))},onSellersToggle:e=>{var t,a;e.target.matches("[hws-button]")||!r(".page-marketplace").classList.contains("compact-mode")||(e=e.target.closest('[data-moreSellers]:not([data-moreSellers="0"])'))&&(a=(t=e).closest("table"),e._expandedSellers?e._obj._moreSellers.forEach(e=>e._row.remove()):e._obj._moreSellers.forEach(e=>{e.moreSellers=0,e._row=e._row||HWSConnect.pages["hws-table"].drawRow(a,e),e._row.classList.add("extra-seller"),t.parentNode.insertBefore(e._row,t.nextSibling),t=e._row}),e._expandedSellers=!e._expandedSellers)},tblFilterChange:e=>{var t;HWSConnect.user.patreonLevel<1||((t=r(".page-marketplace .market-listings th.type input")).value="All"==e.target.value?"":e.target.value,t.triggerChange())},buyOffer:a=>{Object.keys(o.inputs).forEach(e=>o.inputs[e].max=a.amount),HWSConnect.prompt(o,t=>{if(!H.marketplaceV5)return HWSConnect.pdaSend("ti:buy:"+a.id+":"+t.amountPlayer);var e=(a.sale_price||a.unit_price)*t.amountPlayer;HWSConnect.confirm("Confirm Purchase","Buy "+t.amountPlayer+" x "+a.item_name+" for a total of "+e+" credits?",e=>{i.doBuyOffer(a,t.amountPlayer)})},t=>{var e;H.user.patreonLevel"+t.amountOcd+" x "+a.item_name+" for a total of "+e+" credits?",e=>{i.doBuyOffer(a,t.amountOcd,null,"ocd")})):o.inputs.amountOcd&&HWSConnect.pdaSend("ti:buyocd:"+a.id+":"+t.amountOcd))}),o.onShow&&o.onShow()},doBuyOffer(t,a,e,o){document.body.classList.add("page-loading"),o=o||"player",HWSConnect.http.post("hws-connect/api/market.php",{buy:"item",region:HWSConnect.region,target:o,trade:{id:t.id,amount:a,unit_price:t.unit_price,market_fee:e||""}},e=>{if(document.body.classList.remove("page-loading"),"OK"==e.status&&e.message)HWSConnect.alert(e.message),delete HWSConnect.cache.marketplace,delete HWSConnect.cache.playerGameInfo,HWSConnect.getData("marketplace"),HWSConnect.getData("playerInventory");else{if("CONFIRM_FEE"==e.error)return e.confirmAction=i.doBuyOffer,e.target=o,i.confirmFeeCost(t,a,e);HWSConnect.alert("ERROR: "+(e.error||"Unknown response!"))}})},confirmFeeCost(e,t,a,o){o=(o=o||"")+"This action will also cost an extra:
    • "+a.credits_cost+" credits
    • ";0 AND "+a.rp_cost+"RP!"),o+="
    ",HWSConnect.confirm("MARKETPLACE FEES INCURRED!",o,()=>{a.confirmAction(e,t,"AGREED",a.target)})},editOffer(t){HWSConnect.prompt({min:1,title:"HWS Connect Marketplace Delivery",desc:"To what price do you want to change your offer? (you have to be in the Trading zone)",ok:"Change",extra:{desc:"Do you really want to stop your offer? (you have to be in the Trading zone and it cost 10% fee!)",extra1:{title:"Yes",style:"negative",click:()=>{if(!H.marketplaceV5)return H.pdaSend("ti:stop:"+t.id);i.cancelOffer(t,"player")}},extra2:{title:"Yes - to OCD",style:"negative",click:()=>{if(!H.marketplaceV5)return H.pdaSend("ti:stopocd:"+t.id);i.cancelOffer(t,"ocd")}}}},e=>H.marketplaceV5?void i.setNewPrice(t,e):H.pdaSend("ti:edit:"+t.id+":"+e))},cancelOffer(t,a,e){document.body.classList.add("page-loading"),HWSConnect.http.post("hws-connect/api/market.php",{stop:a,region:HWSConnect.region,trade:{id:t.id,market_fee:e}},e=>{if(document.body.classList.remove("page-loading"),"OK"==e.status&&e.message)HWSConnect.alert(e.message),delete HWSConnect.cache.marketplace,delete HWSConnect.cache.playerGameInfo,HWSConnect.getData("marketplace"),HWSConnect.getData("playerInventory");else{if("CONFIRM_FEE"==e.error)return e.confirmAction=i.cancelOffer,i.confirmFeeCost(t,a,e);e.error="WRONG_ZONE"==e.error?"You are not in Marketzone! Cannot stop sale!":e.error,HWSConnect.alert("ERROR: "+(e.error||"Unknown response!"))}})},setNewPrice(t,a,e){document.body.classList.add("page-loading"),HWSConnect.http.post("hws-connect/api/market.php",{edit:"trade",region:HWSConnect.region,trade:{id:t.id,price:a,market_fee:e}},e=>{if(document.body.classList.remove("page-loading"),"OK"==e.status&&e.message)HWSConnect.alert(e.message),delete HWSConnect.cache.marketplace,delete HWSConnect.cache.playerGameInfo,HWSConnect.getData("marketplace"),HWSConnect.getData("playerInventory");else{if("CONFIRM_FEE"==e.error)return e.confirmAction=i.setNewPrice,i.confirmFeeCost(t,a,e,"You are NOT in a Marketzone! ");HWSConnect.alert("ERROR: "+(e.error||"Unknown response!"))}})},hideSellerUi(e){i._el.classList.remove("seller-ui"),i._el.setAttribute("x-view","")},showSellerUi(e){var t=i._el.classList.contains("seller-ui");i._el.classList.add("seller-ui"),i._el.setAttribute("x-view","backpack"),t&&(delete H.cache.playerGameInfo,H.getData("playerInventory"))},toggleSellerUi(e){i._el.classList.toggle("seller-ui"),i._el[i._el.classList.contains("seller-ui")?"setAttribute":"removeAttribute"]("x-view","backpack")},onInventoryClick(e){var a=e.target.closest("[data-item_id]");if(a){if(a.classList.contains("disabled"))return H.alert("Damaged Items Detected","One or more of this item has been damaged. Please remove damaged items from inventory in order to sell non-damaged ones!");n("[data-item_id].selected").forEach(e=>e.classList.remove("selected")),i._sellerForm._obj=a._obj,Object.keys(a._obj).forEach(t=>n("."+t,i._sellerForm).forEach(e=>e.innerHTML=a._obj[t]));var t=0,e=r("input.amount",i._sellerForm);n('[data-item_id="'+a._obj.Item_ID+'"]',i._playerInventory).forEach(e=>{t+=e._obj.Amount,e.classList.add("selected")}),r(".q-max",i._sellerForm).innerHTML=e.value=t,e.setAttribute("max",t),r("input.unit-price",i._sellerForm).focus();e="statsItemSales-"+a._obj.Item_ID;H.getData(e,(e,t)=>{i.drawItemSalesChart(t)}),i.validateForm()}},validateForm(){if(i._sellerForm.classList.remove("validated"),i._validating=!0,!i._sellerForm._obj)return i._validating=!1;if(n("input",i._sellerForm).forEach(e=>e.triggerChange()),r(".invalid",i._sellerForm))return i._validating=!1;var e=parseInt(r("input.amount",i._sellerForm).value)*parseInt(r("input.unit-price",i._sellerForm).value);r(".total-price",i._sellerForm).innerHTML=HWSConnect.formatNumbers(e),i._validating=!1,i._sellerForm.classList.add("validated")},onFormChange(e){i._validating||(i._validateTimeout&&clearTimeout(i._validateTimeout),i._validateTimeout=setTimeout(i.validateForm,100))},clearSaleForm(){i._sellerForm._obj&&(n("input",i._sellerForm).value=0,r(".sell-item",i._sellerForm).removeAttribute("disabled"),i._sellerForm.classList.remove("validated"),Object.keys(i._sellerForm._obj).forEach(e=>n("."+e,i._sellerForm).forEach(e=>e.innerHTML="")),delete i._sellerForm._obj)},confirmSellFeeCost(e,t,a){HWSConnect.confirm("MARKETPLACE FEES INCURRED!","You are NOT in a Marketzone! Posting this item will cost an extra:
    • "+a.credits_cost+" credits
    • AND "+a.rp_cost+"RP!
    ",()=>{i.doSellItems(e,t,"AGREED")})},doSellItems(t,a,e){document.body.classList.add("page-loading"),r(".sell-item",i._sellerForm).setAttribute("disabled",""),HWSConnect.http.post("hws-connect/api/market.php",{sell:"items",region:HWSConnect.region,item:{id:i._sellerForm._obj.Item_ID,amount:t,price:a,market_fee:e}},e=>{if(document.body.classList.remove("page-loading"),r(".sell-item",i._sellerForm).removeAttribute("disabled",""),"OK"==e.status)M.toast({html:"Items have been posted for sale! Good Luck!"});else{if("CONFIRM_FEE"==e.error)return i.confirmSellFeeCost(t,a,e);HWSConnect.alert("ERROR: "+e.error)}i.refreshSellerUI()},e=>{document.body.classList.remove("page-loading"),i.refreshSellerUI(),HWSConnect.alert("Post failed! Please retry...")})},refreshSellerUI(){delete HWSConnect.cache.playerGameInfo,delete HWSConnect.cache.marketplace,i.clearSaleForm(),HWSConnect.getData("playerInventory",()=>{document.body.classList.remove("page-loading")}),HWSConnect.getData("marketplace")},sellItems(e){var t,a,o,n;i._sellerForm._obj&&(t=parseInt(r("input.amount",i._sellerForm).value),a=parseInt(r("input.unit-price",i._sellerForm).value),o=t*a,n=r(".Item_Name",i._sellerForm).innerHTML,HWSConnect.confirm("Sale Confirmation",""+HWSConnect.formatNumbers(t)+" x "+n+" for a total of "+HWSConnect.formatNumbers(o)+"?",()=>{i.doSellItems(t,a)}))},onInventoryRefresh(e){e.target;n('[data-category="Weapons/Items"]:not([data-perish="0"]),[data-category="Commodity"]:not([data-perish="0"]),[data-category="Components"]:not([data-perish="0"])').forEach(e=>{n('[data-item_id="'+e._obj.Item_ID+'"]').forEach(e=>e.classList.add("disabled")),e.classList.add("broken")})},drawItemSalesChart(e){i._statsItemSales.innerHTML="";var t=[],a=[],o=[],n=[];e.statsItemSales.forEach(e=>{t.push(e.day.substr(5)),a.push({meta:"Min",value:e.min}),o.push({meta:"Max",value:e.max}),n.push({meta:"Avg",value:e.avg})}),new Chartist.Line(i._statsItemSales,{labels:t,series:[n,a,o]},{fullWidth:!0,height:250,plugins:[Chartist.plugins.tooltip()]})}};H.dataSources.statsItemSales=t=>{var e;t.startsWith("statsItemSales-")&&(e=t.substr(15),e=H.getUrlFor("statsItemSales",{id:e}),H.http.get(e,e=>H.refreshDataSrcs(t,e)))},HWSConnect.pages.marketplace=i}(),function(){var r=H.$,s=H.$$,i={pageLoaded(){i._page=r(".page-npc-trader-cfg"),i._page.addEventListener("click",i.onClick),s("hws-table.editable",i._page).forEach(e=>{e.addEventListener("blur",i.onBlur,!0),e.addEventListener("dataLoaded",i.onTradersLoaded)}),s(".close,a",r(".pending-traders-alert")).forEach(e=>e.addEventListener("click",i.closeAlert)),i._tplItem=r("hws-table .item.template",H.getPage("npc-trader")),i._tplAdd=r("hws-table .addItem.template",i._page),i._tplDel=r("hws-table .delItem.template",i._page),i._page.addEventListener("keydown",i.onKeyDown,!0),i._page.addEventListener("checkDirty",i.checkDirty)},onTradersLoaded(e){s('[data-recalc="1"]',e.target).forEach(e=>i.checkDirty({target:e}))},onKeyDown(e){if(("Enter"==e.key||"Escape"==e.key||"Tab"==e.key)&&e.target.matches("[contenteditable]"))return i.onBlur(e),e.preventDefault(),e.stopPropagation(),!1},onPatreonLevel(){H.user.is_admin||s(".page-npc-trader-cfg .npc-approval",r("#hws-elements").content).forEach(e=>e.remove())},onBlur(e){var t,a;e.target.matches(".stack-size")&&(t=EMPYRION_ITEMS[e.target.closest(".item").getAttribute("item-id")],a=parseInt(e.target.innerText||0),t.StackSize{var t={Name:r(".Name",o).textContent,Items:i.buildItemsList(o)},a=e=>{M.toast({html:"ERROR: Failed to submit NPC Trader changes!"})};H.http.post("hws-connect/api/npc-trader.php",{region:o._obj.region,accept:o._obj.traderid,info:t},e=>"OK"!=e.status?a():(o.remove(),void M.toast({html:"NPC Trader changes submitted!"})),a)})},rejectChange(t){H.prompt({title:"Confirm NPC Trader change Rejection",desc:"Enter reason for rejection to show Player",type:"text"},e=>{H.http.post("hws-connect/api/npc-trader.php",{region:t._obj.region,reject:t._obj.traderid,msg:e},e=>{"OK"==e.status?(M.toast({html:"NPC Trader change rejected!"}),t.remove()):M.toast({html:"Failed to submit!"})})})},editNpcField(e,t){t=e.target.closest("."+t);t.setAttribute("contenteditable","true"),t.focus(),document.execCommand("selectAll",!1,null)},submitNpc(o){var n=i.buildItemsList(o);if(49{var t={Name:r(".Name",o).innerHTML,Items:n},a=e=>{M.toast({html:"ERROR: Failed to submit NPC Trader changes!"})};H.http.post(H.getUrlFor("npcTraderSubmit",{id:o._obj.ID}),{info:t},e=>"OK"!=e.status?a():(o.setAttribute("data-locked",o._obj.locked=!0),r(".unlocksIn",o).innerHTML=o._obj.unlocksIn="Pending Approval",void M.toast({html:"NPC Trader changes submitted!"})),a)})},checkDirty(e){var e=e.target.closest("tr"),a=i.buildItemsList(e),o=!1;e._obj.Items=e._obj.Items||[],r(".Name",e).innerHTML!=e._obj.Name||a.length!=e._obj.Items.length?o=!0:(e._obj.Items||[]).forEach((e,t)=>{t=a[t];t&&e.Item_ID==t.Item_ID&&e.Amount==t.Amount||(o=!0)}),e.classList[o?"add":"remove"]("dirty"),i.recalcCost(e,a),i.checkLimit(r("hws-npc-items",e))},checkLimit(e){e=e.closest("hws-npc-items");e.classList[49<=s(".item",e).length?"add":"remove"]("limit-reached")},recalcCost(t,e){i.recalcItemsCost(e,e=>{r(".Cost_RP",t).innerHTML=e.cost_rp,r(".Cost_Credit",t).innerHTML=e.cost_credit})},recalcItemsCost(e,t){e=e||[];var a={cost_rp:0,cost_credit:0};H.urls.npcTradersPricing?H.http.post(H.getUrlFor("npcTradersPricing"),{items:e},e=>{a.cost_rp=e.cost_rp,a.cost_credit=e.cost_credit,t(a)}):(e.forEach(e=>a.cost_credit+=H.npcTraders[EMPYRION_ITEMS[e.Item_ID].Category].StackPrice),t(a))},buildItemsList(e){var n=[];return s("hws-npc-items .item",e).forEach((e,t)=>{var a=e.getAttribute("item-id"),o=EMPYRION_ITEMS[a];o&&n.push({Slot:t+1,Item_ID:a,Item_Name:o.Name,Item_Type:o.Category,Amount:r(".stack-size",e).innerText,Ammo:0,Perish:0})}),n},init(e){},pendingTraders(){HWSConnect.dataSourceDefault("pendingTraders",e=>{if(e)return e.pending.forEach(t=>{Object.keys(t.info).forEach(e=>t[e]=t.info[e]),delete t.info,i.setupHtmlItems(t)}),e.pending})},setupHtmlItems(e,t){e.itemsHtmlX=document.createElement("hws-npc-items");var a=e.Items;e.Items=t||e.Items,H.pages["npc-trader"].updateTraderItems(e,i._tplItem,!0,"itemsHtmlX"),e.Items=a;var o=i._tplAdd.cloneNode(!0);o.classList.remove("template"),e.itemsHtmlX.appendChild(o),(o=i._tplDel.cloneNode(!0)).classList.remove("template"),s(".item",e.itemsHtmlX).forEach(e=>e.appendChild(o.cloneNode(!0))),i.checkLimit(e.itemsHtmlX)},dataSource(a){if("pendingTraders"==a)return i.pendingTraders();"player-traders"==a&&H.http.get("hws-connect/api/npc-trader.php?userPending®ion="+H.region,n=>{H.getData("npcTraders",(e,t)=>{var t=t.filter(e=>e.Player_ID==H.user.id),o=new Date;t.forEach(t=>{t.unlocksIn=t.Active?7-Math.floor((o-new Date(t.Last_Modified))/864e5):0,t.locked=0e.traderid==t.ID),a=t.Items;e&&(t.recalc=1,a=e.info.Items,e.rejected_msg?t.unlocksIn="Editable
    Rejected: "+e.rejected_msg:(t.locked=!0,t.unlocksIn="Pending Approval")),i.setupHtmlItems(t,a)}),HWSConnect.cache[a]={data:t,timestamp:Date.now()},HWSConnect.refreshDataSrcs(a,HWSConnect.cache[a].data)})})},showPendingTradersAlert(){"#page-npc-trader-cfg"!=location.hash&&r("body").classList.add("pending-traders")},closeAlert(){r("body").classList.remove("pending-traders")}};H.pages["npc-trader-cfg"]=i,H.showPendingTradersAlert=i.showPendingTradersAlert,H.dataSources.playerTraders=i.dataSource}(),function(){var s=HWSConnect.$,t=HWSConnect.$$,n={_require:"number-prompt,hws-pda,hws-guide,hws-table",init:function(e){e._hwsNpcTraderInit||(e._hwsNpcTraderInit=1,s("hws-table",e).addEventListener("click",e=>{if("#buy"==e.target.getAttribute("href"))return n.buyPackage(e.target._obj)}))},calcNfo(e,t){var a=0,o=0,n={};return(e||[]).forEach(e=>{var t=EMPYRION_ITEMS[e.Item_ID];n[e.Item_ID]||(n[e.Item_ID]=0),n[e.Item_ID]+=e.Amount,o+=e.Amount*parseFloat(t.Volume)}),Object.keys(n).forEach(e=>{EMPYRION_ITEMS[e].StackSize||console.log("No stack size for: ",EMPYRION_ITEMS[e]),a+=Math.ceil(n[e]/(EMPYRION_ITEMS[e].StackSize||5e4))}),{slots:a,volume:parseInt(o*t)}},buyPackage:o=>{HWSConnect.prompt({showClose:1,title:"HWS Connect NPC Trader Delivery",desc:"Are you sure you want to buy that package for the given cost?",label:"How many packages you want to buy (min 1)",min:1,value:1,ok:"Yes"},t=>{var a={npcTraderZone:o.ID,npcTrader:t},e=n.calcNfo(o.Items,t);H.confirm("Inventory Space/Volume Alert","ACHTUNG! Please make sure you have at least "+e.slots+" slots and "+e.volume+" volume capacity! Go ahead with purchase?",e=>{a["npcTrader"+HWSConnect.region.toUpperCase()]="",HWSConnect.pdaSend("npcTrader:"+o.ID+"#"+t,null,(e,t)=>{e?"OK"!=t.status?H.alert("ERROR: "+("COOLDOWN"==t.error?"You need to wait 60 seconds between NPC Trader purchase!":t.error)):H.alert("Items should be arriving in-game any second now!"):H.alert("Failed to send command!")})})})},parse:function(e){e=HWSConnect.parser.parseFromString(e,"text/xml");HWSConnect.cache.npcTraders={timestamp:Date.now(),data:[]},t("ZO",e).forEach(function(e){var t={items:[]};Object.values(e.attributes).forEach(function(e){t[e.nodeName]=e.value}),t.Cost_RP=t.Cost_RP||0,parseInt(t.Cost_RP)<1||"true"!=t.Active||HWSConnect.cache.npcTraders.data.push(t)}),n.refreshData()},refreshData:()=>{if(!HWSConnect.cache.patronsList)return HWSConnect.getData("patronsList",n.refreshData);var a=((HWSConnect.cache.patronsList||{data:[]}).data||[]).map(e=>e.personaname);HWSConnect.cache.npcTraders.data.sort((e,t)=>(e.hasOwnProperty("is_patreon")||(e.is_patreon=-1parseInt(t.ID)?1:-1:e.is_patreon?-1:1));var t=s("hws-table .item.template",H.getPage("npc-trader"));HWSConnect.cache.npcTraders.data.forEach(e=>{e.itemsHtml=document.createElement("hws-npc-items"),e.Active&&n.updateTraderItems(e,t)}),HWSConnect.refreshDataSrcs("npcTraders",HWSConnect.cache.npcTraders.data)},updateTraderItems:(a,o,n,r)=>{r=r||"itemsHtml",HWSConnect.emptyContainer(a[r]),(a.Items||[]).forEach(e=>{var t=s('[item-id="'+e.Item_ID+'"]',a[r]);!t||n||"1"!=localStorage["npcTrader.stackItems"]?((t=o.cloneNode(!0)).classList.remove("template"),a[r].appendChild(t),t.setAttribute("item-id",e.Item_ID),t.setAttribute("title",(EMPYRION_ITEMS[e.Item_ID]||{}).Name+" ("+e.Item_ID+")"),s(".image",t).src=HWSConnect.getUrlFor("itemIcon",{id:e.Item_ID}),s(".count",t).innerHTML=e.Amount,s(".stack-count",t).innerHTML=e.stackCount||1,s(".stack-size",t).innerHTML=e.Amount,t.setAttribute("item-stacks",1),t._obj={total:parseInt(e.Amount),stacks:1}):(t._obj.stacks++,t._obj.total+=parseInt(e.Amount),t.setAttribute("item-stacks",t._obj.stacks),s(".stack-count",t).innerHTML=t._obj.stacks,s(".count",t).innerHTML=t._obj.total)})},redrawPage:()=>{var t,e=H.getPage("npc-trader"),a=s("hws-table table",e);a&&a._hwsTable&&(t=s("hws-table .item.template",e),a._hwsTable.data.forEach(e=>n.updateTraderItems(e,t)),HWSConnect.getData("npcTraders"))}};HWSConnect.pages["npc-trader"]=n,HWSConnect.dataSources.npcTraders=function(e){"npcTraders"==e&&HWSConnect.dataSourceDefault(e,e=>{if(e){var t=[];return e.forEach(e=>{(parseInt(e.Cost_RP)<1||1!=e.Active)&&(e.Active=!1),t.push(e)}),t}},n.refreshData)}}(),function(){var l=HWSConnect.$,i=(HWSConnect.$$,{domLoaded:()=>{var e=H.getPage("number-prompt");e._innerHTML=e.innerHTML},init:e=>{e._hwsInputFieldsInit||(e._hwsInputFieldsInit=1,l(".page-number-prompt"),e.addEventListener("keydown",e=>"Enter"==e.key?l(".page-number-prompt .p-ok").click():"Escape"==e.key?l(".page-number-prompt .p-dismiss").click():void 0))},initFrom:(e,t,a)=>{var o=H.getPage("number-prompt");o.innerHTML=o._innerHTML,o.classList.contains("hws-modal")&&HWSConnect.toggleModal(o);var n,r,s=l(".input-fields",o);"showClose"in(e=e||{})||(e.showClose=1),o.classList[e.showClose?"add":"remove"]("show-close"),l(".p-title",o).innerHTML=e.title||"Title",l(".p-desc",o).innerHTML=e.desc||"",l(".p-small",o).innerHTML=e.descSmall||"";for(;s.firstElementChild.nextElementSibling;)s.firstElementChild.nextElementSibling.remove();return[n,r]=i.setupInputs(o,e),i.setupOkBtn(o,e,n,t),i.setupDismissBtn(o,e,n,a),i.setupExtraRow(o,e,n),HWSConnect.setPage("number-prompt",1),e.hasOwnProperty("value")&&(n.value=e.value),e.focus&&r&&setTimeout(()=>{r.focus(),r.select()},100),o},setupInputs:(e,n)=>{var r=l(".p-input",e),s=r;n.hasOwnProperty("focus")||(n.focus=1),n.focus||(s=null);var t=l(".input-fields",e);if("none"==n.type)return t.classList.add("hidden"),[];if(t.classList.remove("hidden"),n.inputs){var i=l(".input-field",e),c=[];return r.value="",r.classList.remove("valid"),r.classList.remove("invalid"),Object.keys(n.inputs).forEach((e,t)=>{var a,o=n.inputs[e];t?(a=i.cloneNode(!0),i.parentNode.appendChild(a)):a=i,(r=l(".p-input",a)).value="",l(".p-label",a).innerHTML=o.label||"",r=l(".p-input",a),c.push(r),r.type=o.type||"number",o.hasOwnProperty("min")?r.setAttribute("min",o.min):r.removeAttribute("min"),o.hasOwnProperty("max")?r.setAttribute("max",o.max):r.removeAttribute("max"),r.setAttribute("name",e),o.hasOwnProperty("value")&&(r.value=o.value,(e=document.createEvent("Event")).initEvent("change",!0,!0),r.dispatchEvent(e)),o.focus&&(s=r)}),[r=c,s]}return l(".p-label",e).innerHTML=n.label||"",r.type=n.type||"number",n.hasOwnProperty("min")?r.setAttribute("min",n.min):r.removeAttribute("min"),n.hasOwnProperty("max")?r.setAttribute("max",n.max):r.removeAttribute("max"),[r,s]},getInputsVal:(a,e,o)=>{if("none"==a.type)return"";var t=a.inputs?e:[e],n=0,r={};return o=o?o.split(","):[],t.forEach(e=>{var t;o.length&&e.name!=o||((t=document.createEvent("Event")).initEvent("change",!0,!0),e.dispatchEvent(t),e.matches(".invalid")||a.hasOwnProperty("validate")&&0==a.validate(e)?n=1:r[e.getAttribute("name")]=e.value)}),n?null:a.inputs?r:e.value},setupOkBtn:(t,a,o,n)=>{var e=l(".p-ok",t);"ok"in a&&""==a.ok?e.classList.add("hidden"):(e.classList.remove("hidden"),e.innerHTML=a.ok||"OK",e.setAttribute("hws-button",a.okStyle||"info"),e.onclick=()=>{var e=i.getInputsVal(a,o,a.okRequires);if(null===e)return!1;HWSConnect.toggleModal(t),n(e,t)})},setupDismissBtn:(t,a,o,n)=>{var e=l(".p-dismiss",t);"dismiss"in a&&""==a.dismiss?e.classList.add("hidden"):(e.classList.remove("hidden"),e.innerHTML=a.dismiss||"Dismiss",e.setAttribute("hws-button",a.dismissStyle||"invert"),e.onclick=()=>{if(n){var e=i.getInputsVal(a,o,a.dismissRequires);if(null===e)return!1;HWSConnect.toggleModal(t),n(e,t)}else HWSConnect.toggleModal(t)})},setupExtraRow:(t,a,o)=>{var e,n;l(".prompt-extra",t).classList[a.extra?"remove":"add"]("hidden"),a.extra&&(l(".p-desc-extra",t).innerHTML=a.extra.desc||"",e=l(".p-extra1",t),n=l(".p-extra2",t),e.innerHTML=a.extra.extra1.title||"",e.setAttribute("hws-button",a.extra.extra1.style||"invert"),e.onclick=()=>{var e=i.getInputsVal(a,o,a.extra.extra1.requires||"__none__");if(null===e)return!1;a.extra.extra1.click(e,t),HWSConnect.toggleModal(t)},n.innerHTML=a.extra.extra2.title||"",n.setAttribute("hws-button",a.extra.extra2.style||"invert"),n.onclick=()=>{var e=i.getInputsVal(a,o,a.extra.extra2.requires||"__none__");if(null===e)return!1;a.extra.extra2.click(e,t),HWSConnect.toggleModal(t)})}});HWSConnect.pages["number-prompt"]=i,HWSConnect.prompt=(e,t,a)=>i.initFrom(e,t,a),HWSConnect.alert=(e,t)=>i.initFrom({title:e,desc:t,type:"none",ok:""}),HWSConnect.confirm=(e,t,a)=>i.initFrom({title:e,desc:t,type:"none"},a)}(),function(){var a=HWSConnect.$,o=(HWSConnect.$$,{4297:"iron",4301:"copper",4298:"cobalt",4332:"sathium",4299:"silicon",4317:"erestrum",4318:"zascosium",4296:"magnesium",4302:"promithium",4300:"neodymium",4345:"gold",4341:"bc",4359:"ti",4358:"ib",4365:"pl",4362:"al",8041:"ca"}),s={4296:{name:"Magnesium Ore",abr:"ma",idx:4},4297:{name:"Iron Ore",abr:"ir",idx:12},4298:{name:"Cobalt Ore",abr:"cob",idx:9},4299:{name:"Silicon Ore",abr:"si",idx:11},4300:{name:"Neodymium Ore",abr:"neo",idx:6},4301:{name:"Copper Ore",abr:"cop",idx:10},4302:{name:"Promethium Ore",abr:"pr",idx:8},4317:{name:"Erestrum Ore",abr:"ere",idx:3},4318:{name:"Zascosium Ore",abr:"zas",idx:2},4332:{name:"Sathium Ore",abr:"sa",idx:7},4341:{name:"Pentaxid",abr:"bc",idx:5},4345:{name:"Gold Ore",abr:"go",idx:1},4359:{name:"Titanium Ore",abr:"ti",idx:13},4358:{name:"Ice Blocks",abr:"ib",idx:14},4365:{name:"Platinum Ore",abr:"pl",idx:15},4362:{name:"Aluminum Ore",abr:"al",idx:16}},i={4296:{name:"Magnesium Ore",abr:"ma",idx:4},4297:{name:"Iron Ore",abr:"ir",idx:12},4298:{name:"Cobalt Ore",abr:"cob",idx:9},4299:{name:"Silicon Ore",abr:"si",idx:11},4300:{name:"Neodymium Ore",abr:"neo",idx:6},4301:{name:"Copper Ore",abr:"cop",idx:10},4302:{name:"Promethium Ore",abr:"pr",idx:8},4317:{name:"Erestrum Ore",abr:"ere",idx:3},4318:{name:"Zascosium Ore",abr:"zas",idx:2},4332:{name:"Sathium Ore",abr:"sa",idx:7},4341:{name:"Pentaxid",abr:"bc",idx:5},4345:{name:"Gold Ore",abr:"go",idx:1},4359:{name:"Titanium Ore",abr:"ti",idx:13},4358:{name:"Ice Blocks",abr:"ib",idx:14},4365:{name:"Platinum Ore",abr:"pl",idx:15},4362:{name:"Aluminum Ore",abr:"al",idx:16},8041:{name:"Carbon Ore",abr:"ca",idx:17}},t={init:function(e){e._hwsOamInit||(e._hwsOamInit=1,a("hws-table",e).addEventListener("click",e=>e.target.matches('[href="#fuel"]:not([disabled])')?t.startRefuel(e.target):e.target.matches('[href="#get"]:not([disabled])')?t.startGet(e.target):e.target.matches(".levels .sell-level")?t.sellLevel(e.target):e.target.matches(".levels .buy-level")?t.buyLevel(e.target):void 0))},sellLevel:e=>{e=e.closest("[data-slot]"),HWSConnect.prompt({title:"HWS Connect OAM SELL Level",desc:"Are you sure you want to SELL & downgrade OAM "+e._obj.name+" to level "+(parseInt(e._obj.level)-1)+"?",ok:"SELL",type:"none"},()=>{HWSConnect.pdaSend("am:sell:"+e._obj.slot),t.updateMiningLevel(e,-1)})},buyLevel:e=>{e=e.closest("[data-slot]"),HWSConnect.prompt({title:"HWS Connect OAM BUY Level",desc:"Are you sure you want to BUY OAM "+e._obj.name+" level "+(parseInt(e._obj.level)+1)+"?",ok:"BUY",type:"none"},()=>{HWSConnect.pdaSend("am:buy:"+e._obj.slot),t.updateMiningLevel(e,1)})},updateMiningLevel(e,t){e._obj.level=e._obj.Mining_Level=e._obj.level+t,e.setAttribute("data-level",e._obj.level),a(".levels .level",e).innerHTML=e._obj.level},startRefuel:t=>{HWSConnect.prompt({title:"HWS Connect OAM Fuel Delivery",label:"Amount of cores (min 1)",ok:"Fuel "+t._obj.name,min:1},e=>{HWSConnect.pdaSend("am:fuel:"+o[t._obj.id]+":"+e)})},startGet:t=>{HWSConnect.prompt({title:"HWS Connect OAM Delivery",desc:"Are you sure you want to get that OAM slot delivered? (the whole slot as default. Set a specific amount otherwise)",label:"Amount of "+t._obj.name+" (min 1, max "+t._obj.amount+")",ok:"Deliver",min:1,max:t._obj.amount},e=>{HWSConnect.pdaSend("am:get:"+o[t._obj.id]+"*"+e)})}};HWSConnect.pages.oam=t,HWSConnect.dataSources.oam=e=>{var t,r;"autoMiner"==e&&(t={Mining_Item:"id",Mining_Level:"level",Amount:"amount",Fuel:"fuel"},r=e=>{if(e)return HWSConnect.remapKeys(t,e),"re"===HWSConnect.region||"rn"===HWSConnect.region?(e.name=s[e.id].name,e.icon=''+e.name+'',e.amountMax=HWSConnect.autoMinerLimits[e.level-1]||0,e.slot=s[e.id].abr):(e.name=i[e.id].name,e.icon=''+e.name+'',e.amountMax=HWSConnect.autoMinerLimits[e.level-1]||0,e.slot=i[e.id].abr),e.tooltip=e.name,HWSConnect.pages.dashboard.computePercentages(e,"amount"),e},HWSConnect.dataSourceDefault(e,n=>(n.forEach(e=>r(e)),"re"===HWSConnect.region||"rn"===HWSConnect.region?Object.keys(s).forEach((t,e)=>{var a=s[t],o=n.find(e=>e.id==t);o||(o=r({id:t,level:0,amount:0,fuel:0}),n.push(o)),o._index=a.idx||0}):Object.keys(i).forEach((t,e)=>{var a=i[t],o=n.find(e=>e.id==t);o||(o=r({id:t,level:0,amount:0,fuel:0}),n.push(o)),o._index=a.idx||0}),n.sort((e,t)=>e._index{s._warpTemplate=n(".page-ocd .ocd-table").cloneNode(!0),HWSConnect.eventListener("dataLoaded",n(".page-ocd hws-table[data-src]"),"dataLoaded",s.dataLoaded),n(".exp-reset-ocd").addEventListener("click",e=>{HWSConnect.prompt({title:"Reset OCD Items?",desc:"Are you sure?",type:"none",ok:"Yes",dismiss:"NO!"},e=>{console.log("Resettting OCD!"),n(".page-ocd").classList.add("page-loading"),HWSConnect.http.get("hws-connect/api/ocd.php?exp-reset",e=>{delete HWSConnect.cache.cargoDrone,HWSConnect.getData("cargoDrone")})})}),n(".page-ocd").addEventListener("click",e=>{e=e.target.closest('.ocd-table-warp .warped[data-slot]:not([data-id="0"])');e&&s.warpCancel(e)}),H.movable({sel:'[x-view=warp] .ocd-table [data-slot]:not([data-id="0"])',tgtSel:'[x-view=warp] .ocd-table-warp [data-slot][data-id="0"]',start:s.onSlotMouseDown,over:s.onMouseMove,stop:s.onMouseUp,click:s.onMouseClick,placeHolder:H.getItemDragPlaceholder()})},onPatreonLevel:()=>{var e;HWSConnect.user.patreonLevel{HWSConnect.patreonLockEv(e,"ocdFilters","hws-table thead .search *"),HWSConnect.hideLock("ocdFilters");var t=e.target.closest(".search");t&&(e=t.closest("hws-table"),t.remove(),e.setAttribute("data-cols",e.getAttribute("data-cols").replace(/[~%]/g,"")))},!0)),HWSConnect.user.patreonLevel{}),HWSConnect.user.patreonLevel>=HWSConnect.patreonLocks.ocdWarp.level?(n(".page-ocd .beam-me-up-scotty",n("#hws-elements").content).addEventListener("click",s.startWarp),n('.page-ocd [href="#view-warp"]',n("#hws-elements").content).addEventListener("click",s.initWarpIfNeeded)):(s._warpTemplate="disabled","warp"==localStorage["view-page-ocd"]&&n(".page-ocd",n("#hws-elements").content).setAttribute("x-view",localStorage["view-page-ocd"]="table"))},init:function(e){e._ocdInit||s.pageLoaded(),a=n(".page-ocd"),n(".ocd-table",a),t=n(".backpack .slots",a),n(".slot.template",t),s._listSelect=n(".ocd-helper-saved select",a),s.initWarpIfNeeded(),HWSConnect.user.patreonLevele.target.matches('[href="#get"]')?HWSConnect.pages.ocd.cmdGet(e.target._obj):e.target.matches('[href="#sell"]')?HWSConnect.pages.ocd.cmdSell(e.target._obj):void 0),n('[href="#export-csv"]',e).addEventListener("click",function(){var t="Slot,Item Type,Item Name,Item Amount\r\n";HWSConnect.cache.cargoDrone.data.forEach(function(e){t+=[e.slot,e.type,e.name,e.amount].join(",")+"\r\n"}),HWSConnect.downloadFile("HWS-Connect-OCD-export-"+Date.now()+".xls",t,"application/vnd.ms-excel")}))},onSlotMouseDown:e=>{if(e.tgt.classList.contains("warped"))return e.cancelMove=!0;s._wrapper=e.target.closest(".backpack-wrapper")},onMouseMove:e=>{s._wrapper.classList.add("dragging-item")},onMouseClick:e=>{s.warpItem(e.tgt)},onMouseUp:e=>{s._wrapper.classList.remove("dragging-item");var t=e.tgt,e=e.overEl==e.placeHolder?null:e.overEl;e&&s.warpItem(t,e)},warpCancel:e=>{e.classList.remove("warped"),e._warpedFrom.classList.remove("warped"),HWSConnect.pages["hws-backpack"].clearSlot(e),s.updateWarpCount()},warpItem:(e,t)=>(t=t||n('.page-ocd .ocd-table-warp [data-slot][data-id="0"]:not(.warped)'))?e._amount>s._otherOcdLimits[e._obj.itemRarity]?M.toast({html:"Stack size exceeds destination OCD allowance, split before warping!"}):(HWSConnect.pages["hws-backpack"].copyItemInfo(e,t),n(".amount",t).innerHTML=n(".amount",e).innerHTML,t._amount=e._amount,t._warpedFrom=e,t.classList.add("warped"),e.classList.add("warped"),void s.updateWarpCount()):M.toast({html:"No Empty slots?"}),startWarp:()=>{HWSConnect.prompt({title:"OCD Warp Initilizing...",desc:"Are you sure you wish to start the WARP process? Once started it cannot be stopped!
    This process takes from 2 to 4minutes to complete!",type:"none",ok:"START WARP!"},()=>{var t={from:{region:HWSConnect.region},to:{region:s._otherRegion},slots:[]};r(".page-ocd .ocd-table-warp .warped").forEach(e=>{t.slots.push({from:e._warpedFrom.getAttribute("data-slot"),to:e.getAttribute("data-slot")})}),HWSConnect.http.post(HWSConnect.getUrlFor("ocdWarp"),t,e=>{var t;"ERR"==e.status&&(t=H.getPage("ocd-warp-error"),n(".error-msg",t).innerHTML=e.error,HWSConnect.toggleModal(t)),s._warpResult=e.status,s._warpStartTime=0}),s.showWarpProgress()})},showWarpProgress:()=>{HWSConnect.toggleModal(H.getPage("ocd-warp-transfer")),s._warpStartTime=Date.now(),s.updateWarpProgress()},updateWarpProgress:()=>{var e=100*(Date.now()-s._warpStartTime)/24e4,t=H.getPage("ocd-warp-transfer");if(n(".progress .determinate",t).style.width=e+"%",e<100)return setTimeout(s.updateWarpProgress,1e3);HWSConnect.toggleModal(t),s._warpResult&&HWSConnect.setPage("ocd")},updateWarpCount:()=>{var e=r(".page-ocd .ocd-table-warp [data-slot].warped").length;n(".page-ocd .beam-me-up-scotty")[e?"removeAttribute":"setAttribute"]("disabled","")},initWarpIfNeeded:e=>{!e&&"warp"!=n(".page-ocd").getAttribute("x-view")||"disabled"==s._warpTemplate||(s._warpTemplate&&(e=n(".page-ocd .ocd-table"),s._warpTemplate.setAttribute("data-src","cargoDroneWarp"),s._warpTemplate.classList.replace("ocd-table","ocd-table-warp"),s._warpTemplate.setAttribute("data-cols",e.getAttribute("data-cols")),e.insertAdjacentElement("afterend",s._warpTemplate),delete s._warpTemplate),HWSConnect.getData("cargoDroneWarp"))},dataLoaded:e=>{if(!HWSConnect.cache.marketplace||!HWSConnect.cache.marketplace.data)return HWSConnect.getData("marketplace",s.dataLoaded);var o={};HWSConnect.cache.marketplace.data.forEach(e=>{var t=parseInt(e.unit_price),a=o[e.item_id];a?(a.min>t&&(a.min=t),a.max{var t=(t=o[e.id])||{min:0,max:0};e.unitPriceMin=HWSConnect.formatNumbers(t.min),e.unitPriceMax=HWSConnect.formatNumbers(t.max),e.unitPriceMinMax=e.unitPriceMin+"
    "+e.unitPriceMax,e.totalPriceMin=HWSConnect.formatNumbers(t.min*e.amount),e.totalPriceMax=HWSConnect.formatNumbers(t.max*e.amount),e.totalPriceMinMax=e.totalPriceMin+"
    "+e.totalPriceMax,e.tooltip&&(e.tooltip+="\nMin: "+e.unitPriceMin+" / "+e.totalPriceMin+"\nMax: "+e.unitPriceMax+" / "+e.totalPriceMax,e.tooltip=e.tooltip.replace(/ /g," ")),HWSConnect.pages["hws-table"].drawRow(a,e,e._tr),e.tooltip&&e._tr&&(e._tr.title=e.tooltip)})},cmdGet:t=>{HWSConnect.prompt({title:"HWS Connect OCD Delivery",desc:"Are you sure you want to get that OCD slot delivered? (the whole slot as default. Set a specific amount otherwise)",ok:"Deliver",label:"Amount of "+t.name+" (min 1, max "+t.amount+")",value:t.amount,min:1,max:t.amount},e=>{HWSConnect.pdaSend("ocd:get:"+t.slot+"*"+e)})},cmdSell:t=>{HWSConnect.user.patreonLevel HWS Marketplace",desc:"Make use of your Patron reward and sell items straight out of your OCD to the HWS Marketplace.\nWARNING: if you are not in a Marketzone you have to pay a lot of taxes!",ok:"Sell",inputs:{price:{label:"Price of item(s)"},amount:{label:"Amount of item(s) (optional - if empty, you sell the whole slot)",value:t.amount,min:1,max:t.amount}}},e=>{if(!H.marketplaceV5)return HWSConnect.pdaSend("ti:sellocd:"+t.slot+":"+e.price+":"+e.amount);e={region:H.region,item:{id:t.slot,amount:e.amount,price:e.price},source:"ocd"};s.doSellItems(e)})},doSellItems(t){document.body.classList.add("page-loading"),H.http.post("hws-connect/api/market.php?sell",t,e=>{if(document.body.classList.remove("page-loading"),"OK"==e.status)M.toast({html:"Items have been posted for sale! Good Luck!"});else{if("CONFIRM_FEE"==e.error)return s.confirmSellFeeCost(t,e);HWSConnect.alert("ERROR: "+e.error)}s.updateItemCount(t)})},updateItemCount(e){var t=n('.page-ocd .ocd-table tr[data-slot="'+e.item.id+'"]');t._amount-=e.item.amount,t._amount<0&&(t._amount=0),n(".amount",t).innerHTML=H.formatNumbers(t._amount),t._obj.amount=t._obj.Amount=t._amount},confirmSellFeeCost(e,t){HWSConnect.confirm("MARKETPLACE FEES INCURRED!","You are NOT in a Marketzone! Posting this item will cost an extra:
    • "+t.credits_cost+" credits
    • AND "+t.rp_cost+"RP!
    ",()=>{e.item.market_fee="AGREED",s.doSellItems(e)})},fixSlots(e){for(var t=HWSConnect.getOCDLimits(HWSConnect.cache.playerInfo.data),a=3,n={Item_ID:"id",Slot:"slot",Item_Name:"name",Amount:"amount",ItemType:"type",ItemCategory:"category"},r=1;r<=t[4];r++)o=e.find(e=>e.Slot==r),o||e.push(o={Slot:r,Item_ID:0,Item_Name:"",ItemType:"Other",Amount:0,ItemCategory:null}),H.remapKeys(n,o),a=3,HWSConnect.ocdCategories.forEach((e,t)=>{-1';return e.sort((e,t)=>e.Slot{"cargoDrone"==t&&(HWSConnect.cache.playerInfo?HWSConnect.dataSourceDefault(t,s.fixSlots):HWSConnect.getData("playerInfo",e=>{HWSConnect.dataSources.ocd(t)}))},HWSConnect.dataSources.cargoDroneWarp=e=>{"cargoDroneWarp"==e&&(s._otherRegion=H.otherRegion(),n(".page-ocd .server-title.from").innerHTML=HWSConnect.region.toUpperCase(),n(".page-ocd .server-title.to").innerHTML=s._otherRegion.toUpperCase(),HWSConnect._getData.cargoDroneWarp||(HWSConnect._getData.cargoDroneWarp=1,HWSConnect.http.get(HWSConnect.getUrlFor("playerInfo",{region:s._otherRegion}),function(e){s._otherOcdLimits=HWSConnect.getOCDLimits(e),HWSConnect.http.get(HWSConnect.getUrlFor("cargoDrone",{region:s._otherRegion}),function(e){HWSConnect.cache.cargoDroneWarp={timestamp:Date.now(),data:s.fixSlots(e)},HWSConnect.refreshDataSrcs("cargoDroneWarp",HWSConnect.cache.cargoDroneWarp.data),HWSConnect._getData.cargoDroneWarp=0})})))},HWSConnect.pages.ocd=s}(),function(){var t=HWSConnect.$,a=(HWSConnect.$$,{pageLoaded(){},init(e){a._page=t(".page-orbital-factory")},upgrade(){var e,t;a._info&&(e=a._info.level+1,(t=HWSConnect.factory.levels[e-1])&&HWSConnect.confirm("Are you sure you want to upgrade to level "+e+"?","Credits Cost: "+t.credits+"
    RP Cost: "+t.rp+"
    ",()=>{console.log("should upgrade")}))}});HWSConnect.pages["orbital-factory"]=a,HWSConnect.dataSources.factory=e=>{e.startsWith("factoryInfo")&&HWSConnect.dataSourceDefault(e,e=>(e.factory.level=parseInt(e.factory.level),a._page.setAttribute("x-level",e.factory.level),console.log("factory data: ",e.factory),a._info=e.factory))}}(),function(){var a=HWSConnect.$,e=(HWSConnect.$$,{init:e=>{if(HWSConnect.user.patreonLevel<1)return location.hash="#page-dashboard";for(var t=HWSConnect.user.patreonLevel+1;t<8;t++)a('hws-table[data-src="patreonTier'+t+'"]',e).remove()}});HWSConnect.dataSources.patreonTiers=e=>{e.match(/^patreonTier(\d+)$/)&&(HWSConnect._getData.patreonTiers||(HWSConnect._getData.patreonTiers=1,HWSConnect.http.get(HWSConnect.getUrlFor("patreonTiers"),function(e){HWSConnect.cache.patreonTiers={timestamp:Date.now(),data:e.tiers},HWSConnect._getData.patreonTiers=0,e.tiers.forEach(e=>{e.title=HWSConnect.patreonTitles[e.level],e.image=''+e.title+' Image',HWSConnect.refreshDataSrcs("patreonTier"+e.level,e)}),HWSConnect.refreshDataSrcs("patreonTiers",HWSConnect.cache.patreonTiers.data)})))},HWSConnect.pages["patreon-welcome"]=e}(),function(){var n=H.$,a=(H.$$,{pageLoaded(){a._page=n(".page-pda-texts"),a._hwsTable=n("hws-table.pda-texts",a._page),H.user.is_admin?n(".pda-upload input[type=file]",a._page).addEventListener("change",a.onPdaUpload):n(".pda-file-management",a._page).remove(),a._hwsTable.addEventListener("click",a.onTableClick),a._hwsTable.addEventListener("input",a.onTextChange),a.changeTimeouts={}},init(e){H.http.get("hws-connect/api/pda.php?texts",e=>{a._hwsTable.setAttribute("data-cols",e.langs),a._hwsTable.setAttribute("data-src","pdaTexts"),H.refreshDataSrcs("pdaTexts",e.texts||[])})},onPdaUpload(e){e.target.closest("form").submit(),setTimeout(()=>{e.target.value=""},500)},onTableClick(e){e.target.matches("table tr td:not(:first-child)")&&(e.target.setAttribute("contenteditable","true"),e.target.focus())},onTextChange(e){var o=e.target.closest("tr"),t=o._obj;a.changeTimeouts[t.id]&&clearTimeout(a.changeTimeouts[t.id]),a.changeTimeouts[t.id]=setTimeout(()=>{var a={id:t.id};Object.keys(t).forEach(e=>{var t;"english"==e||(t=n("."+e,o))&&(a[e]=t.innerText)}),H.http.post("hws-connect/api/pda.php?updateText",{data:a},e=>{})},1e3)}});H.pages["pda-texts"]=a}(),function(){var c=H.$,t=H.$$,l={pageLoaded(e){l._page=e,(H.urls.buyStimpack?c(".player-info-table",l._page):c(".player-stats",l._page)).remove(),l._sortBtn=c(".sort-btn",l._page),l._sortBtn.addEventListener("click",l.sortClick),l._inventory=c(".player-inventory",l._page),l._stats=c(".player-stats",l._page),l._statsSel=c(".page-stimpacks-selection",c("#hws-elements").content);e=c(".backpack-savelist-wapper",l._page);l._listSelect=c("select",e),c('[href="#new"]',e).addEventListener("click",l.saveNewList),c('[href="#update"]',e).addEventListener("click",l.updateList),c('[href="#delete"]',e).addEventListener("click",l.deleteList),l._stats&&(l._stats.addEventListener("click",l.onStatsClick),l._statsSel.addEventListener("click",l.onBuyStimpackClick)),e.addEventListener("click",l.loadList,!0),c(".options-wrapper",l._page).addEventListener("change",l.onSortOptChange);e=H.getItemDragPlaceholder();e.setAttribute("data-item_id","0"),H.movable({sel:".page-player-info .player-inventory [data-item_id]",tgtSel:".page-player-info .player-inventory [data-item_id]",start(e){if(e.tgt.matches('[data-item_id="0"]'))return e.cancelMove=!0},over(e){},stop(e){e.overEl&&e.overEl!=e.placeHolder&&H.swapElements(e.tgt,e.overEl)},placeHolder:e}),H.urls.buyStimpack&&l.setupPlayerStats()},onBuyStimpackClick(e){var t,a;e.target.matches(".btn")&&(t=e.target.closest("tr"),a=t._obj,e='This will cost you '+H.formatNumbers(a.cost_credit)+" credits",console.log("buying",t,a),0'+a.cost_rp+" RP."),-1'+a.duration/60+" minutes."),H.confirm("Are you sure?",e,e=>{var t=H.getUrlFor("buyStimpack",{id:a.stat+"-"+a.quality});H.toggleModal(l._statsSel),document.body.classList.add("page-loading"),H.http.post(t,{},e=>{document.body.classList.remove("page-loading");var t="OK"==e.status?"Stimpack Applied! Enjoy!":"Error: "+(e.error||"Unknown!");H.alert(t),"OK"==e.status&&H.refreshDataSrcs("playerGameInfo",l.parsePlayerInfo(e))})}))},onPatreonLevel(){},onStatsClick(e){var t,a,o,n,r;e.target.matches(".stat-btn")&&(t=e.target.closest(".player-stat"),e=e.target.matches(".boost-btn")?"Max":"",a=c(".curr-val",t).getAttribute("hws-data")+e,e=c("hws-table",l._statsSel),o=H.stimpacks[a],n=[],r=0{o[e].quality=e,o[e].stat=a,0o[e].amount==t?a=o[e]:null),a},setActiveStims(){t("[expiry-stamp]",l._stats).forEach(e=>e.removeAttribute("expiry-stamp")),H.cache.activeStims.data.forEach(e=>{l.findStimpackNfo(e.stat,e.amount);l.setExpiry(c("."+e.stat.replace("Max",""),l._stats),e.expiry_stamp,e.duration)})},setExpiry(e,t,a){e.setAttribute("expiry-stamp",t),e.setAttribute("data-duration",a),l._expiryTimer&&clearTimeout(l._expiryTimer),delete l._expiryTimer,l.updateExpiryTimers()},updateExpiryTimers(){t("[expiry-stamp]",l._stats).forEach(e=>{var t=e.getAttribute("expiry-stamp")-Date.now()/1e3,a=100*t/e.dataset.duration;if(t<1)return e.removeAttribute("expiry-stamp");100{var t=a.cloneNode(!0);t.classList.add(e),c(".curr-val",t).setAttribute("hws-data",e),c(".max-val",t).setAttribute("hws-data",e+"Max"),c(".progress-bar",t).setAttribute("hws-data-width",e+"Perc"),c(".base-val",t).setAttribute("hws-data",e+"Base"),c(".skills-val",t).setAttribute("hws-data",e+"Skills"),c(".survival-val",t).setAttribute("hws-data",e+"Survival"),c(".player-stat-details",t).setAttribute("hws-data-attr",e+"Detailed"),H.stimpacks[e]||c(".heal-btn",t).classList.add("disabled"),H.stimpacks[e+"Max"]||c(".boost-btn",t).classList.add("disabled"),a.parentElement.appendChild(t)}),a.remove()},getOrigList(){var t=[];return c("table",l._inventory)._hwsTable.data.forEach(e=>t.push(e._tr)),t},onSortOptChange(e){var t=c(".options-wrapper [name=by]",l._page).value,a=c(".options-wrapper [name=order]",l._page).value,o=c(".options-wrapper [name=target]",l._page).value,n=l.getOrigList();if(delete l._sortParams,"-"==t)return l.applySortedList(n);l._sortParams={by:t,order:a,target:o};var r=[],s=[],i=[];n.forEach(e=>{"bag"==o&&e._obj.Slot<10||"toolbelt"==o&&9{return t="Amount"==o?(e=e._obj.amount,t._obj.amount):(e=(EMPYRION_ITEMS[e._obj.Item_ID]||{})[o],(EMPYRION_ITEMS[t._obj.Item_ID]||{})[o]),e?t?H.pages["hws-table"].sorter(e,t,0==a?-1:1):-1:1}),l.applySortedList(e)},applySortedList(e){for(;1e._obj.Item_ID==i)||null)&&n.splice(n.indexOf(s),1),o.push(s)}for(r=1;r<10;r++){var i,s=null;(i=a[r])&&(s=n.find(e=>e._obj.Item_ID==i)||null)&&n.splice(n.indexOf(s),1),o.push(s)}n.forEach(e=>{if(!(-1!localStorage.hasOwnProperty("invList-"+e.value)},e=>{var t="invList-"+e,a=l.buildList();localStorage.setItem(t,JSON.stringify(a)),H.addSelOpt(l._listSelect,e,!0),M.toast({html:"New list `"+e+"` added."}),l.clearSortBy()}),!1},getCurrentListName(){return 0{localStorage.removeItem(a),M.toast({html:"List `"+t+"` deleted!"})})},buildList(){var a={};return t("[data-item_id]",l._inventory).forEach((e,t)=>a[t<40?t+10:t-39]=e._obj.Item_ID),a},sortClick(t){var e;l._sortParams&&((e=l._sortParams).region=H.region,t.target.setAttribute("disabled","true"),c("body").classList.add("page-loading"),H.http.post("hws-connect/api/user.php?sortInv",e,e=>{c("body").classList.remove("page-loading"),l.showCooldown(null,t.target),t.target.removeAttribute("disabled"),"Failed to get Inventory: IOError"==e.error&&(e.error="Please close all boxes and opened windows in-game before trying to sort!"),H.alert("OK"==e.status?"Inventory Sorted!":"ERROR: "+(e.error||"Box Open or Offline!")),"OK"==e.status&&l.refreshInventory(e.playerInventory)}))},showCooldown(e,t){if(!l._cooldownTimer||l._cooldownTimer<1)l._sortBtn.classList.add("on-cooldown"),l._cooldown=c("em",t),l._cooldownTimer=5;else if(l._cooldownTimer--,l._cooldownTimer<1)return l._sortBtn.classList.remove("on-cooldown");l._cooldown.innerHTML=l._cooldownTimer+"s",setTimeout(l.showCooldown,1e3)},refreshInventory(e){l.remapInventory("",e=e||{})},init(e){t("select",e).forEach(e=>M.FormSelect.init(e)),l.loadSavedLists(l._listSelect)},loadSavedLists:t=>{for(;1{e=a.exec(e);e&&H.addSelOpt(t,e[1])}),H.addSelOpt(t,null,!0)},parsePlayerInfo(o){o.playerInfo||(o.playerInfo={}),o.playerStats||(o.playerStats={}),o.activeStims||(o.activeStims=[]),H.cache.activeStims={timestamp:Date.now(),data:o.activeStims},o.playerInfo.hwsStats=o.playerStats;var n={hp:"health",fo:"food",st:"stamina"};return["hp","fo","st"].forEach(t=>{var a=0;["base","skills","survival"].forEach(e=>{o.playerStats[e]&&(o.playerInfo[n[t]+e.charAt(0).toUpperCase()+e.slice(1)]=o.playerStats[e][t],a+=o.playerStats[e][t])}),o.playerInfo[n[t]+"Detailed"]=0{var a;t[e]&&(a="bag"==e?10:1,t[e].forEach(e=>{var t;e.id<1||(t=H.empryionItem(e.id),e.Slot=(e.slotIdx||0)+a,e.Item_ID=e.id,e.Amount=e.count,e.Item_Name=t.Name,e.Item_Type=t.Type,e.Perish=e.decay||0,o.push(e))}))});for(var n=1;n<50;n++)(a=o.find(e=>e.Slot==n))||o.push(a={Slot:n,Item_ID:0,Item_Name:"",Item_Type:null,Amount:0}),a.icon=''+a.Item_Name+'',a.bpSlot=a.Slot-10,a.slot=a.Slot,a.tooltip=a.Item_Name+" ("+a.Item_ID+")\n"+a.Item_Type,a.amount=a.Amount,a.Category=0e.Slot{t[e]=parseInt(t[e]||"0"),t[e+"Perc"]=Math.min(parseInt(100*t[e]/t[e+"Max"]),100)+"%"}),l.setActiveStims()),1}};H.onElData(".page-player-info .player-stats",l.refreshPlayerStats),HWSConnect.dataSources.playerIventory=l.dataSource,HWSConnect.pages["player-info"]=l}(),function(){var n=HWSConnect.$,r=(HWSConnect.$$,{init:function(e){n(".today",e).innerHTML=(new Date).getDate(),e._hwsProxLogsInit||(e._hwsProxLogsInit=1,n(".clear-table",e).addEventListener("click",r.clearTable),r.initSelect(e))},clearTable:()=>{n(".page-prox-log hws-table table");var e=n(".page-prox-log .input-field select");e.selectedIndex=0,e.triggerChange()},initSelect:e=>{var t=n(".input-field select",e);t.addEventListener("change",r.onDayChange);for(var a=1;a<=31;a++){var o=document.createElement("option");o.innerHTML=a,t.appendChild(o)}M.FormSelect.init(t)},onDayChange:(e,t)=>{var a=n(".page-prox-log hws-table table");return"today"==(t=t||e.target.value.toLowerCase())?t=(new Date).getDate():"yesterday"==t&&(t=new Date(new Date-864e5).getDate()),(""+t).match(/^\d+$/)?t<10&&(t="0"+t):t="",a._hwsTable.data.forEach(e=>{e._filtered=e.time.indexOf(t+"T")<0}),HWSConnect.pages["hws-table"].drawRows(a,1)}});HWSConnect.pages["prox-log"]=r,HWSConnect.dataSources.proximityLogs=e=>{var t;"proximityLogs"==e&&(t={DateT:"time",Name:"name",Faction:"faction",Playfield:"playfield",Death:"deaths",Intruded_Structure_Name:"structure"},HWSConnect.dataSourceDefault(e,e=>(e.forEach(e=>{HWSConnect.remapKeys(t,e),e.deaths=e.deaths||"0",e.coords=[e.ow_coord,e.h_coord,e.ns_coord].join(" / "),e.icon=HWSConnect.getStructureIcon(e.type)}),e)))}}(),function(){var s=HWSConnect.$,a=HWSConnect.$$,o={pageLoaded(){s(".start-hws-tutorial").addEventListener("click",e=>HWSConnect.pages["hwsc-tutorial"].start())},init:e=>{var t=s(".hotview-list",e);HWSConnect.eventListener("hotviewItemClick",t,"change",o.onHotviewItemClick),HWSConnect.pages.settings.buildHotview(t),"1"==localStorage.getItem("hwsShowBountyAlerts")&&(s("#bounty-alerts",e).checked=1),o.loadWatchedPlayers(e),o.loadGeneral(),e._settingsHooked||(e._settingsHooked=1,a(".hws-download-data",e).forEach(e=>e.addEventListener("click",o.downloadUserData)),a(".save",e).forEach(e=>HWSConnect.eventListener("saveClick",e,"click",o.saveSettings)),HWSConnect.eventListener("deleteWatchedPlayer",s(".hunter-board .watched-players",e),"click",o.onClickWatchedPlayer))},loadGeneral:()=>{a(".page-settings .general-settings [name]").forEach(e=>{var t=e.name,t=localStorage[t]||"0";"checkbox"==e.type?e.checked="1"==t:e.value=t})},saveSettings:()=>{o.saveHotviews(),o.saveHunterboard(),o.saveGeneral(),console.log("Settings saved!")},saveGeneral:()=>{a(".page-settings .general-settings [name]").forEach(e=>{var t=e.name,a=e.value;"checkbox"==e.type&&(a=e.checked?"1":"0"),localStorage.setItem(t,a)}),HWSConnect.pages["npc-trader"].redrawPage()},saveHunterboard:()=>{localStorage.setItem("hwsShowBountyAlerts",s(".page-settings #bounty-alerts").checked?"1":"0")},saveHotviews:()=>{var t={};a(".page-settings .hotview-list input:checked").forEach(e=>{t[e.id]=1}),localStorage.setItem("hwsHotviewList",JSON.stringify(t)),HWSConnect.getData("playerInfo")},loadWatchedPlayers:e=>{var t=HWSConnect.pages["hunter-board"].getWatchlist(),a=s(".hunter-board .watched-players",e),o=s(".hunter-board .watched-players .player.template",e);HWSConnect.emptyContainer(a),t.forEach(e=>{var t=o.cloneNode(!0);t.classList.remove("template"),(s(".name",t)||t).innerHTML=e,a.appendChild(t)})},onClickWatchedPlayer:e=>{var t;e.target.matches("li, li *")&&(e=(t=e.target.closest("li")).matches(".name")?t:s(".name",t),t.classList.contains("confirm-delete")?(HWSConnect.pages["hunter-board"].removeFromWatchlist({Name:e.innerHTML}),t.remove(),s(".page-settings")._loadedAt=0):(a(".confirm-delete",t.parentNode).forEach(e=>e.classList.remove("confirm-delete")),t.classList.add("confirm-delete")))},onHotviewItemClick:e=>{if(HWSConnect.user.patreonLevel<1&&3{var n=s(".template",o);Array.prototype.filter.call(o.children,e=>!e.matches(".template")).forEach(e=>{e.remove()});var r=JSON.parse(localStorage.getItem("hwsHotviewList")||"{}");HWSConnect.hotviewItems.trim().split(/[\r\n,]/).forEach(function(e){[e,t]=e.trim().split(/:(.+)/);var t=t||e.replace(/_/g," "),a=n.cloneNode(!0);a.classList.remove("template"),s(".title",a).innerHTML=t;t=s("[type=checkbox]",a);t.id=e,t.checked=r[t.id],o.appendChild(a)})},downloadUserData(e){var l=e.target.getAttribute("href").match(/^#data\-(\w+)$/);if(l){var d=H.region;H.region=l[1],H.cache={};var p=H.prompt({title:"Downloading information...",ok:"",dismiss:"",showClose:!1,type:"none"});return p.classList.add("no-close"),H.http.get(H.getUrlFor("playerInfo"),c=>H.http.get(H.getUrlFor("playerLogs"),i=>H.http.get(H.getUrlFor("autoMiner"),s=>H.http.get(H.getUrlFor("playerStructs"),r=>H.http.get(H.getUrlFor("cargoDrone"),n=>H.http.get(H.getUrlFor("proximityLogs"),o=>H.http.get(H.getUrlFor("stealthInfo"),e=>{H.region=d,p.classList.remove("no-close"),H.toggleModal(p);var a="",t=(e,t)=>{a=a+e+";"+Object.values(t).join(";")+"\r\n"};t("Sp",c),i.forEach(e=>t("PLL",e)),s.forEach(e=>t("AuMi",e)),r.forEach(e=>t("Bu",e)),n.forEach(e=>t("OCD",e)),o.forEach(e=>t("Intr",e)),e.forEach(e=>t("StSt",e)),H.triggerDownload(H.user.id+"-"+l[1]+".csv",a)}))))))),e.stopPropagation(),e.preventDefault(),!1}}};HWSConnect.pages.settings=o}(),function(){var l=HWSConnect.$,d=HWSConnect.$$;HWSConnect.onElementData["hws-skill-tree"]=function(e){var s=HWSConnect.cache.skillTree.data.userPoints,i=l(".page-skill-tree hws-skill-tree .row.template"),c=l(".page-skill-tree hws-skill-tree");d(".page-skill-tree hws-skill-tree>:not(.template)").forEach(e=>{e.remove()}),e.forEach(function(n,r){var e,t=i.cloneNode(!0);t.classList.remove("template"),l(".tier",t).innerHTML=function(e){if(isNaN(e))return NaN;for(var t=String(+e).split(""),a=["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM","","X","XX","XXX","XL","L","LX","LXX","LXXX","XC","","I","II","III","IV","V","VI","VII","VIII","IX"],o="",n=3;n--;)o=(a[+t.pop()+10*n]||"")+o;return Array(+t.join("")+1).join("M")+o}(r+1),l(".points-required",t).innerHTML=r+1,d(".skill",t).forEach(function(e,t){var a,o,t=(t=n[t],a={id:t,title:t,info:t},o={hp:"Health",st:"Stamina",fo:"Food",up:"UP",xp:"XP"},t.split(",").forEach(e=>{var t=e.match(/(\w{2})(\d+)/);t&&(t[1]=o[t[1]],e="+"+t[2]+" "+("XP"==t[1]||"UP"==t[1]?"":"max. ")+t[1],a.title!=a.id?(a.title=a.title+" / "+e,"XP"==t[1]?a.info+=" and "+t[2]+" Experience Points to your current level":"UP"==t[1]?a.info+=" and "+t[2]+" Unlock points for your Tech Tree":a.info=" and it would set your "+t[1]+" to a total of "+(500+parseInt(t[2]))):(a.title=e,"XP"==t[1]?a.info="It would add "+t[2]+" Experience Points to your current level":"UP"==t[1]?a.info="It would add "+t[2]+" Unlock points for your Tech Tree":a.info="It would set your "+t[1]+" to a total of "+(500+parseInt(t[2]))))}),a);e.title=t.info||"",e.innerHTML=t.title||"",e.setAttribute("data-skill",t.id),e.setAttribute("data-level",r+1),re.level==a);o&&(l('.skill[data-skill="'+o.skill+'"]',t).setAttribute("hws-button",""),t.classList.add("chosen"))})},HWSConnect.onElementData["hws-skill-days"]=function(e){var t=l(".page-skill-tree hws-skill-days"),a=l(".page-skill-tree hws-skill-days .circle.template"),o=l(".page-skill-tree hws-skill-days .bar.template").cloneNode(!0);o.classList.remove("template"),d(".page-skill-tree hws-skill-days>:not(.template)",t).forEach(e=>{e.remove()});for(var n=0;n{"skillTree"==t&&(HWSConnect._getData[t]||(HWSConnect._getData[t]=1,HWSConnect.http.get(HWSConnect.getUrlFor("skillTree"),function(e){HWSConnect.cache.skillTree={timestamp:Date.now(),data:e},HWSConnect.cache.skillTree.data.userPoints=(HWSConnect.cache.skillTree.data.userSkills.find(e=>0==e.level)||{skill:"0,0"}).skill.split(",").shift(),HWSConnect.refreshDataSrcs("skillTree",HWSConnect.cache.skillTree.data),HWSConnect._getData[t]=0})))};var t={_require:"hws-tabs,number-prompt",init:function(e){e._skillTreeInit||(e._skillTreeInit=1,l('[href="#fix"]',e).addEventListener("click",t.fixSkills),l("hws-skill-tree",e).addEventListener("click",e=>{e.target.matches("[data-skill],[data-skill] *")&&(e=e.target.closest("[data-skill]"),HWSConnect.http.post(HWSConnect.getUrlFor("setSkill"),{level:e.getAttribute("data-level"),skill:e.getAttribute("data-skill"),region:HWSConnect.region},e=>{e=l('.page-skill-tree [data-skill="'+e.skill+'"][data-level="'+e.level+'"]');e.setAttribute("hws-button",""),e.closest(".row").classList.add("chosen")}))}))},fixSkills(){HWSConnect.http.get(HWSConnect.getUrlFor("fixSkills"),e=>{M.toast({html:"Command forwarded to game!"})})}};HWSConnect.pages["skill-tree"]=t}(),function(){var t=HWSConnect.$,a=(HWSConnect.$$,{onPatreonLevel(){var e;H.user.patreonLevel{HWSConnect.patreonLockEv(e,"structFilters","hws-table thead .search *"),HWSConnect.hideLock("structFilters");var t=e.target.closest(".search");t&&(e=t.closest("hws-table"),t.remove(),e.setAttribute("data-cols",e.getAttribute("data-cols").replace(/[~%]/g,"")))},!0))},init:e=>{HWSConnect.eventListener("shipIdClick",t("hws-table",e),"click",a.shipIdClick),HWSConnect.eventListener("toggleDeletedView",t('[href="#toggle-deleted"]',e),"click",a.toggleDeletedView),HWSConnect.user.patreonLevel(a.setHideStructs(!t(".page-structures").classList.contains("hide-deleted")),e.preventDefault(),!1),setHideStructs:e=>{e<0?e="1"==localStorage.getItem("hwsHideDeletedStructs"):localStorage.setItem("hwsHideDeletedStructs",e?1:0),t(".page-structures").classList[e?"add":"remove"]("hide-deleted")},shipIdClick:e=>{e.target.matches("tbody .id")&&HWSConnect.copyToClipboard(e.target.innerHTML,"Ship ID")}});HWSConnect.pages.structures=a,HWSConnect.dataSources.playerStructs=e=>{var a;"playerStructs"==e&&(a={ID:"id",Name:"name",Typ:"type",Owner_Typ:"ownerType",Owner:"owner",Playfield:"playfield",SolarSystem:"solarSystem",NS:"coordY",EW:"coordX",Height:"coordZ",LastWarp:"lastWarp",Deleted:"deleted",Ligths:"lights",Lights:"lights",Triangles:"triangles",StructureClass:"class",Powered:"powered",Fuel:"fuel",Devices:"device_count",Blocks:"block_count",LastVisited:"last_touched"},HWSConnect.dataSourceDefault(e,e=>{var t=HWSConnect.pages["hws-header"].tzTime(2);return e.forEach(e=>{HWSConnect.remapKeys(a,e),e.coords=parseInt(e.EW)+"/"+parseInt(e.Height)+"/"+parseInt(e.NS),e.deleted=e.deleted?"Yes":"No",e.powered=e.powered?"Yes":"No",e.untouchedMax=1296e3,e.untouched=Math.max((t-new Date(e.last_touched))/1e3,0),HWSConnect.pages.dashboard.computePercentages(e,"untouched"),e.untouchedSlashMax=HWSConnect.secToDHHMM(e.untouched)+" / 15d",e.untouchedFmt=H.secToDHHMM(e.untouched,!0),e.icon=HWSConnect.getStructureIcon(e.type)}),e}))}}(),function(){var r=HWSConnect.$,e=(HWSConnect.$$,{domLoaded:()=>{r(".sections").addEventListener("click",e.onClickDetails,!0)},init:e=>{},onClickDetails:e=>{var t='.page-support-us [href="#details"]';if(e.target.matches(t+","+t+" *")){var a=e.target.closest(".package")._obj,o=H.getPage("support-us-details"),t=HWSConnect.strToCols(HWSConnect.cache.supportPackages.data.TYPES);r(".pkg-title",o).innerHTML=a.name,r(".pkg-type",o).innerHTML=t[a.type],r(".pkg-type",o).setAttribute("pkg-type",a.type),a.guide?(n=a.guide.indexOf("@"),t=a.guide.substr(0,n),n=a.guide.substr(n+1),r(".pkg-guide",o).classList.remove("hidden"),r(".pkg-guide .guide-title",o).innerHTML=t,r(".pkg-guide a",o).href=HWSConnect.urls.forumRoot+n):r(".pkg-guide",o).classList.add("hidden");var n=r(".active",o);return n&&n.classList.remove("active"),a.details?(n=r(".details-generic",o))&&(n.innerHTML=a.details):n=r(".details-"+a.sku,o),n&&n.classList.add("active"),HWSConnect.setPage("support-us-details",1),e.preventDefault(),!1}}});HWSConnect.pages["support-us-details"]=e}(),function(){var p=HWSConnect.$,m=HWSConnect.$$;HWSConnect.dataSources.patronsList=e=>{"patronsList"==e?HWSConnect._getData.patronsList||(HWSConnect._getData.patronsList=1,HWSConnect.http.get(HWSConnect.getUrlFor("patronsList"),function(e){HWSConnect.cache.patronsList={timestamp:Date.now(),data:e.patrons},HWSConnect.refreshDataSrcs("patronsList",HWSConnect.cache.patronsList.data),HWSConnect._getData.patronsList=0})):"supportPackages"==e&&(HWSConnect._getData.supportPackages||(HWSConnect._getData.supportPackages=1,HWSConnect.http.get(HWSConnect.getUrlFor("supportPackages"),function(e){HWSConnect.cache.supportPackages={timestamp:Date.now(),data:e.data},HWSConnect.refreshDataSrcs("supportPackages",HWSConnect.cache.supportPackages.data),HWSConnect._getData.supportPackages=0})))},HWSConnect.onElData("hws-support-packages",(t,a)=>{var e;!p("head style[data-rel=paypal]")&&t.PAYPAL_CLIENT_ID.length&&((e=document.createElement("script")).setAttribute("data-rel","paypal"),e.src="https://www.paypal.com/sdk/js?currency=EUR&client-id="+t.PAYPAL_CLIENT_ID+"&disable-funding=card,credit,sepa,ideal",e.onload=u.setupPaypal,document.head.appendChild(e)),""==HWSConnect.user.id?u.displayCards(t,a):HWSConnect.playerName(e=>{u.displayAcquiredPackages(t.PACKAGES),u.displayCards(t,a,e)})}),HWSConnect.onElData("hws-patrons",(e,n)=>{var r=p(".chip.template",n);HWSConnect.emptyContainer(n),e.forEach(e=>{var t=r.cloneNode(!0),a=HWSConnect.patreonTitles[e.patreon_level];t.classList.remove("template"),p(".playerName",t).innerHTML=e.personaname;var o=p("img",t);o.src=HWSConnect.getUrlFor("patronTypeImg",{id:"Patron "+a}),o.setAttribute("data-tooltip","HWS "+a+" Patron"),t.classList.add("patron-level-"+e.patreon_level),n.appendChild(t)}),M.Tooltip.init(m(".tooltipped"))});var u={allowGuest:!0,onChange(e){if(e.target.matches("hws-support-packages .ingame-name"))return u.setPackagePrice(e.target.closest(".package"))},init:e=>{var t={final_page:document.location.origin+document.location.pathname+"#page-patreon-welcome"};p(".link-patreon").href="https://www.patreon.com/oauth2/authorize?response_type=code&client_id="+HWSConnect.patreonClientId+"&redirect_uri="+encodeURIComponent(HWSConnect.getLoginUrl("patreon",1))+"&state="+encodeURIComponent(btoa(JSON.stringify(t)))+"&scope=identity%20identity"+encodeURIComponent("[email]");var a=HWSConnect.pages["hws-login"].getSteamLink();m("a.hws-login").forEach(e=>e.href=a),HWSConnect.eventListener("hwsBuyPackage",p("hws-support-packages .cards",e),"click",u.onBuyClick)},onBuyClick:e=>{var t,a;e.target.matches('[href="#buy-hwsi"], [href="#buy-hwsi"] *')&&(t=e.target.closest(".package"),a=t._obj.discountHwsiPrice,HWSConnect.cache.playerInfo.data.hws_ingots{HWSConnect.prompt({title:"Are you sure? If you click OK, there is NO way back anymore!",type:"none"},()=>{HWSConnect.http.get(HWSConnect.getUrlFor("buyPackage",{id:t._obj.sku}),e=>{"OK"==e.status?(HWSConnect.cache.playerInfo.data.hws_ingots-=a,HWSConnect.cache.playerInfo.data.reputation_points-=t._obj.rp,HWSConnect.setPage("support-us-thankyou",1)):HWSConnect.prompt({title:"Error occured, please try again.",type:"none",ok:""})})})}))},onCurrencyChange:e=>{e.target.closest("section").classList[e.target.checked?"add":"remove"]("currency-hwsi")},getPaypalCartItems:()=>{var e=p("#minicart"),e=m(".cart-item:not(.template)",e),o=0,n=[];return e.forEach(e=>{var t=parseFloat(e._obj.price),a=p(".quantity",e).value;n.push({name:e._obj.name,unit_amount:{value:t.toFixed(2),currency_code:"EUR"},quantity:a,description:e._obj.desc,sku:e._obj.item.sku}),o+=t*a}),{purchase_units:[{amount:{value:o=o.toFixed(2),currency_code:"EUR",breakdown:{item_total:{value:o,currency_code:"EUR"}}},items:n}]}},setupPaypal:()=>{"undefined"!=typeof paypal&&(p("#paypal-button-container").innerHTML="",paypal.Buttons({createOrder:function(e,t){return t.order.create(u.getPaypalCartItems())},onApprove:function(e,t){return p("#loading .progstat").innerHTML="Processing Payment...",document.body.classList.add("loading"),fetch("hws-connect/api/paypal.php?approve="+e.orderID,{}).then(function(e){return e.json()}).then(function(e){document.body.classList.remove("loading"),u.hideCart(),HWSConnect.prompt({title:"Transaction Successful!",desc:"Thank you "+e.payer.name.given_name+"! Your paypal Transaction was successful, you should receive your rewards soon!",ok:"",type:"none"})})}}).render("#paypal-button-container"))},showCart:e=>(u._hideCartTimeout&&(clearTimeout(u._hideCartTimeout),u._hideCartTimeout=0),p("#minicart").classList.remove("hidden"),e&&e.preventDefault(),!1),hideCart:e=>{var t=p("#minicart");return t&&!u._hideCartTimeout&&(u._hideCartTimeout=setTimeout(()=>{t.classList.add("hidden"),u._hideCartTimeout=0},100)),e&&e.preventDefault(),!1},globalClick:e=>{e.target.closest("#minicart")||u.hideCart()},pageLoaded:()=>{var e=p(".page-support-us");p(".packages-status",e),p(".package-status.template",e),p(".package-status-detail.template",e);HWSConnect.eventListener("hwsDonationSwitch",p(".donation-switcher input",e),"change",u.onCurrencyChange),HWSConnect.eventListener("hwsDonationAddClick",p(".cards",e),"click",u.onCardsClick),HWSConnect.eventListener("hwsCartDelete",p("#minicart .items-list"),"click",u.onCartDelClick),HWSConnect.eventListener("hwsCartChange",p("#minicart .items-list"),"change",u.refreshCartPrices),HWSConnect.eventListener("hwsCartHide",p('#minicart [href="#hide"]'),"click",u.hideCart),HWSConnect.eventListener("hwsCartShow",p('[href="#cart"]',e),"click",u.showCart),HWSConnect.eventListener("hwsCartHideGlobal",document.body,"mousedown",u.globalClick),M.Collapsible.init(m(".collapsible",e)),e.addEventListener("input",u.onChange,!0)},displayAcquiredPackages:s=>{var e=p(".page-support-us .packages-status-wrapper"),i=p(".page-support-us .packages-status"),c=p(".package-status.template",e),l=p(".package-status-detail.template",e),d=HWSConnect.cache.playerInfo.data;HWSConnect.emptyContainer(i),Object.keys(s).forEach(e=>{var o,t,a,n,r;e in d&&(o=s[e],(t=c.cloneNode(!0)).classList.remove("template"),a=d[e],o.seasons_in_advance&&(a=0{var t=l.cloneNode(!0),a=o.col_details[e];t.classList.remove("template"),p(".title",t).innerHTML=a.name;a=p(".value",t);a.setAttribute("hws-data",e),a.innerHTML=HWSConnect.formatNumbers(d[e]),n.parentNode.appendChild(t)}),i.appendChild(t))})},onCartDelClick:e=>{if(e.target.matches('[href="#remove"], [href="#remove"] *'))return e.target.closest(".cart-item").remove(),u.refreshCartPrices(),e.preventDefault(),!1},onCardsClick:e=>{if(e.target.matches('[href="#add"], [href="#add"] *')){var t=e.target.closest(".package"),a=t._obj,o=p(".ingame-name",t).value||"",n=p(".server",t).value,r=(p(".ingame-name",t),a.sku+"-"+n+"-"+o),s=p("#minicart"),i={item:a};if(m("[required]",t).forEach(e=>{console.log("validating",e),HWSConnect.validateInput(e)}),p(".invalid",t))return M.toast({html:"Required fields missing!",displayLength:5e3,classes:"spue"}),p(".invalid",t).focus(),e.preventDefault(),!1;var c=p(".limited-per-server .limit-"+n.toLowerCase(),t);return c&&parseInt(c.getAttribute("x-available"))<1?(H.alert("This package is no longer available on chosen server!"),e.preventDefault(),!1):(a.option&&(i.option=p(".option",t).value,r+="-"+i.option),a.customAmount?(i.price=p(".amount",t).value,r+="-"+i.amount):i.price=a.discountPrice,(t=p('[item-key="'+r+'"]',s))?p(".quantity",t).value++:((t=(s=p(".cart-item.template",s)).cloneNode(!0)).classList.remove("template"),t.setAttribute("item-key",r),(t._obj=i).item=a,i.name=a.name+(!a.customAmount&&a.ingot&&0{var e=p("#minicart"),t=m(".cart-item:not(.template)",e),a=0;t.forEach(e=>{var t=p(".quantity",e).value*e._obj.price;p(".price",e).innerHTML=t.toFixed(2),a+=t}),e.classList[t.length?"add":"remove"]("has-items"),p(".total",e).innerHTML=a.toFixed(2)},getPatreonDiscount(e){return H.user.name==p(".ingame-name",e).value?H.packagesDiscountPatreon:0},setPackagePrice(e){var t=e._obj;discount=H.packagesDiscount+u.getPatreonDiscount(e),"???"==t.price&&m(".price-wrapper .currency",e).forEach(e=>e.remove());var a=t.price,o=t.price;Number(parseFloat(t.price))==t.price&&(a=(t.price*((100-discount)/100)).toFixed(2),originalPrice=t.price.toFixed(2),o=Math.round(a*HWSConnect.packagesExchangeRate),originalHwsiPrice=Math.round(originalPrice*HWSConnect.packagesExchangeRate)),p(".price-wrapper .price",e).innerHTML=a,p(".hwsi.price-wrapper .price",e).innerHTML=o,0e.innerHTML=t.rp),t.appliedDiscount=discount,t.discountPrice=a,t.discountHwsiPrice=o,0e.remove());var a=t.price,o=t.price;Number(parseFloat(t.price))==t.price&&(a=(+t.price).toFixed(2),originalPrice=t.price.toFixed(2),o=Math.round(a*HWSConnect.packagesExchangeRate),originalHwsiPrice=Math.round(originalPrice*HWSConnect.packagesExchangeRate)),p(".price-wrapper .price",e).innerHTML=a,p(".hwsi.price-wrapper .price",e).innerHTML="-/-",t.rp&&m(".rp-price",e).forEach(e=>e.innerHTML=t.rp),t.appliedDiscount=discount,t.discountPrice=a,t.discountHwsiPrice=o},displayCards:(s,e,i)=>{var c=p(".cards",e),l=p(".template",c),d=HWSConnect.strToCols(s.TYPES);p(".ingame-name",l).value=i||"",H.packagesDiscount=s.DISCOUNT,H.packagesDiscountPatreon=s.PATREON_DISCOUNTS[H.user.patreonLevel],HWSConnect.packagesExchangeRate=s.EXCHANGE_RATE,HWSConnect.emptyContainer(p("#minicart tbody")),HWSConnect.emptyContainer(c),Object.keys(s.PACKAGES).forEach(e=>{var t=s.PACKAGES[e],a=l.cloneNode(!0),o=t.filter.split(",");t.sku=e,o.forEach(e=>a.classList.add(e));var n=[];if(document.querySelectorAll(".filled-in").forEach(function(e){e.addEventListener("change",function(e){if(document.querySelectorAll(".filled-in:checked").length<1?document.querySelector(".no-result").style.display="block":document.querySelector(".no-result").style.display="none",!0===e.target.checked){n.push(this.getAttribute("data-filter"));let t=document.getElementsByClassName(this.getAttribute("data-filter"));for(let e=0;elabel",a).innerHTML=t.inputLabel),i&&(p(".server",a).value=HWSConnect.region.toUpperCase()),t.customAmount?(p(".ribbon.sale",a).remove(),p(".original-price",a).remove(),p(".hwsi.price-wrapper .original-price",a).remove()):p(".custom-amount-wrapper",a).remove(),t.option?(r=p(".option-select-wrapper select",a),t.option.replace(":",",").split(",").forEach((e,t)=>{var a=document.createElement("option"),o=e;0==t&&(a.setAttribute("disabled",""),a.setAttribute("selected",""),o=""),a.innerHTML=e,a.setAttribute("value",o),r.appendChild(a)})):p(".option-select-wrapper",a).remove(),(t.customAmount||t.option)&&p(".ingame-name-wrapper",a).classList.replace("s12","s6"),t.limited?t.limited.split(",").forEach(e=>{var t=e.split(":"),e=p(".limited-per-server .limit-"+t[0],a);e.innerHTML=0{"hwsTaxList"!=e&&"hwsTaxInfo"!=e||HWSConnect.dataSourceDefault("factionTaxes",e=>{var t=0,a={Bank:"B",Building_Blocks:"B_B",Building_Devices:"B_D",Building_ID:"B_ID",Building_Name:"B_N",Credits:"C",Faction_Name:"F_N",Faction_Partner:"F_P",Faction_Reputation:"F_RP",Preis_Anteil:"PA",PlayerTaxShare:"PA"};return e.ships.forEach(e=>{H.remapKeys(a,e),t+=e.PA}),HWSConnect.refreshDataSrcs("hwsTaxInfo",{total_taxes:H.numberFormat(t)}),e.ships})}}();