https://cdn.sentinelp.com/an_sentinel.js?v=199
Last Checked: Apr 26, 2024, 18:42 EDT
IP Address: | 169.150.221.147 |
ASN #: | AS60068 CDN77 _, GB |
Location: | Unknown, Unknown, Unknown |
URL Reputation: |
|
Other submissions on 169.150.221.147:
-
https://8iunos1x6o17.swipepages.net/
-
https://core.arc.io/broker.html?987699e
-
https://84dds8rsbi0c.swipepages.net/montolieu-A17540
-
http://s10.adtidy.net/
-
https://cam.fapchat.com/pink?transaction_id=102bc0a0d92ed48173abbda013694f&aff_id=21&aff_sub=TJ_1006524281_PHUB_UPL_ALL&aff_sub2=KW_{Keywords};PUB_Pornhub+PC-+Underplayer+Adblock;SBAN_011498DFAPC18ALLEN6667L1;SCMP_1006524281;LOC_UPLVLM_74fc5c78-15b4-4af1-81eb-dac31733665e_706f4996-8bfc-4749-aa10-9848ab457669_bc1e1db8-c1c7-4d3e-a60a-e0bbdc45e65b&source=TS1-1006524281&file_id=585010&xid=4&bo=5696,5603,5645
-
http://tcache92.com/
-
http://wcache12.com/
-
http://ipfs.tech/
-
http://spdtrk.com/
-
https://roblox.com.vc/
Other submissions on sentinelp.com:
-
https://cdn.sentinelp.com/admiral/admiral_HowToGeek.js?v=199
-
https://sentinelp.com/www.howtogeek.com/an-strpixel.png?time=1714170663303&permalink=/811409/force-delete-folder-windows/&referrer=&isActiveSession=0&connSpeed=10&naMode=0&intent=Evergreen&contentType=Feature&primaryTag=Windows%2011&primaryCategory=Windows&networkCategory=tech&type=engagedSeconds&typeValue=5&uuid=2ffed2f4-24a4-4005-9fa2-e642d2cfcdbe
Previous checks:
Domain Name: sentinelp.com Registry Domain ID: 2861523544_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.godaddy.com Registrar URL: https://www.godaddy.com Updated Date: 2024-03-06T16:46:14Z Creation Date: 2024-03-06T16:46:13Z Registrar Registration Expiration Date: 2029-03-06T16:46:13Z Registrar: GoDaddy.com, LLC Registrar IANA ID: 146 Registrar Abuse Contact Email: abuse@godaddy.com Registrar Abuse Contact Phone: +1.4806242505 Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited Registry Registrant ID: Not Available From Registry Registrant Name: Registration Private Registrant Organization: Domains By Proxy, LLC Registrant Street: DomainsByProxy.com Registrant Street: 2155 E Warner Rd Registrant City: Tempe Registrant State/Province: Arizona Registrant Postal Code: 85284 Registrant Country: US Registrant Phone: +1.4806242599 Registrant Phone Ext: Registrant Fax: Registrant Fax Ext: Registrant Email: Select Contact Domain Holder link at https://www.godaddy.com/whois/results.aspx?domain=sentinelp.com Registry Admin ID: Not Available From Registry Admin Name: Registration Private Admin Organization: Domains By Proxy, LLC Admin Street: DomainsByProxy.com Admin Street: 2155 E Warner Rd Admin City: Tempe Admin State/Province: Arizona Admin Postal Code: 85284 Admin Country: US Admin Phone: +1.4806242599 Admin Phone Ext: Admin Fax: Admin Fax Ext: Admin Email: Select Contact Domain Holder link at https://www.godaddy.com/whois/results.aspx?domain=sentinelp.com Registry Tech ID: Not Available From Registry Tech Name: Registration Private Tech Organization: Domains By Proxy, LLC Tech Street: DomainsByProxy.com Tech Street: 2155 E Warner Rd Tech City: Tempe Tech State/Province: Arizona Tech Postal Code: 85284 Tech Country: US Tech Phone: +1.4806242599 Tech Phone Ext: Tech Fax: Tech Fax Ext: Tech Email: Select Contact Domain Holder link at https://www.godaddy.com/whois/results.aspx?domain=sentinelp.com Name Server: NS20.DIGICERTDNS.COM Name Server: NS21.DIGICERTDNS.COM Name Server: NS23.DIGICERTDNS.NET Name Server: NS24.DIGICERTDNS.NET DNSSEC: unsigned URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ >>> Last update of WHOIS database: 2024-04-26T22:42:09Z <<< For more information on Whois status codes, please visit https://icann.org/epp TERMS OF USE: The data contained in this registrar's Whois database, while believed by the registrar to be reliable, is provided "as is" with no guarantee or warranties regarding its accuracy. This information is provided for the sole purpose of assisting you in obtaining information about domain name registration records. Any use of this data for any other purpose is expressly forbidden without the prior written permission of this registrar. By submitting an inquiry, you agree to these terms and limitations of warranty. In particular, you agree not to use this data to allow, enable, or otherwise support the dissemination or collection of this data, in part or in its entirety, for any purpose, such as transmission by e-mail, telephone, postal mail, facsimile or other means of mass unsolicited, commercial advertising or solicitations of any kind, including spam. You further agree not to use this data to enable high volume, automated or robotic electronic processes designed to collect or compile this data for any purpose, including mining this data for your own personal or commercial purposes. Failure to comply with these terms may result in termination of access to the Whois database. These terms may be subject to modification at any time without notice.
-
GET200 OK
https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/whats-new-panel/changeset?_expected=1617030573137
<html><head><link rel="stylesheet" href="resource://content-accessible/plaintext.css"></head><body><pre>/*! For license information please see an_sentinel.js.LICENSE.txt */ (function(){var __webpack_modules__={"./client/js/adsninja-logger.js":function(){eval("//\n// Log messages to the console.\nfunction AdsNinjaLogger(debug = false){\n\n this.DEFAULT_MESSAGE_PILL = 'AdsNinja';\n this.DEFAULT_STYLE_PILL = 'display: inline-block; padding: 1px 4px; border-radius: 3px;';\n this.DEFAULT_STYLE_PILL_DEBUG = 'background: blue; color: #fff;';\n this.DEFAULT_STYLE_PILL_WARN = 'background: yellow; color: #000;';\n this.DEFAULT_STYLE_PILL_ERROR = 'background: red; color: #fff;';\n\n this.__debug = debug;\n\n // Check if debug param is presnt in query string. If it is present, set debug to true.\n if(URLSearchParams){\n\n var urlParams = new URLSearchParams(window.location.search);\n\n if(urlParams.has('an_debug')){\n \n var urlParamsDebug = urlParams.get('an_debug');\n urlParamsDebug = (urlParamsDebug === '0' || urlParamsDebug === 'false') ? false : urlParamsDebug; \n this.__debug = Boolean(urlParamsDebug);\n\n localStorage.setItem('an_debug', this.__debug);\n }\n else{\n\n var localStorageDebug = localStorage.getItem('an_debug');\n localStorageDebug = (localStorageDebug === '0' || localStorageDebug === 'false') ? false : localStorageDebug; \n localStorageDebug = Boolean(localStorageDebug);\n\n this.__debug = Boolean(this.__debug || localStorageDebug);\n }\n }\n}\n\n//\n// Returns debug status.\nAdsNinjaLogger.prototype.isDebug = function(){\n\n return this.debug;\n}\n\n//\n// Returns log data.\nAdsNinjaLogger.prototype.__getLogData = function(data, takeDataSnapshot = true){\n\n var logData = null;\n\n if(typeof data === 'object' && Object.keys(data).length !== 0 && data !== null){\n\n logData = data;\n\n if(takeDataSnapshot){\n\n try{\n\n // To keep current state of data intact.\n logData = JSON.parse(JSON.stringify(data));\n }\n catch(error){\n\n this.warn(error.message, {\n error: error,\n data: data,\n }, false);\n\n // Circular logic detected.\n logData = data;\n }\n }\n }\n else{\n\n logData = '';\n }\n\n return logData;\n}\n\n//\n// Logs to console with default level.\nAdsNinjaLogger.prototype.log = function(message, data = {}, takeDataSnapshot = true){\n\n var logData = this.__getLogData(data, takeDataSnapshot);\n\n console.log(\n `%c${this.DEFAULT_MESSAGE_PILL}`,\n `${this.DEFAULT_STYLE_PILL} ${this.DEFAULT_STYLE_PILL_DEBUG}`,\n message,\n logData\n );\n}\n\n//\n// Logs to console with info level.\nAdsNinjaLogger.prototype.info = function(message, data = {}, takeDataSnapshot = true){\n\n this.log(message, data, takeDataSnapshot);\n}\n\n//\n// Logs to console with debug level.\nAdsNinjaLogger.prototype.debug = function(message, data = {}, takeDataSnapshot = true){\n\n if(!this.__debug){\n\n return;\n }\n\n var logData = this.__getLogData(data, takeDataSnapshot);\n\n console.debug(\n `%c${this.DEFAULT_MESSAGE_PILL}`,\n `${this.DEFAULT_STYLE_PILL} ${this.DEFAULT_STYLE_PILL_DEBUG}`,\n message,\n logData\n );\n}\n\n//\n// Logs to console with warn level.\nAdsNinjaLogger.prototype.warn = function(message, data = {}, takeDataSnapshot = true){\n\n var logData = this.__getLogData(data, takeDataSnapshot);\n\n console.warn(\n `%c${this.DEFAULT_MESSAGE_PILL}`,\n `${this.DEFAULT_STYLE_PILL} ${this.DEFAULT_STYLE_PILL_WARN}`,\n message,\n logData\n );\n}\n\n//\n// Logs to console with error level.\nAdsNinjaLogger.prototype.error = function(message, data = {}, takeDataSnapshot = true){\n\n var logData = this.__getLogData(data, takeDataSnapshot);\n\n console.error(\n `%c${this.DEFAULT_MESSAGE_PILL}`,\n `${this.DEFAULT_STYLE_PILL} ${this.DEFAULT_STYLE_PILL_ERROR}`,\n message,\n logData\n );\n}\n\nwindow.AdsNinjaLogger = AdsNinjaLogger;\n\n//# sourceURL=webpack://AdsNinja-Package/./client/js/adsninja-logger.js?")},"./client/js/adsninja-sentinel.js":function(){eval("\nwindow.an_sentinel = window.an_sentinel || {};\nwindow.an_sentinel.queue = window.an_sentinel.queue || [];\nwindow.an_sentinel.__sentinel = null;\nwindow.an_sentinel.logger = new AdsNinjaLogger();\nvar __firstQueueProcessing = true;\n\nwindow.an_sentinel.init = function (data){\n\n this.__siteConfig = data.siteConfig || {};\n\n var isNoAdsMode = 0;\n if (data['modeAds'] == undefined || (data['modeAds'] !== undefined && data['modeAds'] === 2)) {\n isNoAdsMode = 1;\n } else {\n if (data['connectionConfig'] && data['connectionConfig'][data['connectionType']]) {\n if (data['connectionConfig'][data['connectionType']]['adsDisabled'] === true) {\n isNoAdsMode = 1;\n }\n }\n }\n \n if(window.adsninja_sentinel && this.__siteConfig.hasOwnProperty('sentinelEnabled') && this.__siteConfig.sentinelEnabled){\n \n var pageLevelDefinition = null;\n if(data['pageLevelDefinition'] !== undefined){\n \n pageLevelDefinition = data['pageLevelDefinition'];\n }\n \n var infiniteScrollEvent = null;\n if(data['infiniteScrollEvent'] !== undefined){\n\n infiniteScrollEvent = data['infiniteScrollEvent'];\n }\n\n window.an_sentinel.__sentinel = new adsninja_sentinel('an-strpixel.png', 'article', isNoAdsMode, pageLevelDefinition, infiniteScrollEvent);\n this.logger.debug(\"an_sentinel: Sentinel created\");\n }\n\n}\n\nwindow.an_sentinel.processQueue = function (){\n\n // Execute all closures currently in the queue.\n while(window.an_sentinel.queue.length > 0){\n\n var closure = window.an_sentinel.queue.shift();\n \n try{\n\n closure();\n }\n catch(error){\n\n this.logger.error('Error in queue processing an_sentinel queue.', {\n message: error.message,\n closure: closure,\n });\n }\n }\n\n if(__firstQueueProcessing){\n\n // Override methods to call our handler.\n // This way closures pushed to the queue will be executed immediately from this point on.\n window.an_sentinel.queue.push = function(){\n\n Array.prototype.push.apply(this, arguments);\n window.an_sentinel.processQueue();\n };\n\n window.an_sentinel.queue.unshift = function(){\n\n Array.prototype.unshift.apply(this, arguments);\n window.an_sentinel.processQueue();\n };\n\n __firstQueueProcessing = false;\n }\n}\n\nif('complete' !== document.readyState){\n\n document.addEventListener('readystatechange', function(event){\n\n if('complete' === event.target.readyState){\n\n window.an_sentinel.processQueue();\n }\n });\n}\nelse{\n\n window.an_sentinel.processQueue();\n}\n\n//# sourceURL=webpack://AdsNinja-Package/./client/js/adsninja-sentinel.js?")},"./vendor/valnet/valnet_sentinel/src/js/valnet_sentinel.js":function(){eval('function adsninja_sentinel(pixelUrl, elementName = null, isNoAdsMode, pageLevelDefinition = null, infiniteScrollEvent = null) {\n\n // Set and check for pixelUrl property. Cannot have a pixel without a pixelUrl\n this.pixelUrl = pixelUrl;\n\n if(elementName==\'article\'){\n\n \n var element = document.body;\n\n var elements = document.querySelectorAll("article.w-article");\n if (elements.length > 0) {\n\n element = elements[elements.length - 1];\n }\n \n this.createPageDepthMarkers(element);\n\n }\n\n if(infiniteScrollEvent !== null){\n\n this.infiniteScrollEvent = infiniteScrollEvent;\n this.listenForInfiniteScroll(infiniteScrollEvent);\n }\n\n this.createEngagedPageTimers();\n\n this.isNoAdsMode = isNoAdsMode;\n\n this.pageLevelDefinition = pageLevelDefinition;\n\n this.uuid = this.generateUUID();\n\n this.connectionSpeed = this.getConnectionSpeed();\n\n if(!this.pixelUrl){\n\n console.error("Sentinel pixel failed to instantiate. No pixelUrl provided.");\n } else {\n\n this.sendPixel();\n }\n}\n\nadsninja_sentinel.prototype.sendPixel = function(type = null, typeValue = null) {\n\n var pixelUrl = this.pixelUrl;\n var referrer = document.referrer;\n var xhttp = new XMLHttpRequest();\n\n var hostname = window.location.hostname;\n if(!hostname.startsWith("www.")){\n hostname = "www." + hostname;\n }\n\n // define basic url\n var url = "https://sentinelp.com/" + hostname + "/" + pixelUrl + "?time=" + Date.now() + "";\n\n // add permalink to url\n url = url + "&permalink=" + "/" + window.location.pathname.replace(/(^\\/+|\\/+$)/g, \'\') + \'/\';\n\n // add referrer to url, generated in real time\n url = url + "&referrer=" + referrer;\n\n // add isActiveSession to url\n url = url + "&isActiveSession=" + (sessionStorage.getItem(\'sentinel_sessionTracker\') ?? 0);\n\n if (this.connectionSpeed) {\n // add connection speed\n url = url + "&connSpeed=" + this.connectionSpeed;\n }\n\n // add ads mode\n url = url + "&naMode=" + this.isNoAdsMode;\n\n if(this.pageLevelDefinition){\n \n if(this.pageLevelDefinition.intent){\n\n url = url + "&intent=" + encodeURIComponent(this.pageLevelDefinition.intent);\n }\n\n if(this.pageLevelDefinition.contentType){\n\n url = url + "&contentType=" + encodeURIComponent(this.pageLevelDefinition.contentType);\n }\n\n if(this.pageLevelDefinition.primaryTag){\n\n url = url + "&primaryTag=" + encodeURIComponent(this.pageLevelDefinition.primaryTag);\n }\n\n if(this.pageLevelDefinition.primaryCategory){\n\n url = url + "&primaryCategory=" + encodeURIComponent(this.pageLevelDefinition.primaryCategory);\n }\n\n if(this.pageLevelDefinition.networkCategory){\n\n url = url + "&networkCategory=" + encodeURIComponent(this.pageLevelDefinition.networkCategory);\n }\n }\n\n // check for type and use if not pre-defined rely on referrer\n if(!type){\n\n type = "pageVisit";\n\n // check referrer domain to update and set type\n if (referrer && referrer.trim() !== ""){\n\n var domain = window.location.hostname;\n var referrerDomain = (new URL(referrer)).hostname;\n\n if (referrerDomain === domain) {\n\n type = "pageView";\n } else {\n\n type = "pageVisit";\n }\n }\n }\n\n url = url + "&type=" + type;\n\n if(typeValue!==null){\n\n url = url + "&typeValue=" + typeValue;\n }\n\n url = url + "&uuid=" + this.uuid;\n\n xhttp.open("GET", url, true);\n xhttp.send();\n}\n\nadsninja_sentinel.prototype.sendVideoPixel = function(identifier, type, clientData, message = null, value = null, data = null) {\n\n var pixelUrl = this.pixelUrl;\n var referrer = document.referrer;\n var xhttp = new XMLHttpRequest();\n\n var hostname = window.location.hostname;\n if(!hostname.startsWith("www.")){\n hostname = "www." + hostname;\n }\n\n // define basic url\n var url = "https://sentinelp.com/" + hostname + "/video/" + pixelUrl + "?time=" + Date.now() + "";\n\n // add referrer to url, generated in real time\n url = url + "&referrer=" + referrer;\n\n // add isActiveSession to url\n url = url + "&isActiveSession=" + (sessionStorage.getItem("sentinel_sessionTracker") ?? 0);\n\n if (this.connectionSpeed) {\n // add connection speed\n url = url + "&connSpeed=" + this.connectionSpeed;\n }\n\n // add ads mode\n url = url + "&naMode=" + this.isNoAdsMode;\n\n if(this.pageLevelDefinition){\n \n if(this.pageLevelDefinition.intent){\n\n url = url + "&intent=" + encodeURIComponent(this.pageLevelDefinition.intent);\n }\n\n if(this.pageLevelDefinition.contentType){\n\n url = url + "&contentType=" + encodeURIComponent(this.pageLevelDefinition.contentType);\n }\n\n if(this.pageLevelDefinition.primaryTag){\n\n url = url + "&primaryTag=" + encodeURIComponent(this.pageLevelDefinition.primaryTag);\n }\n\n if(this.pageLevelDefinition.primaryCategory){\n\n url = url + "&primaryCategory=" + encodeURIComponent(this.pageLevelDefinition.primaryCategory);\n }\n\n if(this.pageLevelDefinition.networkCategory){\n\n url = url + "&networkCategory=" + encodeURIComponent(this.pageLevelDefinition.networkCategory);\n }\n }\n\n // add type to url\n url = url + "&type=" + type;\n\n // add placement to url\n url = url + "&placement=" + identifier;\n\n // add fileName to url (data - videoUrl)\n if(data && data.videoUrl !== undefined){\n \n url = url + "&fileName=" + data.videoUrl;\n }\n\n // add isAutoPlay to url (data - isAutoplay - true or false)\n if(data && data.isAutoplay !== undefined){\n\n url = url + "&isAutoPlay=" + ((data.isAutoplay) ? "1" : "0");\n }\n\n // add permalink to url (clientData - clientData - url)\n if(clientData.clientData && clientData.clientData.url !== undefined) {\n \n url = url + "&permalink=" + "/" + clientData.clientData.url.replace(/(^\\/+|\\/+$)/g, \'\') + "/";\n }\n\n // add template to url (clientData - clientData - template)\n if(clientData.clientData && clientData.clientData.template !== undefined) {\n \n url = url + "&template=" + clientData.clientData.template;\n }\n \n // add source to url (clientData - clientData - source)\n if(clientData.clientData && clientData.clientData.source !== undefined) {\n\n url = url + "&source=" + clientData.clientData.source;\n }\n\n url = url + "&uuid=" + this.uuid;\n\n xhttp.open("GET", url, true);\n xhttp.send();\n}\n\nadsninja_sentinel.prototype.createPageDepthMarkers = function(element) {\n \n var elementStartPos = element.getBoundingClientRect().top + document.documentElement.scrollTop;\n var elementHeight = element.offsetHeight;\n var sentinelObj = this;\n\n var depthMarkerPercentages = [0, 20, 40, 60, 80, 100];\n depthMarkerPercentages.forEach(function(percentage) {\n\n setupPercentMarker(sentinelObj, elementStartPos, elementHeight, percentage);\n });\n}\n\nfunction setupPercentMarker(sentinelObj, elementStartPos, elementHeight, percentage) {\n \n var offsetHeight = (elementHeight * percentage / 100) + elementStartPos;\n \n function handleScroll() {\n \n if ((window.scrollY + window.innerHeight) > offsetHeight) {\n \n sentinelObj.percentMarkerHandler(percentage);\n window.removeEventListener(\'scroll\', handleScroll);\n }\n }\n \n window.addEventListener(\'scroll\', handleScroll);\n}\n\nadsninja_sentinel.prototype.percentMarkerHandler = function(percentage) {\n \n this.sendPixel("engagedDepth",percentage);\n}\n\nadsninja_sentinel.prototype.createEngagedPageTimers = function() {\n \n const maxEngagedTime = 30 * 60 * 1000;\n var totalTimeEngaged = 0;\n var timerPos = 0;\n var timers = [5000,10000,15000,25000,35000,45000,65000,85000,105000,145000,185000,225000,305000,385000,465000,625000,785000,945000,1265000,1585000,1905000];\n var sentinelObj = this;\n var timerId;\n var pausedTimer = false;\n \n function recursiveTimeout() {\n \n if(totalTimeEngaged > maxEngagedTime){\n return;\n }\n \n timerId = setTimeout(recursiveTimeout, timers[timerPos]-totalTimeEngaged);\n \n if(!pausedTimer){\n \n if(totalTimeEngaged>0){\n \n sentinelObj.engagedTimeHandler(timers[timerPos-1] / 1000);\n }\n \n totalTimeEngaged = timers[timerPos];\n timerPos += 1;\n }\n \n }\n \n function pauseTimers() {\n \n clearTimeout(timerId);\n pausedTimer = true;\n }\n \n function resumeTimers() {\n \n recursiveTimeout();\n pausedTimer = false;\n }\n \n document.addEventListener("visibilitychange", function() {\n \n if (document.visibilityState === "hidden") {\n \n pauseTimers();\n } else {\n \n resumeTimers();\n }\n });\n \n recursiveTimeout();\n}\n\nadsninja_sentinel.prototype.engagedTimeHandler = function(seconds) {\n \n this.sendPixel("engagedSeconds", seconds);\n}\n\nadsninja_sentinel.prototype.getConnectionSpeed = function() {\n \n var connectionSpeed = null;\n if(navigator.connection){\n connectionSpeed = navigator.connection.downlink;\n }\n \n return connectionSpeed;\n}\n\nadsninja_sentinel.prototype.isAdBlockerActive = function() {\n \n var adElements = document.querySelectorAll(\'.adsninja-ad-zone\');\n \n var isAdBlocker = 0;\n // Iterate through each ad element and check if it\'s visible\n for (var i = 0; i < adElements.length; i++) {\n \n var adElement = adElements[i];\n var style = window.getComputedStyle(adElement);\n \n // Check if the element is hidden or has zero height\n if (style.display === \'none\') {\n isAdBlocker = 1; // Ad blocker might be active\n break;\n }\n }\n \n return isAdBlocker;\n}\n\nadsninja_sentinel.prototype.generateUUID = function() {\n \n var uuid;\n // Check if crypto.randomUUID() is supported\n if (typeof crypto.randomUUID === \'function\') {\n // Use crypto.randomUUID() if supported\n uuid = crypto.randomUUID();\n } else {\n // Fallback method for generating UUIDs\n function fallbackUUID() {\n // Implementation of fallback UUID generation algorithm\n return \'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\'.replace(/[xy]/g, function(c) {\n var r = Math.random() * 16 | 0,\n v = c === \'x\' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n \n // Use the fallback method to generate UUID\n uuid = fallbackUUID();\n }\n \n return uuid;\n}\n\nadsninja_sentinel.prototype.listenForInfiniteScroll = function(infiniteScrollEvent) {\n \n // Listen for infinite scroll events\n window.addEventListener(infiniteScrollEvent, (event) => {\n \n console.log("adsNinjaSentinelInfiniteScroll event received");\n this.sendPixel("pageView");\n });\n}\n\nwindow.adsninja_sentinel = adsninja_sentinel;\n\n\n\n//# sourceURL=webpack://AdsNinja-Package/./vendor/valnet/valnet_sentinel/src/js/valnet_sentinel.js?')}};__webpack_modules__["./vendor/valnet/valnet_sentinel/src/js/valnet_sentinel.js"](),__webpack_modules__["./client/js/adsninja-logger.js"]();var __webpack_exports__={};__webpack_modules__["./client/js/adsninja-sentinel.js"]()})();</pre></body></html>