\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('
17 OCT 2024 - Welcome Back to TorrentFunk! Get your pirate hat back out. Streaming is dying and torrents are the new trend. Account Registration works again and so do Torrent Uploads. We invite you all to start uploading torrents again!
What you'll learn In this course you're going to learn everything you need, to build professional web applications step by step. You will learn a lot of basics and advanced features and by the end of this course you'll therefore be an advanced backend developper. We're not going to stay on the basic level but we are going to dive into advanced features and try to apply them in this web application You'll be able to dive deeper into more challenging projects and apply for backend developer jobs or become a backend developer as a freelancer.
Requirements Java Description In this tutorial we are going to develop the backend side of a beautiful web app called MyFlightApp.
VISITOR COMMENTS (0 )
FILE LIST
Filename
Size
~Get Your Files Here !/01 - Course presentation/001 Course presentation.mp4
16.9 MB
~Get Your Files Here !/02 - Create a Spring Boot application/001 Create a Spring Boot application.mp4
54 MB
~Get Your Files Here !/03 - Running the application/001 Running the application.mp4
33.3 MB
~Get Your Files Here !/04 - JPA/001 JPA Part 1.mp4
109 MB
~Get Your Files Here !/04 - JPA/002 JPA Part 2.mp4
90 MB
~Get Your Files Here !/05 - Spring Data/001 Spring Data.mp4
32.4 MB
~Get Your Files Here !/06 - REST API/001 REST API.mp4
37.3 MB
~Get Your Files Here !/07 - Postman/001 Postman.mp4
23 MB
~Get Your Files Here !/08 - Data Transfer Object (DTO)/001 Data Transfer Object (DTO).mp4
109.7 MB
~Get Your Files Here !/09 - Criteria API/001 Criteria API.mp4
74.2 MB
~Get Your Files Here !/10 - Testing in Postman/001 Testing in Postman Part 1.mp4
53 MB
~Get Your Files Here !/10 - Testing in Postman/002 Testing in Postman Part 2.mp4
89.1 MB
~Get Your Files Here !/10 - Testing in Postman/003 Postman Managing environment.mp4
69.6 MB
~Get Your Files Here !/11 - Creating a web service for synthesis/001 Part 1.mp4
69.6 MB
~Get Your Files Here !/11 - Creating a web service for synthesis/002 Part 2.mp4
73 MB
~Get Your Files Here !/12 - Creating a web service for registration/001 Creating a web service for registration.mp4
70.1 MB
~Get Your Files Here !/13 - Spring Security/001 Spring Security.mp4
81.7 MB
~Get Your Files Here !/14 - Java Bean Validation/001 Java Bean Validation.mp4
50.8 MB
~Get Your Files Here !/14 - Java Bean Validation/002 Custom validators.mp4
158.3 MB
~Get Your Files Here !/15 - JWT authentication/001 JWT authentication.mp4
200.4 MB
~Get Your Files Here !/16 - Filtring requests/001 Filtring requests.mp4
136.9 MB
~Get Your Files Here !/17 - Retrieve user information in Spring Security/001 Retrieve user information in Spring Security.mp4
239.2 MB
~Get Your Files Here !/18 - Exception Handling/001 Exception Handling.mp4
100.2 MB
~Get Your Files Here !/19 - Internationalization/001 Internationalization.mp4