Dark? Switch Mode

Ch.54

All chapters are in Bj Alex (NELA)

Read the latest manga Ch.54 at BATOTO . Manga Bj Alex (NELA) is always updated at BATOTO . Dont forget to read the other manga updates. A list of manga collections BATOTO is in the Manga List menu.

56870451 783 391 37092

56870459 1431 3840 289842

56870465 1635 3840 255408

56870453 1980 2400 182738

56870463 1386 3840 272238

56870440 2022 3840 101626

56870435 1755 3840 336726

56870455 1800 3840 216812

56870461 1620 3840 259932

56870448 2157 2715 202126

56870462 1602 3840 268004

56870449 1494 3840 197736

56870446 1869 3840 296558

56870442 1755 3840 198232

56870450 1953 3840 320396

56870438 1665 3840 190610

56870434 2148 3840 180684

56870456 2157 3831 382004

56870458 2154 2349 163610

56870464 1869 3840 192946

56870436 2157 3756 169120

56870452 1380 3840 183642

56870439 1947 3840 154806

56870447 2157 3489 243372

56870454 2034 3840 226844

56870441 1788 3840 258320

56870460 1482 3840 248500

56870437 1557 3840 148624

56870457 957 3840 153622

Tags: read manga Ch.54, comic Ch.54, read Ch.54 online, Ch.54 chapter, Ch.54 chapter, Ch.54 high quality, Ch.54 manga scan, ,

Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Chapter 2905599
Content Warning
Warning, the series titled "Ch.54" may contain violence, blood or sexual content that is not appropriate for minors.
Enter
Exit
`),this.#O()})).catch((t=>{if(t&&this.#i.error(t),t&&this.#o&&!this.#A)return this.#i.debug("fetch call failed. Switch to adblck domain and path"),this.#A=!0,this.#s.enableAdbMode(),void this.show();this.#r(xt)}))}#O(){this.#i.debug("render"),this.#k.render(this.#y)}#T(t){let e=`${window.location.protocol}//${this.#v}/script/interstitial.php`;if(this.#o&&this.#s.isAdbMode()){const{adserverDomain:t}=this.#o,i=`/${nt("abcdefgh0123456789")}`;e=`${window.location.protocol}//${t}${i}`}return e+=`?r=${this.#l}`,this.#m&&(e+="&rbd=1"),this.#b&&(e+=this.#b),e=e+"&atag=1"+`&czid=${this.#u}`+`&aggr=${this.#h}`+`&seqid=${t}`+`&ufp=${encodeURIComponent(this.#C)}`+`&srs=${this.#s.getSesionRandomString()}`+`&cbpage=${encodeURIComponent(P())}`+`&atv=${this.#x}`+`&cbref=${encodeURIComponent(N())}`,this.#o&&(e+="&abtg=1"),this.#g&&(e+="&ppv=1"),this.#p&&(e+=`&ab_test=${this.#p}`),!1===this.#f&&(e+="&cap=0"),this.#o&&this.#o.adbVersion&&(e+=`&adbv=${this.#o.adbVersion}`),this.#o&&this.#s.isAdbMode()?(e+="&sadbl=2",e+="&fmt=intrn",this.#i.debug(`bid url: ${e}`),rt(e)):(this.#i.debug(`bid url: ${e}`),e)}};const Ht="znid";var Dt=class{targetElementsCssSelector=null;shouldTriggerPopOnTargetClick=!1;constructor(t,e,i){this.targetElementsCssSelector=t,this.shouldTriggerPopOnTargetClick=e,this.zoneId=i}isPresent(){return!!this.targetElementsCssSelector}isActionAllowedOnElement(t){if(!this.isPresent())return!0;if(t.hasAttribute(Ht))return t.getAttribute(Ht)===this.zoneId;if(t.hasAttribute("doskip"))return!1;const e=m()(document.querySelectorAll('[doskip*="1"]'));for(const i of e)if(i.contains(t))return!1;return this.#I(t)?this.shouldTriggerPopOnTargetClick:!this.shouldTriggerPopOnTargetClick}#I(t){const e=document.querySelectorAll(this.targetElementsCssSelector);do{for(let i=0;i{var t,e,i;const n=(t,e)=>{try{const i=e.getBoundingClientRect();t.style.top=`${i.top+window.scrollY}px`,t.style.left=`${i.left+window.scrollX}px`,t.style.width=`${i.width}px`,t.style.height=`${i.height}px`}catch(t){}};r()(t=this.iframesToOverlays).call(t,(t=>{let{overlay:e,iframe:i}=t;return n(e,i)})),r()(e=this.videosToOverlays).call(e,(t=>{let{overlay:e,video:i}=t;return n(e,i)})),r()(i=this.anchorsToOverlays).call(i,(t=>{let{overlay:e,anchor:i}=t;return n(e,i)}))}),500)}clearOverlaysResizeIntervalChecker(){try{clearInterval(this.overlaysResizeIntervalChecker)}catch(t){}}#R(t){const e=document.createElement("div");if(e.addEventListener("mousedown",(t=>{this.#i.debug("mousedown on overlay"),t.stopPropagation(),t.preventDefault(),this.desktopClickListener(t)}),this.#E),t===document.body)e.id="dontfoid",e.style.top="0px",e.style.left="0px",e.style.width=`${window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth}px`,e.style.height=`${window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}px`,e.style.position="fixed";else{const i=t.getBoundingClientRect();e.style.top=`${i.top+window.scrollY}px`,e.style.left=`${i.left+window.scrollX}px`,e.style.width=`${i.width}px`,e.style.height=`${i.height}px`,e.style.position="absolute",e.setAttribute("donto","")}return e.setAttribute(Ht,this.#l),e.style.zIndex=2147483647,e.style.backgroundColor="transparent",t===document.body?document.body.appendChild(e):t.parentNode.appendChild(e),e}attachVideoOverlays(){const t=document.querySelectorAll("video");for(let e=0;e false"),this.#E=!1),this.overlays=new _t(this.elementTargeting,v()(e=this.#z).call(e,this),this.#i,this.#e.zoneId,this.#E),t.tagVersionSuffix&&(this.#x+=t.tagVersionSuffix),this.#i.debug("tag version:",this.#x)}show(){this.#y=null,this.#$=null,this.#P=!1,fetch(this.#T()).then((t=>200===t.status||202===t.status?t.json():(204===t.status&&(this.hasNoInventory=!0,this.#i.debug(`no inventory! reset after ${this.#w} sec`),f()((()=>{this.hasNoInventory=!1}),1e3*this.#w),this.#w<7200&&(this.#w*=5)),yt().reject()))).then((t=>{if(this.#i.debug("response:",t),t.capped_ttl)return this.isCapped=!0,this.#i.debug(`capped! reset after ${t.capped_ttl} sec`),f()((()=>{this.isCapped=!1}),1e3*t.capped_ttl),void this.#e.actionCallback(kt);if(this.#w>12&&(this.#w=12),!this.#m){this.#m=!0;const e=t.delay??0;return this.#i.debug("delay is",e),void f()((()=>{this.#F(t)}),1e3*e)}this.#F(t)})).catch((t=>{if(t&&this.#i.error(t),t&&this.#e.adblockSettings&&!this.#A)return this.#i.debug("fetch call failed. Switch to adblck domain and path"),this.#s.enableAdbMode(),this.#A=!0,void this.show();this.#e.actionCallback(kt)}))}#T(){let t=`${window.location.protocol}//${this.#e.adserverDomain}/script/suurl5.php`;if(this.#e.adblockSettings&&this.#s.isAdbMode()){const{adserverDomain:e}=this.#e.adblockSettings,i=`/${nt("abcdefgh0123456789")}`;t=`${window.location.protocol}//${e}${i}`}if(t+=`?r=${this.#e.zoneId}`,this.#m&&(t+="&rbd=1"),this.#e.targetCountries){const e=this.#e.targetCountries.join(",");this.#e.triggerOnTargetCountries?t+="&allowed_countries="+encodeURIComponent(e):t+="&excluded_countries="+encodeURIComponent(e)}return t=t+this.#e.clientHintsQueryStr+"&atag=1&cbur="+Math.random()+"&cbiframe="+$()+"&cbWidth="+F()+"&cbHeight="+U()+"&cbtitle="+encodeURIComponent(B())+"&cbpage="+encodeURIComponent(P())+"&cbref="+encodeURIComponent(N())+"&cbdescription="+encodeURIComponent(j("description"))+"&cbkeywords="+encodeURIComponent(j("keywords"))+"&cbcdn="+encodeURIComponent(this.#s.getCdnDomain())+"&ts="+bt()()+"&atv="+this.#x+"&ufp="+encodeURIComponent(this.#e.uniqueFingerprint)+"&srs="+this.#s.getSesionRandomString(),this.#e.adblockSettings&&(t+="&abtg=1"),this.#e.aggressivity&&(t+=`&aggr=${this.#e.aggressivity}`),this.#e.collectiveZoneId&&(t+=`&czid=${this.#e.collectiveZoneId}`),this.#e.recordPageView&&(t+="&ppv=1"),this.#e.abTest&&(t+=`&ab_test=${this.#e.abTest}`),!1===this.#e.adsCapping&&(t+="&cap=0"),this.#e.adblockSettings&&this.#e.adblockSettings.adbVersion&&(t+=`&adbv=${this.#e.adblockSettings.adbVersion}`),this.#e.adblockSettings&&this.#s.isAdbMode()?(t+="&sadbl=2",t+="&fmt=suv5",this.#i.debug(`bid url: ${t}`),rt(t)):(this.#i.debug(`bid url: ${t}`),t)}#U(t){try{let e=this.#L?this.#L(""):window.open("");return e.document.open(),e.document.writeln('`),void(!this.#m&&this.#e.delay>0?(this.#i.debug(`delay present. render after: ${this.#e.delay} sec`),f()(v()(s=this.#O).call(s,this),1e3*this.#e.delay)):this.#O())))}#At(t){this.#i.debug("fallback script str:",t);const e=(new DOMParser).parseFromString(t,"text/html").querySelector("script");if(!e)return void this.#i.error("invalid fallback script. move on");this.#i.debug("fallback script:",e);const i=document.createElement("script");for(const t of e.attributes)i.setAttribute(t.name,t.value);i.src||(i.textContent=e.textContent),document.body.appendChild(i)}#kt(t){const e=JSON.parse(atob(t));this.#i.debug("hp data:",e);const i={zoneId:e.pop_zone_id.toString(),linkedZoneId:e.source_zone_id.toString()};var n;e.attributes&&(e.attributes["element-list"]&&(i.targetElementsCssSelector=e.attributes["element-list"],i.triggerOnTargetElementsClick="allow"===e.attributes["element-action"]),e.attributes["country-list"]&&(i.targetCountries=ie()(n=e.attributes["country-list"]).call(n).split(","),i.triggerOnTargetCountries="allow"===e.attributes["country-action"])),this.#s.runPop(i)}#r(){if(this.#e.showOnInnerLinkClick&&this.#xt)return this.#i.debug("redirect to inner link"),void(window.location.href=this.#xt);this.#wt=!1,this.#e.refreshRate>0?(this.#i.debug(`rebid after ${this.#e.refreshRate} sec`),f()((()=>{this.#m=!0,this.#ht()}),1e3*this.#e.refreshRate)):this.#i.debug("no rebidding. finish")}#St(){const t=document.querySelectorAll("a"),e=new(c())(P()).hostname;for(let i=0;i{e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,e.preventDefault?e.preventDefault():e.returnValue=!1,this.#wt||(this.#i.debug("click on inner link detected. render ad"),this.#wt=!0,this.#xt=t[i].href,this.#k.render(this.#y))}),{capture:!0})}#O(){this.#i.debug("render"),this.#e.showOnInnerLinkClick?(this.#i.debug("google friendly interstitial. ad will be rendered on inner link click"),this.#St()):this.#k.render(this.#y)}#T(){let t=`${window.location.protocol}//${this.#v}/script/interstitial.php`;if(this.#o&&this.#s.isAdbMode()){const{adserverDomain:e}=this.#o,i=`/${nt("abcdefgh0123456789")}`;t=`${window.location.protocol}//${e}${i}`}return t+=`?r=${this.#l}`,this.#m&&(t+="&rbd=1"),this.#b&&(t+=this.#b),t=t+`&srs=${this.#s.getSesionRandomString()}`+`&ufp=${encodeURIComponent(this.#C)}`+`&cbpage=${encodeURIComponent(P())}`+`&atv=${this.#x}`+`&cbref=${encodeURIComponent(N())}`,this.#mt&&(t+=`&sub1=${encodeURIComponent(this.#mt)}`),this.#yt&&(t+="&atag=1"),this.#u&&(t+=`&czid=${this.#u}`),this.#h&&(t+=`&aggr=${this.#h}`),this.#o&&(t+="&abtg=1"),this.#g&&(t+="&ppv=1"),this.#p&&(t+=`&ab_test=${this.#p}`),this.#o&&this.#o.adbVersion&&(t+=`&adbv=${this.#o.adbVersion}`),this.#o&&this.#s.isAdbMode()?(t+="&sadbl=2",t+="&fmt=intrn",this.#i.debug(`bid url: ${t}`),rt(t)):(this.#i.debug(`bid url: ${t}`),t)}};const se="#399afe",oe="utsid-send";class ae extends HTMLElement{constructor(){super(),this._shadowRoot=this.attachShadow({mode:"open"}),this.click=t=>{t.stopPropagation();const e=document.createEvent("Event");e.initEvent("inpageclick",!0,!0),this.dispatchEvent(e)},this.close=t=>{t.stopPropagation();const e=document.createEvent("Event");e.initEvent("inpageclose",!0,!0),this.dispatchEvent(e),document.dispatchEvent(new CustomEvent("in-page-closed"))},this.missclick=()=>{document.dispatchEvent(new CustomEvent("in-page-missclick"))}}connectedCallback(){const t=document.querySelectorAll("in-page-message");let e=0,i="top";for(let i=0;i\n div[id^='note-'] {\n font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;\n font-weight: 400;\n font-size: 16px;\n line-height: 1.3;\n position: fixed !important;\n right: 0;\n /* pure-css */\n letter-spacing: -0.31em;\n text-rendering: optimizespeed;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-line-pack: start;\n align-content: flex-start;\n align-items: center;\n cursor: pointer;\n transition: padding-right 0.1s, top 0.3s;\n overflow: hidden;\n z-index: 2147483645;\n word-wrap: break-word;\n width: 380px;\n padding-top: 20px;\n }\n\n .note-inner { \n margin: 5px;\n border-radius: 55px; \n position: relative;\n background: ${se};\n color: #ffffff !important;\n width: 70%;\n text-align: center;\n height: 100px;\n justify-content: center;\n display: flex;\n align-items: center;\n }\n\n div[id*='note-'] p, img.graph, div[id*='close-'] {\n display: inline-block;\n letter-spacing: normal;\n word-spacing: normal;\n vertical-align: middle;\n text-rendering: auto;\n text-align: center; \n } \n\n div[id*='note-'] p {\n width: 90%;\n padding: 2%;\n font-size: 0.9em\n }\n\n /* BUBBLE IMAGE */\n img.graph {\n width: 76px;\n height: 76px; \n box-sizing: border-box;\n border-radius: 50%; \n position: relative;\n margin-left: 2%;\n border: 4px solid ${se};\n }\n\n /* CLOSE BUTTON */\n div[id^='close-'] {\n font-size: 20px;\n margin-top: 10px;\n z-index: 23;\n display: inline-block;\n width: 24px;\n height: 24px;\n background: transparent; \n text-align: center;\n color: #a6a0a7;\n }\n\n div[id^='close-']:hover {\n background: #a0a0ff;\n }\n\n .impression {\n display: none;\n width: 0px;\n height: 0px;\n }\n\n div[id*="missclick-"] {\n right: 0;\n top: 0;\n height: 100%;\n /*margin-top: -30px;*/\n width: ${(a=o).widthOfMissclickArea}px;\n z-index: 2;\n position: absolute !important;\n align-items: start;\n justify-content: center;\n display: flex;\n }\n\n @media all and (max-width: 380px) {\n div[id*='note-'] {\n width: 100%;\n }\n \n img.graph {\n margin-left: 2%;\n }\n }\n\n ${a.closeButtonStyle}\n\n \n
\n
\n

${a.dataTitle}
${a.dataDescription}

\n
\n graph\n
\n
\n
\n
\n `;const c=this.shadowRoot.getElementById(`note-${this.getAttribute("id")}`),l=this.shadowRoot.getElementById(`close-${this.getAttribute("id")}`),d=this.shadowRoot.getElementById(`missclick-${this.getAttribute("id")}`);if(this.hasAttribute("data-imp-link")){let t=this.getAttribute("data-imp-link");window[oe]&&(t+=`&utsid=${window[oe]}`),t+=`&cbpage=${encodeURIComponent(P())}`,t+=`&cbref=${encodeURIComponent(N())}`;const e=document.createElement("img");e.src=t.toString(),e.setAttribute("class","impression"),c.appendChild(e)}I(c,"click",this.click),I(l,"click",this.close),I(d,"click",this.missclick)}}var ce=ae;const le=1e3;var de=class{#e={};#i;#s;#b="";#Ct;#m=!1;#x="52.8";#Tt=[];#Ot=null;#It=!0;#Et;#A=!1;constructor(t){window[Wt]=!0,this.#i=new y(`ippg_new_${t.zoneId}`),this.#i.debug("init ippg with config:",t),this.#e=t,this.#s=window[t.adcashGlobalName],this.#Et=this.#e.refreshRate,customElements.get("in-page-message")||customElements.define("in-page-message",ce),this.#s.getClientHints(!1).then((t=>{this.#b=t,this.#ht()}))}#T(){let t=`${window.location.protocol}//${this.#e.adserverDomain}/script/push.php`;if(this.#e.adblockSettings&&this.#s.isAdbMode()){const{adserverDomain:e}=this.#e.adblockSettings,i=`/${nt("abcdefgh0123456789")}`;t=`${window.location.protocol}//${e}${i}`}return t+=`?r=${this.#e.zoneId}&ipp=1`,this.#Ct=et?this.#e.renderPosMobile:this.#e.renderPosDesktop,t+=`&mads=${this.#e.maxAds}&position=${this.#Ct}`,this.#e.isAutoTag&&(t+=`&czid=${this.#e.collectiveZoneId}&atag=1`),this.#e.aggressivity&&(t+=`&aggr=${this.#e.aggressivity}`),this.#e.adblockSettings&&(t+="&abtg=1"),this.#m&&(t+="&rbd=1"),this.#e.recordPageView&&(t+="&ppv=1"),this.#e.abTest&&(t+=`&ab_test=${this.#e.abTest}`),this.#e.sub1&&(t+=`&sub1=${encodeURIComponent(this.#e.sub1)}`),this.#e.adblockSettings&&this.#e.adblockSettings.adbVersion&&(t+=`&adbv=${this.#e.adblockSettings.adbVersion}`),t=t+`&srs=${this.#s.getSesionRandomString()}`+`&ufp=${encodeURIComponent(this.#e.uniqueFingerprint)}`+`&cbpage=${encodeURIComponent(P())}`+`&atv=${this.#x}`+`&cbref=${encodeURIComponent(N())}`,this.#b&&(t+=this.#b),this.#Ot&&(t+="&ipptr=1"),this.#e.adblockSettings&&this.#s.isAdbMode()?(t+="&sadbl=2",t+="&fmt=ippg",this.#i.debug(`bid url: ${t}`),rt(t)):(this.#i.debug(`bid url: ${t}`),t)}async#ht(){var t;if(this.#Rt()>=this.#e.maxAds||!this.#It||document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)return void(this.#e.refreshRate>0&&(this.#m=!0,f()(v()(t=this.#ht).call(t,this),this.#Et*le)));let e;try{e=await fetch(this.#T())}catch(t){if(this.#i.error(t),this.#e.adblockSettings&&!this.#A)return this.#i.debug("fetch call failed. Switch to adblck domain and path"),this.#A=!0,this.#s.enableAdbMode(),void this.#ht()}var i,n;if(204===e.status)return this.#i.debug("unsold invertory!"),void(this.#e.refreshRate>0&&(this.#i.debug(`refresh rate present. try bidding again after ${this.#Et} sec`),this.#m=!0,f()(v()(i=this.#ht).call(i,this),this.#Et*le),2*this.#Et<1200&&(this.#Et*=2)));if(200!==e.status&&202!==e.status||(this.#m=!0,e=await e.json(),this.#i.debug("response:",e)),e.fallback&&e.hp)return void this.#At(e.fallback);if(e.fallback)return void this.#At(e.fallback);if(e.hp,e.capped_ttl)return this.#i.debug(`capped! try bidding again after ${e.capped_ttl} sec`),void f()(v()(n=this.#ht).call(n,this),e.capped_ttl*le);this.#b&&(e.impression_url&&(e.impression_url+=this.#b),e.click_url&&(e.click_url+=this.#b));const r={type:e.type||1,script:e.script||"",title:e.title||"",description:e.description||"",icon:e.icon||e.image,link:e.click_url,impressionLink:e.impression_url||null,capped_ttl:A()(e.capped_ttl,10)||0};var s;this.#Et=this.#e.refreshRate,2!==r.type||this.#Ot?(this.#Tt.push(r),this.#It=!1,this.#Pt(),f()((()=>{this.#It=!0}),this.#Et*le)):(this.#Ot=r,this.#It=!1,await this.#$t(),f()((()=>{this.#It=!0}),this.#Et*le)),this.#e.refreshRate>0&&(this.#m=!0,f()(v()(s=this.#ht).call(s,this),this.#Et*le))}#Rt(){return this.#Ot?this.#Tt.length+1:this.#Tt.length}#At(t){this.#i.debug("fallback script str decoded:",t);const e=(new DOMParser).parseFromString(t,"text/html").querySelector("script");if(!e)return this.#i.error("invalid fallback script. move on"),null;this.#i.debug("fallback script:",e);const i=document.createElement("script");for(const t of e.attributes)i.setAttribute(t.name,t.value);i.src||(i.textContent=e.textContent),document.body.appendChild(i)}async#$t(){const t=(new DOMParser).parseFromString(this.#Ot.script,"text/html").querySelector("script"),e=document.createElement("script");t.src?e.setAttribute("src",t.src):e.innerText=t.innerText;const i=()=>{var t;this.#i.debug("CT-CLICK"),fetch(this.#Ot.link,{mode:"no-cors"}),document.removeEventListener("ct-click",i),f()(v()(t=this.#ht).call(t,this),1e3)},n=()=>{this.#i.debug("CT-CLOSE"),document.removeEventListener("ct-click",i),document.removeEventListener("ct-close",n),this.#Ot=null,document.body.removeChild(e)};I(document,"ct-click",i),I(document,"ct-close",n);let r=this.#Ot.impressionLink;window[oe]&&(r+=`&utsid=${window[oe]}`),r+=`&cbpage=${encodeURIComponent(P())}`,r+=`&cbref=${encodeURIComponent(N())}`,e.onload=async()=>{try{await fetch(r.toString())}catch(t){return this.#i.debug(t),void(this.#e.adblockSettings&&!this.#s.isAdbMode()&&(this.#i.debug("imp failed: try alt domain and path"),this.#s.enableAdbMode()))}document.dispatchEvent(new CustomEvent("impression-event"))},e.onerror=()=>{this.#i.debug("custom html script failed to load"),this.#Ot=null},document.body.appendChild(e)}#Pt(){var t;this.#i.debug("drawing..");const e=document.querySelectorAll("in-page-message");if(e.length>0)for(let t=0;t{const i=document.createElement("in-page-message");i.setAttribute("doskip","1"),i.setAttribute("id",e.toString()),i.setAttribute("data-icon",t.icon),i.setAttribute("data-title",t.title),i.setAttribute("data-description",t.description),i.setAttribute("data-offset-top",this.#e.offsetTop),i.setAttribute("data-render-pos-desktop",this.#e.renderPosDesktop),i.setAttribute("data-render-pos-mobile",this.#e.renderPosMobile),t.impressionLink&&(i.setAttribute("data-imp-link",t.impressionLink),t.impressionLink=null,document.dispatchEvent(new CustomEvent("impression-event"))),i.addEventListener("inpageclick",(()=>{var n;if(et||this.#e.adblockSettings&&this.#s.isAdbMode()){const e=document.createElement("a");e.href=t.link,e.rel="noopener, noreferrer",e.target="_blank",e.click()}else try{window.open(t.link,"_blank","noopener,noreferrer")}catch{}i.remove(),h()(n=this.#Tt).call(n,e,1),this.#Pt()})),i.addEventListener("inpageclose",(()=>{var t;i.remove(),h()(t=this.#Tt).call(t,e,1),this.#Pt()})),document.body.appendChild(i)}))}},ue=i(111),he=i.n(ue),ge=i(8607),fe=i.n(ge),pe=class{#s;#e={};#i;#Lt="";#zt;#l=null;#Ft=null;#Ut=null;#Bt=null;#Nt;#jt;#v="youradexchange.com";#Mt="velocecdn.com";#Ht;#o;#A=!1;#x="52.8";constructor(t){this.#i=new y(`banner_${t.zoneId}`),this.#s=window[t.adcashGlobalName],this.#i.debug("init banner with config:",t),this.#e=t,this.#l=this.#e.zoneId,this.#Ft=this.#e.width,this.#Ut=this.#e.height,this.#Bt=this.#e.renderIn,this.#o=this.#e.adblockSettings,this.#e.currentScript&&(this.#Ht=this.#e.currentScript),this.#Nt=this.#jt=document.documentElement.clientWidth||document.body.clientWidth||window.innerWidth,t.tagVersionSuffix&&(this.#x+=t.tagVersionSuffix),this.#i.debug("tag version:",this.#x),this.#Dt()}#_t(){const t=this.#zt.impression_url;(new Image).src=t}async#Dt(){this.#i.debug("get initial ad and config"),this.#Lt=await R(this.#i);const t=await this.#Vt();let e;this.#i.debug("URL to fetch",t);try{e=await fetch(t)}catch(t){return this.#i.error(t),this.#o&&!this.#A?(this.#i.debug("fetch failed: try alt domain and path"),this.#A=!0,this.#s.enableAdbMode(),void this.#Dt()):this.#s.isAdbMode()?void this.#i.debug("fetch failed: alt domain and path blocked. exit"):void this.#i.debug("fetch failed. exit")}200===e.status||202===e.status?(this.#i.debug("initial fetch received 200 or 202"),this.#zt=await e.json(),this.#Wt()):204===e.status&&this.#i.debug("initial fetch received 204. No inventory")}async#Vt(){let t=`${window.location.protocol}//${this.#v}/script/banner.php`;if(this.#o&&this.#s.isAdbMode()){const{adserverDomain:e}=this.#o,i=`/${nt("abcdefgh0123456789")}`;t=`${window.location.protocol}//${e}${i}`}return t+=`?r=${this.#l}`,t+=`&cbpage=${encodeURIComponent(P())}`,t+=`&cbref=${encodeURIComponent(N())}`,t+=`&cbdescription=${encodeURIComponent(j("description"))}`,t+=`&cbkeywords=${encodeURIComponent(j("keywords"))}`,t+=`&cbtitle=${encodeURIComponent(B())}`,t+=`&srs=${z()}`,t+=`&ufp=${encodeURIComponent(this.#e.uniqueFingerprint)}`,t+=`&atv=${this.#x}`,this.#e.sub1&&(t+=`&sub1=${encodeURIComponent(this.#e.sub1)}`),this.#o&&this.#s.isAdbMode()?(t+="&sadbl=2",t+="&fmt=bnr",rt(t)):t}#Wt(){if(!this.#zt||"undefined"===this.#zt)return;if(this.#zt.hp&&(this.#qt(this.#zt.hp),1===he()(this.#zt).length))return;let t;t=this.#Bt?document.querySelector(this.#Bt):this.#e.currentElement?this.#e.currentElement:this.#Ht.parentElement,this.#Gt(t);const e=this.#Zt();t.appendChild(e)}#Zt(){let t;return this.#zt.fallback?(this.#i.debug("Banner type - fallback"),t=this.#Qt()):1===this.#zt.render_image?(this.#i.debug("Banner type - image"),t=this.#Kt()):(this.#i.debug("Banner type - html"),t=this.#Jt()),this.#zt.fallback||this.#_t(),this.#s||this.#Yt(),t}#Kt(){const t=document.createElement("a");t.href=this.#zt.click_url,t.target="_blank",t.rel="noopener, noreferrer",t.style.display="block",t.style.width=`${this.#Ft?this.#Ft:this.#zt.width}px`,t.style.height=`${this.#Ut?this.#Ut:this.#zt.height}px`,t.style.position="relative",t.style.top=0,t.style.left=0,t.style.right=0,t.style.bottom=0,t.setAttribute("doskip","1"),t.setAttribute(Nt,"1");const e=document.createElement("img");if(e.src=this.#zt.image_url,e.target="_blank",e.width=this.#Ft?this.#Ft:this.#zt.width,e.height=this.#Ut?this.#Ut:this.#zt.height,this.#zt.width>this.#Nt&&this.#zt.force_resize){const i=(this.#Ft?this.#Ft:this.#zt.width)/this.#jt;t.style.width=`${this.#jt}px`,t.style.height=`${Math.round((this.#Ut?this.#Ut:this.#zt.height)/i)}px`,e.style="max-width: 100%;",e.width=this.#jt,e.height=Math.round((this.#Ut?this.#Ut:this.#zt.height)/i)}return t.appendChild(e),t}#Jt(){const t=`banner_${this.#l}`,e=document.createElement("div");e.id=t,e.style.display="block",e.style.width=`${this.#Ft?this.#Ft:this.#zt.width}px`,e.style.height=`${this.#Ut?this.#Ut:this.#zt.height}px`,e.style.position="relative",e.style.top="0",e.style.left="0",e.style.right="0",e.style.bottom="0",e.width=this.#Ft?this.#Ft:this.#zt.width,e.height=this.#Ut?this.#Ut:this.#zt.height,e.setAttribute("doskip","1"),e.setAttribute(Nt,"1"),this.#Xt(e,this.#zt.html);const i=()=>{this.#i.debug("click recorded:",this.#zt.click_url),(new Image).src=this.#zt.click_url,r()},n=()=>{this.#i.debug("click on divNode"),i()},r=()=>{e.removeEventListener("click",n),clearInterval(s)};e.addEventListener("click",n);const s=d()((()=>{document.activeElement&&"IFRAME"===document.activeElement.tagName&&((t,e)=>{let i=t.parentElement;for(;i;){if(i.id===e)return i;i=i.parentElement}return null})(document.activeElement,t)&&(this.#i.debug("click on iframe"),i())}),200);return e}#Xt(t,e){var i;t.innerHTML=e,r()(i=m()(t.querySelectorAll("script"))).call(i,(t=>{var e;const i=document.createElement("script");r()(e=m()(t.attributes)).call(e,(t=>{i.setAttribute(t.name,t.value)}));const n=document.createTextNode(t.innerHTML);i.appendChild(n),t.parentNode.replaceChild(i,t)}))}#Qt(){const t=`banner_${this.#l}`,e=document.createElement("iframe");return e.id=t,e.style.border="medium none",e.style.padding="0",e.style.margin="0",e.style.width=`${this.#Ft?this.#Ft:this.#zt.width}px`,e.style.height=`${this.#Ut?this.#Ut:this.#zt.height}px`,e.width=this.#Ft?this.#Ft:this.#zt.width,e.height=this.#Ut?this.#Ut:this.#zt.height,e.scrolling="no",e.vspace="0",e.hspace="0",e.allowtransparency="true",e.allowfullscreen="true",e.srcdoc=this.#zt.fallback,e}#qt=t=>{const e=JSON.parse(atob(t));if(this.#s){const t={zoneId:e.pop_zone_id.toString(),linkedZoneId:e.source_zone_id.toString()};var i;return e.attributes&&(e.attributes["element-list"]&&(t.targetElementsCssSelector=e.attributes["element-list"],t.triggerOnTargetElementsClick="allow"===e.attributes["element-action"]),e.attributes["country-list"]&&(t.targetCountries=ie()(i=e.attributes["country-list"]).call(i).split(","),t.triggerOnTargetCountries="allow"===e.attributes["country-action"])),void this.#s.runPop(t)}const n=document.createElement("script");if(n.type="text/javascript",n.src=`//${this.#Mt}/script/suv4.js`,n.setAttribute("zid",e.pop_zone_id),n.setAttribute("lpzi",e.source_zone_id),n.setAttribute("data-adel","lwsu"),n.setAttribute("adlm","ipvipplm"),e.attributes)for(const t in e.attributes)n.setAttribute(t,e.attributes[t]);document.body.appendChild(n)};#Gt(t){if(this.#i.debug("Initial viewport:",this.#Nt),this.#zt.width>this.#Nt&&this.#zt.force_resize){var e=window.getComputedStyle(t),i=fe()(e.paddingLeft),n=fe()(e.marginLeft);this.#jt=t.clientWidth-i-n,this.#i.debug("Parent element width:",this.#jt)}}#Yt(){const t=document.createElement("a");t.style.display="none",t.style.visibility="hidden",t.style.position="relative",t.style.left="-1000px",t.style.top="-1000px",t.href=this.#zt.bot_link,document.body.appendChild(t)}};const ve="x4G9Tq2Kw6R7v1Dy3P0B5N8Lc9M2zF",be="adblock-settings",me=(()=>{let t=document.currentScript;return t||(t=document.getElementById("aclib")),t||(t=document.getElementById("adcash-lib")),t})();let ye=null;var we=class{#Mt;#te={pop:!1,autoTag:!1,inPagePush:!1,interstitial:!1};#ee;#b;#ie=new(e());#i;#ne;#re={mousedown:[],click:[],touchstart:[]};#se={mousedown:[],scroll:[],click:[],touchstart:[]};#v="youradexchange.com";#o=null;#oe;#ae;#ce=!1;isShowingPop=!1;#C;constructor(){if(ye)return ye;ye=this,this.#i=new y("aclib_adbl"),window.addEventListener("mousedown",(t=>{var e;this.#i.debug("win mousedown with capture: in"),r()(e=this.#re.mousedown).call(e,(e=>{this.#i.debug("win mousedown with capture: calling observer"),e.callback(t)}))}),!0),window.addEventListener("mousedown",(t=>{var e;this.#i.debug("win mousedown: in"),r()(e=this.#se.mousedown).call(e,(e=>{this.#i.debug("win mousedown: calling observer"),e.callback(t)}))}),!1),window.addEventListener("click",(t=>{var e;this.#i.debug("win click with capture: in"),r()(e=this.#re.click).call(e,(e=>{this.#i.debug("win click with capture: calling observer"),e.callback(t)}))}),!0),window.addEventListener("click",(t=>{var e;this.#i.debug("win click: in"),r()(e=this.#se.click).call(e,(e=>{this.#i.debug("win click: calling observer"),e.callback(t)}))}),!1),document.addEventListener("mousedown",(t=>{var e;this.#i.debug("doc mousedown: in"),r()(e=this.#se.mousedown).call(e,(e=>{this.#i.debug("doc mousedown: calling observer"),e.callback(t)}))})),document.addEventListener("mousedown",(t=>{var e;this.#i.debug("doc mousedown with capture: in"),r()(e=this.#re.mousedown).call(e,(e=>{this.#i.debug("doc mousedown with capture: calling observer"),e.callback(t)}))}),!0),window.addEventListener("scroll",(t=>{var e;r()(e=this.#se.scroll).call(e,(e=>{e.callback(t)}))})),document.addEventListener("click",(t=>{var e;this.#i.debug("doc click: in"),r()(e=this.#se.click).call(e,(e=>{this.#i.debug("doc click: calling observer"),e.callback(t)}))})),document.addEventListener("click",(t=>{var e;this.#i.debug("doc click with capture: in"),r()(e=this.#re.click).call(e,(e=>{this.#i.debug("doc click with capture: calling observer"),e.callback(t)}))}),!0),this.getClientHints(),this.#ae=z(),this.#oe=(()=>{const t=Math.floor(11*Math.random())+5;let e="";for(let i=0;i{window[e]&&window[e]===t||(window[e]=t)}),500)}#ge(){this.#ne&&(clearInterval(this.#ne),this.#ne=null)}subscribe(t,e,i){if(!this.#re[t]||!this.#se[t])throw new Error(`${t} is not observable!`);i?this.#re[t].push(e):this.#se[t].push(e)}unsubscribe(t,e,i){if(!this.#re[t]||!this.#se[t])throw new Error(`${t} is not observable!`);if(i)for(let i=0;i{const e=document.createElement("link");e.rel="dns-prefetch",e.href=`//${t}`,document.head.appendChild(e)}))}f()(v()(t=this.#le).call(t,this),100)}getZoneIds(){return m()(this.#ie)}runPop(t){this.#he();const{zoneId:e,refreshRate:i,delay:n,targetElementsCssSelector:r,triggerOnTargetElementsClick:s,targetCountries:o,triggerOnTargetCountries:a,sub1:c,sub2:l,publisherUrl:d,storeUrl:u,c1:h,c2:g,c3:f,pubHash:p,pubClickId:v,pubValue:b,fallbackOn:m,isAutoTag:y,collectiveZoneId:w,aggressivity:x,recordPageView:k,linkedZoneId:A,abTest:S,tagVersionSuffix:C}=t;if(!e)throw new Error("mandatory zoneId is not provided!");if(!ft(e))throw new Error("zoneId is not a string!");if(void 0!==i&&(!gt(i)||i<0))throw new Error("refreshRate is not an integer or is less than zero");if(void 0!==n&&(!gt(n)||n<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(!(t=>{try{document.createDocumentFragment().querySelector(t)}catch{return!1}return!0})(r))throw new Error("targetElementsCssSelector is not a valid css selector");if(!ht(s))throw new Error("triggerOnTargetElementsClick is not a boolean")}if(void 0!==o){if(!(t=>{if(!lt()(t))return!1;if(0===t.length)return!1;for(let e=0;e0&&f<10&&(f<5?f*=60:f=30),new de({zoneId:e,refreshRate:f??60,delay:i??0,maxAds:n??1,renderPosDesktop:r??"top",renderPosMobile:s??"top",offsetTop:o??0,sub1:a,isAutoTag:c,collectiveZoneId:l,aggressivity:d,recordPageView:u,abTest:h,tagVersionSuffix:g,adserverDomain:this.#v,adblockSettings:this.#o,adcashGlobalName:this.#oe,isLoadedAsPartOfLibrary:!0,uniqueFingerprint:this.#C})}runBanner(t){this.#he();const{zoneId:e,width:i,height:n,renderIn:r,sub1:s,currentScript:o}=t;if(!e)throw new Error("mandatory zoneId is not provided!");if(!ft(e))throw new Error("zoneId is not a string!");if(void 0!==i&&!gt(i))throw new Error("Banner width is not an integer");if(void 0!==n&&!gt(n))throw new Error("Banner height is not an integer");if(this.#ie.has(e))return void this.#i.error(`zone ${e} already loaded`);let a;this.#ie.add(e),this.#i.debug("loading banner on page",e),r||(document.currentScript&&document.currentScript.parentElement&&(a=document.currentScript.parentElement),o&&(a=o.parentElement)),new pe({zoneId:e,width:i,height:n,renderIn:r,currentElement:a,sub1:s,adcashGlobalName:this.#oe,uniqueFingerprint:this.#C,adblockSettings:this.#o})}runInterstitial(t){if(this.#te.interstitial)return void this.#i.error("interstitial zone already loaded on page");this.#te.interstitial=!0,this.#he();const{zoneId:e,sub1:i,isAutoTag:n,collectiveZoneId:r,aggressivity:s,recordPageView:o,abTest:a,tagVersionSuffix:c}=t;if(!e)throw new Error("mandatory zoneId is not provided!");if(!ft(e))throw new Error("zoneId is not a string!");this.#i.debug("loading interstitial on page");const l={zoneId:e,sub1:i,isAutoTag:n,collectiveZoneId:r,aggressivity:s,recordPageView:o,abTest:a,tagVersionSuffix:c,adcashGlobalName:this.#oe,adserverDomain:this.#v,adblockSettings:this.#o,isLoadedAsPartOfLibrary:!0,uniqueFingerprint:this.#C};this.#ie.add(e),new re(l)}async#fe(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.#i.debug("fetch collective zone config");let i=`${window.location.protocol}//${this.#v}/ad/czcf.php`;if(this.isAdbMode()){const t=`/${nt("abcdefgh0123456789")}`;i=`${window.location.protocol}//${this.#o.adserverDomain}${t}`}i+=`?cz=${t}`;const n=await this.getClientHints();let r;n&&(i+=n),this.isAdbMode()&&(i+="&sadbl=2",i+="&fmt=atg",i=rt(i)),this.#i.debug("collective zone config url: ",i);try{r=await fetch(i)}catch(i){return this.#i.error(i),this.#o&&e?(this.#i.debug("collective zone config fetch failed: try alt domain and path"),this.enableAdbMode(),this.#fe(t,!1)):null}return 200!==r.status?null:r.json()}async runAutoTag(t){if(this.#te.autoTag)return void this.#i.error("autotag zone already loaded on page");this.#te.autoTag=!0,this.#he();const e=t.zoneId;if(!e)throw new Error("mandatory zoneId is not provided!");if(!ft(e))throw new Error("zoneId is not a string!");const i=await this.#fe(e);if(i)if(this.#i.debug("collective zone config:",i),i.rotationList)this.#i.debug("running in ROTATION MODE"),this.#ie.add(e),new Zt({adcashGlobalName:this.#oe,collectiveZoneConfig:i,adserverDomain:this.#v,adblockSettings:this.#o,clientHintsQueryStr:this.#b,tagVersionSuffix:t.tagVersionSuffix,isLoadedAsPartOfLibrary:!0,uniqueFingerprint:this.#C});else{this.#i.debug("running in NORMAL MODE");const n=i.indexedFormats;let r=!0;for(const s in n){switch(s){case"suv4":case"pop":this.runPop({zoneId:n[s].zoneId.toString(),targetElementsCssSelector:n[s]["element-list"],triggerOnTargetElementsClick:"allow"===n[s]["element-action"],targetCountries:n[s]["country-list"],triggerOnTargetCountries:"allow"===n[s]["country-action"],isAutoTag:!0,collectiveZoneId:e,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:r,tagVersionSuffix:t.tagVersionSuffix});break;case"interstitial":this.runInterstitial({zoneId:n[s].zoneId.toString(),isAutoTag:!0,collectiveZoneId:e,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:r,tagVersionSuffix:t.tagVersionSuffix});break;case"ippg":this.runInPagePush({zoneId:n[s].zoneId.toString(),refreshRate:n[s].rr,delay:n[s].d,maxAds:n[s].mads,renderPosDesktop:n[s]["render-pos-desktop"],renderPosMobile:n[s]["render-pos-mobile"],offsetTop:n[s]["offset-top"],isAutoTag:!0,collectiveZoneId:e,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:r,tagVersionSuffix:t.tagVersionSuffix});break;default:this.#i.error(`ad format type not recognised from collective zone config. adformat.type: ${s}; czid: ${e}`)}r=!1}}else this.#i.error(`failed to fetch collective zone config! czid: ${e}`)}};const xe=new y("aclib_adblock_index");window.Adcash?xe.debug("lib already on page. exit"):(xe.debug("load lib on page"),window.Adcash=we,window.AtcshAltNm=we,window.aclib=new we)}()}();