1!function(){if(window.dtInitRan)return void console.log("[dt-init] init has already run. Bailing...");window.dtInitRan=!0;const e=window.location.search,t=new URLSearchParams(e),i="1"===t.get("dt_debug");function n(...e){i&&console.log("[dt-init]",...e)}function r(...e){i&&console.warn("[dt-init]",...e)}n("init 0.8.3");const o={};function d(e){let t;if("string"!=typeof e.data)return;try{t=JSON.parse(e.data)}catch(t){return void r("Invalid JSON in postMessage:",e.data)}const i="number"==typeof t.docHeight,o="string"==typeof t.id,d="setHeight"===t.type,s=void 0===t.type;if(!(i&&o&&(d||s)))return;s&&r('Received legacy height message without a "type" key. Consider updating this API kit to include type: "setHeight".',t);const a=t.id,c=t.docHeight;if("dt_bar_chart"==a&&c>-1){const e=40;document.getElementById(a).firstChild.height=c+e}if(a.includes("dt_kit")&&c>-1){n("Heard a DT kit broadcasting its height. ID: "+a+", height: "+c);const e=40,t=document.querySelector("#"+a+" iframe");t.height=c+e,0==c&&(t.height=0)}}window.addEventListener?window.addEventListener("message",d,!1):window.attachEvent&&window.attachEvent("onmessage",d),document.querySelectorAll(".dt_kit_wrap").forEach(e=>{!function(e){const i=e.getAttribute("data-kit-url"),r=(e.id||"").trim();if(n("Found a kit wrapper. Kit URL: "+i),e){var d=e.getAttribute("data-prodclass"),s=e.getAttribute("data-market"),a=e.getAttribute("data-kit-url"),c=document.createElement("div");c.classList.add("dt_kit_inner"),c.style.padding="0 16px";var l=document.createElement("iframe");l.id="dt_kit_iframe",l.title="Our interest rates vs competitors",l.height="0",l.style.cssText="border:none; width:100%;",c.appendChild(l),e.appendChild(c)}var u="as_configured",h="as_configured",w=t.get("product_class"),g=t.get("market_id"),m=t.get("product_id");d&&null!==d&&(w=d),s&&null!==s&&(g=s),a&&null!==a&&(dtkitURL=a),null==w&&n('No "product_class" URL variable detected. Please include a URL variable "product_class" with desired product class. The kit will show the classes its configured for...'),null==g&&n('No "market_id" URL variable detected. If you wish to override the market, please include a URL variable "market_id" with desired Market ID. The kit will now show the markets its configured for...'),null!==w&&(u=w.replace(/ /g,"+")),null!==g&&(h=g.split(",")[0]);var v=document.getElementById("dt_kit_iframe"),f="";if(u&&u.length>0&&(f="product_classes="+u),m&&m.length>0&&(f="product_id="+m),v&&u&&h){var p=dtkitURL,_=[];"as_configured"!==u&&_.push(f),"as_configured"!==h&&_.push("market_ids="+h),_.length>0&&(p+=(-1===dtkitURL.indexOf("?")?"?":"&")+_.join("&")),l.addEventListener("load",function(){!function(e,t,i){if(!e||!i)return;if(!("IntersectionObserver"in window))return void n("IntersectionObserver not available. Impression not tracked:",i);let r=null;const d=function(e){return"dt_kit_text"===e?30:150}(i);function s(e){r&&(window.clearTimeout(r),r=null,n("Impression visible height lost before timer completed:",i,e))}function a(){if(o[i])return c.disconnect(),window.removeEventListener("scroll",a),void window.removeEventListener("resize",a);const l=e.getBoundingClientRect(),u=Math.max(0,Math.min(l.bottom,window.innerHeight)-Math.max(l.top,0));if(u>=d){if(r)return;return n("Impression visible height met. Starting 1-second timer:",i,u),void(r=window.setTimeout(()=>{r=null,function(e,t){if(!e||!t||!t.contentWindow||o[e])return;o[e]=!0;const i={type:"dtImpression",id:e};t.contentWindow.postMessage(JSON.stringify(i),"*"),n("Sent impression message to kit:",e,i)}(i,t),c.disconnect(),window.removeEventListener("scroll",a),window.removeEventListener("resize",a)},1e3))}s(u)}const c=new IntersectionObserver(e=>{e.forEach(e=>{if(o[i])return c.disconnect(),window.removeEventListener("scroll",a),void window.removeEventListener("resize",a);a()})},{threshold:[0,.01,.05,.1,.25]});c.observe(e),window.addEventListener("scroll",a,{passive:!0}),window.addEventListener("resize",a),a(),n("Impression observer attached:",i)}(e,l,r)},{once:!0}),l.src=p}}(e)})}();
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.