PageSourceSearch

https://vdxdcfam.verygoodlord.com/wa3sqm.js?ver=1.0.0

js verygoodlord.com collected 2026-09-24 23:35:50 UTC 4,982 bytes, 2 lines download raw bytes

1(()=>{function A(t){var e=document.createElement("a");return e.href=t,e}var w=A;function T(t){let e=t.getAttribute("rel");return e&&e.includes("nokutoku")}var h=T;function D(t){return!!t.dataset.bamxLink}var k=D;var O=function(){var t=document.createElement("a");t.href=window.location;let e=t.host==="kutoku-publisher.test";return e&&console.warn("[KTK] Development mode is enabled"),e}(),$=function(){var t=document.createElement("a");t.href=window.location;let e=t.search.indexOf("kutoku-debug")!==-1;return e&&console.warn("[KTK] Debug mode is enabled"),e}();function I(t){(O||$)&&console.log("[KTK]",t)}var o=I;var g=["amazon.com","amzn.to","bit.ly","click.linksynergy.com","del.icio.us","digg.com","ebay.com","ebay.to","etsy.com","google.com","facebook.com","fave.co","flic.kr","href.li","instagram.com","linkedin.com","netflix.com","onlyfans.com","pinterest.com","rover.ebay.com","rstyle.me","shop-edits.co","shop-links.co","soundcloud.com","t.co","t.umblr.com","translate.google.com","tumblr.com","twitter.com","wa.me","www.amazon.com","www.amazon.com.au","www.awin1.com","www.etsy.com","www.facebook.com","www.google.com","www.imdb.com","www.instagram.com","www.linkedin.com","www.pinterest.com","www.reddit.com","www.stumbleupon.com","www.tumblr.com","www.twitter.com","www.youtube.com","youtube.com","click.linksynergy.com","go.redirectingat.com","go.skimresources.com","prf.hn","rstyle.me","www.awin1.com","www.gopjn.com","www.pepperjamnetwork.com","www.pntrac.com","www.shareasale.com"],b=["gif","jpg","jpeg","png","svg","pdf","doc","docx"];function N(t){let e=t.href,n=w(e);if(e.startsWith("javascript:"))return o("Excluded: javascript is disallowed"),!1;let r=n.pathname.split(".").slice(-1)[0];return b.includes(r)?(o(`Excluded: .${r} is disallowed`),!1):n.protocol.startsWith("http")?h(t)?(o("Excluded: Link has rel=nokutoku attribute"),!1):k(t)?(o("Excluded: Link has already been processed by Narrativ"),!1):n.search.includes("ktk=")?(o("Excluded: Found ktk= in the query string"),!1):g.includes(n.host)?(o("Excluded: Found an excluded URL"),!1):window.location.host===n.host?(o(`Excluded (internal link): ${t}`),!1):!0:(o(`Excluded: ${n.protocol} is disallowed`),!1)}var y=N;function P(){return Math.random().toString(36).substr(2)}var S=P;function j(t){let e={};return t.forEach(n=>{let r=S();n.setAttribute("data-kutoku",r),e[r]=n}),e}var E=j;function K(){let t=document.getElementsByTagName("a");return t=Array.prototype.slice.call(t),t=t.filter((e,n)=>(o(`=== Processing link ${n} : ${e.href} ===`),y(e))),t=t.filter(e=>!!e.href),E(t)}var l=K;async function U(t){let e=new FormData;e.append("publisher[id]",window.KTK.publisherId),e.append("publisher[url]",window.location.href),e.append("publisher[pageTitle]",window.document.title),Object.entries(t).forEach(([r,s])=>e.append(`links[${r}]`,s));let n=await fetch(`${window.KTK.publisherSnippetUrl}/convert-links`,{method:"POST",body:e});return n.ok?{success:!0,data:await n.json()}:{success:!1,error:"Unknown..."}}var v=U;async function C(t,e="on page load"){o(`=== Converting links ${e} ===`);let n=Object.keys(t).length;if(n<1){o("No links found");return}else o(`Found ${n} link(s) to convert`);let r=await v(t);if(!r.success)return o("Failed to convert links"),null;let s=r.data.options.useLinkQualification,u=new Set(Object.keys(r.data.links));
1Object.entries(r.data.links).forEach(a=>{let i=t[a[0]];if(o(`Converted: ${i} => ${a[1]}`),i.setAttribute("href",a[1]),s){let c=i.getAttribute("rel");if(c&&c.includes("sponsored"))return;let m=c?`${c} sponsored`:"sponsored";i.setAttribute("rel",m)}}),Object.entries(t).forEach(([a,i])=>{u.has(a)||i.removeAttribute("data-kutoku")})}var d=C;function R(){return window.location.pathname+window.location.search}var p=R;var _=3e3;function z(){if(!history.pushState)return;let t=history.pushState,e=history.replaceState,n,r=p();function s(){let i=r,c=p();i!==c&&(r=c,o(`Detected history change: ${i} => ${c}`),clearTimeout(n),n=setTimeout(()=>{let m=l();d(m)},_))}function u(){let i=t.apply(this,arguments);return s(),i}function a(){let i=e.apply(this,arguments);return s(),i}return history.pushState=u,e&&(history.replaceState=a),window.addEventListener("popstate",s),function(){clearTimeout(n),window.removeEventListener("popstate",s),history.pushState===u&&(history.pushState=t),history.replaceState===a&&(history.replaceState=e)}}var x=z;var F=["kutoku-publisher.test","www.indigodispatch.com","www.moshi.shop","www.southland-heritage.com","unslop.shop"],f=window.location.hostname;function M(){o("Initializing...");let t=l();d(t),F.includes(f)?(o(`Initialising pushState for ${f}`),x()):o(`Skipping initialisePushState because ${f} is not an approved hostname`)}var L=M;function W(t){window.KTK={publisherId:"wa3sqm",publisherSnippetUrl:"https://vdxdcfam.verygoodlord.com"},(document.attachEvent?document.readyState==="complete":document.readyState!=="loading")?t():document.addEventListener("DOMContentLoaded",t)}W(L);})();
2//# sourceMappingURL=wa3sqm.js.map

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.