PageSourceSearch

https://www.ibc.com/milestone_common/autoanalyticsmanager.min.js

js ibc.com collected 2026-09-24 10:43:53 UTC 27,217 bytes, 1 lines download raw bytes

1function readTextFile(e, n) { var t = new XMLHttpRequest; t.overrideMimeType("application/json"), t.open("GET", e, !0), t.onreadystatechange = function () { 4 === t.readyState && "200" == t.status && n(t.responseText) }, t.send(null) } analyticsRulesObj = {}; var siteUrl = ""; null != document.getElementById("hdnSiteUrl") && (siteUrl = document.getElementById("hdnSiteUrl").value), readTextFile(siteUrl + "/milestone_common/autoanalyticsrules.json", (function (e) { analyticsRulesObj = JSON.parse(e) })), document.addEventListener("DOMContentLoaded", (function (e) { setTimeout((function () { processAnaylticsRules(), console.log("Auto Data Layer Rules applied") }), 2e3) })); var found = !1; autoDataLayerLog = {}, autDataLayerObjRuleMatched = [], autDataLayerObjRuleNotMatched = [], dataLayerValueObj = null; var Download = { click: function (e) { var n = document.createEvent("MouseEvents"); return n.initMouseEvent("click", !0, !1, self, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), e.dispatchEvent(n) }, encode: function (e) { return "data:application/octet-stream;base64," + btoa(e) }, link: function (e, n) { var t = document.createElement("a"); return t.download = n || self.location.pathname.slice(self.location.pathname.lastIndexOf("/") + 1), t.href = e || self.location.href, t }, save: function (e, n) { this.click(this.link(this.encode(e), n)) } }, customIndexOf = function (e, n, t) { try { var l = -1; if ("" == n || null == n || "undefined" == n || null == n) return -1; for (var o = 0; o < e.length; o++)if ("" != e[o] && null != e[o] && "undefined" != e[o] && n.trimStart(" ").trimEnd(" ").toLowerCase().indexOf(e[o].trimStart(" ").trimEnd(" ").toLowerCase()) >= 0) { l = o; break } return l } catch (e) { return console.log(e), -1 } }; function processAnaylticsRules() { var e = ["a", "button", "input[type=submit]"]; for (var n in e) bindClickEvent(e[n]); isAutoLog() && generateAutoDataLayerLogFile() } function generateAutoDataLayerLogFile() { try { autoDataLayerLog.autDataLayerObjRuleMatched = { autDataLayerObjRuleMatched: autDataLayerObjRuleMatched }, autoDataLayerLog.autDataLayerObjRuleNotMatched = { autDataLayerObjRuleNotMatched: autDataLayerObjRuleNotMatched }; var e = JSON.stringify(autoDataLayerLog); console.log(e), Download.save(e, "autoDataLayerLog.txt") } catch (e) { console.log(e) } } function PushDataLayerFromServerSideKeyWord(e) { try { null != e && null != e && (dataLayerValueObj = JSON.parse(e), "form submission" != dataLayerValueObj.action ? PushToGTM_global(dataLayerValueObj) : found = !0) } catch (e) { console.log(e) } } function processElementClickEvent(e) { found = !1, null == e.getAttribute("data-autodatalayer") && null != analyticsRulesObj && null != analyticsRulesObj && "undefined" != analyticsRulesObj && "" != analyticsRulesObj && (null != e.getAttribute("data-autoDLValue") && null != e.getAttribute("data-autoDLValue") ? PushDataLayerFromServerSideKeyWord(e.getAttribute("data-autoDLValue")) : checkDataLayerRules(analyticsRulesObj, e)) } function bindClickEvent(e) { try { for (var n = document.querySelectorAll(e), t = 0, l = n.length; t < l; t++)addClickEventListner(n[t], t) } catch (e) { console.log(e) } } function bindClickEventToChildElements(e, n) { try { for (var t = document.querySelectorAll(e), l = 0, o = t.length; l < o; l++)addClickEventListner(t[l], l) } catch (e) { console.log(e) } } var dataLayerListener = function (e) { processElementClickEvent(e.currentTarget) }; function addClickEventListner(e, n) { e.removeEventListener("click", dataLayerListener, !1), e.addEventListener("click", dataLayerListener, !1), isAutoLog() && (n > 0 && found && (found = !1), processElementClickEvent(e), isAutoLog() && !found && generateAutoLog(!1, e, null)) } function removeClickEventListner(e, n) { e.removeEventListener("click", (e => { processElementClickEvent(e.currentTarget) }), !1) } function getUrlParameter(e) { e = e.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); var n = new RegExp("[\\?&]" + e + "=([^&#]*)").exec(location.search); return null === n ? "" : decodeURIComponent(n[1].replace(/\+/g, " ")) } function GetRuleValue(e, n) { return null != e && !1 !== e && e?.toLowerCase() == n?.toLowerCase() ? e : "" } function checkDataLayerRules(e, n) { for (var t in e) try { if (found) break; if (e.hasOwnProperty(t)) { var l = e[t]; if (Array.isArray(e[t])) checkDataLayerRules(l, n); else { var o = "", r = "", a = "", u = "", i = "", d = l.matchingText, s = d.split("|"), f = l.ruleUniqueId?.toLowerCase(), c = "", m = l.ruleId, g = l.labelAttributeName, L = !1; if ("href" == l.ruleCondition.toLowerCase()) { if (i = n.href, c = n.getAttribute(m), null != i && null != i && i.toLocaleLowerCase().indexOf("javascript") >= 0) "" == (p = GetRuleValue(c, f)) ? i = n.innerText : (L = !0, i = p) } else if ("innertext" == l.ruleCondition.toLowerCase()) { if ("A" == n.tagName) if ("A" == n.tagName && n.children.length > 0 && null != n.firstElementChild && "SPAN" == n.firstElementChild.tagName) { if ("" == n.firstElementChild.innerText || null == n.firstElementChild.innerText || null == n.firstElementChild.innerText) "" == (p = GetRuleValue(c = n.lastElementChild.getAttribute(m), f)) ? i = n.lastElementChild.innerText : (L = !0, i = p); else "" == (p = GetRuleValue(c = n.firstElementChild.getAttribute(m), f)) ? i = n.firstElementChild.innerText : (L = !0, i = p); if ("" == i || null == i) "" == (p = GetRuleValue(c = n.getAttribute(m), f)) ? i = n.innerText : (L = !0, i = p) } else { "" == (p = GetRuleValue(c = n.getAttribute(m), f)) ? i = n.innerText : (L = !0, i = p) } else if ("button" == n.tagName.toLocaleLowerCase()) { "" == (p = GetRuleValue(c = n.getAttribute(m), f)) ? "" == (i = n.value) && (i = n.innerText) : (L = !0, i = p) } } else if ("value" == l.ruleCondition.toLowerCase()) { "" == (p = GetRuleValue(c = n.getAttribute(m), f)) ? i = n.value : (L = !0, i = p) } o = l.eventName, category = l.category, r = l.action, a = l.label, u = l.labelPrefix; var y = n.closest("form"); if (L) { if ("revenue_recovery" == l.ruleName.toLowerCase()) if (null != document.getElementById("divsiteabandonment") && (O = document.getElementById("divsiteabandonment").querySelectorAll(".button")), null != O && null != O && O.length > 0) for (var h = 0; h < O.length; h++)if (null != l.rules && null != l.rules && "undefined" != l.rules && l.rules.length > 0) for (var b = 0; b < l.rules.length; b++) { var p; "" != (p = GetRuleValue(c = n.getAttribute(m), f)) && l.rules[b].text.toLocaleLowerCase() == p.toLocaleLowerCase() && (category = l.rules[b].category, o = l.rules[b].eventName) } null != o && "" != o && null != o && "undefined" != o && (o = o.toLocaleLowerCase()), null != category && "" != category && null != category && "undefined" != category && (category = category.toLocaleLowerCase()), null != r && "" != r && null != r && "undefined" != r && (r = r.toLocaleLowerCase()); var x = n.getAttribute(g)?.toLocaleLowerCase(); null != x && null != x && "undefined" != x && "" != x && (a = x), datalayerObj = { event: o, category: category, action: r, label: a }, isAutoLog() && generateAutoLog(!0, n, datalayerObj), "form submission" != r && PushToGTM_global(datalayerObj); break } if ("" != d && null != d && null != d && "undefined" != d) { if (customIndexOf(s, i) >= 0) { if (found = !0, "booking_entrance_main_widget" == l.ruleName.toLowerCase()) { if ("A" == n.tagName && null != n.href && null != n.href && (n.href.indexOf("/#") >= 0 || n.href.indexOf("javascript") >= 0)) { found = !1; continue } if (null == y || null == y || "" == y) { found = !1; continue } } else if ("golf_booking_entrance" == l.ruleName.toLowerCase()) { if (!("A" == n.tagName && n.href.indexOf("javascript") < 0 && window.location.href.toLowerCase().indexOf("golf") >= 0)) { found = !1; continue } } else if ("booking_entrance" == l.ruleName.toLowerCase()) { if ("A" == n.tagName && null != n.href && null != n.href && (n.href.indexOf("/#") >= 0 || n.href.indexOf("javascript") >= 0)) { found = !1; continue } } else if ("popup" == l.ruleName.toLowerCase()) { if (!(n.id.indexOf("popup") >= 0 || n.className.indexOf("popup") >= 0)) { found = !1; continue } } else if ("pdf" == l.ruleName.toLowerCase()) { if (null == l.findIn || null == l.findIn || "" == l.findIn || "undefined" == l.findIn || "url" != l.findIn) { found = !1; continue } if (!(null != l.rules && null != l.rules && "undefined" != l.rules && l.rules.length > 0)) { found = !1; continue } for (b = 0; b < l.rules.length; b++)if (window.location.href.indexOf(l.rules[b].text) >= 0) { u = l.rules[b].labelPrefix; break } } else if ("social_icons" == l.ruleName.toLowerCase()) { if ("" == (w = IsSocialIcons(i, n))) { found = !1; continue } a = w, found = !0 } else if ("outbound_map" == l.ruleName.toLowerCase()) { if (!IsOutBoundMap(n, i)) { found = !1; continue }
1 found = !0 } else if ("outbound_link" == l.ruleName.toLowerCase() && !IsOutBoundLink(n)) { found = !1; continue } } else if ("social_icons" == l.ruleName.toLowerCase()) { var w; if ("" == (w = IsSocialIcons(i, n))) { found = !1; continue } a = w, found = !0 } else if ("outbound_map" == l.ruleName.toLowerCase()) { if (!IsOutBoundMap(n, i)) { found = !1; continue } found = !0 } else if ("outbound_link" == l.ruleName.toLowerCase()) { if (!IsOutBoundLink(n)) { found = !1; continue } found = !0 } } else if ("reviewform" == l.ruleName.toLowerCase()) { if (!isReviewForm(y, "formtype")) { found = !1; continue } found = !0 } else if ("contact_us_form" == l.ruleName.toLowerCase()) { var C = ""; if (null == y) { found = !1; continue } if (null != (C = GetClosestformName(y, "dformId")) && null != C && "" != C && C.indexOf("contact") >= 0) found = !0, a = replaceRFPFormName(a, C); else { if (!(window.location.href.indexOf("contact") >= 0)) { found = !1; continue } null != (C = getRFPFromNameByName("contact")) && "" != C && null != C && (found = !0, a = replaceRFPFormName(a, C)) } } else if ("newsletter_signup" == l.ruleName.toLowerCase()) { C = ""; if (null == (C = GetClosestformName(y, "dformId")) || null == C || "" == C) { found = !1; continue } null != C && "" != C && null != C && (C.indexOf("subscribe") >= 0 || C.indexOf("email subscribe") >= 0 || C.indexOf("email offer") >= 0) && (found = !0, a = replaceRFPFormName(a, C)) } else if ("rfp" == l.ruleName.toLowerCase()) { C = ""; if (null != (C = GetClosestformName(y, "dformId")) && null != C && "" != C) { if (found = !0, null == l.findIn || null == l.findIn || "" == l.findIn || "undefined" == l.findIn || "url" != l.findIn) { found = !1; continue } if (!(null != l.rules && null != l.rules && "undefined" != l.rules && l.rules.length > 0)) { found = !1; continue } for (b = 0; b < l.rules.length; b++)if (C.indexOf(l.rules[b].text) >= 0) { u = l.rules[b].labelPrefix; break } } } else if ("outbound_map" == l.ruleName.toLowerCase()) { if (!IsOutBoundMap(n, i)) { found = !1; continue } found = !0 } else if ("outbound_link" == l.ruleName.toLowerCase()) { if (!IsOutBoundLink(n)) { found = !1; continue } found = !0 } else if ("allowed_donotallowed_button_click" == l.ruleName.toLowerCase()) { if (null != l.findIn && null != l.findIn && "" != l.findIn && "undefined" != l.findIn && "className" == l.findIn && null != l.rules && null != l.rules && "undefined" != l.rules && l.rules.length > 0) for (b = 0; b < l.rules.length; b++)if (n.innerText.toLocaleLowerCase() == l.rules[b].text.toLocaleLowerCase() && (n.className.toLocaleLowerCase().indexOf(l.rules[b].className) >= 0 || n.parentElement.className.toLocaleLowerCase().indexOf(l.rules[b].className) >= 0)) { a = l.rules[b].label, found = !0; break } } else if ("faq" == l.ruleName.toLowerCase()) n.className.toLocaleLowerCase().indexOf("queanchor") >= 0 && (found = !0); else if ("booking_reminder" == l.ruleName.toLowerCase()) { if (null != document.getElementById("remindform") && null != (O = document.getElementById("remindform").querySelectorAll("button")) && null != O && O.length > 0) for (h = 0; h < O.length; h++)O[h].innerText == n.innerText && "submit" == n.innerText.trim().toLowerCase() && (found = !0) } else if ("revenue_recovery" == l.ruleName.toLowerCase()) { var O; if (null != document.getElementById("divsiteabandonment") && (O = document.getElementById("divsiteabandonment").querySelectorAll(".button")), null != O && null != O && O.length > 0) for (h = 0; h < O.length; h++)if (null != l.rules && null != l.rules && "undefined" != l.rules && l.rules.length > 0) for (b = 0; b < l.rules.length; b++)if (O[h].innerText == n.innerText && l.rules[b].text.toLocaleLowerCase() == n.innerText.toLocaleLowerCase()) { found = !0, a = l.rules[b].label, u = l.rules[b].labelPrefix, category = l.rules[b].category, o = l.rules[b].eventName; break } } else if ("ota_viewed" == l.ruleName.toLowerCase()) { if (null != document.getElementById("showCompareRatePriceBtn") && null != (O = document.getElementById("showCompareRatePriceBtn").querySelectorAll(".check-price-btn")) && null != O && O.length > 0) for (h = 0; h < O.length; h++)"check rates" == n.innerText.trim().toLowerCase() && O[h].innerText == n.innerText && (found = !0) } else if ("ota_clicked" == l.ruleName.toLowerCase()) { if (null != document.getElementsByClassName("ota-main-box") && null != (O = document.getElementsByClassName("ota-main-box")) && null != O && O.length > 0) for (h = 0; h < O.length; h++) { var v = O[h].querySelectorAll(".popup-booking-link"); if (null != v && v.length > 0) for (b = 0; b < v.length; b++)"check availability" == n.innerText.trim().toLowerCase() && v[b].innerText == n.innerText && (found = !0) } } else if ("discountCoupon_popup_bookNow_button" == l.ruleName) { if (null != document.getElementById("couponbuttons") && null != (O = document.getElementById("couponbuttons").querySelectorAll(".btnbook")) && null != O && O.length > 0) for (h = 0; h < O.length; h++)O[h].innerText == n.innerText && (found = !0) } else if ("discountCoupon_popup_save_button" == l.ruleName) { if (null != document.getElementById("couponbuttons") && null != (O = document.getElementById("couponbuttons").querySelectorAll(".btnsave")) && null != O && O.length > 0) for (h = 0; h < O.length; h++)O[h].innerText == n.innerText && (found = !0) } else if ("discountCoupon_popup_print_button" == l.ruleName) { if (null != document.getElementById("couponbuttons") && null != (O = document.getElementById("couponbuttons").querySelectorAll(".btnprint")) && null != O && O.length > 0) for (h = 0; h < O.length; h++)O[h].innerText == n.innerText && (found = !0) } else if ("discountCoupon_page_bookNow_button" == l.ruleName) { if (null != document.getElementById("couponbuttons") && null != (O = document.getElementById("couponbuttons").querySelectorAll(".coubtn")) && null != O && O.length > 0) for (h = 0; h < O.length; h++)"book now" == n.innerText.toLocaleLowerCase().trim() && O[h].innerText == n.innerText && (found = !0) } else if ("discountCoupon_page_save_button" == l.ruleName) { if (null != document.getElementById("couponbuttons") && null != (O = document.getElementById("couponbuttons").querySelectorAll(".coubtn")) && null != O && O.length > 0) for (h = 0; h < O.length; h++)"download" == n.innerText.toLocaleLowerCase().trim() && O[h].innerText == n.innerText && (found = !0) } else { if ("discountCoupon_page_print_button" != l.ruleName) { found = !1; continue } if (null != document.getElementById("couponbuttons") && null != (O = document.getElementById("couponbuttons").querySelectorAll(".coubtn")) && null != O && O.length > 0) for (h = 0; h < O.length; h++)"print" == n.innerText.toLocaleLowerCase().trim() && O[h].innerText == n.innerText && (found = !0) } if (found) { if (null != a && null != a && "undefined" != a && null != a && a.indexOf("{{title}}") >= 0) { var N = "", E = getRecursiveParentElement(n, 4);
1 N = null != E ? E.innerText : getURLPathName(), a = a.replace("{{title}}", N) } if (a.indexOf("{{elementText}}") >= 0) { var R = ""; "A" == n.tagName && n.children.length > 0 && null != n.firstElementChild && "SPAN" == n.firstElementChild.tagName && "" != (R = "" == n.firstElementChild.innerText || null == n.firstElementChild.innerText || null == n.firstElementChild.innerText ? n.lastElementChild.innerText : n.firstElementChild.innerText) && null != R && null != R || (R = n.innerText), a = a.replace("{{elementText}}", R) } if (a.indexOf("{{rfpformName}}") >= 0) { C = ""; a = replaceRFPFormName(a, C = GetClosestformName(y, "dformId")) } a.indexOf("{{clickURL}}") >= 0 && (a = a.replace("{{clickURL}}", getURLHostName(n.href))), "" != u && null != u && null != u && null != u && (a = u + a), null != o && "" != o && null != o && "undefined" != o && (o = o.toLocaleLowerCase()), null != category && "" != category && null != category && "undefined" != category && (category = category.toLocaleLowerCase()), null != r && "" != r && null != r && "undefined" != r && (r = r.toLocaleLowerCase()), null != a && "" != a && null != a && "undefined" != a && (a.indexOf("{{clickURL}}") >= 0 && (a = a.replace("{{clickURL}}", getURLHostName(window.location.href))), a.indexOf("{{rfpformName}}") >= 0 && (a = replaceRFPFormName(a, getURLHostName(window.location.href))), a.indexOf("{{elementText}}") >= 0 && (a = a.replace("{{elementText}}", getURLHostName(window.location.href))), a.indexOf("{{title}}") >= 0 && (a = a.replace("{{title}}", getURLHostName(window.location.href)))), "" != a && null != a && null != a || (a = n.innerText), a = a.toLocaleLowerCase(), datalayerObj = { event: o, category: category, action: r, label: a }, isAutoLog() && generateAutoLog(!0, n, datalayerObj), "form submission" != r && PushToGTM_global(datalayerObj); break } } } } catch (e) { console.log(e); continue } } function IsSocialIcons(e, n) { var t = ""; return null != e && "" != e && null != e && "undefined" != e && (e.toLowerCase().indexOf("facebook") >= 0 || n.innerText.toLowerCase().indexOf("facebook") >= 0 ? t = "Facebook" : e.toLowerCase().indexOf("linkedin") >= 0 || n.innerText.toLowerCase().indexOf("linkedin") >= 0 ? t = "Linkedin" : e.toLowerCase().indexOf("instagram") >= 0 || n.innerText.toLowerCase().indexOf("instagram") >= 0 ? t = "Instagram" : e.toLowerCase().indexOf("pinterest") >= 0 || n.innerText.toLowerCase().indexOf("pinterest") >= 0 ? t = "Pinterest" : e.toLowerCase().indexOf("twitter") >= 0 || n.innerText.toLowerCase().indexOf("twitter") >= 0 ? t = "Twitter" : e.toLowerCase().indexOf("youtube") >= 0 || n.innerText.toLowerCase().indexOf("youtube") >= 0 ? t = "Youtube" : e.toLowerCase().indexOf("foursquare") >= 0 || n.innerText.toLowerCase().indexOf("foursquare") >= 0 ? t = "Foursquare" : (e.toLowerCase().indexOf("tripadvisor") >= 0 || n.innerText.toLowerCase().indexOf("tripadvisor") >= 0) && (t = "Tripadvisor")), t } function IsOutBoundMap(e, n) { if ("A" == e.tagName && e.href.indexOf("maps") >= 0 || "A" == e.tagName && e.href.indexOf("/tracking/click-location-map.aspx") >= 0 || "" != n && null != n && null != n && "undefined" != n && (n.toLocaleLowerCase().indexOf("maps") >= 0 || n.toLocaleLowerCase().indexOf("get direction") >= 0)) return !0 } function IsOutBoundLink(e) { return "A" == e.tagName && ("" != e.href && null != e.href && !(e.href.indexOf(window.location.host) >= 0) || e.href.indexOf("/tracking") >= 0) && e.href.indexOf("javascript") < 0 } function getURLHostName(e) { try { return new URL(e).hostname } catch (e) { return console.log(e), "" } } function getURLPathName() { try { var e = window.location.pathname, n = ""; if (null != document.getElementById("hdnmilestoneSiteURL") && "" != document.getElementById("hdnmilestoneSiteURL") && null != document.getElementById("hdnmilestoneSiteURL") && (n = document.getElementById("hdnmilestoneSiteURL").value), window.location.pathname.startsWith("/") && (e = window.location.href.replace(n, "")).indexOf("/") >= 0) { var t = e.split("/"); return "" == t[0] ? t[1] : t[0] } return "" == e || "/" == e || e.startsWith("?") ? "HomePage" : "" != e && null != e && null != e && "undefined" != e && e.length > 0 ? e : "" } catch (e) { return console.log(e), "" } } function getRFPFromNameById(e) { try { if ("undefined" == typeof rfpforms) return ""; var n = JSON.parse(rfpforms); if (null == n || null == n || n.length <= 0) return ""; var t = n.filter((function (n) { if (n.formId == e) return n.formName })); if (null != t && t.length > 0) { var l = ""; return null != t && t.length > 0 && null != t[0].formName && (l = t[0].formName.toLocaleLowerCase()), l } return "" } catch (e) { return console.log(e), "" } }
1 function getRFPFromNameByName(e) { try { if ("undefined" == typeof rfpforms) return ""; var n = JSON.parse(rfpforms); if (null != (e = n.filter((function (n) { if (n.formName.toLowerCase().indexOf(e) >= 0) return n.formName }))) && e.length > 0) { var t = ""; return null != e && e.length > 0 && null != e[0].formName && (t = e[0].formName.toLocaleLowerCase()), t } return "" } catch (e) { return console.log(e), null } } function pushRFPFormToDataLayer(e) { try { if ("" != e && null != e && null != e && "undefined" != e) { var n, t, l = "", o = "", r = "", a = "", u = ""; if ("undefined" != typeof analyticsRulesObj && null != analyticsRulesObj && null != analyticsRulesObj.dataLayerRules && analyticsRulesObj.dataLayerRules.length < 0) return; if (null != (n = analyticsRulesObj.dataLayerRules.filter((function (e) { if ("rfp" == e.ruleName) return e }))) && null != n && n.length > 0 && (t = n[0]), null != t && null != t && "undefined" != t && (o = t.label, r = t.action, a = t.category, u = t.eventName, null != t.findIn && null != t.findIn && "" != t.findIn && "undefined" != t.findIn && "url" == t.findIn && null != t.rules && null != t.rules && "undefined" != t.rules && t.rules.length > 0)) for (var i = 0; i < t.rules.length; i++)if (e.indexOf(t.rules[i].text) >= 0) { l = t.rules[i].labelPrefix; break } e.toLocaleLowerCase().indexOf("contact") >= 0 ? (o = (t = (n = analyticsRulesObj.dataLayerRules.filter((function (e) { if ("contact_us_form" == e.ruleName.toLowerCase()) return e })))[0]).label, r = t.action, a = t.category, u = t.eventName, l = t.labelPrefix) : (e.toLocaleLowerCase().indexOf("subscribe") >= 0 || e.toLocaleLowerCase().indexOf("email subscribe") >= 0) && (o = (t = (n = analyticsRulesObj.dataLayerRules.filter((function (e) { if ("newsletter_signup" == e.ruleName.toLowerCase()) return e })))[0]).label, r = t.action, a = t.category, u = t.eventName, l = t.labelPrefix), PushToGTM_global({ event: u, category: a, action: r, label: o = l + (o = replaceRFPFormName(o, e)) }) } } catch (e) { console.log(e) } } function GetClosestformName(e, n) { var t = ""; try { if (null != e && null != e && "" != e && null != e.querySelectorAll("input[id='" + n + "']") && e.querySelectorAll("input[id='" + n + "']").length > 0) { var l = e.querySelectorAll("input[id='" + n + "']")[0].value; null != l && "" != l && null != l && "undefined" != l && (t = getRFPFromNameById(l)) } } catch (e) { console.log(e) } return t } function isReviewForm(e, n) { try { if (null != e && null != e && "" != e && null != e.querySelectorAll("input[id='" + n + "']") && e.querySelectorAll("input[id='" + n + "']").length > 0) { var t = e.querySelectorAll("input[id='" + n + "']")[0].value; if (null != t && "" != t && null != t && t.toLowerCase().indexOf("review") >= 0) return !0 } } catch (e) { console.log(e) } return !1 } function IsLTOForm() { return null != document.getElementById("hdnIsLTOPage") && "1" == document.getElementById("hdnIsLTOPage").value } function replaceRFPFormName(e, n) { return null != e && "" != e && null != e ? e.replace("{{rfpformName}}", n) : "" } function sleep(e) { for (var n = (new Date).getTime(), t = 0; t < 1e7 && !((new Date).getTime() - n > e); t++); } function generateAutoLog(e, n, t) { var l = getElementXPath(n), o = { elementTitle: n.innerText, xPath: l, autoDataLayerMatched: e, logValues: t }; e ? autDataLayerObjRuleMatched.push(o) : autDataLayerObjRuleNotMatched.push(o) } function PushToGTM_global(e) { try { isAutoLog() || (console.log(e), e.label && (e.label = e.label.toLowerCase().trim()), "undefined" != typeof dataLayer && dataLayer.push(e)) } catch (e) { console.log(e) } } function isAutoLog() { return "1" == getUrlParameter("isautolog") } function getElementXPath(e) { for (var n = ""; e && 1 == e.nodeType; e = e.parentNode)idx = getElementIdx(e), xname = e.tagName, idx > 1 && (xname += "[" + idx + "]"), n = "/" + xname + n; return n } function getElementIdx(e) { for (var n = 1, t = e.previousSibling; t; t = t.previousSibling)1 == t.nodeType && t.tagName == e.tagName && n++; return n } function stringToArrayBuffer(e) { try { for (var n = new ArrayBuffer(e.length), t = new Uint8Array(n), l = 0, o = e.length; l < o; l++)t[l] = e.charCodeAt(l); return n } catch (e) { return console.log(e), null } } function getRecursiveParentElement(e, n) { try { for (var t = 0, l = null, o = null; t < n;) { if (0 == t ? (null == o && (o = e), o = getParentElement(o)) : o = getParentElement(o), null != o) { if (null != o.querySelectorAll("h1") && o.querySelectorAll("h1").length > 0) { l = o.querySelectorAll("h1")[o.querySelectorAll("h1").length - 1]; break } if (null != o.querySelectorAll("h2") && o.querySelectorAll("h2").length > 0) { l = o.querySelectorAll("h2")[o.querySelectorAll("h2").length - 1]; break } } t++ } return l } catch (e) { return console.log(e), null } }
1 function getParentElement(e) { try { return null != e ? e.parentElement : null } catch (e) { return console.log(e), null } } function push_coupon_form(e, n, t, l) { null != e && null != e && "" != e || (e = "email"), null != n && null != n && "" != n || (n = "email"), null != t && null != t && "" != t || (t = "form submission"), null != l && null != l && "" != l || (l = "email-discount coupon"), PushToGTM_global({ event: e, category: n, action: t, label: l }) } var dformIdElement = document.getElementById("dformId"), dformIdValue = ""; null != dformIdElement && null != dformIdElement && "" != dformIdElement && (dformIdValue = dformIdElement.value); var isRFPform = !1; "" != dformIdValue && null != dformIdValue && null != dformIdValue && (isRFPform = !0); var isBookingReminderForm = !1; if ((null != document.getElementById("remindform") && null != document.getElementById("remindform") || null != document.getElementById("remindForm") && null != document.getElementById("remindForm")) && (isBookingReminderForm = !0), 1 == isRFPform || 1 == isBookingReminderForm) { var oldXHR = window.XMLHttpRequest; function newXHR() { var e = new oldXHR; return e.addEventListener("readystatechange", (function () { 4 == e.readyState && 200 == e.status && found && (e.responseURL.indexOf("submitformdata.ashx") >= 0 || e.responseURL.indexOf("api/BookingReminderApi/InsertBookingReminder") >= 0) && e.responseText.toLocaleLowerCase().indexOf("true") >= 0 && ("undefined" != typeof datalayerObj && null != datalayerObj && null != datalayerObj ? PushToGTM_global(datalayerObj) : "undefined" != typeof dataLayerValueObj && null != dataLayerValueObj && null != dataLayerValueObj && PushToGTM_global(dataLayerValueObj)) })), e } newXHR.UNSENT = oldXHR.UNSENT, newXHR.OPENED = oldXHR.OPENED, newXHR.HEADERS_RECEIVED = oldXHR.HEADERS_RECEIVED, newXHR.LOADING = oldXHR.LOADING, newXHR.DONE = oldXHR.DONE, window.XMLHttpRequest = newXHR }

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.