\n\n\n',ut=e=>{const t=e?"gray":"white";return``},gt=1e3;const pt=e=>"boolean"==typeof e,mt=e=>Number.isInteger(e),ft=e=>"[object String]"===Object.prototype.toString.call(e),bt=e=>["top","bottom","top-left","top-right","bottom-left","bottom-right"].includes(e);const vt=()=>Math.round((new Date).getTime()/1e3),yt=e=>{const i=new t("user_engagement"),r="utsid-send";let n,c=0,h=!1,g=!1,m={clientHints:{},isScrollable:0,totalClicks:0,sessionLength:0,ippMissclicks:0,visible:0,caught:0,lastevent:0,isFullscreen:0,isTabFocused:0,eventImps:0,retryCounts:0,isScrolled:0,isMouseMoved:0,pagePercentageSeen:0,belowTheFoldSeen:0,touchEnd:0,touchMove:0,clicksByType:{idle:0,input:0,video:0,button:0,link:0,img:0},browsingTopics:[],ufp:P()},f=d(),b=vt();function v(){var t,r;0===m.isFullscreen&&(m.isFullscreen=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement?1:0),m.isTabFocused=document.hidden||document.mozHidden||document.webkitHidden?0:1,m.sessionStartTime=b,m.sessionId=f,m.sessionLength=vt()-b,m.timeZoneOffset=(new Date).getTimezoneOffset(),m.zones=[],e&&(m.zones=e.getZoneIds()),m.pUrl=encodeURIComponent(o()),m.pReferrer=encodeURIComponent((()=>{const e=document.referrer;return e?l(e):""})()),m.pTitle=encodeURI(u()),m.pDescription=encodeURIComponent(p("description",i)),m.pKeywords=encodeURIComponent(p("keywords",i)),m.pHasIframes=(()=>{const e=document.getElementsByTagName("iframe");return e.length?e.length:0})(),m.pWidth=Math.ceil(window.scrollWidth||document.body.scrollWidth),m.pHeight=Math.ceil(window.scrollHeight||document.body.scrollHeight),m.vWidth=Math.ceil(window.innerWidth||document.body.clientWidth),m.vHeight=Math.ceil(window.innerHeight||document.body.clientHeight),m.inIframe=a(),sessionStorage.getItem("template")&&(m.ippTemplate=sessionStorage.getItem("template")),m.visible=(t=m.vWidth,r=m.vHeight,a()&&(t<10||r<10)?0:1),m.caught=(()=>{let e=0;if(a())try{window.top.location.href}catch(t){e=1}return e})(),m.isScrollable=((e,t)=>{if(e>t){const i=.05;return e-t>Math.ceil(t*i)?1:0}return 0})(m.pHeight,m.vHeight)}function y(){i.debug("Touch move detected."),m.touchMove++,g=!0}function w(){1!==m.isMouseMoved&&(i.debug("Mouse move tracked"),m.isMouseMoved=1,g=!0)}function T(){i.debug("Touch end detected."),m.touchEnd++,g=!0,A()}function A(){if(i.debug("checkScrolling()"),m.pHeight<=m.vHeight)return m.pagePercentageSeen=100,void(m.belowTheFoldSeen=100);var e=Math.ceil(window.scrollTop||document.body.scrollTop),t=Math.ceil((e+m.vHeight)/m.pHeight*100);t>100&&(t=100),t!=m.pagePercentageSeen&&(i.debug("Scroll event detected."),m.isScrolled=1,g=!0),t>m.pagePercentageSeen&&(i.debug("Page percentage seen updated."),m.pagePercentageSeen=t,g=!0);var r=Math.ceil(e/(m.pHeight-m.vHeight)*100);r>100&&(r=100),r>m.belowTheFoldSeen&&(i.debug("Bellow the fold percentage seen updated."),m.belowTheFoldSeen=r,g=!0)}function k(){m.ippMissclicks++,g=!0}function E(e){i.debug("Click tracked"),m.totalClicks++;var t=e.target,r=null;do{null!==r&&""!==r||(r=C(t)),t=t.parentElement}while(t&&"body"!==t.nodeName.toLowerCase()&&"document"!==t.nodeName.toLowerCase());null===r&&(r="idle"),m.clicksByType[r]++,g=!0}function C(e){var t=null;return-1!==["a","video","button","input","textarea","img","select"].indexOf(e.nodeName.toLowerCase())&&("a"===(t=e.nodeName.toLowerCase())?t="link":"textarea"!==t&&"select"!==t||(t="input")),t}function S(){i.debug("Impression tracked"),m.eventImps++}function x(){i.debug("Retry tracked!"),m.retryCounts++}function I(){var e="//usrpubtrk.com/ut/hb.php?cb="+Math.random();return e+="&v=1",i.debug("Target Url: "+e.toString()),e}function R(e=!1){if(!h){if(h=!0,v(),e&&(m.lastevent=1),i.isDebugEnabled&&i.debug("send payload:",JSON.parse(JSON.stringify(m))),"navigator"in window&&"sendBeacon"in window.navigator&&void 0!==navigator.sendBeacon&&void 0!==Blob){m.sentTimestamp=Date.now();var t=new Blob([JSON.stringify(m)],{type:"text/plain; charset=UTF-8"});navigator.sendBeacon(I(),t)}else{var r="XMLHttpRequest"in window?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");r.open("POST",I(),!0),r.setRequestHeader("Content-Type","text/plain;charset=UTF-8");try{m.sentTimestamp=Date.now(),r.send(JSON.stringify(m))}catch(e){}}m.lastevent=0,h=!1}}function N(){i.debug("visibility state is",document.visibilityState),"hidden"===document.visibilityState&&g?(clearInterval(n),R(),g=!1):"visible"===document.visibilityState&&(n=setInterval(O,6e4))}function L(){var e=new CustomEvent(r,{detail:{issued:"UT",data:{utsid:f}}});document.dispatchEvent(e)}function O(){if(m.sessionLength=vt()-b,m.sessionLength>=7200)return i.debug("Session limit reached! Send last payload and tear down"),R(),clearInterval(n),i.debug("detaching behavior listeners"),document.removeEventListener("click",E,!1),document.removeEventListener("mousemove",w,!1),document.removeEventListener("scroll",A,!1),document.removeEventListener("in-page-missclick",k,!1),document.removeEventListener("impression-event",S,!1),document.removeEventListener("impression-retry-event",x,!1),document.removeEventListener("touchend",T,!1),document.removeEventListener("touchmove",y,!1),document.removeEventListener("touchcancel",A,!1),document.removeEventListener("visibilitychange",N),void window.removeEventListener("beforeunload",R);0!==c&&1!==c&&5!==c&&10!==c&&c%30!=0||R(),c++}!async function e(){if("complete"===document.readyState||"interactive"===document.readyState)return m.clientHints=await s(i,true),m.browsingTopics=await async function(){let e=[];if("browsingTopics"in document&&document.featurePolicy.allowsFeature("browsing-topics"))try{e=await document.browsingTopics(),i.debug("document.browsingTopics() return value:",e)}catch(e){i.debug("Error calling document.browsingTopics(): ",e)}return e}(),"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0?(document.addEventListener("touchend",T,!1),document.addEventListener("touchmove",y,!1),document.addEventListener("touchcancel",A,!1)):(document.addEventListener("mousemove",w,!1),document.addEventListener("scroll",A,!1)),document.addEventListener("click",E,!1),document.addEventListener("impression-event",S,!1),document.addEventListener("impression-retry-event",x,!1),document.addEventListener("in-page-missclick",k,!1),v(),A(),0===c&&O(),n=setInterval(O,6e4),window[r]=f,L(),setTimeout(L,2e4),document.addEventListener("visibilitychange",N),void window.addEventListener("beforeunload",()=>{R(!0)});setTimeout(e,100)}()},wt="sandboxedDetector";class Tt{#i;#he;#ue;#ge=!1;#pe=!1;#me=!1;constructor(e,t,i){this.#i=e,this.#he=t,this.#ue=i}isSandboxed(){return this.#pe}load(){if(this.#ge)return void this.#i.debug("already checked");if(this.#ge=!0,this.#i.debug("load sandbox detector"),!a())return void this.#i.debug("not in iframe. exit");this.#i.debug("iframe detected");const e=this.#ue.getState();if(e&&e.expiresAt>Date.now())return this.#i.debug("previous state present. Expires at:",new Date(e.expiresAt)),e.isSandboxed?(this.#i.debug("sandboxed recently! show overlay"),void(this.#pe=!0)):void this.#i.debug("not sandboxed recently. dont check further");this.#i.debug("attach detector listener to events");const t={zoneId:wt,callback:this.#fe.bind(this)};N||this.#he.subscribe("mousedown",t,!0),this.#he.subscribe("click",t,!0)}#fe(e){if(!e.isTrusted)return void this.#i.debug(`${e.type} on ${e.target.tagName}. Detector skipped: event is not trusted`,e);if(this.#he.isShowingPop)return void this.#i.debug("detector skipped: pop being currently shown");this.#he.isShowingPop=!0,this.#i.debug("detector taking action. prevent other pops from showing");let t=null;try{t=window.open("about:blank","_blank")}catch(e){this.#i.error("detector error",e)}t&&t.close(),null===t&&(this.#i.debug("sandbox detected"),this.#pe=!0),this.#ue.setState({expiresAt:Date.now()+36e5,isSandboxed:this.#pe}),N||this.#he.unsubscribe("mousedown",wt,!0),this.#he.unsubscribe("click",wt,!0),setTimeout(()=>{this.#he.isShowingPop=!1},300)}showSandboxWarningOverlay(){this.#me||(this.#me=!0,this.#i.debug("show sandbox warning overlay"),this.#be())}#ve(){const e=document.createElement("div");e.id="sbxwo",Object.assign(e.style,{position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.8)",color:"#fff",zIndex:1e4,display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",padding:"20px",boxSizing:"border-box",textAlign:"center"});const t=document.createElement("div");t.innerHTML="\n
Ad Functionality Blocked
\n
\n It looks like your page is running in a sandbox that blocks certain functionality.\n This setting is preventing our ads from working properly.\n Please disable the sandbox restrictions or adjust your settings.\n
\n To continue playing please remove Sandbox from iframe tab or add "allow-popups" to Sandbox\n
\n ',e.appendChild(t),document.body.appendChild(e)}}const At="x4G9Tq2Kw6R7v1Dy3P0B5N8Lc9M2zF",kt="ZpQw9XkLmN8c3vR3",Et="adblock-settings",Ct=(()=>{let e=document.currentScript;return e||(e=document.getElementById("aclib")),e||(e=document.getElementById("adcash-lib")),e})();let St=null;class xt{#ye;#we={pop:!1,autoTag:!1,inPagePush:!1,interstitial:!1,videoSlider:!1};#Te;#b;#Ae=new Set;#ke=new Set;#i;#Ee=!1;#Ce=!1;#Se;#f="adexchangeclear.com";#T="70.0";#o=null;#xe="aclib";#Ie;#Re=!1;isShowingPop=!1;#C;#Ne=!1;#Le={};#Oe;constructor(e={}){if(St)return St;St=this;let i="aclib";if(e.classes&&(this.#Le=e.classes,i="aclib_adbl"),this.#i=new t(i),this.#Se=(e=>{const t={mousedown:[],click:[],touchstart:[]},i={mousedown:[],scroll:[],click:[],touchstart:[]},r=i=>{const r=i.currentTarget===window?"win":"doc";e.debug(`${r} mousedown with capture: in`),t.mousedown.forEach(t=>{e.debug(`${r} mousedown with capture: calling observer`),t.callback(i)})},n=t=>{const r=t.currentTarget===window?"win":"doc";e.debug(`${r} mousedown: in`),i.mousedown.forEach(i=>{e.debug(`${r} mousedown: calling observer`),i.callback(t)})},s=i=>{const r=i.currentTarget===window?"win":"doc";e.debug(`${r} click with capture: in`),t.click.forEach(t=>{e.debug(`${r} click with capture: calling observer`),t.callback(i)})},o=t=>{const r=t.currentTarget===window?"win":"doc";e.debug(`${r} click: in`),i.click.forEach(i=>{e.debug(`${r} click: calling observer`),i.callback(t)})},a=e=>{i.scroll.forEach(t=>{t.callback(e)})};return{subscribe:(e,r,n)=>{if(!t[e]||!i[e])throw new Error(`${e} is not observable!`);n?t[e].push(r):i[e].push(r)},unsubscribe:(e,r,n)=>{if(!t[e]||!i[e])throw new Error(`${e} is not observable!`);if(n)for(let i=0;i{window.addEventListener("mousedown",r,!0),window.addEventListener("mousedown",n,!1),window.addEventListener("click",s,!0),window.addEventListener("click",o,!1),document.addEventListener("mousedown",r,!0),document.addEventListener("mousedown",n),document.addEventListener("click",s,!0),document.addEventListener("click",o),window.addEventListener("scroll",a)},detachListeners:()=>{window.removeEventListener("mousedown",r,!0),window.removeEventListener("mousedown",n,!1),window.removeEventListener("click",s,!0),window.removeEventListener("click",o,!1),document.removeEventListener("mousedown",r,!0),document.removeEventListener("mousedown",n),document.removeEventListener("click",s,!0),document.removeEventListener("click",o),window.removeEventListener("scroll",a)}}})(this.#i),this.#Se.attachListeners(),this.getClientHints(),this.#Ie=d(),this.#C=P(),this.#Oe=new Tt(new t("sd"),St,new he("sndbxchckiborjforqp2")),this.#i.debug("init adcash lib. listeners attached. ready to publish"),this.#i.debug("is mobile device:",N),window[At]&&(this.#o=JSON.parse(JSON.stringify(window[At])),this.#ye=this.#o.cdnDomain,delete window[At]),window[kt]&&(this.#o=JSON.parse(((e,t="xR9tB2pL6q7MwVe")=>[...atob(e)].map((e,i)=>String.fromCharCode(e.charCodeAt(0)^t.charCodeAt(i%t.length))).join(""))(window[kt])),this.#ye=this.#o.cdnDomain,delete window[kt]),this.#o||(this.#ye=new URL(Ct.src).host,Ct.hasAttribute(Et)&&(this.#o=JSON.parse(Ct.getAttribute(Et)),Ct.removeAttribute(Et))),this.#o&&this.#i.debug("adblock settings:",this.#o),Ct.getAttribute("data-preview"))return this.#i.debug("preview mode"),void(this.#Ne=!0);this.#De(),this.#Pe(),this.#Ue(),this.#Oe.load()}isSandboxed(){return this.#Oe.isSandboxed()}showSandboxWarningOverlay(){this.#Oe.showSandboxWarningOverlay()}async getClientHints(e){if(void 0===this.#Te){this.#Te=await s(this.#i,!0);let e="";for(const t in this.#Te)e+=`&${t}=${this.#Te[t]}`;this.#b=e}return e?this.#Te:this.#b}getCdnDomain(){return this.#ye}getSesionRandomString(){return this.#Ie}enableAdbMode(){this.#i.debug("enable adb mode"),this.#Re=!0}isAdbMode(){return this.#Re}subscribe(e,t,i){this.#Se.subscribe(e,t,i)}unsubscribe(e,t,i){this.#Se.unsubscribe(e,t,i)}#Ue(){if(document.body){const e=document.createElement("a");e.style.display="none",e.style.visibility="hidden",e.style.position="relative",e.style.left="-1000px",e.style.top="-1000px";let t=this.#f;return this.#o&&(t=this.#o.adserverDomain),e.href=`${location.protocol}//${t}/ad/visit.php?al=1`,void document.body.appendChild(e)}setTimeout(this.#Ue.bind(this),100)}#Pe(){yt(St)}#De(){if(document.head){let e=new Set([this.#ye,this.#f]);return this.#o&&e.add(this.#o.adserverDomain),e=Array.from(e),this.#i.debug("prefetch domains:",e),void e.forEach(e=>{const t=document.createElement("link");t.rel="dns-prefetch",t.href=`//${e}`,document.head.appendChild(t)})}setTimeout(this.#De.bind(this),100)}getZoneIds(){return Array.from(this.#Ae)}runPop(e){const{zoneId:t,delay:i,targetElementsCssSelector:r,triggerOnTargetElementsClick:n,targetCountries:s,triggerOnTargetCountries:o,sub1:a,sub2:l,publisherUrl:d,storeUrl:c,c1:h,c2:u,c3:g,pubHash:p,pubClickId:m,pubValue:f,fallbackOn:b,isAutoTag:v,collectiveZoneId:y,aggressivity:w,recordPageView:T,linkedZoneId:A,abTest:k,tagVersionSuffix:E}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");if(void 0!==i&&(!mt(i)||i<0))throw new Error("delay is not an integer or is less than zero");if(void 0!==r){if(!ft(r))throw new Error("targetElementsCssSelector is not a string");if(!(e=>{try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0})(r))throw new Error("targetElementsCssSelector is not a valid css selector");if(!pt(n))throw new Error("triggerOnTargetElementsClick is not a boolean")}if(void 0!==s){if(!(e=>{if(!Array.isArray(e))return!1;if(0===e.length)return!1;for(let t=0;t{window.PopUnder&&(this.#Ae.add(C.zoneId),new PopUnder(C),clearInterval(e))},100)}else{this.#i.debug("loading suv5 script on page"),this.#Ee=!0;const e=document.createElement("script");e.type="text/javascript",e.src=`${location.protocol}//${this.#ye}/script/suv5.js`,e.onload=()=>{this.#we.pop=!0,this.#Ee=!1,v?this.#Ae.add(y):this.#Ae.add(C.zoneId),new PopUnder(C)},e.onerror=()=>{this.#we.pop=!1,this.#Ee=!1,this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}runInPagePush(e){if(this.#we.inPagePush)return void this.#i.error("in-page push zone already loaded on page");this.#we.inPagePush=!0;const{zoneId:t,delay:i,maxAds:r,renderPosDesktop:n,renderPosMobile:s,offsetTop:o,sub1:a,isAutoTag:l,collectiveZoneId:d,linkedZoneId:c,aggressivity:h,recordPageView:u,abTest:g,tagVersionSuffix:p}=e;let{refreshRate:m}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");if(void 0!==m&&(!mt(m)||m<0))throw new Error("refreshRate is not an integer or is less than zero");if(void 0!==i&&(!mt(i)||i<0))throw new Error("delay is not an integer or is less than zero");if(void 0!==r&&(!mt(r)||r<1))throw new Error("maxAds is not an integer or is less than one");if(void 0!==n&&!bt(n))throw new Error("renderPosDesktop is not valid");if(void 0!==s&&!bt(s))throw new Error("renderPosMobile is not valid");if(void 0!==o&&(!mt(o)||o<0))throw new Error("offsetTop is not an integer or is less than zero");this.#i.debug("loading in-page push on page"),l?this.#Ae.add(d):this.#Ae.add(t),void 0!==m&&m>0&&m<10&&(m<5?m*=60:m=30),this.#i.debug("ipp rr set to",m);const f={zoneId:t,refreshRate:m??60,delay:i??0,maxAds:r??1,renderPosDesktop:n??"top",renderPosMobile:s??"top",offsetTop:o??0,sub1:a,isAutoTag:l,collectiveZoneId:d,linkedZoneId:c,aggressivity:h,recordPageView:u,abTest:g,tagVersionSuffix:p,adserverDomain:this.#f,adblockSettings:this.#o,adcashGlobalName:this.#xe,isLoadedAsPartOfLibrary:!1,uniqueFingerprint:this.#C};if(this.#Le.InPagePush)return f.isLoadedAsPartOfLibrary=!0,void new this.#Le.InPagePush(f);if(window.InPagePush)new window.InPagePush(f);else{const e=document.createElement("script");e.type="text/javascript",e.src=`${window.location.protocol}//${this.#ye}/script/inpagepush.js`,e.setAttribute("nipp","1"),e.onload=()=>{new window.InPagePush(f)},e.onerror=()=>{this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}runBanner(e){const{zoneId:t,width:i,height:r,renderIn:n,sub1:s,currentScript:o}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");if(void 0!==i&&!mt(i))throw new Error("Banner width is not an integer");if(void 0!==r&&!mt(r))throw new Error("Banner height is not an integer");let a;this.#i.debug("loading banner on page",t),n||(document.currentScript&&document.currentScript.parentElement&&(a=document.currentScript.parentElement),o&&(a=o.parentElement));const l={zoneId:t,width:i,height:r,renderIn:n,currentElement:a,sub1:s,adcashGlobalName:this.#xe,uniqueFingerprint:this.#C,adblockSettings:this.#o};if(this.#Le.Banner)new this.#Le.Banner(l);else if(this.#we.banner||this.#Ce){if(window.Banner)return this.#Ae.add(l.zoneId),void new Banner(l);const e=setInterval(()=>{window.Banner&&(this.#Ae.add(l.zoneId),new Banner(l),clearInterval(e))},100)}else{this.#Ce=!0;const e=document.createElement("script");e.type="text/javascript",e.src=`${location.protocol}//${this.#ye}/script/banner.js`,e.onload=()=>{this.#we.banner=!0,this.#Ce=!1,this.#Ae.add(l.zoneId),new Banner(l)},e.onerror=()=>{this.#we.banner=!1,this.#Ce=!1,this.#i.error(`failed loading ${e.src}`)},e.setAttribute("data-adel","ban"),e.setAttribute("a-lib","1"),document.head.appendChild(e)}}runInterstitial(e){if(this.#we.interstitial)return void this.#i.error("interstitial zone already loaded on page");this.#we.interstitial=!0;const{zoneId:t,sub1:i,isAutoTag:r,collectiveZoneId:n,linkedZoneId:s,aggressivity:o,recordPageView:a,abTest:l,tagVersionSuffix:d}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");this.#i.debug("loading interstitial on page");const c={zoneId:t,sub1:i,isAutoTag:r,collectiveZoneId:n,linkedZoneId:s,aggressivity:o,recordPageView:a,abTest:l,tagVersionSuffix:d,adcashGlobalName:this.#xe,adserverDomain:this.#f,adblockSettings:this.#o,uniqueFingerprint:this.#C,isLoadedAsPartOfLibrary:!1};if(this.#Ae.add(t),this.#Le.Interstitial)return c.isLoadedAsPartOfLibrary=!0,void new this.#Le.Interstitial(c);if(window.Interstitial)new Interstitial(c);else{const e=document.createElement("script");e.type="text/javascript",e.src=`${location.protocol}//${this.#ye}/script/interstitial.js`,e.setAttribute("a-lib","1"),e.onload=()=>{new Interstitial(c)},e.onerror=()=>{this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}async#$e(e,t=!0){this.#i.debug("fetch collective zone config");let i=`${window.location.protocol}//${this.#f}/ad/czcf.php`;if(this.isAdbMode()){const e=`/${O("abcdefgh0123456789")}`;i=`${window.location.protocol}//${this.#o.adserverDomain}${e}`}i+=`?cz=${e}`,i+=`&atv=${this.#T}`;const r=await this.getClientHints();let n;r&&(i+=r),this.isAdbMode()&&(i+="&sadbl=2",i+="&fmt=atg",i=D(i)),this.#i.debug("collective zone config url: ",i);try{n=await fetch(i)}catch(i){return this.#i.error(i),this.#o&&t?(this.#i.debug("collective zone config fetch failed: try alt domain and path"),this.enableAdbMode(),this.#$e(e,!1)):null}return 200!==n.status?null:(n=await n.json(),V(n))}async runAutoTag(e){if(this.#we.autoTag)return void this.#i.error("autotag zone already loaded on page");this.#we.autoTag=!0;const t=e.zoneId;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");const i=await this.#$e(t);if(!i)return void this.#i.error(`failed to fetch collective zone config! czid: ${t}`);if(this.#i.debug("collective zone config:",i),!i.rotationList){this.#i.debug("running in NORMAL MODE (no rotation)");const r=i.indexedFormats;let n=!0;for(const s in r){switch(s){case"suv4":case"pop":this.runPop({zoneId:r[s].zoneId.toString(),targetElementsCssSelector:r[s]["element-list"],triggerOnTargetElementsClick:"allow"===r[s]["element-action"],targetCountries:r[s]["country-list"],triggerOnTargetCountries:"allow"===r[s]["country-action"],isAutoTag:!0,collectiveZoneId:t,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:n,tagVersionSuffix:e.tagVersionSuffix});break;case"interstitial":this.runInterstitial({zoneId:r[s].zoneId.toString(),isAutoTag:!0,collectiveZoneId:t,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:n,tagVersionSuffix:e.tagVersionSuffix});break;case"ippg":this.runInPagePush({zoneId:r[s].zoneId.toString(),refreshRate:r[s].rr,delay:r[s].d,maxAds:r[s].mads,renderPosDesktop:r[s]["render-pos-desktop"],renderPosMobile:r[s]["render-pos-mobile"],offsetTop:r[s]["offset-top"],isAutoTag:!0,collectiveZoneId:t,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:n,tagVersionSuffix:e.tagVersionSuffix});break;default:this.#i.error(`ad format type not recognised from collective zone config. adformat.type: ${s}; czid: ${t}`)}n=!1}return}this.#i.debug("running in ROTATION MODE (rotation present)");const r={adcashGlobalName:this.#xe,collectiveZoneConfig:i,adserverDomain:this.#f,adblockSettings:this.#o,clientHintsQueryStr:this.#b,tagVersionSuffix:e.tagVersionSuffix,isLoadedAsPartOfLibrary:!1,uniqueFingerprint:this.#C};if(this.#Le.AutoTagRotation)return this.#Ae.add(t),r.isLoadedAsPartOfLibrary=!0,void new this.#Le.AutoTagRotation(r);this.#i.debug("loading autotag rotation script on page");const n=document.createElement("script");n.type="text/javascript",n.src=`${location.protocol}//${this.#ye}/script/atagv2.js`,n.onload=()=>{this.#Ae.add(t),new ue(r)},n.onerror=()=>{this.#i.error(`failed loading ${n.src}`)},document.head.appendChild(n)}runVideoSlider(e){if(this.#we.videoSlider)return void this.#i.error("videoslider zone already loaded on page");this.#we.videoSlider=!0;const{zoneId:t,sub1:i,vastXml:r,linkedZoneId:n}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");const s={zoneId:t,sub1:i,adserverDomain:this.#f,adcashGlobalName:this.#xe,uniqueFingerprint:this.#C,isPreviewMode:this.#Ne,vastXml:r,linkedZoneId:n,adblockSettings:this.#o};if(this.#Le.VideoSlider)return s.isLoadedAsPartOfLibrary=!0,void new this.#Le.VideoSlider(s);if(window.VideoSlider)new VideoSlider(s);else{const e=document.createElement("script");e.type="text/javascript",e.src=`${window.location.protocol}//${this.#ye}/script/videoSliderAlt.js`,e.onload=()=>{this.#Ae.add(t),new VideoSlider(s)},e.onerror=()=>{this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}}const It=new t("aclib_adblock_index");window.Adcash?It.debug("lib already on page. exit"):(It.debug("load lib on page"),((e={})=>{const t={aclib:new xt(e),Adcash:xt,AtcshAltNm:xt};Object.keys(t).forEach(e=>{Object.defineProperty(window,e,{value:t[e]})})})({classes:{AutoTagRotation:ue,PopUnder:class{#s;#y=null;#t={};#L=!1;#Ve=!1;#Me=!1;#Fe=!1;#O;#v=!1;#R=!0;#i;#T="70.0";#D=null;#qe=12;#k=!1;constructor(e){this.#i=new t(`suv5_${e.zoneId}`),this.#s=window[e.adcashGlobalName],e.tagVersionSuffix&&(this.#T+=e.tagVersionSuffix),this.#i.debug("tag version:",this.#T),this.#i.debug("init pop with config:",e),this.#t=e,this.elementTargeting=new me(this.#t.targetElementsCssSelector,this.#t.triggerOnTargetElementsClick,this.#t.zoneId),!N||this.elementTargeting.isPresent()||this.#t.linkedZoneId||(this.#R=!1),this.#i.debug("useCapture:",this.#R),this.overlays=new pe(this.elementTargeting,this.#P.bind(this),this.#ze.bind(this),this.#i,this.#t.zoneId,this.#R),this.#V(),this.localStorage=new he(`suv5_${e.zoneId}_state`);const i=this.localStorage.getState();i&&i.adbExpiresAt>Date.now()&&this.#s.enableAdbMode();const r=Date.now();if(i&&i.renderAfterTimestamp>r){const e=i.renderAfterTimestamp-r;this.#i.debug(`previous state present. bid after ${e/1e3} sec`),setTimeout(this.#Be.bind(this),e)}else this.#Be()}async#S(){const e=await this.#s.getClientHints(!1);let t=`${window.location.protocol}//${this.#t.adserverDomain}/script/suurl5.php`;if(this.#t.adblockSettings&&this.#s.isAdbMode()){const{adserverDomain:e}=this.#t.adblockSettings,i=`/${O("abcdefgh0123456789")}`;t=`${window.location.protocol}//${e}${i}`}if(t+=`?r=${this.#t.zoneId}`,this.#v&&(t+="&rbd=1"),this.#t.targetCountries){const e=this.#t.targetCountries.join(",");this.#t.triggerOnTargetCountries?t+="&allowed_countries="+encodeURIComponent(e):t+="&excluded_countries="+encodeURIComponent(e)}return t=t+e+"&cbur="+Math.random()+"&cbiframe="+a()+"&cbWidth="+c()+"&cbHeight="+h()+"&cbtitle="+encodeURIComponent(u())+"&cbpage="+encodeURIComponent(o())+"&cbref="+encodeURIComponent(g())+"&cbdescription="+encodeURIComponent(p("description"))+"&cbkeywords="+encodeURIComponent(p("keywords"))+"&cbcdn="+encodeURIComponent(this.#s.getCdnDomain())+"&ufp="+encodeURIComponent(this.#t.uniqueFingerprint)+"&ts="+Date.now()+"&srs="+this.#s.getSesionRandomString()+"&atv="+this.#T,this.#t.sub1&&(t+=`&sub1=${encodeURIComponent(this.#t.sub1)}`),this.#t.sub2&&(t+=`&sub2=${encodeURIComponent(this.#t.sub2)}`),this.#t.publisherUrl&&(t+=`&pu=${encodeURIComponent(this.#t.publisherUrl)}`),this.#t.storeUrl&&(t+=`&storeurl=${encodeURIComponent(this.#t.storeUrl)}`),this.#t.c1&&(t+=`&c1=${encodeURIComponent(this.#t.c1)}`),this.#t.c2&&(t+=`&c2=${encodeURIComponent(this.#t.c2)}`),this.#t.c3&&(t+=`&c3=${encodeURIComponent(this.#t.c3)}`),this.#t.pubHash&&(t+=`&pub_hash=${encodeURIComponent(this.#t.pubHash)}`),this.#t.pubClickId&&(t+=`&pub_clickid=${encodeURIComponent(this.#t.pubClickId)}`),this.#t.pubValue&&(t+=`&pub_value=${encodeURIComponent(this.#t.pubValue)}`),this.#t.fallbackOn&&(t+=`&fallbackon=${encodeURIComponent(this.#t.fallbackOn)}`),this.#t.adblockSettings&&(t+="&abtg=1"),this.#t.isAutoTag&&(t+="&atag=1"),this.#t.aggressivity&&(t+=`&aggr=${this.#t.aggressivity}`),this.#t.collectiveZoneId&&(t+=`&czid=${this.#t.collectiveZoneId}`),this.#t.recordPageView&&(t+="&ppv=1"),this.#t.linkedZoneId&&(t+=`&pblcz=${this.#t.linkedZoneId}`),this.#t.abTest&&(t+=`&ab_test=${this.#t.abTest}`),this.#t.adblockSettings&&this.#t.adblockSettings.adbVersion&&(t+=`&adbv=${this.#t.adblockSettings.adbVersion}`),this.#s.isSandboxed()&&(t+="&sbx=1"),this.#t.adblockSettings&&this.#s.isAdbMode()?(t+="&sadbl=2",t+="&fmt=suv5",this.#i.debug(`bid url: ${t}`),D(t)):(this.#i.debug(`bid url: ${t}`),t)}#$(e){try{let t=this.#D?this.#D(""):window.open("");return t.document.open(),t.document.writeln('
Warning! Do NOT Download Without a VPN!
Your IP Address is . Location is Planet Earth
Your Internet Provider and Government can track your download activities! Hide your IP ADDRESS with a VPN!
We strongly recommend using a VPN service to anonymize your torrent downloads. It's FREE!
Hadoop Cluster Deployment by Danil Zburivsky
2013 | ISBN: 1783281715 | English | 126 pages | PDF | 4 MB
Construct a modern Hadoop data platform effortlessly and gain insights into how to manage clusters efficiently
Overview
Choose the hardware and Hadoop distribution that best suits your needs
Get more value out of your Hadoop cluster with Hive, Impala, and Sqoop
Learn useful tips for performance optimization and security
In Detail
Big Data is the hottest trend in the IT industry at the moment. Companies are realizing the value of collecting, retaining, and analyzing as much data as possible. They are therefore rushing to implement the next generation of data platform, and Hadoop is the centerpiece of these platforms.
This practical guide is filled with examples which will show you how to successfully build a data platform using Hadoop. Step-by-step instructions will explain how to install, configure, and tie all major Hadoop components together. This book will allow you to avoid common pitfalls, follow best practices, and go beyond the basics when building a Hadoop cluster.
This book will walk you through the process of building a Hadoop cluster from the ground up. By using practical examples and command samples, you will be able to get a cluster up and running in no time, and you will also gain a deep understanding of how various Hadoop components work and interact with each other.
You will learn how to pick the right hardware for different types of Hadoop clusters and about the differences between various Hadoop distributions. By the end of this book, you will be able to install and configure several of the most popular Hadoop ecosystem projects including Hive, Impala, and Sqoop, and you will also be given a sneak peek into the pros and cons of using Hadoop in the cloud.
What you will learn from this book
Choose the optimal hardware configuration for your Hadoop cluster
Decipher the differences between various Hadoop versions and distributions
Make your cluster crash-proof with Namenode High Availability
Learn tips and tricks for Jobtracker, Tasktracker, and Datanodes
Discover the most important Hadoop ecosystem projects
Get more value out of your cluster by using SQL with Hive and real-time query processing with Impala
Set up a proper permissions model for your cluster
Secure Hadoop with Kerberos
Deploy a Hadoop cluster in a cloud environment
Approach
This book is a step-by-step tutorial filled with practical examples which will show you how to build and manage a Hadoop cluster along with its intricacies.
Who this book is written for
This book is ideal for database administrators, data engineers, and system administrators, and it will act as an invaluable reference if you are planning to use the Hadoop platform in your organization. It is expected that you have basic Linux skills since all the examples in this book use this operating system. It is also useful if you have access to test hardware or virtual machines to be able to follow the examples in the