!function(){function e(e){if(null===e||!0===e||!1===e)return NaN;var n=Number(e);return isNaN(n)?n:n<0?Math.ceil(n):Math.floor(n)}function n(e,n){if(n.length1?"s":"")+" required, but only "+n.length+" present")}function t(e){n(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new Date(e.getTime()):"number"==typeof e||"[object Number]"===t?new Date(e):("string"!=typeof e&&"[object String]"!==t||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"),console.warn((new Error).stack)),new Date(NaN))}function o(o,r){n(2,arguments);var a=t(o).getTime(),i=e(r);return new Date(a+i)}const r={pl_PL:{ennobledAt:"Podbita o",never:"Nigdy",possibleLoyalty:"Prawdopodobne poparcie",canSendNoble:"Można wysłać szlachcica",yes:"Tak",no:"Nie"},en_DK:{ennobledAt:"Ennobled at",never:"Never",possibleLoyalty:"Possible loyalty",canSendNoble:"Can send noble",yes:"Yes",no:"No"},de_DE:{ennobledAt:"Adelung bei",never:"Nie",possibleLoyalty:"Mögliche Zustimmung",canSendNoble:"Kann Adelsgeschlecht senden",yes:"Ja",no:"Nein"}};const a="https://api.tribalwarshelp.com/graphql";var i=function(){let{query:e,variables:n={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return fetch(a,{method:"POST",body:JSON.stringify({query:e,variables:n}),headers:{"Content-Type":"application/json"}}).then((e=>e.json())).then((e=>{let{data:n,errors:t}=e;if(t&&Array.isArray(t)&&t.length>0)throw new Error(t[0].message);return new Promise((e=>e(n)))}))};const l=(e,n)=>new Date(e).toLocaleDateString(void 0,n||{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"});var s=e=>{return n="unit/unit_".concat(e,".png"),image_base+n;var n};const c=(e,n)=>{localStorage.setItem(e,JSON.stringify(n))};function p(e,o){n(2,arguments);var r=t(e),a=t(o);return r.getTime()-a.getTime()}const d=(e,t)=>{let o=25+Math.abs(function(e,t){n(2,arguments);var o=p(e,t)/6e4;return o>0?Math.floor(o):Math.ceil(o)}(e,new Date))*(t/60);return o>100&&(o=100),Math.floor(o)};function u(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function g(e){for(var n=1;nfunction(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const t=localStorage.getItem(e);let o=n;return t&&(o=JSON.parse(t)),o}(f),w=async()=>{let e=v();var n;return e&&e.server&&(n=new Date(e.loadedAt),!(Math.abs(n.getTime()-(new Date).getTime())>864e5))&&e.server.config&&e.server.config.speed&&e.server.config.snob&&e.server.config.snob.maxDist&&e.server.config.unitSpeed&&e.server.unitConfig||(e=await i({query:"\n query server($key: String!) {\n server(key: $key) {\n config {\n speed\n unitSpeed\n snob {\n maxDist\n }\n }\n unitConfig {\n spear {\n speed\n }\n sword {\n speed\n }\n axe {\n speed\n }\n archer {\n speed\n }\n spy {\n speed\n }\n light {\n speed\n }\n marcher {\n speed\n }\n heavy {\n speed\n }\n ram {\n speed\n }\n catapult {\n speed\n }\n knight {\n speed\n }\n snob {\n speed\n }\n }\n }\n }\n",variables:{key:b}}),e.loadedAt=new Date,function(){c(f,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}(e)),e&&e.server&&e.server.config?{config:e.server.config,unitConfig:e.server.unitConfig}:{}},M=async function(e){let{cacheOnly:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n||TWMap.popup.extendedMapPopupCache[e])return TWMap.popup.extendedMapPopupCache[e];try{const n=await i({query:m,variables:{server:b,sort:["ennobledAt DESC"],filter:{villageID:[e]},limit:1}});return TWMap.popup.extendedMapPopupCache[e]=n,n}catch(e){console.log("loadVillageData",e)}},S=e=>e%2==0?"#f8f4e8":"#ded3b9;",T=(e,n)=>'\n \n \n \n '),D=(t,r)=>'\n \n ').concat(l(function(t,r){n(2,arguments);var a=e(r);return o(t,6e4*a)}(Timing.getCurrentServerTime(),t)),"\n \n "),O=(e,n,t)=>{let{config:o,unitConfig:r}=t;const a=TWMap.CoordByXY(TWMap.villageKey[e]),i=((e,n,t,o)=>{const r=e-t,a=n-o;return Math.sqrt(r*r+a*a)})(a[0],a[1],window.game_data.village.x,window.game_data.village.y),c=n&&n.ennoblements&&n.ennoblements.items&&n.ennoblements.items.length>0?n.ennoblements.items[0]:void 0,p=document.querySelector("#map_popup #info_content tbody");let u=p.querySelector("#units");u||(u=document.createElement("tr"),u.id="units",p.appendChild(u));const y=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n=[];for(let t in e)0!==e[t].speed&&n.push(g(g({},e[t]),{},{name:t,img:s(t)}));return n}(r);u.innerHTML='\n \n \n \n \n '.concat(y.map(T).join(""),'\n \n \n ').concat(y.map(((e,n)=>D(((e,n)=>Math.round(e*n))(i,e.speed),n))).join(""),"\n \n \n
\n \n ");let b=p.querySelector("#lastEnnobledAt");b||(b=document.createElement("tr"),b.id="lastEnnobledAt",p.appendChild(b)),b.innerHTML="\n \n ".concat(h.ennobledAt,":\n \n \n ").concat(c?l(c.ennobledAt):h.never,"\n \n ");let m=p.querySelector("#loyalty");m||(m=document.createElement("tr"),m.id="loyalty",p.appendChild(m)),m.innerHTML="\n \n ".concat(h.possibleLoyalty,":\n \n \n ").concat(c?d(new Date(c.ennobledAt),o.speed):100,"\n \n ");let f=p.querySelector("#canSendNoble");f||(f=document.createElement("tr"),f.id="canSendNoble",p.appendChild(f)),f.innerHTML="\n \n ".concat(h.canSendNoble,":\n \n \n ").concat(i\n ")};!async function(){try{const n=await w();TWMap.popup.extendedMapPopupCache={},TWMap.popup._loadVillage=TWMap.popup.loadVillage,TWMap.popup.loadVillage=(e=n,async n=>{TWMap.popup._loadVillage(n);const t=await M(parseInt(n));O(parseInt(n),t,e)}),TWMap.popup._displayForVillage=TWMap.popup.displayForVillage,TWMap.popup.displayForVillage=(e=>async(n,t,o)=>{TWMap.popup._displayForVillage(n,t,o);const r=await M(parseInt(n.id),{cacheOnly:window.game_data.features.Premium.active});O(parseInt(n.id),r,e)})(n)}catch(e){console.log("extended map popup",e)}var e}()}();