1class PageElementMonitor{constructor(t,e,o,s=1e4){this.parentSelector=t,this.childSelector=e,this.elementKey=o,this.delay=s,this.url=window.location.href,this.successes=[],this.errors=[],this.pendingRequests=[]}startMonitoring(){setTimeout((()=>{const t=document.querySelector(this.parentSelector);if(t){t.querySelector(this.childSelector)?this.updateStatus("success",`Element ${this.parentSelector} contains the nested element ${this.childSelector}.`):this.sendMonitoringData()}else this.updateStatus("error",`Parent element ${this.parentSelector} not found.`),this.sendMonitoringData()}),this.delay)}async sendMonitoringData(){const t=new URLSearchParams({url:this.url,elementKey:this.elementKey});this.updateStatus("pending",`Sending request for ${this.parentSelector}...`);try{const e=await fetch("/ajax/monitoring/",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:t.toString()});e.ok?this.updateStatus("success",`Data successfully sent for ${this.parentSelector}`):this.updateStatus("error",`Error sending data for ${this.parentSelector}: ${e}`)}catch(t){this.updateStatus("error",`Network error occurred: ${t}`)}}updateStatus(t,e){"success"===t?this.successes.push(e):"error"===t?this.errors.push(e):"pending"===t&&this.pendingRequests.push(e)}}document.addEventListener("DOMContentLoaded",(function(){"undefined"!=typeof shop_id&&null!==shop_id&&"undefined"!=typeof topShopsMonitoring&&null!==topShopsMonitoring&&Array.isArray(topShopsMonitoring)&&topShopsMonitoring.includes(Number(shop_id))&&(window.monitorShopLoading=new PageElementMonitor(".page-body .letaky-grid .brochure-thumb","picture","shop_loading",1e4),window.monitorShopLoading.startMonitoring())}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.