/* Adobe code starts here */
var s_account="";

var secId ="";
try{
	// All code and conventions are protected by copyright
	! function(window, document, undefined) {
	    function assert(e, t) {
	        if (!e) throw new Error(t || "Assertion Failure")
	    }

	    function ElementExistsEventEmitter() {
	        this.rules = SL.filter(SL.rules, function(e) {
	            return "elementexists" === e.event
	        })
	    }

	    function FacebookEventEmitter(e) {
	        this.delay = 250, this.FB = e, SL.domReady(SL.bind(function() {
	            SL.poll(SL.bind(this.initialize, this), this.delay, 8)
	        }, this))
	    }

	    function HoverEventEmitter() {
	        var e = this.eventRegex = /^hover\(([0-9]+)\)$/,
	            t = this.rules = [];
	        SL.each(SL.rules, function(n) {
	            var i = n.event.match(e);
	            i && t.push([Number(n.event.match(e)[1]), n.selector])
	        })
	    }

	    function InViewEventEmitter(e) {
	        e = e || SL.rules, this.rules = SL.filter(e, function(e) {
	            return "inview" === e.event
	        }), this.elements = [], this.eventHandler = SL.bind(this.track, this), SL.addEventHandler(window, "scroll", this.eventHandler), SL.addEventHandler(window, "load", this.eventHandler)
	    }

	    function LeaveEventEmitter() {
	        SL.domReady(SL.bind(function() {
	            SL.poll(SL.bind(this.initialize, this), this.delay, 8)
	        }, this))
	    }

	    function LocationChangeEventEmitter() {
	        this.lastURL = SL.URL(), this._fireIfURIChanged = SL.bind(this.fireIfURIChanged, this), this._onPopState = SL.bind(this.onPopState, this), this._onHashChange = SL.bind(this.onHashChange, this), this._pushState = SL.bind(this.pushState, this), this._replaceState = SL.bind(this.replaceState, this), this.initialize()
	    }

	    function OrientationChangeEventEmitter() {
	        SL.addEventHandler(window, "orientationchange", OrientationChangeEventEmitter.orientationChange)
	    }

	    function TwitterEventEmitter(e) {
	        SL.domReady(SL.bind(function() {
	            this.twttr = e || window.twttr, this.initialize()
	        }, this))
	    }

	    function VideoPlayedEventEmitter() {
	        this.rules = SL.filter(SL.rules, function(e) {
	            return "videoplayed" === e.event.substring(0, 11)
	        }), this.eventHandler = SL.bind(this.onUpdateTime, this)
	    }

	    function VisibilityEventEmitter() {
	        this.defineEvents(), this.visibilityApiHasPriority = !0, document.addEventListener ? this.setVisibilityApiPriority(!1) : this.attachDetachOlderEventListeners(!0, document, "focusout");
	        SL.bindEvent("aftertoolinit", function() {
	            SL.fireEvent(SL.visibility.isHidden() ? "tabblur" : "tabfocus")
	        })
	    }

	    function BasicTool(e) {
	        SL.BaseTool.call(this, e), this.name = e.name || "Basic"
	    }

	    function DefaultTool() {
	        SL.BaseTool.call(this), this.asyncScriptCallbackQueue = [], this.argsForBlockingScripts = []
	    }

	    function GATool(e) {
	        SL.BaseTool.call(this, e)
	    }

	    function GAUniversalTool(e) {
	        SL.BaseTool.call(this, e)
	    }

	    function NielsenTool(e) {
	        SL.BaseTool.call(this, e), this.defineListeners(), this.beaconMethod = "plainBeacon", this.adapt = new NielsenTool.DataAdapters, this.dataProvider = new NielsenTool.DataProvider.Aggregate
	    }

	    function SiteCatalystTool(e) {
	        SL.BaseTool.call(this, e), this.varBindings = {}, this.events = [], this.products = [], this.customSetupFuns = []
	    }

	    function Tnt(e) {
	        SL.BaseTool.call(this, e), this.styleElements = {}, this.targetPageParamsStore = {}
	    }

	    function VisitorIdTool(e) {
	        SL.BaseTool.call(this, e), this.name = e.name || "VisitorID", this.initialize()
	    }
	    var ToString = Object.prototype.toString,
	        Overrides = window._satellite && window._satellite.override,
	        SL = {
	            initialized: !1,
	            $data: function(e, t, n) {
	                if (e) {
	                    var i = "__satellite__",
	                        a = SL.dataCache,
	                        r = e[i];
	                    r || (r = e[i] = SL.uuid++);
	                    var o = a[r];
	                    return o || (o = a[r] = {}), n === undefined ? o[t] : void(o[t] = n)
	                }
	            },
	            uuid: 1,
	            dataCache: {},
	            keys: function(e) {
	                var t = [];
	                for (var n in e) e.hasOwnProperty(n) && t.push(n);
	                return t
	            },
	            values: function(e) {
	                var t = [];
	                for (var n in e) e.hasOwnProperty(n) && t.push(e[n]);
	                return t
	            },
	            isArray: Array.isArray || function(e) {
	                return "[object Array]" === ToString.apply(e)
	            },
	            isObject: function(e) {
	                return null != e && !SL.isArray(e) && "object" == typeof e
	            },
	            isString: function(e) {
	                return "string" == typeof e
	            },
	            isNumber: function(e) {
	                return "[object Number]" === ToString.apply(e) && !SL.isNaN(e)
	            },
	            isNaN: function(e) {
	                return e !== e
	            },
	            isRegex: function(e) {
	                return e instanceof RegExp
	            },
	            isLinkTag: function(e) {
	                return !(!e || !e.nodeName || "a" !== e.nodeName.toLowerCase())
	            },
	            each: function(e, t, n) {
	                for (var i = 0, a = e.length; a > i; i++) t.call(n, e[i], i, e)
	            },
	            map: function(e, t, n) {
	                for (var i = [], a = 0, r = e.length; r > a; a++) i.push(t.call(n, e[a], a, e));
	                return i
	            },
	            filter: function(e, t, n) {
	                for (var i = [], a = 0, r = e.length; r > a; a++) {
	                    var o = e[a];
	                    t.call(n, o, a, e) && i.push(o)
	                }
	                return i
	            },
	            any: function(e, t, n) {
	                for (var i = 0, a = e.length; a > i; i++) {
	                    var r = e[i];
	                    if (t.call(n, r, i, e)) return !0
	                }
	                return !1
	            },
	            every: function(e, t, n) {
	                for (var i = !0, a = 0, r = e.length; r > a; a++) {
	                    var o = e[a];
	                    i = i && t.call(n, o, a, e)
	                }
	                return i
	            },
	            contains: function(e, t) {
	                return -1 !== SL.indexOf(e, t)
	            },
	            indexOf: function(e, t) {
	                if (e.indexOf) return e.indexOf(t);
	                for (var n = e.length; n--;)
	                    if (t === e[n]) return n;
	                return -1
	            },
	            find: function(e, t, n) {
	                if (!e) return null;
	                for (var i = 0, a = e.length; a > i; i++) {
	                    var r = e[i];
	                    if (t.call(n, r, i, e)) return r
	                }
	                return null
	            },
	            textMatch: function(e, t) {
	                if (null == t) throw new Error("Illegal Argument: Pattern is not present");
	                return null == e ? !1 : "string" == typeof t ? e === t : t instanceof RegExp ? t.test(e) : !1
	            },
	            stringify: function(e, t) {
	                if (t = t || [], SL.isObject(e)) {
	                    if (SL.contains(t, e)) return "<Cycle>";
	                    t.push(e)
	                }
	                if (SL.isArray(e)) return "[" + SL.map(e, function(e) {
	                    return SL.stringify(e, t)
	                }).join(",") + "]";
	                if (SL.isString(e)) return '"' + String(e) + '"';
	                if (SL.isObject(e)) {
	                    var n = [];
	                    for (var i in e) e.hasOwnProperty(i) && n.push(i + ": " + SL.stringify(e[i], t));
	                    return "{" + n.join(", ") + "}"
	                }
	                return String(e)
	            },
	            trim: function(e) {
	                return null == e ? null : e.trim ? e.trim() : e.replace(/^ */, "").replace(/ *$/, "")
	            },
	            bind: function(e, t) {
	                return function() {
	                    return e.apply(t, arguments)
	                }
	            },
	            throttle: function(e, t) {
	                var n = null;
	                return function() {
	                    var i = this,
	                        a = arguments;
	                    clearTimeout(n), n = setTimeout(function() {
	                        e.apply(i, a)
	                    }, t)
	                }
	            },
	            domReady: function(e) {
	                function t(e) {
	                    for (d = 1; e = i.shift();) e()
	                }
	                var n, i = [],
	                    a = !1,
	                    r = document,
	                    o = r.documentElement,
	                    s = o.doScroll,
	                    c = "DOMContentLoaded",
	                    l = "addEventListener",
	                    u = "onreadystatechange",
	                    d = /^loade|^c/.test(r.readyState);
	                return r[l] && r[l](c, n = function() {
	                    r.removeEventListener(c, n, a), t()
	                }, a), s && r.attachEvent(u, n = function() {
	                    /^c/.test(r.readyState) && (r.detachEvent(u, n), t())
	                }), e = s ? function(t) {
	                    self != top ? d ? t() : i.push(t) : function() {
	                        try {
	                            o.doScroll("left")
	                        } catch (n) {
	                            return setTimeout(function() {
	                                e(t)
	                            }, 50)
	                        }
	                        t()
	                    }()
	                } : function(e) {
	                    d ? e() : i.push(e)
	                }
	            }(),
	            loadScript: function(e, t) {
	                var n = document.createElement("script");
	                SL.scriptOnLoad(e, n, t), n.src = e, document.getElementsByTagName("head")[0].appendChild(n)
	            },
	            scriptOnLoad: function(e, t, n) {
	                function i(e) {
	                    e && SL.logError(e), n && n(e)
	                }
	                "onload" in t ? (t.onload = function() {
	                    i()
	                }, t.onerror = function() {
	                    i(new Error("Failed to load script " + e))
	                }) : "readyState" in t && (t.onreadystatechange = function() {
	                    var e = t.readyState;
	                    ("loaded" === e || "complete" === e) && (t.onreadystatechange = null, i())
	                })
	            },
	            loadScriptOnce: function(e, t) {
	                SL.loadedScriptRegistry[e] || SL.loadScript(e, function(n) {
	                    n || (SL.loadedScriptRegistry[e] = !0), t && t(n)
	                })
	            },
	            loadedScriptRegistry: {},
	            loadScriptSync: function(e) {
	                return document.write ? SL.domReadyFired ? void SL.notify('Cannot load sync the "' + e + '" script after DOM Ready.', 1) : (e.indexOf('"') > -1 && (e = encodeURI(e)), void document.write('<script src="' + e + '"></script>')) : void SL.notify('Cannot load sync the "' + e + '" script because "document.write" is not available', 1)
	            },
	            pushAsyncScript: function(e) {
	                SL.tools["default"].pushAsyncScript(e)
	            },
	            pushBlockingScript: function(e) {
	                SL.tools["default"].pushBlockingScript(e)
	            },
	            addEventHandler: window.addEventListener ? function(e, t, n) {
	                e.addEventListener(t, n, !1)
	            } : function(e, t, n) {
	                e.attachEvent("on" + t, n)
	            },
	            removeEventHandler: window.removeEventListener ? function(e, t, n) {
	                e.removeEventListener(t, n, !1)
	            } : function(e, t, n) {
	                e.detachEvent("on" + t, n)
	            },
	            preventDefault: window.addEventListener ? function(e) {
	                e.preventDefault()
	            } : function(e) {
	                e.returnValue = !1
	            },
	            stopPropagation: function(e) {
	                e.cancelBubble = !0, e.stopPropagation && e.stopPropagation()
	            },
	            containsElement: function(e, t) {
	                return e.contains ? e.contains(t) : !!(16 & e.compareDocumentPosition(t))
	            },
	            matchesCss: function(e) {
	                function t(e, t) {
	                    var n = t.tagName;
	                    return n ? e.toLowerCase() === n.toLowerCase() : !1
	                }
	                var n = e.matchesSelector || e.mozMatchesSelector || e.webkitMatchesSelector || e.oMatchesSelector || e.msMatchesSelector;
	                return n ? function(e, t) {
	                    if (t === document || t === window) return !1;
	                    try {
	                        return n.call(t, e)
	                    } catch (i) {
	                        return !1
	                    }
	                } : e.querySelectorAll ? function(e, n) {
	                    var i = n.parentNode;
	                    if (!i) return !1;
	                    if (e.match(/^[a-z]+$/i)) return t(e, n);
	                    try {
	                        for (var a = n.parentNode.querySelectorAll(e), r = a.length; r--;)
	                            if (a[r] === n) return !0
	                    } catch (o) {}
	                    return !1
	                } : function(e, n) {
	                    if (e.match(/^[a-z]+$/i)) return t(e, n);
	                    try {
	                        return SL.Sizzle.matches(e, [n]).length > 0
	                    } catch (i) {
	                        return !1
	                    }
	                }
	            }(document.documentElement),
	            cssQuery: function(e) {
	                return e.querySelectorAll ? function(t, n) {
	                    var i;
	                    try {
	                        i = e.querySelectorAll(t)
	                    } catch (a) {
	                        i = []
	                    }
	                    n(i)
	                } : function(e, t) {
	                    if (SL.Sizzle) {
	                        var n;
	                        try {
	                            n = SL.Sizzle(e)
	                        } catch (i) {
	                            n = []
	                        }
	                        t(n)
	                    } else SL.sizzleQueue.push([e, t])
	                }
	            }(document),
	            hasAttr: function(e, t) {
	                return e.hasAttribute ? e.hasAttribute(t) : e[t] !== undefined
	            },
	            inherit: function(e, t) {
	                var n = function() {};
	                n.prototype = t.prototype, e.prototype = new n, e.prototype.constructor = e
	            },
	            extend: function(e, t) {
	                for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n])
	            },
	            toArray: function() {
	                try {
	                    var e = Array.prototype.slice;
	                    return e.call(document.documentElement.childNodes, 0)[0].nodeType,
	                        function(t) {
	                            return e.call(t, 0)
	                        }
	                } catch (t) {
	                    return function(e) {
	                        for (var t = [], n = 0, i = e.length; i > n; n++) t.push(e[n]);
	                        return t
	                    }
	                }
	            }(),
	            equalsIgnoreCase: function(e, t) {
	                return null == e ? null == t : null == t ? !1 : String(e).toLowerCase() === String(t).toLowerCase()
	            },
	            poll: function(e, t, n) {
	                function i() {
	                    SL.isNumber(n) && a++ >= n || e() || setTimeout(i, t)
	                }
	                var a = 0;
	                t = t || 1e3, i()
	            },
	            escapeForHtml: function(e) {
	                return e ? String(e).replace(/\&/g, "&amp;").replace(/\</g, "&lt;").replace(/\>/g, "&gt;").replace(/\"/g, "&quot;").replace(/\'/g, "&#x27;").replace(/\//g, "&#x2F;") : e
	            }
	        };
	    SL.availableTools = {}, SL.availableEventEmitters = [], SL.fireOnceEvents = ["condition", "elementexists"], SL.initEventEmitters = function() {
	        SL.eventEmitters = SL.map(SL.availableEventEmitters, function(e) {
	            return new e
	        })
	    }, SL.eventEmitterBackgroundTasks = function() {
	        SL.each(SL.eventEmitters, function(e) {
	            "backgroundTasks" in e && e.backgroundTasks()
	        })
	    }, SL.initTools = function(e) {
	        var t = {
	                "default": new DefaultTool
	            },
	            n = SL.settings.euCookieName || "sat_track";
	        for (var i in e)
	            if (e.hasOwnProperty(i)) {
	                var a, r, o;
	                if (a = e[i], a.euCookie) {
	                    var s = "true" !== SL.readCookie(n);
	                    if (s) continue
	                }
	                if (r = SL.availableTools[a.engine], !r) {
	                    var c = [];
	                    for (var l in SL.availableTools) SL.availableTools.hasOwnProperty(l) && c.push(l);
	                    throw new Error("No tool engine named " + a.engine + ", available: " + c.join(",") + ".")
	                }
	                o = new r(a), o.id = i, t[i] = o
	            }
	        return t
	    }, SL.preprocessArguments = function(e, t, n, i, a) {
	        function r(e) {
	            return i && SL.isString(e) ? e.toLowerCase() : e
	        }

	        function o(e) {
	            var c = {};
	            for (var l in e)
	                if (e.hasOwnProperty(l)) {
	                    var u = e[l];
	                    SL.isObject(u) ? c[l] = o(u) : SL.isArray(u) ? c[l] = s(u, i) : c[l] = r(SL.replace(u, t, n, a))
	                }
	            return c
	        }

	        function s(e, i) {
	            for (var a = [], s = 0, c = e.length; c > s; s++) {
	                var l = e[s];
	                SL.isString(l) ? l = r(SL.replace(l, t, n)) : l && l.constructor === Object && (l = o(l)), a.push(l)
	            }
	            return a
	        }
	        return e ? s(e, i) : e
	    }, SL.execute = function(e, t, n, i) {
	        function a(a) {
	            var r = i[a || "default"];
	            if (r) try {
	                r.triggerCommand(e, t, n)
	            } catch (o) {
	                SL.logError(o)
	            }
	        }
	        if (!_satellite.settings.hideActivity)
	            if (i = i || SL.tools, e.engine) {
	                var r = e.engine;
	                for (var o in i)
	                    if (i.hasOwnProperty(o)) {
	                        var s = i[o];
	                        s.settings && s.settings.engine === r && a(o)
	                    }
	            } else e.tool instanceof Array ? SL.each(e.tool, function(e) {
	                a(e)
	            }) : a(e.tool)
	    }, SL.Logger = {
	        outputEnabled: !1,
	        messages: [],
	        keepLimit: 100,
	        flushed: !1,
	        LEVELS: [null, null, "log", "info", "warn", "error"],
	        message: function(e, t) {
	            var n = this.LEVELS[t] || "log";
	            this.messages.push([n, e]), this.messages.length > this.keepLimit && this.messages.shift(), this.outputEnabled && this.echo(n, e)
	        },
	        getHistory: function() {
	            return this.messages
	        },
	        clearHistory: function() {
	            this.messages = []
	        },
	        setOutputState: function(e) {
	            this.outputEnabled != e && (this.outputEnabled = e, e ? this.flush() : this.flushed = !1)
	        },
	        echo: function(e, t) {
	            window.console && window.console[e]("SATELLITE: " + t)
	        },
	        flush: function() {
	            this.flushed || (SL.each(this.messages, function(e) {
	                e[2] !== !0 && (this.echo(e[0], e[1]), e[2] = !0)
	            }, this), this.flushed = !0)
	        }
	    }, SL.notify = SL.bind(SL.Logger.message, SL.Logger), SL.cleanText = function(e) {
	        return null == e ? null : SL.trim(e).replace(/\s+/g, " ")
	    }, SL.cleanText.legacy = function(e) {
	        return null == e ? null : SL.trim(e).replace(/\s{2,}/g, " ").replace(/[^\000-\177]*/g, "")
	    }, SL.text = function(e) {
	        return e.textContent || e.innerText
	    }, SL.specialProperties = {
	        text: SL.text,
	        cleanText: function(e) {
	            return SL.cleanText(SL.text(e))
	        }
	    }, SL.getObjectProperty = function(e, t, n) {
	        for (var i, a = t.split("."), r = e, o = SL.specialProperties, s = 0, c = a.length; c > s; s++) {
	            if (null == r) return undefined;
	            var l = a[s];
	            if (n && "@" === l.charAt(0)) {
	                var u = l.slice(1);
	                r = o[u](r)
	            } else if (r.getAttribute && (i = l.match(/^getAttribute\((.+)\)$/))) {
	                var d = i[1];
	                r = r.getAttribute(d)
	            } else r = r[l]
	        }
	        return r
	    }, SL.getToolsByType = function(e) {
	        if (!e) throw new Error("Tool type is missing");
	        var t = [];
	        for (var n in SL.tools)
	            if (SL.tools.hasOwnProperty(n)) {
	                var i = SL.tools[n];
	                i.settings && i.settings.engine === e && t.push(i)
	            }
	        return t
	    }, SL.setVar = function() {
	        var e = SL.data.customVars;
	        if (null == e && (SL.data.customVars = {}, e = SL.data.customVars), "string" == typeof arguments[0]) {
	            var t = arguments[0];
	            e[t] = arguments[1]
	        } else if (arguments[0]) {
	            var n = arguments[0];
	            for (var i in n) n.hasOwnProperty(i) && (e[i] = n[i])
	        }
	    }, SL.dataElementSafe = function(e, t) {
	        if (arguments.length > 2) {
	            var n = arguments[2];
	            "pageview" === t ? SL.dataElementSafe.pageviewCache[e] = n : "session" === t ? SL.setCookie("_sdsat_" + e, n) : "visitor" === t && SL.setCookie("_sdsat_" + e, n, 730)
	        } else {
	            if ("pageview" === t) return SL.dataElementSafe.pageviewCache[e];
	            if ("session" === t || "visitor" === t) return SL.readCookie("_sdsat_" + e)
	        }
	    }, SL.dataElementSafe.pageviewCache = {}, SL.realGetDataElement = function(e) {
	        var t;
	        return e.selector ? SL.hasSelector && SL.cssQuery(e.selector, function(n) {
	            if (n.length > 0) {
	                var i = n[0];
	                "text" === e.property ? t = i.innerText || i.textContent : e.property in i ? t = i[e.property] : SL.hasAttr(i, e.property) && (t = i.getAttribute(e.property))
	            }
	        }) : e.queryParam ? t = e.ignoreCase ? SL.getQueryParamCaseInsensitive(e.queryParam) : SL.getQueryParam(e.queryParam) : e.cookie ? t = SL.readCookie(e.cookie) : e.jsVariable ? t = SL.getObjectProperty(window, e.jsVariable) : e.customJS && (t = e.customJS()), SL.isString(t) && e.cleanText && (t = SL.cleanText(t)), t
	    }, SL.getDataElement = function(e, t, n) {
	        if (n = n || SL.dataElements[e], null == n) return SL.settings.undefinedVarsReturnEmpty ? "" : null;
	        var i = SL.realGetDataElement(n);
	        return i === undefined && n.storeLength ? i = SL.dataElementSafe(e, n.storeLength) : i !== undefined && n.storeLength && SL.dataElementSafe(e, n.storeLength, i), i || t || (i = n["default"] || ""), SL.isString(i) && n.forceLowerCase && (i = i.toLowerCase()), i
	    }, SL.getVar = function(e, t, n) {
	        var i, a, r = SL.data.customVars,
	            o = n ? n.target || n.srcElement : null,
	            s = {
	                uri: SL.URI(),
	                protocol: document.location.protocol,
	                hostname: document.location.hostname
	            };
	        if (SL.dataElements && e in SL.dataElements) return SL.getDataElement(e);
	        if (a = s[e.toLowerCase()], a === undefined)
	            if ("this." === e.substring(0, 5)) e = e.slice(5), a = SL.getObjectProperty(t, e, !0);
	            else if ("event." === e.substring(0, 6)) e = e.slice(6), a = SL.getObjectProperty(n, e);
	        else if ("target." === e.substring(0, 7)) e = e.slice(7), a = SL.getObjectProperty(o, e);
	        else if ("window." === e.substring(0, 7)) e = e.slice(7), a = SL.getObjectProperty(window, e);
	        else if ("param." === e.substring(0, 6)) e = e.slice(6), a = SL.getQueryParam(e);
	        else if (i = e.match(/^rand([0-9]+)$/)) {
	            var c = Number(i[1]),
	                l = (Math.random() * (Math.pow(10, c) - 1)).toFixed(0);
	            a = Array(c - l.length + 1).join("0") + l
	        } else a = SL.getObjectProperty(r, e);
	        return a
	    }, SL.getVars = function(e, t, n) {
	        var i = {};
	        return SL.each(e, function(e) {
	            i[e] = SL.getVar(e, t, n)
	        }), i
	    }, SL.replace = function(e, t, n, i) {
	        return "string" != typeof e ? e : e.replace(/%(.*?)%/g, function(e, a) {
	            var r = SL.getVar(a, t, n);
	            return null == r ? SL.settings.undefinedVarsReturnEmpty ? "" : e : i ? SL.escapeForHtml(r) : r
	        })
	    }, SL.escapeHtmlParams = function(e) {
	        return e.escapeHtml = !0, e
	    }, SL.searchVariables = function(e, t, n) {
	        if (!e || 0 === e.length) return "";
	        for (var i = [], a = 0, r = e.length; r > a; a++) {
	            var o = e[a],
	                s = SL.getVar(o, t, n);
	            i.push(o + "=" + escape(s))
	        }
	        return "?" + i.join("&")
	    }, SL.fireRule = function(e, t, n) {
	        var i = e.trigger;
	        if (i) {
	            for (var a = 0, r = i.length; r > a; a++) {
	                var o = i[a];
	                SL.execute(o, t, n)
	            }
	            SL.contains(SL.fireOnceEvents, e.event) && (e.expired = !0)
	        }
	    }, SL.isLinked = function(e) {
	        for (var t = e; t; t = t.parentNode)
	            if (SL.isLinkTag(t)) return !0;
	        return !1
	    }, SL.firePageLoadEvent = function(e) {
	        for (var t = document.location, n = {
	                type: e,
	                target: t
	            }, i = SL.pageLoadRules, a = SL.evtHandlers[n.type], r = i.length; r--;) {
	            var o = i[r];
	            SL.ruleMatches(o, n, t) && (SL.notify('Rule "' + o.name + '" fired.', 1), SL.fireRule(o, t, n))
	        }
	        for (var s in SL.tools)
	            if (SL.tools.hasOwnProperty(s)) {
	                var c = SL.tools[s];
	                c.endPLPhase && c.endPLPhase(e)
	            }
	        a && SL.each(a, function(e) {
	            e(n)
	        })
	    }, SL.track = function(e) {
	        e = e.replace(/^\s*/, "").replace(/\s*$/, "");
	        for (var t = 0; t < SL.directCallRules.length; t++) {
	            var n = SL.directCallRules[t];
	            if (n.name === e) return SL.notify('Direct call Rule "' + e + '" fired.', 1), void SL.fireRule(n, location, {
	                type: e
	            })
	        }
	        SL.notify('Direct call Rule "' + e + '" not found.', 1)
	    }, SL.basePath = function() {
	        return SL.data.host ? ("https:" === document.location.protocol ? "https://" + SL.data.host.https : "http://" + SL.data.host.http) + "/" : this.settings.basePath
	    }, SL.setLocation = function(e) {
	        window.location = e
	    }, SL.parseQueryParams = function(e) {
	        var t = function(e) {
	            var t = e;
	            try {
	                t = decodeURIComponent(e)
	            } catch (n) {}
	            return t
	        };
	        if ("" === e || SL.isString(e) === !1) return {};
	        0 === e.indexOf("?") && (e = e.substring(1));
	        var n = {},
	            i = e.split("&");
	        return SL.each(i, function(e) {
	            e = e.split("="), e[1] && (n[t(e[0])] = t(e[1]))
	        }), n
	    }, SL.getCaseSensitivityQueryParamsMap = function(e) {
	        var t = SL.parseQueryParams(e),
	            n = {};
	        for (var i in t) t.hasOwnProperty(i) && (n[i.toLowerCase()] = t[i]);
	        return {
	            normal: t,
	            caseInsensitive: n
	        }
	    }, SL.updateQueryParams = function() {
	        SL.QueryParams = SL.getCaseSensitivityQueryParamsMap(window.location.search)
	    }, SL.updateQueryParams(), SL.getQueryParam = function(e) {
	        return SL.QueryParams.normal[e]
	    }, SL.getQueryParamCaseInsensitive = function(e) {
	        return SL.QueryParams.caseInsensitive[e.toLowerCase()]
	    }, SL.encodeObjectToURI = function(e) {
	        if (SL.isObject(e) === !1) return "";
	        var t = [];
	        for (var n in e) e.hasOwnProperty(n) && t.push(encodeURIComponent(n) + "=" + encodeURIComponent(e[n]));
	        return t.join("&")
	    }, SL.readCookie = function(e) {
	        for (var t = e + "=", n = document.cookie.split(";"), i = 0; i < n.length; i++) {
	            for (var a = n[i];
	                " " == a.charAt(0);) a = a.substring(1, a.length);
	            if (0 === a.indexOf(t)) return a.substring(t.length, a.length)
	        }
	        return undefined
	    }, SL.setCookie = function(e, t, n) {
	        var i;
	        if (n) {
	            var a = new Date;
	            a.setTime(a.getTime() + 24 * n * 60 * 60 * 1e3), i = "; expires=" + a.toGMTString()
	        } else i = "";
	        document.cookie = e + "=" + t + i + "; path=/"
	    }, SL.removeCookie = function(e) {
	        SL.setCookie(e, "", -1)
	    }, SL.getElementProperty = function(e, t) {
	        if ("@" === t.charAt(0)) {
	            var n = SL.specialProperties[t.substring(1)];
	            if (n) return n(e)
	        }
	        return "innerText" === t ? SL.text(e) : t in e ? e[t] : e.getAttribute ? e.getAttribute(t) : undefined
	    }, SL.propertiesMatch = function(e, t) {
	        if (e)
	            for (var n in e)
	                if (e.hasOwnProperty(n)) {
	                    var i = e[n],
	                        a = SL.getElementProperty(t, n);
	                    if ("string" == typeof i && i !== a) return !1;
	                    if (i instanceof RegExp && !i.test(a)) return !1
	                }
	        return !0
	    }, SL.isRightClick = function(e) {
	        var t;
	        return e.which ? t = 3 == e.which : e.button && (t = 2 == e.button), t
	    }, SL.ruleMatches = function(e, t, n, i) {
	        var a = e.condition,
	            r = e.conditions,
	            o = e.property,
	            s = t.type,
	            c = e.value,
	            l = t.target || t.srcElement,
	            u = n === l;
	        if (e.event !== s && ("custom" !== e.event || e.customEvent !== s)) return !1;
	        if (!SL.ruleInScope(e)) return !1;
	        if ("click" === e.event && SL.isRightClick(t)) return !1;
	        if (e.isDefault && i > 0) return !1;
	        if (e.expired) return !1;
	        if ("inview" === s && t.inviewDelay !== e.inviewDelay) return !1;
	        if (!u && (e.bubbleFireIfParent === !1 || 0 !== i && e.bubbleFireIfChildFired === !1)) return !1;
	        if (e.selector && !SL.matchesCss(e.selector, n)) return !1;
	        if (!SL.propertiesMatch(o, n)) return !1;
	        if (null != c)
	            if ("string" == typeof c) {
	                if (c !== n.value) return !1
	            } else if (!c.test(n.value)) return !1;
	        if (a) try {
	            if (!a.call(n, t, l)) return SL.notify('Condition for rule "' + e.name + '" not met.', 1), !1
	        } catch (d) {
	            return SL.notify('Condition for rule "' + e.name + '" not met. Error: ' + d.message, 1), !1
	        }
	        if (r) {
	            var p = SL.find(r, function(i) {
	                try {
	                    return !i.call(n, t, l)
	                } catch (a) {
	                    return SL.notify('Condition for rule "' + e.name + '" not met. Error: ' + a.message, 1), !0
	                }
	            });
	            if (p) return SL.notify("Condition " + p.toString() + ' for rule "' + e.name + '" not met.', 1), !1
	        }
	        return !0
	    }, SL.evtHandlers = {}, SL.bindEvent = function(e, t) {
	        var n = SL.evtHandlers;
	        n[e] || (n[e] = []), n[e].push(t)
	    }, SL.whenEvent = SL.bindEvent, SL.unbindEvent = function(e, t) {
	        var n = SL.evtHandlers;
	        if (n[e]) {
	            var i = SL.indexOf(n[e], t);
	            n[e].splice(i, 1)
	        }
	    }, SL.bindEventOnce = function(e, t) {
	        var n = function() {
	            SL.unbindEvent(e, n), t.apply(null, arguments)
	        };
	        SL.bindEvent(e, n)
	    }, SL.isVMLPoisoned = function(e) {
	        if (!e) return !1;
	        try {
	            e.nodeName
	        } catch (t) {
	            if ("Attribute only valid on v:image" === t.message) return !0
	        }
	        return !1
	    }, SL.handleEvent = function(e) {
	        if (!SL.$data(e, "eventProcessed")) {
	            var t = e.type.toLowerCase(),
	                n = e.target || e.srcElement,
	                i = 0,
	                a = SL.rules,
	                r = (SL.tools, SL.evtHandlers[e.type]);
	            if (SL.isVMLPoisoned(n)) return void SL.notify("detected " + t + " on poisoned VML element, skipping.", 1);
	            r && SL.each(r, function(t) {
	                t(e)
	            });
	            var o = n && n.nodeName;
	            o ? SL.notify("detected " + t + " on " + n.nodeName, 1) : SL.notify("detected " + t, 1);
	            for (var s = n; s; s = s.parentNode) {
	                var c = !1;
	                if (SL.each(a, function(t) {
	                        SL.ruleMatches(t, e, s, i) && (SL.notify('Rule "' + t.name + '" fired.', 1), SL.fireRule(t, s, e), i++, t.bubbleStop && (c = !0))
	                    }), c) break
	            }
	            SL.$data(e, "eventProcessed", !0)
	        }
	    }, SL.onEvent = document.querySelectorAll ? function(e) {
	        SL.handleEvent(e)
	    } : function() {
	        var e = [],
	            t = function(t) {
	                t.selector ? e.push(t) : SL.handleEvent(t)
	            };
	        return t.pendingEvents = e, t
	    }(), SL.fireEvent = function(e, t) {
	        SL.onEvent({
	            type: e,
	            target: t
	        })
	    }, SL.registerEvents = function(e, t) {
	        for (var n = t.length - 1; n >= 0; n--) {
	            var i = t[n];
	            SL.$data(e, i + ".tracked") || (SL.addEventHandler(e, i, SL.onEvent), SL.$data(e, i + ".tracked", !0))
	        }
	    }, SL.registerEventsForTags = function(e, t) {
	        for (var n = e.length - 1; n >= 0; n--)
	            for (var i = e[n], a = document.getElementsByTagName(i), r = a.length - 1; r >= 0; r--) SL.registerEvents(a[r], t)
	    }, SL.setListeners = function() {
	        var e = ["click", "submit"];
	        SL.each(SL.rules, function(t) {
	            "custom" === t.event && t.hasOwnProperty("customEvent") && !SL.contains(e, t.customEvent) && e.push(t.customEvent)
	        }), SL.registerEvents(document, e)
	    }, SL.getUniqueRuleEvents = function() {
	        return SL._uniqueRuleEvents || (SL._uniqueRuleEvents = [], SL.each(SL.rules, function(e) {
	            -1 === SL.indexOf(SL._uniqueRuleEvents, e.event) && SL._uniqueRuleEvents.push(e.event)
	        })), SL._uniqueRuleEvents
	    }, SL.setFormListeners = function() {
	        if (!SL._relevantFormEvents) {
	            var e = ["change", "focus", "blur", "keypress"];
	            SL._relevantFormEvents = SL.filter(SL.getUniqueRuleEvents(), function(t) {
	                return -1 !== SL.indexOf(e, t)
	            })
	        }
	        SL._relevantFormEvents.length && SL.registerEventsForTags(["input", "select", "textarea", "button"], SL._relevantFormEvents)
	    }, SL.setVideoListeners = function() {
	        if (!SL._relevantVideoEvents) {
	            var e = ["play", "pause", "ended", "volumechange", "stalled", "loadeddata"];
	            SL._relevantVideoEvents = SL.filter(SL.getUniqueRuleEvents(), function(t) {
	                return -1 !== SL.indexOf(e, t)
	            })
	        }
	        SL._relevantVideoEvents.length && SL.registerEventsForTags(["video"], SL._relevantVideoEvents)
	    }, SL.readStoredSetting = function(e) {
	        try {
	            return e = "sdsat_" + e, window.localStorage.getItem(e)
	        } catch (t) {
	            return SL.notify("Cannot read stored setting from localStorage: " + t.message, 2), null
	        }
	    }, SL.loadStoredSettings = function() {
	        var e = SL.readStoredSetting("debug"),
	            t = SL.readStoredSetting("hide_activity");
	        e && (SL.settings.notifications = "true" === e), t && (SL.settings.hideActivity = "true" === t)
	    }, SL.isRuleActive = function(e, t) {
	        function n(e, t) {
	            return t = a(t, {
	                hour: e[g](),
	                minute: e[f]()
	            }), Math.floor(Math.abs((e.getTime() - t.getTime()) / 864e5))
	        }

	        function i(e, t) {
	            function n(e) {
	                return 12 * e[d]() + e[p]()
	            }
	            return Math.abs(n(e) - n(t))
	        }

	        function a(e, t) {
	            var n = new Date(e.getTime());
	            for (var i in t)
	                if (t.hasOwnProperty(i)) {
	                    var a = t[i];
	                    switch (i) {
	                        case "hour":
	                            n[m](a);
	                            break;
	                        case "minute":
	                            n[h](a);
	                            break;
	                        case "date":
	                            n[v](a)
	                    }
	                }
	            return n
	        }

	        function r(e, t) {
	            var n = e[g](),
	                i = e[f](),
	                a = t[g](),
	                r = t[f]();
	            return 60 * n + i > 60 * a + r
	        }

	        function o(e, t) {
	            var n = e[g](),
	                i = e[f](),
	                a = t[g](),
	                r = t[f]();
	            return 60 * a + r > 60 * n + i
	        }
	        var s = e.schedule;
	        if (!s) return !0;
	        var c = s.utc,
	            l = c ? "getUTCDate" : "getDate",
	            u = c ? "getUTCDay" : "getDay",
	            d = c ? "getUTCFullYear" : "getFullYear",
	            p = c ? "getUTCMonth" : "getMonth",
	            g = c ? "getUTCHours" : "getHours",
	            f = c ? "getUTCMinutes" : "getMinutes",
	            m = c ? "setUTCHours" : "setHours",
	            h = c ? "setUTCMinutes" : "setMinutes",
	            v = c ? "setUTCDate" : "setDate";
	        if (t = t || new Date, s.repeat) {
	            if (r(s.start, t)) return !1;
	            if (o(s.end, t)) return !1;
	            if (t < s.start) return !1;
	            if (s.endRepeat && t >= s.endRepeat) return !1;
	            if ("daily" === s.repeat) {
	                if (s.repeatEvery) {
	                    var S = n(s.start, t);
	                    if (S % s.repeatEvery !== 0) return !1
	                }
	            } else if ("weekly" === s.repeat) {
	                if (s.days) {
	                    if (!SL.contains(s.days, t[u]())) return !1
	                } else if (s.start[u]() !== t[u]()) return !1;
	                if (s.repeatEvery) {
	                    var L = n(s.start, t);
	                    if (L % (7 * s.repeatEvery) !== 0) return !1
	                }
	            } else if ("monthly" === s.repeat) {
	                if (s.repeatEvery) {
	                    var b = i(s.start, t);
	                    if (b % s.repeatEvery !== 0) return !1
	                }
	                if (s.nthWeek && s.mthDay) {
	                    if (s.mthDay !== t[u]()) return !1;
	                    var y = Math.floor((t[l]() - t[u]() + 1) / 7);
	                    if (s.nthWeek !== y) return !1
	                } else if (s.start[l]() !== t[l]()) return !1
	            } else if ("yearly" === s.repeat) {
	                if (s.start[p]() !== t[p]()) return !1;
	                if (s.start[l]() !== t[l]()) return !1;
	                if (s.repeatEvery) {
	                    var L = Math.abs(s.start[d]() - t[d]());
	                    if (L % s.repeatEvery !== 0) return !1
	                }
	            }
	        } else {
	            if (s.start > t) return !1;
	            if (s.end < t) return !1
	        }
	        return !0
	    }, SL.isOutboundLink = function(e) {
	        if (!e.getAttribute("href")) return !1;
	        var t = e.hostname,
	            n = (e.href, e.protocol);
	        if ("http:" !== n && "https:" !== n) return !1;
	        var i = SL.any(SL.settings.domainList, function(e) {
	            return SL.isSubdomainOf(t, e)
	        });
	        return i ? !1 : t !== location.hostname
	    }, SL.isLinkerLink = function(e) {
	        return e.getAttribute && e.getAttribute("href") ? SL.hasMultipleDomains() && e.hostname != location.hostname && !e.href.match(/^javascript/i) && !SL.isOutboundLink(e) : !1
	    }, SL.isSubdomainOf = function(e, t) {
	        if (e === t) return !0;
	        var n = e.length - t.length;
	        return n > 0 ? SL.equalsIgnoreCase(e.substring(n), t) : !1
	    }, SL.getVisitorId = function() {
	        var e = SL.getToolsByType("visitor_id");
	        return 0 === e.length ? null : e[0].getInstance()
	    }, SL.URI = function() {
	        var e = document.location.pathname + document.location.search;
	        return SL.settings.forceLowerCase && (e = e.toLowerCase()), e
	    }, SL.URL = function() {
	        var e = document.location.href;
	        return SL.settings.forceLowerCase && (e = e.toLowerCase()), e
	    }, SL.filterRules = function() {
	        function e(e) {
	            return SL.isRuleActive(e) ? !0 : !1
	        }
	        SL.rules = SL.filter(SL.rules, e), SL.pageLoadRules = SL.filter(SL.pageLoadRules, e)
	    }, SL.ruleInScope = function(e, t) {
	        function n(e, t) {
	            function n(e) {
	                return t.match(e)
	            }
	            var a = e.include,
	                r = e.exclude;
	            if (a && i(a, t)) return !0;
	            if (r) {
	                if (SL.isString(r) && r === t) return !0;
	                if (SL.isArray(r) && SL.any(r, n)) return !0;
	                if (SL.isRegex(r) && n(r)) return !0
	            }
	            return !1
	        }

	        function i(e, t) {
	            function n(e) {
	                return t.match(e)
	            }
	            return SL.isString(e) && e !== t ? !0 : SL.isArray(e) && !SL.any(e, n) ? !0 : SL.isRegex(e) && !n(e) ? !0 : !1
	        }
	        t = t || document.location;
	        var a = e.scope;
	        if (!a) return !0;
	        var r = a.URI,
	            o = a.subdomains,
	            s = a.domains,
	            c = a.protocols,
	            l = a.hashes;
	        return r && n(r, t.pathname + t.search) ? !1 : o && n(o, t.hostname) ? !1 : s && i(s, t.hostname) ? !1 : c && i(c, t.protocol) ? !1 : l && n(l, t.hash) ? !1 : !0
	    }, SL.backgroundTasks = function() {
	        +new Date;
	        SL.setFormListeners(), SL.setVideoListeners(), SL.loadStoredSettings(), SL.registerNewElementsForDynamicRules(), SL.eventEmitterBackgroundTasks(); + new Date
	    }, SL.registerNewElementsForDynamicRules = function() {
	        function e(t, n) {
	            var i = e.cache[t];
	            return i ? n(i) : void SL.cssQuery(t, function(i) {
	                e.cache[t] = i, n(i)
	            })
	        }
	        e.cache = {}, SL.each(SL.dynamicRules, function(t) {
	            e(t.selector, function(e) {
	                SL.each(e, function(e) {
	                    var n = "custom" === t.event ? t.customEvent : t.event;
	                    SL.$data(e, "dynamicRules.seen." + n) || (SL.$data(e, "dynamicRules.seen." + n, !0), SL.propertiesMatch(t.property, e) && SL.registerEvents(e, [n]))
	                })
	            })
	        })
	    }, SL.ensureCSSSelector = function() {
	        return document.querySelectorAll ? void(SL.hasSelector = !0) : (SL.loadingSizzle = !0, SL.sizzleQueue = [], void SL.loadScript(SL.basePath() + "selector.js", function() {
	            if (!SL.Sizzle) return void SL.logError(new Error("Failed to load selector.js"));
	            var e = SL.onEvent.pendingEvents;
	            SL.each(e, function(e) {
	                SL.handleEvent(e)
	            }, this), SL.onEvent = SL.handleEvent, SL.hasSelector = !0, delete SL.loadingSizzle, SL.each(SL.sizzleQueue, function(e) {
	                SL.cssQuery(e[0], e[1])
	            }), delete SL.sizzleQueue
	        }))
	    }, SL.errors = [], SL.logError = function(e) {
	        SL.errors.push(e), SL.notify(e.name + " - " + e.message, 5)
	    }, SL.pageBottom = function() {
	        SL.initialized && (SL.pageBottomFired = !0, SL.firePageLoadEvent("pagebottom"))
	    }, SL.stagingLibraryOverride = function() {
	        var e = "true" === SL.readStoredSetting("stagingLibrary");
	        if (e) {
	            for (var t, n, i, a = document.getElementsByTagName("script"), r = /^(.*)satelliteLib-([a-f0-9]{40})\.js$/, o = /^(.*)satelliteLib-([a-f0-9]{40})-staging\.js$/, s = 0, c = a.length; c > s && (i = a[s].getAttribute("src"), !i || (t || (t = i.match(r)), n || (n = i.match(o)), !n)); s++);
	            if (t && !n) {
	                var l = t[1] + "satelliteLib-" + t[2] + "-staging.js";
	                if (document.write) document.write('<script src="' + l + '"></script>');
	                else {
	                    var u = document.createElement("script");
	                    u.src = l, document.head.appendChild(u)
	                }
	                return !0
	            }
	        }
	        return !1
	    }, SL.checkAsyncInclude = function() {
	        window.satellite_asyncLoad && SL.notify('You may be using the async installation of Satellite. In-page HTML and the "pagebottom" event will not work. Please update your Satellite installation for these features.', 5)
	    }, SL.hasMultipleDomains = function() {
	        return !!SL.settings.domainList && SL.settings.domainList.length > 1
	    }, SL.handleOverrides = function() {
	        if (Overrides)
	            for (var e in Overrides) Overrides.hasOwnProperty(e) && (SL.data[e] = Overrides[e])
	    }, SL.privacyManagerParams = function() {
	        var e = {};
	        SL.extend(e, SL.settings.privacyManagement);
	        var t = [];
	        for (var n in SL.tools)
	            if (SL.tools.hasOwnProperty(n)) {
	                var i = SL.tools[n],
	                    a = i.settings;
	                if (!a) continue;
	                "sc" === a.engine && t.push(i)
	            }
	        var r = SL.filter(SL.map(t, function(e) {
	            return e.getTrackingServer()
	        }), function(e) {
	            return null != e
	        });
	        e.adobeAnalyticsTrackingServers = r;
	        for (var o = ["bannerText", "headline", "introductoryText", "customCSS"], s = 0; s < o.length; s++) {
	            var c = o[s],
	                l = e[c];
	            if (l)
	                if ("text" === l.type) e[c] = l.value;
	                else {
	                    if ("data" !== l.type) throw new Error("Invalid type: " + l.type);
	                    e[c] = SL.getVar(l.value)
	                }
	        }
	        return e
	    }, SL.prepareLoadPrivacyManager = function() {
	        function e(e) {
	            function t() {
	                r++, r === a.length && (n(), clearTimeout(o), e())
	            }

	            function n() {
	                SL.each(a, function(e) {
	                    SL.unbindEvent(e.id + ".load", t)
	                })
	            }

	            function i() {
	                n(), e()
	            }
	            var a = SL.filter(SL.values(SL.tools), function(e) {
	                return e.settings && "sc" === e.settings.engine
	            });
	            if (0 === a.length) return e();
	            var r = 0;
	            SL.each(a, function(e) {
	                SL.bindEvent(e.id + ".load", t)
	            });
	            var o = setTimeout(i, 5e3)
	        }
	        SL.addEventHandler(window, "load", function() {
	            e(SL.loadPrivacyManager)
	        })
	    }, SL.loadPrivacyManager = function() {
	        var e = SL.basePath() + "privacy_manager.js";
	        SL.loadScript(e, function() {
	            var e = SL.privacyManager;
	            e.configure(SL.privacyManagerParams()), e.openIfRequired()
	        })
	    }, SL.init = function(e) {
	        if (!SL.stagingLibraryOverride()) {
	            SL.configurationSettings = e;
	            var t = e.tools;
	            delete e.tools;
	            for (var n in e) e.hasOwnProperty(n) && (SL[n] = e[n]);
	            SL.data.customVars === undefined && (SL.data.customVars = {}), SL.data.queryParams = SL.QueryParams.normal, SL.handleOverrides(), SL.detectBrowserInfo(), SL.trackVisitorInfo && SL.trackVisitorInfo(), SL.loadStoredSettings(), SL.Logger.setOutputState(SL.settings.notifications), SL.checkAsyncInclude(), SL.ensureCSSSelector(), SL.filterRules(), SL.dynamicRules = SL.filter(SL.rules, function(e) {
	                return e.eventHandlerOnElement
	            }), SL.tools = SL.initTools(t), SL.initEventEmitters(), SL.firePageLoadEvent("aftertoolinit"), SL.settings.privacyManagement && SL.prepareLoadPrivacyManager(), SL.hasSelector && SL.domReady(SL.eventEmitterBackgroundTasks), SL.setListeners(), SL.domReady(function() {
	                SL.poll(function() {
	                    SL.backgroundTasks()
	                }, SL.settings.recheckEvery || 3e3)
	            }), SL.domReady(function() {
	                SL.domReadyFired = !0, SL.pageBottomFired || SL.pageBottom(), SL.firePageLoadEvent("domready")
	            }), SL.addEventHandler(window, "load", function() {
	                SL.firePageLoadEvent("windowload")
	            }), SL.firePageLoadEvent("pagetop"), SL.initialized = !0
	        }
	    }, SL.pageLoadPhases = ["aftertoolinit", "pagetop", "pagebottom", "domready", "windowload"], SL.loadEventBefore = function(e, t) {
	        return SL.indexOf(SL.pageLoadPhases, e) <= SL.indexOf(SL.pageLoadPhases, t)
	    }, SL.flushPendingCalls = function(e) {
	        e.pending && (SL.each(e.pending, function(t) {
	            var n = t[0],
	                i = t[1],
	                a = t[2],
	                r = t[3];
	            n in e ? e[n].apply(e, [i, a].concat(r)) : e.emit ? e.emit(n, i, a, r) : SL.notify("Failed to trigger " + n + " for tool " + e.id, 1)
	        }), delete e.pending)
	    }, SL.setDebug = function(e) {
	        try {
	            window.localStorage.setItem("sdsat_debug", e)
	        } catch (t) {
	            SL.notify("Cannot set debug mode: " + t.message, 2)
	        }
	    }, SL.getUserAgent = function() {
	        return navigator.userAgent
	    }, SL.detectBrowserInfo = function() {
	        function e(e) {
	            return function(t) {
	                for (var n in e)
	                    if (e.hasOwnProperty(n)) {
	                        var i = e[n],
	                            a = i.test(t);
	                        if (a) return n
	                    }
	                return "Unknown"
	            }
	        }
	        var t = e({
	                OmniWeb: /OmniWeb/,
	                "Opera Mini": /Opera Mini/,
	                "Opera Mobile": /Opera Mobi/,
	                Opera: /Opera/,
	                Chrome: /Chrome|CriOS|CrMo/,
	                Firefox: /Firefox|FxiOS/,
	                "IE Mobile": /IEMobile/,
	                IE: /MSIE|Trident/,
	                "Mobile Safari": /Mobile(\/[0-9A-z]+)? Safari/,
	                Safari: /Safari/
	            }),
	            n = e({
	                Blackberry: /BlackBerry|BB10/,
	                "Symbian OS": /Symbian|SymbOS/,
	                Maemo: /Maemo/,
	                Android: /Android/,
	                Linux: / Linux /,
	                Unix: /FreeBSD|OpenBSD|CrOS/,
	                Windows: /[\( ]Windows /,
	                iOS: /iPhone|iPad|iPod/,
	                MacOS: /Macintosh;/
	            }),
	            i = e({
	                Nokia: /Symbian|SymbOS|Maemo/,
	                "Windows Phone": /Windows Phone/,
	                Blackberry: /BlackBerry|BB10/,
	                Android: /Android/,
	                iPad: /iPad/,
	                iPod: /iPod/,
	                iPhone: /iPhone/,
	                Desktop: /.*/
	            }),
	            a = SL.getUserAgent();
	        SL.browserInfo = {
	            browser: t(a),
	            os: n(a),
	            deviceType: i(a)
	        }
	    }, SL.isHttps = function() {
	        return "https:" == document.location.protocol
	    }, SL.BaseTool = function(e) {
	        this.settings = e || {}, this.forceLowerCase = SL.settings.forceLowerCase, "forceLowerCase" in this.settings && (this.forceLowerCase = this.settings.forceLowerCase)
	    }, SL.BaseTool.prototype = {
	        triggerCommand: function(e, t, n) {
	            var i = this.settings || {};
	            if (this.initialize && this.isQueueAvailable() && this.isQueueable(e) && n && SL.loadEventBefore(n.type, i.loadOn)) return void this.queueCommand(e, t, n);
	            var a = e.command,
	                r = this["$" + a],
	                o = r ? r.escapeHtml : !1,
	                s = SL.preprocessArguments(e.arguments, t, n, this.forceLowerCase, o);
	            r ? r.apply(this, [t, n].concat(s)) : this.$missing$ ? this.$missing$(a, t, n, s) : SL.notify("Failed to trigger " + a + " for tool " + this.id, 1)
	        },
	        endPLPhase: function(e) {},
	        isQueueable: function(e) {
	            return "cancelToolInit" !== e.command
	        },
	        isQueueAvailable: function() {
	            return !this.initialized && !this.initializing
	        },
	        flushQueue: function() {
	            this.pending && (SL.each(this.pending, function(e) {
	                this.triggerCommand.apply(this, e)
	            }, this), this.pending = [])
	        },
	        queueCommand: function(e, t, n) {
	            this.pending || (this.pending = []), this.pending.push([e, t, n])
	        },
	        $cancelToolInit: function() {
	            this._cancelToolInit = !0
	        }
	    }, window._satellite = SL, ElementExistsEventEmitter.prototype.backgroundTasks = function() {
	        SL.each(this.rules, function(e) {
	            SL.cssQuery(e.selector, function(e) {
	                if (e.length > 0) {
	                    var t = e[0];
	                    if (SL.$data(t, "elementexists.seen")) return;
	                    SL.$data(t, "elementexists.seen", !0), SL.onEvent({
	                        type: "elementexists",
	                        target: t
	                    })
	                }
	            })
	        })
	    }, SL.availableEventEmitters.push(ElementExistsEventEmitter), FacebookEventEmitter.prototype = {
	        initialize: function() {
	            return this.FB = this.FB || window.FB, this.FB && this.FB.Event && this.FB.Event.subscribe ? (this.bind(), !0) : void 0
	        },
	        bind: function() {
	            this.FB.Event.subscribe("edge.create", function() {
	                SL.notify("tracking a facebook like", 1), SL.onEvent({
	                    type: "facebook.like",
	                    target: document
	                })
	            }), this.FB.Event.subscribe("edge.remove", function() {
	                SL.notify("tracking a facebook unlike", 1), SL.onEvent({
	                    type: "facebook.unlike",
	                    target: document
	                })
	            }), this.FB.Event.subscribe("message.send", function() {
	                SL.notify("tracking a facebook share", 1), SL.onEvent({
	                    type: "facebook.send",
	                    target: document
	                })
	            })
	        }
	    }, SL.availableEventEmitters.push(FacebookEventEmitter), HoverEventEmitter.prototype = {
	        backgroundTasks: function() {
	            var e = this;
	            SL.each(this.rules, function(t) {
	                var n = t[1],
	                    i = t[0];
	                SL.cssQuery(n, function(t) {
	                    SL.each(t, function(t) {
	                        e.trackElement(t, i)
	                    })
	                })
	            }, this)
	        },
	        trackElement: function(e, t) {
	            var n = this,
	                i = SL.$data(e, "hover.delays");
	            i ? SL.contains(i, t) || i.push(t) : (SL.addEventHandler(e, "mouseover", function(t) {
	                n.onMouseOver(t, e)
	            }), SL.addEventHandler(e, "mouseout", function(t) {
	                n.onMouseOut(t, e)
	            }), SL.$data(e, "hover.delays", [t]))
	        },
	        onMouseOver: function(e, t) {
	            var n = e.target || e.srcElement,
	                i = e.relatedTarget || e.fromElement,
	                a = (t === n || SL.containsElement(t, n)) && !SL.containsElement(t, i);
	            a && this.onMouseEnter(t)
	        },
	        onMouseEnter: function(e) {
	            var t = SL.$data(e, "hover.delays"),
	                n = SL.map(t, function(t) {
	                    return setTimeout(function() {
	                        SL.onEvent({
	                            type: "hover(" + t + ")",
	                            target: e
	                        })
	                    }, t)
	                });
	            SL.$data(e, "hover.delayTimers", n)
	        },
	        onMouseOut: function(e, t) {
	            var n = e.target || e.srcElement,
	                i = e.relatedTarget || e.toElement,
	                a = (t === n || SL.containsElement(t, n)) && !SL.containsElement(t, i);
	            a && this.onMouseLeave(t)
	        },
	        onMouseLeave: function(e) {
	            var t = SL.$data(e, "hover.delayTimers");
	            t && SL.each(t, function(e) {
	                clearTimeout(e)
	            })
	        }
	    }, SL.availableEventEmitters.push(HoverEventEmitter), InViewEventEmitter.offset = function(e) {
	        var t = null,
	            n = null;
	        try {
	            var i = e.getBoundingClientRect(),
	                a = document,
	                r = a.documentElement,
	                o = a.body,
	                s = window,
	                c = r.clientTop || o.clientTop || 0,
	                l = r.clientLeft || o.clientLeft || 0,
	                u = s.pageYOffset || r.scrollTop || o.scrollTop,
	                d = s.pageXOffset || r.scrollLeft || o.scrollLeft;
	            t = i.top + u - c, n = i.left + d - l
	        } catch (p) {}
	        return {
	            top: t,
	            left: n
	        }
	    }, InViewEventEmitter.getViewportHeight = function() {
	        var e = window.innerHeight,
	            t = document.compatMode;
	        return t && (e = "CSS1Compat" == t ? document.documentElement.clientHeight : document.body.clientHeight), e
	    }, InViewEventEmitter.getScrollTop = function() {
	        return document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop
	    }, InViewEventEmitter.isElementInDocument = function(e) {
	        return document.body.contains(e)
	    }, InViewEventEmitter.isElementInView = function(e) {
	        if (!InViewEventEmitter.isElementInDocument(e)) return !1;
	        var t = InViewEventEmitter.getViewportHeight(),
	            n = InViewEventEmitter.getScrollTop(),
	            i = InViewEventEmitter.offset(e).top,
	            a = e.offsetHeight;
	        return null !== i ? !(n > i + a || i > n + t) : !1
	    }, InViewEventEmitter.prototype = {
	        backgroundTasks: function() {
	            var e = this.elements;
	            SL.each(this.rules, function(t) {
	                SL.cssQuery(t.selector, function(n) {
	                    var i = 0;
	                    SL.each(n, function(t) {
	                        SL.contains(e, t) || (e.push(t), i++)
	                    }), i && SL.notify(t.selector + " added " + i + " elements.", 1)
	                })
	            }), this.track()
	        },
	        checkInView: function(e, t, n) {
	            var i = SL.$data(e, "inview");
	            if (InViewEventEmitter.isElementInView(e)) {
	                i || SL.$data(e, "inview", !0);
	                var a = this;
	                this.processRules(e, function(n, i, r) {
	                    if (t || !n.inviewDelay) SL.$data(e, i, !0), SL.onEvent({
	                        type: "inview",
	                        target: e,
	                        inviewDelay: n.inviewDelay
	                    });
	                    else if (n.inviewDelay) {
	                        var o = SL.$data(e, r);
	                        o || (o = setTimeout(function() {
	                            a.checkInView(e, !0, n.inviewDelay)
	                        }, n.inviewDelay), SL.$data(e, r, o))
	                    }
	                }, n)
	            } else {
	                if (!InViewEventEmitter.isElementInDocument(e)) {
	                    var r = SL.indexOf(this.elements, e);
	                    this.elements.splice(r, 1)
	                }
	                i && SL.$data(e, "inview", !1), this.processRules(e, function(t, n, i) {
	                    var a = SL.$data(e, i);
	                    a && clearTimeout(a)
	                }, n)
	            }
	        },
	        track: function() {
	            for (var e = this.elements.length - 1; e >= 0; e--) this.checkInView(this.elements[e])
	        },
	        processRules: function(e, t, n) {
	            var i = this.rules;
	            n && (i = SL.filter(this.rules, function(e) {
	                return e.inviewDelay == n
	            })), SL.each(i, function(n, i) {
	                var a = n.inviewDelay ? "viewed_" + n.inviewDelay : "viewed",
	                    r = "inview_timeout_id_" + i;
	                SL.$data(e, a) || SL.matchesCss(n.selector, e) && t(n, a, r)
	            })
	        }
	    }, SL.availableEventEmitters.push(InViewEventEmitter), LeaveEventEmitter.prototype = {
	        obue: !1,
	        initialize: function() {
	            return this.attachCloseListeners(), !0
	        },
	        obuePrevUnload: function() {},
	        obuePrevBeforeUnload: function() {},
	        newObueListener: function() {
	            this.obue || (this.obue = !0, this.triggerBeacons())
	        },
	        attachCloseListeners: function() {
	            this.prevUnload = window.onunload, this.prevBeforeUnload = window.onbeforeunload, window.onunload = SL.bind(function(e) {
	                this.prevUnload && setTimeout(SL.bind(function() {
	                    this.prevUnload.call(window, e)
	                }, this), 1), this.newObueListener()
	            }, this), window.onbeforeunload = SL.bind(function(e) {
	                this.prevBeforeUnload && setTimeout(SL.bind(function() {
	                    this.prevBeforeUnload.call(window, e)
	                }, this), 1), this.newObueListener()
	            }, this)
	        },
	        triggerBeacons: function() {
	            SL.fireEvent("leave", document)
	        }
	    }, SL.availableEventEmitters.push(LeaveEventEmitter), LocationChangeEventEmitter.prototype = {
	        initialize: function() {
	            this.setupHistoryAPI(), this.setupHashChange()
	        },
	        fireIfURIChanged: function() {
	            var e = SL.URL();
	            this.lastURL !== e && (this.fireEvent(), this.lastURL = e)
	        },
	        fireEvent: function() {
	            SL.updateQueryParams(), SL.onEvent({
	                type: "locationchange",
	                target: document
	            })
	        },
	        setupSPASupport: function() {
	            this.setupHistoryAPI(), this.setupHashChange()
	        },
	        setupHistoryAPI: function() {
	            var e = window.history;
	            e && (e.pushState && (this.originalPushState = e.pushState, e.pushState = this._pushState), e.replaceState && (this.originalReplaceState = e.replaceState, e.replaceState = this._replaceState)), SL.addEventHandler(window, "popstate", this._onPopState)
	        },
	        pushState: function() {
	            var e = this.originalPushState.apply(history, arguments);
	            return this.onPushState(), e
	        },
	        replaceState: function() {
	            var e = this.originalReplaceState.apply(history, arguments);
	            return this.onReplaceState(), e
	        },
	        setupHashChange: function() {
	            SL.addEventHandler(window, "hashchange", this._onHashChange)
	        },
	        onReplaceState: function() {
	            setTimeout(this._fireIfURIChanged, 0)
	        },
	        onPushState: function() {
	            setTimeout(this._fireIfURIChanged, 0)
	        },
	        onPopState: function() {
	            setTimeout(this._fireIfURIChanged, 0)
	        },
	        onHashChange: function() {
	            setTimeout(this._fireIfURIChanged, 0)
	        },
	        uninitialize: function() {
	            this.cleanUpHistoryAPI(), this.cleanUpHashChange()
	        },
	        cleanUpHistoryAPI: function() {
	            history.pushState === this._pushState && (history.pushState = this.originalPushState), history.replaceState === this._replaceState && (history.replaceState = this.originalReplaceState), SL.removeEventHandler(window, "popstate", this._onPopState)
	        },
	        cleanUpHashChange: function() {
	            SL.removeEventHandler(window, "hashchange", this._onHashChange)
	        }
	    }, SL.availableEventEmitters.push(LocationChangeEventEmitter), OrientationChangeEventEmitter.orientationChange = function(e) {
	        var t = 0 === window.orientation ? "portrait" : "landscape";
	        e.orientation = t, SL.onEvent(e)
	    }, SL.availableEventEmitters.push(OrientationChangeEventEmitter), TwitterEventEmitter.prototype = {
	        initialize: function() {
	            var e = this.twttr;
	            e && "function" == typeof e.ready && e.ready(SL.bind(this.bind, this))
	        },
	        bind: function() {
	            this.twttr.events.bind("tweet", function(e) {
	                e && (SL.notify("tracking a tweet button", 1), SL.onEvent({
	                    type: "twitter.tweet",
	                    target: document
	                }))
	            })
	        }
	    }, SL.availableEventEmitters.push(TwitterEventEmitter), VideoPlayedEventEmitter.prototype = {
	        backgroundTasks: function() {
	            var e = this.eventHandler;
	            SL.each(this.rules, function(t) {
	                SL.cssQuery(t.selector || "video", function(t) {
	                    SL.each(t, function(t) {
	                        SL.$data(t, "videoplayed.tracked") || (SL.addEventHandler(t, "timeupdate", SL.throttle(e, 100)), SL.$data(t, "videoplayed.tracked", !0))
	                    })
	                })
	            })
	        },
	        evalRule: function(e, t) {
	            var n = t.event,
	                i = e.seekable,
	                a = i.start(0),
	                r = i.end(0),
	                o = e.currentTime,
	                s = t.event.match(/^videoplayed\(([0-9]+)([s%])\)$/);
	            if (s) {
	                var c = s[2],
	                    l = Number(s[1]),
	                    u = "%" === c ? function() {
	                        return 100 * (o - a) / (r - a) >= l
	                    } : function() {
	                        return o - a >= l
	                    };
	                !SL.$data(e, n) && u() && (SL.$data(e, n, !0), SL.onEvent({
	                    type: n,
	                    target: e
	                }))
	            }
	        },
	        onUpdateTime: function(e) {
	            var t = this.rules,
	                n = e.target;
	            if (n.seekable && 0 !== n.seekable.length)
	                for (var i = 0, a = t.length; a > i; i++) this.evalRule(n, t[i])
	        }
	    }, SL.availableEventEmitters.push(VideoPlayedEventEmitter), VisibilityEventEmitter.prototype = {
	        defineEvents: function() {
	            this.oldBlurClosure = function() {
	                SL.fireEvent("tabblur", document)
	            }, this.oldFocusClosure = SL.bind(function() {
	                this.visibilityApiHasPriority ? SL.fireEvent("tabfocus", document) : null != SL.visibility.getHiddenProperty() ? SL.visibility.isHidden() || SL.fireEvent("tabfocus", document) : SL.fireEvent("tabfocus", document)
	            }, this)
	        },
	        attachDetachModernEventListeners: function(e) {
	            var t = 0 == e ? "removeEventHandler" : "addEventHandler";
	            SL[t](document, SL.visibility.getVisibilityEvent(), this.handleVisibilityChange)
	        },
	        attachDetachOlderEventListeners: function(e, t, n) {
	            var i = 0 == e ? "removeEventHandler" : "addEventHandler";
	            SL[i](t, n, this.oldBlurClosure), SL[i](window, "focus", this.oldFocusClosure)
	        },
	        handleVisibilityChange: function() {
	            SL.visibility.isHidden() ? SL.fireEvent("tabblur", document) : SL.fireEvent("tabfocus", document)
	        },
	        setVisibilityApiPriority: function(e) {
	            this.visibilityApiHasPriority = e, this.attachDetachOlderEventListeners(!1, window, "blur"), this.attachDetachModernEventListeners(!1), e ? null != SL.visibility.getHiddenProperty() ? this.attachDetachModernEventListeners(!0) : this.attachDetachOlderEventListeners(!0, window, "blur") : (this.attachDetachOlderEventListeners(!0, window, "blur"), null != SL.visibility.getHiddenProperty() && this.attachDetachModernEventListeners(!0))
	        },
	        oldBlurClosure: null,
	        oldFocusClosure: null,
	        visibilityApiHasPriority: !0
	    }, SL.availableEventEmitters.push(VisibilityEventEmitter), SL.ecommerce = {
	        addItem: function() {
	            var e = [].slice.call(arguments);
	            SL.onEvent({
	                type: "ecommerce.additem",
	                target: e
	            })
	        },
	        addTrans: function() {
	            var e = [].slice.call(arguments);
	            SL.data.saleData.sale = {
	                orderId: e[0],
	                revenue: e[2]
	            }, SL.onEvent({
	                type: "ecommerce.addtrans",
	                target: e
	            })
	        },
	        trackTrans: function() {
	            SL.onEvent({
	                type: "ecommerce.tracktrans",
	                target: []
	            })
	        }
	    }, SL.visibility = {
	        isHidden: function() {
	            var e = this.getHiddenProperty();
	            return e ? document[e] : !1
	        },
	        isVisible: function() {
	            return !this.isHidden()
	        },
	        getHiddenProperty: function() {
	            var e = ["webkit", "moz", "ms", "o"];
	            if ("hidden" in document) return "hidden";
	            for (var t = 0; t < e.length; t++)
	                if (e[t] + "Hidden" in document) return e[t] + "Hidden";
	            return null
	        },
	        getVisibilityEvent: function() {
	            var e = this.getHiddenProperty();
	            return e ? e.replace(/[H|h]idden/, "") + "visibilitychange" : null
	        }
	    }, SL.inherit(BasicTool, SL.BaseTool), SL.extend(BasicTool.prototype, {
	        initialize: function() {
	            var e = this.settings;
	            if (this.settings.initTool !== !1) {
	                var t = e.url;
	                t = "string" == typeof t ? SL.basePath() + t : SL.isHttps() ? t.https : t.http, SL.loadScript(t, SL.bind(this.onLoad, this)), this.initializing = !0
	            } else this.initialized = !0
	        },
	        isQueueAvailable: function() {
	            return !this.initialized
	        },
	        onLoad: function() {
	            this.initialized = !0, this.initializing = !1, this.settings.initialBeacon && this.settings.initialBeacon(), this.flushQueue()
	        },
	        endPLPhase: function(e) {
	            var t = this.settings.loadOn;
	            e === t && (SL.notify(this.name + ": Initializing at " + e, 1), this.initialize())
	        },
	        $fire: function(e, t, n) {
	            return this.initializing ? void this.queueCommand({
	                command: "fire",
	                arguments: [n]
	            }, e, t) : void n.call(this.settings, e, t)
	        }
	    }), SL.availableTools.am = BasicTool, SL.availableTools.adlens = BasicTool, SL.availableTools.__basic = BasicTool, SL.inherit(DefaultTool, SL.BaseTool), SL.extend(DefaultTool.prototype, {
	        name: "Default",
	        $loadIframe: function(e, t, n) {
	            var i = n.pages,
	                a = n.loadOn,
	                r = SL.bind(function() {
	                    SL.each(i, function(n) {
	                        this.loadIframe(e, t, n)
	                    }, this)
	                }, this);
	            a || r(), "domready" === a && SL.domReady(r), "load" === a && SL.addEventHandler(window, "load", r)
	        },
	        loadIframe: function(e, t, n) {
	            var i = document.createElement("iframe");
	            i.style.display = "none";
	            var a = SL.data.host,
	                r = n.data,
	                o = this.scriptURL(n.src),
	                s = SL.searchVariables(r, e, t);
	            a && (o = SL.basePath() + o), o += s, i.src = o;
	            var c = document.getElementsByTagName("body")[0];
	            c ? c.appendChild(i) : SL.domReady(function() {
	                document.getElementsByTagName("body")[0].appendChild(i)
	            })
	        },
	        scriptURL: function(e) {
	            var t = SL.settings.scriptDir || "";
	            return t + e
	        },
	        $loadScript: function(e, t, n) {
	            var i = n.scripts,
	                a = n.sequential,
	                r = n.loadOn,
	                o = SL.bind(function() {
	                    a ? this.loadScripts(e, t, i) : SL.each(i, function(n) {
	                        this.loadScripts(e, t, [n])
	                    }, this)
	                }, this);
	            r ? "domready" === r ? SL.domReady(o) : "load" === r && SL.addEventHandler(window, "load", o) : o()
	        },
	        loadScripts: function(e, t, n) {
	            function i() {
	                if (r.length > 0 && a) {
	                    var c = r.shift();
	                    c.call(e, t, o)
	                }
	                var l = n.shift();
	                if (l) {
	                    var u = SL.data.host,
	                        d = s.scriptURL(l.src);
	                    u && (d = SL.basePath() + d), a = l, SL.loadScript(d, i)
	                }
	            }
	            try {
	                var a, n = n.slice(0),
	                    r = this.asyncScriptCallbackQueue,
	                    o = t.target || t.srcElement,
	                    s = this
	            } catch (c) {
	                console.error("scripts is", SL.stringify(n))
	            }
	            i()
	        },
	        $loadBlockingScript: function(e, t, n) {
	            var i = n.scripts,
	                a = (n.loadOn, SL.bind(function() {
	                    SL.each(i, function(n) {
	                        this.loadBlockingScript(e, t, n)
	                    }, this)
	                }, this));
	            a()
	        },
	        loadBlockingScript: function(e, t, n) {
	            var i = this.scriptURL(n.src),
	                a = SL.data.host,
	                r = t.target || t.srcElement;
	            a && (i = SL.basePath() + i), this.argsForBlockingScripts.push([e, t, r]), SL.loadScriptSync(i)
	        },
	        pushAsyncScript: function(e) {
	            this.asyncScriptCallbackQueue.push(e)
	        },
	        pushBlockingScript: function(e) {
	            var t = this.argsForBlockingScripts.shift(),
	                n = t[0];
	            e.apply(n, t.slice(1))
	        },
	        $writeHTML: SL.escapeHtmlParams(function(e, t) {
	            if (SL.domReadyFired || !document.write) return void SL.notify("Command writeHTML failed. You should try appending HTML using the async option.", 1);
	            if ("pagebottom" !== t.type && "pagetop" !== t.type) return void SL.notify("You can only use writeHTML on the `pagetop` and `pagebottom` events.", 1);
	            for (var n = 2, i = arguments.length; i > n; n++) {
	                var a = arguments[n].html;
	                a = SL.replace(a, e, t), document.write(a)
	            }
	        }),
	        linkNeedsDelayActivate: function(e, t) {
	            t = t || window;
	            var n = e.tagName,
	                i = e.getAttribute("target"),
	                a = e.getAttribute("href");
	            return n && "a" !== n.toLowerCase() ? !1 : a ? i ? "_blank" === i ? !1 : "_top" === i ? t.top === t : "_parent" === i ? !1 : "_self" === i ? !0 : t.name ? i === t.name : !0 : !0 : !1
	        },
	        $delayActivateLink: function(e, t) {
	            if (this.linkNeedsDelayActivate(e)) {
	                SL.preventDefault(t);
	                var n = SL.settings.linkDelay || 100;
	                setTimeout(function() {
	                    SL.setLocation(e.href)
	                }, n)
	            }
	        },
	        isQueueable: function(e) {
	            return "writeHTML" !== e.command
	        }
	    }), SL.availableTools["default"] = DefaultTool, SL.inherit(GATool, SL.BaseTool), SL.extend(GATool.prototype, {
	        name: "GA",
	        initialize: function() {
	            var e = this.settings,
	                t = window._gaq,
	                n = e.initCommands || [],
	                i = e.customInit;
	            if (t || (_gaq = []), this.isSuppressed()) SL.notify("GA: page code not loaded(suppressed).", 1);
	            else {
	                if (!t && !GATool.scriptLoaded) {
	                    var a = SL.isHttps(),
	                        r = (a ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";
	                    e.url && (r = a ? e.url.https : e.url.http), SL.loadScript(r), GATool.scriptLoaded = !0, SL.notify("GA: page code loaded.", 1)
	                }
	                var o = (e.domain, e.trackerName),
	                    s = GAUtils.allowLinker(),
	                    c = SL.replace(e.account, location);
	                SL.settings.domainList || [];
	                _gaq.push([this.cmd("setAccount"), c]), s && _gaq.push([this.cmd("setAllowLinker"), s]), _gaq.push([this.cmd("setDomainName"), GAUtils.cookieDomain()]), SL.each(n, function(e) {
	                    var t = [this.cmd(e[0])].concat(SL.preprocessArguments(e.slice(1), location, null, this.forceLowerCase));
	                    _gaq.push(t)
	                }, this), i && (this.suppressInitialPageView = !1 === i(_gaq, o)), e.pageName && this.$overrideInitialPageView(null, null, e.pageName)
	            }
	            this.initialized = !0, SL.fireEvent(this.id + ".configure", _gaq, o)
	        },
	        isSuppressed: function() {
	            return this._cancelToolInit || this.settings.initTool === !1
	        },
	        tracker: function() {
	            return this.settings.trackerName
	        },
	        cmd: function(e) {
	            var t = this.tracker();
	            return t ? t + "._" + e : "_" + e
	        },
	        $overrideInitialPageView: function(e, t, n) {
	            this.urlOverride = n
	        },
	        trackInitialPageView: function() {
	            if (!this.isSuppressed() && !this.suppressInitialPageView)
	                if (this.urlOverride) {
	                    var e = SL.preprocessArguments([this.urlOverride], location, null, this.forceLowerCase);
	                    this.$missing$("trackPageview", null, null, e)
	                } else this.$missing$("trackPageview")
	        },
	        endPLPhase: function(e) {
	            var t = this.settings.loadOn;
	            e === t && (SL.notify("GA: Initializing at " + e, 1), this.initialize(), this.flushQueue(), this.trackInitialPageView())
	        },
	        call: function(e, t, n, i) {
	            if (!this._cancelToolInit) {
	                var a = (this.settings, this.tracker()),
	                    r = this.cmd(e),
	                    i = i ? [r].concat(i) : [r];
	                _gaq.push(i), a ? SL.notify("GA: sent command " + e + " to tracker " + a + (i.length > 1 ? " with parameters [" + i.slice(1).join(", ") + "]" : "") + ".", 1) : SL.notify("GA: sent command " + e + (i.length > 1 ? " with parameters [" + i.slice(1).join(", ") + "]" : "") + ".", 1)
	            }
	        },
	        $missing$: function(e, t, n, i) {
	            this.call(e, t, n, i)
	        },
	        $postTransaction: function(e, t, n) {
	            var i = SL.data.customVars.transaction = window[n];
	            this.call("addTrans", e, t, [i.orderID, i.affiliation, i.total, i.tax, i.shipping, i.city, i.state, i.country]), SL.each(i.items, function(n) {
	                this.call("addItem", e, t, [n.orderID, n.sku, n.product, n.category, n.unitPrice, n.quantity])
	            }, this), this.call("trackTrans", e, t)
	        },
	        delayLink: function(e, t) {
	            var n = this;
	            if (GAUtils.allowLinker() && e.hostname.match(this.settings.linkerDomains) && !SL.isSubdomainOf(e.hostname, location.hostname)) {
	                SL.preventDefault(t);
	                var i = SL.settings.linkDelay || 100;
	                setTimeout(function() {
	                    n.call("link", e, t, [e.href])
	                }, i)
	            }
	        },
	        popupLink: function(e, t) {
	            if (window._gat) {
	                SL.preventDefault(t);
	                var n = this.settings.account,
	                    i = window._gat._createTracker(n),
	                    a = i._getLinkerUrl(e.href);
	                window.open(a)
	            }
	        },
	        $link: function(e, t) {
	            "_blank" === e.getAttribute("target") ? this.popupLink(e, t) : this.delayLink(e, t)
	        },
	        $trackEvent: function(e, t) {
	            var n = Array.prototype.slice.call(arguments, 2);
	            if (n.length >= 4 && null != n[3]) {
	                var i = parseInt(n[3], 10);
	                SL.isNaN(i) && (i = 1), n[3] = i
	            }
	            this.call("trackEvent", e, t, n)
	        }
	    }), SL.availableTools.ga = GATool, SL.inherit(GAUniversalTool, SL.BaseTool), SL.extend(GAUniversalTool.prototype, {
	        name: "GAUniversal",
	        endPLPhase: function(e) {
	            var t = this.settings,
	                n = t.loadOn;
	            e === n && (SL.notify("GAU: Initializing at " + e, 1), this.initialize(), this.flushQueue(), this.trackInitialPageView())
	        },
	        getTrackerName: function() {
	            return this.settings.trackerSettings.name || ""
	        },
	        isPageCodeLoadSuppressed: function() {
	            return this.settings.initTool === !1 || this._cancelToolInit === !0
	        },
	        initialize: function() {
	            if (this.isPageCodeLoadSuppressed()) return this.initialized = !0, void SL.notify("GAU: Page code not loaded (suppressed).", 1);
	            var e = "ga";
	            window[e] = window[e] || this.createGAObject(), window.GoogleAnalyticsObject = e, SL.notify("GAU: Page code loaded.", 1), SL.loadScriptOnce(this.getToolUrl());
	            var t = this.settings;
	            if (GAUtils.allowLinker() && t.allowLinker !== !1 ? this.createAccountForLinker() : this.createAccount(), this.executeInitCommands(), t.customInit) {
	                var n = t.customInit,
	                    i = n(window[e], this.getTrackerName());
	                i === !1 && (this.suppressInitialPageView = !0)
	            }
	            this.initialized = !0
	        },
	        createGAObject: function() {
	            var e = function() {
	                e.q.push(arguments)
	            };
	            return e.q = [], e.l = 1 * new Date, e
	        },
	        createAccount: function() {
	            this.create()
	        },
	        createAccountForLinker: function() {
	            var e = {};
	            GAUtils.allowLinker() && (e.allowLinker = !0), this.create(e), this.call("require", "linker"), this.call("linker:autoLink", this.autoLinkDomains(), !1, !0)
	        },
	        create: function(e) {
	            var t = this.settings.trackerSettings;
	            t = SL.preprocessArguments([t], location, null, this.forceLowerCase)[0], t.trackingId = SL.replace(this.settings.trackerSettings.trackingId, location), t.cookieDomain || (t.cookieDomain = GAUtils.cookieDomain()), SL.extend(t, e || {}), this.call("create", t)
	        },
	        autoLinkDomains: function() {
	            var e = location.hostname;
	            return SL.filter(SL.settings.domainList, function(t) {
	                return t !== e
	            })
	        },
	        executeInitCommands: function() {
	            var e = this.settings;
	            e.initCommands && SL.each(e.initCommands, function(e) {
	                var t = e.splice(2, e.length - 2);
	                e = e.concat(SL.preprocessArguments(t, location, null, this.forceLowerCase)), this.call.apply(this, e)
	            }, this)
	        },
	        trackInitialPageView: function() {
	            this.suppressInitialPageView || this.isPageCodeLoadSuppressed() || this.call("send", "pageview")
	        },
	        call: function() {
	            return "function" != typeof ga ? void SL.notify("GA Universal function not found!", 4) : void(this.isCallSuppressed() || (arguments[0] = this.cmd(arguments[0]), this.log(SL.toArray(arguments)), ga.apply(window, arguments)))
	        },
	        isCallSuppressed: function() {
	            return this._cancelToolInit === !0
	        },
	        $missing$: function(e, t, n, i) {
	            i = i || [], i = [e].concat(i), this.call.apply(this, i)
	        },
	        getToolUrl: function() {
	            var e = this.settings,
	                t = SL.isHttps();
	            return e.url ? t ? e.url.https : e.url.http : (t ? "https://ssl" : "http://www") + ".google-analytics.com/analytics.js"
	        },
	        cmd: function(e) {
	            var t = ["send", "set", "get"],
	                n = this.getTrackerName();
	            return n && -1 !== SL.indexOf(t, e) ? n + "." + e : e
	        },
	        log: function(e) {
	            var t = e[0],
	                n = this.getTrackerName() || "default",
	                i = "GA Universal: sent command " + t + " to tracker " + n;
	            if (e.length > 1) {
	                SL.stringify(e.slice(1));
	                i += " with parameters " + SL.stringify(e.slice(1))
	            }
	            i += ".", SL.notify(i, 1)
	        }
	    }), SL.availableTools.ga_universal = GAUniversalTool;
	    var GAUtils = {
	        allowLinker: function() {
	            return SL.hasMultipleDomains()
	        },
	        cookieDomain: function() {
	            var e = SL.settings.domainList,
	                t = SL.find(e, function(e) {
	                    var t = window.location.hostname;
	                    return SL.equalsIgnoreCase(t.slice(t.length - e.length), e)
	                }),
	                n = t ? "." + t : "auto";
	            return n
	        }
	    };
	    SL.inherit(NielsenTool, SL.BaseTool), SL.extend(NielsenTool.prototype, {
	        name: "Nielsen",
	        endPLPhase: function(e) {
	            switch (e) {
	                case "pagetop":
	                    this.initialize();
	                    break;
	                case "pagebottom":
	                    this.enableTracking && (this.queueCommand({
	                        command: "sendFirstBeacon",
	                        arguments: []
	                    }), this.flushQueueWhenReady())
	            }
	        },
	        defineListeners: function() {
	            this.onTabFocus = SL.bind(function() {
	                this.notify("Tab visible, sending view beacon when ready", 1), this.tabEverVisible = !0, this.flushQueueWhenReady()
	            }, this), this.onPageLeave = SL.bind(function() {
	                this.notify("isHuman? : " + this.isHuman(), 1), this.isHuman() && this.sendDurationBeacon()
	            }, this), this.onHumanDetectionChange = SL.bind(function(e) {
	                this == e.target.target && (this.human = e.target.isHuman)
	            }, this)
	        },
	        initialize: function() {
	            this.initializeTracking(), this.initializeDataProviders(), this.initializeNonHumanDetection(), this.tabEverVisible = SL.visibility.isVisible(), this.tabEverVisible ? this.notify("Tab visible, sending view beacon when ready", 1) : SL.bindEventOnce("tabfocus", this.onTabFocus), this.initialized = !0
	        },
	        initializeTracking: function() {
	            this.initialized || (this.notify("Initializing tracking", 1), this.addRemovePageLeaveEvent(this.enableTracking), this.addRemoveHumanDetectionChangeEvent(this.enableTracking), this.initialized = !0)
	        },
	        initializeDataProviders: function() {
	            var e, t = this.getAnalyticsTool();
	            this.dataProvider.register(new NielsenTool.DataProvider.VisitorID(SL.getVisitorId())), t ? (e = new NielsenTool.DataProvider.Generic("rsid", function() {
	                return t.settings.account
	            }), this.dataProvider.register(e)) : this.notify("Missing integration with Analytics: rsid will not be sent.")
	        },
	        initializeNonHumanDetection: function() {
	            SL.nonhumandetection ? (SL.nonhumandetection.init(), this.setEnableNonHumanDetection(0 == this.settings.enableNonHumanDetection ? !1 : !0), this.settings.nonHumanDetectionDelay > 0 && this.setNonHumanDetectionDelay(1e3 * parseInt(this.settings.nonHumanDetectionDelay))) : this.notify("NHDM is not available.")
	        },
	        getAnalyticsTool: function() {
	            return this.settings.integratesWith ? SL.tools[this.settings.integratesWith] : void 0
	        },
	        flushQueueWhenReady: function() {
	            this.enableTracking && this.tabEverVisible && SL.poll(SL.bind(function() {
	                return this.isReadyToTrack() ? (this.flushQueue(), !0) : void 0
	            }, this), 100, 20)
	        },
	        isReadyToTrack: function() {
	            return this.tabEverVisible && this.dataProvider.isReady()
	        },
	        $setVars: function(e, t, n) {
	            for (var i in n) {
	                var a = n[i];
	                "function" == typeof a && (a = a()), this.settings[i] = a
	            }
	            this.notify("Set variables done", 2), this.prepareContextData()
	        },
	        $setEnableTracking: function(e, t, n) {
	            this.notify("Will" + (n ? "" : " not") + " track time on page", 1), this.enableTracking != n && (this.addRemovePageLeaveEvent(n), this.addRemoveHumanDetectionChangeEvent(n), this.enableTracking = n)
	        },
	        $sendFirstBeacon: function(e, t, n) {
	            this.sendViewBeacon()
	        },
	        setEnableNonHumanDetection: function(e) {
	            e ? SL.nonhumandetection.register(this) : SL.nonhumandetection.unregister(this)
	        },
	        setNonHumanDetectionDelay: function(e) {
	            SL.nonhumandetection.register(this, e)
	        },
	        addRemovePageLeaveEvent: function(e) {
	            this.notify((e ? "Attach onto" : "Detach from") + " page leave event", 1);
	            var t = 0 == e ? "unbindEvent" : "bindEvent";
	            SL[t]("leave", this.onPageLeave)
	        },
	        addRemoveHumanDetectionChangeEvent: function(e) {
	            this.notify((e ? "Attach onto" : "Detach from") + " human detection change event", 1);
	            var t = 0 == e ? "unbindEvent" : "bindEvent";
	            SL[t]("humandetection.change", this.onHumanDetectionChange)
	        },
	        sendViewBeacon: function() {
	            this.notify("Tracked page view.", 1), this.sendBeaconWith()
	        },
	        sendDurationBeacon: function() {
	            if (!SL.timetracking || "function" != typeof SL.timetracking.timeOnPage || null == SL.timetracking.timeOnPage()) return void this.notify("Could not track close due missing time on page", 5);
	            this.notify("Tracked close", 1), this.sendBeaconWith({
	                timeOnPage: Math.round(SL.timetracking.timeOnPage() / 1e3),
	                duration: "D",
	                timer: "timer"
	            });
	            var e, t = "";
	            for (e = 0; e < this.magicConst; e++) t += "0"
	        },
	        sendBeaconWith: function(e) {
	            this.enableTracking && this[this.beaconMethod].call(this, this.prepareUrl(e))
	        },
	        plainBeacon: function(e) {
	            var t = new Image;
	            t.src = e, t.width = 1, t.height = 1, t.alt = ""
	        },
	        navigatorSendBeacon: function(e) {
	            navigator.sendBeacon(e)
	        },
	        prepareUrl: function(e) {
	            var t = this.settings;
	            return SL.extend(t, this.dataProvider.provide()), SL.extend(t, e), this.preparePrefix(this.settings.collectionServer) + this.adapt.convertToURI(this.adapt.toNielsen(this.substituteVariables(t)))
	        },
	        preparePrefix: function(e) {
	            return "//" + encodeURIComponent(e) + ".imrworldwide.com/cgi-bin/gn?"
	        },
	        substituteVariables: function(e) {
	            var t = {};
	            for (var n in e) e.hasOwnProperty(n) && (t[n] = SL.replace(e[n]));
	            return t
	        },
	        prepareContextData: function() {
	            if (!this.getAnalyticsTool()) return void this.notify("Adobe Analytics missing.");
	            var e = this.settings;
	            e.sdkVersion = _satellite.publishDate, this.getAnalyticsTool().$setVars(null, null, {
	                contextData: this.adapt.toAnalytics(this.substituteVariables(e))
	            })
	        },
	        isHuman: function() {
	            return this.human
	        },
	        onTabFocus: function() {},
	        onPageLeave: function() {},
	        onHumanDetectionChange: function() {},
	        notify: function(e, t) {
	            SL.notify(this.logPrefix + e, t)
	        },
	        beaconMethod: "plainBeacon",
	        adapt: null,
	        enableTracking: !1,
	        logPrefix: "Nielsen: ",
	        tabEverVisible: !1,
	        human: !0,
	        magicConst: 2e6
	    }), NielsenTool.DataProvider = {}, NielsenTool.DataProvider.Generic = function(e, t) {
	        this.key = e, this.valueFn = t
	    }, SL.extend(NielsenTool.DataProvider.Generic.prototype, {
	        isReady: function() {
	            return !0
	        },
	        getValue: function() {
	            return this.valueFn()
	        },
	        provide: function() {
	            this.isReady() || NielsenTool.prototype.notify("Not yet ready to provide value for: " + this.key, 5);
	            var e = {};
	            return e[this.key] = this.getValue(), e
	        }
	    }), NielsenTool.DataProvider.VisitorID = function(e, t, n) {
	        this.key = t || "uuid", this.visitorInstance = e, this.visitorInstance && (this.visitorId = e.getMarketingCloudVisitorID([this, this._visitorIdCallback])), this.fallbackProvider = n || new NielsenTool.UUID
	    }, SL.inherit(NielsenTool.DataProvider.VisitorID, NielsenTool.DataProvider.Generic), SL.extend(NielsenTool.DataProvider.VisitorID.prototype, {
	        isReady: function() {
	            return null === this.visitorInstance ? !0 : !!this.visitorId
	        },
	        getValue: function() {
	            return this.visitorId || this.fallbackProvider.get()
	        },
	        _visitorIdCallback: function(e) {
	            this.visitorId = e
	        }
	    }), NielsenTool.DataProvider.Aggregate = function() {
	        this.providers = [];
	        for (var e = 0; e < arguments.length; e++) this.register(arguments[e])
	    }, SL.extend(NielsenTool.DataProvider.Aggregate.prototype, {
	        register: function(e) {
	            this.providers.push(e)
	        },
	        isReady: function() {
	            return SL.every(this.providers, function(e) {
	                return e.isReady()
	            })
	        },
	        provide: function() {
	            var e = {};
	            return SL.each(this.providers, function(t) {
	                SL.extend(e, t.provide())
	            }), e
	        }
	    }), NielsenTool.UUID = function() {}, SL.extend(NielsenTool.UUID.prototype, {
	        generate: function() {
	            return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
	                var t = 16 * Math.random() | 0,
	                    n = "x" == e ? t : 3 & t | 8;
	                return n.toString(16)
	            })
	        },
	        get: function() {
	            var e = SL.readCookie(this.key("uuid"));
	            return e ? e : (e = this.generate(), SL.setCookie(this.key("uuid"), e), e)
	        },
	        key: function(e) {
	            return "_dtm_nielsen_" + e
	        }
	    }), NielsenTool.DataAdapters = function() {}, SL.extend(NielsenTool.DataAdapters.prototype, {
	        toNielsen: function(e) {
	            var t = (new Date).getTime(),
	                n = {
	                    c6: "vc,",
	                    c13: "asid,",
	                    c15: "apn,",
	                    c27: "cln,",
	                    c32: "segA,",
	                    c33: "segB,",
	                    c34: "segC,",
	                    c35: "adrsid,",
	                    c29: "plid,",
	                    c30: "bldv,",
	                    c40: "adbid,"
	                },
	                i = {
	                    ci: e.clientId,
	                    c6: e.vcid,
	                    c13: e.appId,
	                    c15: e.appName,
	                    prv: 1,
	                    forward: 0,
	                    ad: 0,
	                    cr: e.duration || "V",
	                    rt: "text",
	                    st: "dcr",
	                    prd: "dcr",
	                    r: t,
	                    at: e.timer || "view",
	                    c16: e.sdkVersion,
	                    c27: e.timeOnPage || 0,
	                    c40: e.uuid,
	                    c35: e.rsid,
	                    ti: t,
	                    sup: 0,
	                    c32: e.segmentA,
	                    c33: e.segmentB,
	                    c34: e.segmentC,
	                    asn: e.assetName,
	                    c29: e.playerID,
	                    c30: e.buildVersion
	                };
	            for (key in i)
	                if (i[key] !== undefined && null != i[key] && i[key] !== undefined && null != i && "" != i) {
	                    var a = encodeURIComponent(i[key]);
	                    n.hasOwnProperty(key) && a && (a = n[key] + a), i[key] = a
	                }
	            return this.filterObject(i)
	        },
	        toAnalytics: function(e) {
	            return this.filterObject({
	                "a.nielsen.clientid": e.clientId,
	                "a.nielsen.vcid": e.vcid,
	                "a.nielsen.appid": e.appId,
	                "a.nielsen.appname": e.appName,
	                "a.nielsen.accmethod": "0",
	                "a.nielsen.ctype": "text",
	                "a.nielsen.sega": e.segmentA,
	                "a.nielsen.segb": e.segmentB,
	                "a.nielsen.segc": e.segmentC,
	                "a.nielsen.asset": e.assetName
	            })
	        },
	        convertToURI: function(e) {
	            if (SL.isObject(e) === !1) return "";
	            var t = [];
	            for (var n in e) e.hasOwnProperty(n) && t.push(n + "=" + e[n]);
	            return t.join("&")
	        },
	        filterObject: function(e) {
	            for (var t in e) !e.hasOwnProperty(t) || null != e[t] && e[t] !== undefined || delete e[t];
	            return e
	        }
	    }), SL.availableTools.nielsen = NielsenTool, SL.inherit(SiteCatalystTool, SL.BaseTool), SL.extend(SiteCatalystTool.prototype, {
	        name: "SC",
	        endPLPhase: function(e) {
	            var t = this.settings.loadOn;
	            e === t && this.initialize(e)
	        },
	        initialize: function(e) {
	            if (!this._cancelToolInit)
	                if (this.settings.initVars = this.substituteVariables(this.settings.initVars, {
	                        type: e
	                    }), this.settings.initTool !== !1) {
	                    var t = this.settings.sCodeURL || SL.basePath() + "s_code.js";
	                    "object" == typeof t && (t = "https:" === window.location.protocol ? t.https : t.http), t.match(/^https?:/) || (t = SL.basePath() + t), this.settings.initVars && this.$setVars(null, null, this.settings.initVars), SL.loadScript(t, SL.bind(this.onSCodeLoaded, this)), this.initializing = !0
	                } else this.initializing = !0, this.pollForSC()
	        },
	        getS: function(e, t) {
	            var n = t && t.hostname || window.location.hostname,
	                i = this.concatWithToolVarBindings(t && t.setVars || this.varBindings),
	                a = t && t.addEvent || this.events,
	                r = this.getAccount(n),
	                o = window.s_gi;
	            if (!o) return null;
	            if (this.isValidSCInstance(e) || (e = null), !r && !e) return SL.notify("Adobe Analytics: tracker not initialized because account was not found", 1), null;
	            var e = e || o(r),
	                s = "D" + SL.appVersion;
	            "undefined" != typeof e.tagContainerMarker ? e.tagContainerMarker = s : "string" == typeof e.version && e.version.substring(e.version.length - 5) !== "-" + s && (e.version += "-" + s), e.sa && this.settings.skipSetAccount !== !0 && this.settings.initTool !== !1 && e.sa(this.settings.account), this.applyVarBindingsOnTracker(e, i), a.length > 0 && (e.events = a.join(","));
	            var c = SL.getVisitorId();
	            return c && (e.visitor = SL.getVisitorId()), e
	        },
	        onSCodeLoaded: function(e) {
	            this.initialized = !0, this.initializing = !1;
	            var t = ["Adobe Analytics: loaded", e ? " (manual)" : "", "."];
	            SL.notify(t.join(""), 1), SL.fireEvent(this.id + ".load", this.getS()), e || (this.flushQueueExceptTrackLink(), this.sendBeacon()), this.flushQueue()
	        },
	        getAccount: function(e) {
	            return window.s_account ? window.s_account : e && this.settings.accountByHost ? this.settings.accountByHost[e] || this.settings.account : this.settings.account
	        },
	        getTrackingServer: function() {
	            var e = this,
	                t = e.getS();
	            if (t) {
	                if (t.ssl && t.trackingServerSecure) return t.trackingServerSecure;
	                if (t.trackingServer) return t.trackingServer
	            }
	            var n = e.getAccount(window.location.hostname);
	            if (!n) return null;
	            var i, a, r, o = "",
	                s = t && t.dc;
	            return i = n, a = i.indexOf(","), a >= 0 && (i = i.gb(0, a)), i = i.replace(/[^A-Za-z0-9]/g, ""), o || (o = "2o7.net"), s = s ? ("" + s).toLowerCase() : "d1", "2o7.net" == o && ("d1" == s ? s = "112" : "d2" == s && (s = "122"), r = ""), a = i + "." + s + "." + r + o
	        },
	        sendBeacon: function() {
	            var e = this.getS(window[this.settings.renameS || "s"]);
	            return e ? this.settings.customInit && this.settings.customInit(e) === !1 ? void SL.notify("Adobe Analytics: custom init suppressed beacon", 1) : (this.settings.executeCustomPageCodeFirst && this.applyVarBindingsOnTracker(e, this.varBindings), this.executeCustomSetupFuns(e), e.t(), this.clearVarBindings(), this.clearCustomSetup(), void SL.notify("Adobe Analytics: tracked page view", 1)) : void SL.notify("Adobe Analytics: page code not loaded", 1)
	        },
	        pollForSC: function() {
	            SL.poll(SL.bind(function() {
	                return "function" == typeof window.s_gi ? (this.onSCodeLoaded(!0), !0) : void 0
	            }, this))
	        },
	        flushQueueExceptTrackLink: function() {
	            if (this.pending) {
	                for (var e = [], t = 0; t < this.pending.length; t++) {
	                    var n = this.pending[t],
	                        i = n[0];
	                    "trackLink" === i.command ? e.push(n) : this.triggerCommand.apply(this, n)
	                }
	                this.pending = e
	            }
	        },
	        isQueueAvailable: function() {
	            return !this.initialized
	        },
	        substituteVariables: function(e, t) {
	            var n = {};
	            for (var i in e)
	                if (e.hasOwnProperty(i)) {
	                    var a = e[i];
	                    n[i] = SL.replace(a, location, t)
	                }
	            return n
	        },
	        $setVars: function(e, t, n) {
	            for (var i in n)
	                if (n.hasOwnProperty(i)) {
	                    var a = n[i];
	                    "function" == typeof a && (a = a()), this.varBindings[i] = a
	                }
	            SL.notify("Adobe Analytics: set variables.", 2)
	        },
	        $customSetup: function(e, t, n) {
	            this.customSetupFuns.push(function(i) {
	                n.call(e, t, i)
	            })
	        },
	        isValidSCInstance: function(e) {
	            return !!e && "function" == typeof e.t && "function" == typeof e.tl
	        },
	        concatWithToolVarBindings: function(e) {
	            var t = this.settings.initVars || {};
	            return SL.map(["trackingServer", "trackingServerSecure"], function(n) {
	                t[n] && !e[n] && (e[n] = t[n])
	            }), e
	        },
	        applyVarBindingsOnTracker: function(e, t) {
	            for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n])
	        },
	        clearVarBindings: function() {
	            this.varBindings = {}
	        },
	        clearCustomSetup: function() {
	            this.customSetupFuns = []
	        },
	        executeCustomSetupFuns: function(e) {
	            SL.each(this.customSetupFuns, function(t) {
	                t.call(window, e)
	            })
	        },
	        $trackLink: function(e, t, n) {
	            n = n || {};
	            var i = n.type,
	                a = n.linkName;
	            !a && e && e.nodeName && "a" === e.nodeName.toLowerCase() && (a = e.innerHTML), a || (a = "link clicked");
	            var r = n && n.setVars,
	                o = n && n.addEvent || [],
	                s = this.getS(null, {
	                    setVars: r,
	                    addEvent: o
	                });
	            if (!s) return void SL.notify("Adobe Analytics: page code not loaded", 1);
	            var c = s.linkTrackVars,
	                l = s.linkTrackEvents,
	                u = this.definedVarNames(r);
	            n && n.customSetup && n.customSetup.call(e, t, s), o.length > 0 && u.push("events"), s.products && u.push("products"), u = this.mergeTrackLinkVars(s.linkTrackVars, u), o = this.mergeTrackLinkVars(s.linkTrackEvents, o), s.linkTrackVars = this.getCustomLinkVarsList(u);
	            var d = SL.map(o, function(e) {
	                return e.split(":")[0]
	            });
	            s.linkTrackEvents = this.getCustomLinkVarsList(d), s.tl(!0, i || "o", a), SL.notify(["Adobe Analytics: tracked link ", "using: linkTrackVars=", SL.stringify(s.linkTrackVars), "; linkTrackEvents=", SL.stringify(s.linkTrackEvents)].join(""), 1), s.linkTrackVars = c, s.linkTrackEvents = l
	        },
	        mergeTrackLinkVars: function(e, t) {
	            return e && (t = e.split(",").concat(t)), t
	        },
	        getCustomLinkVarsList: function(e) {
	            var t = SL.indexOf(e, "None");
	            return t > -1 && e.length > 1 && e.splice(t, 1), e.join(",")
	        },
	        definedVarNames: function(e) {
	            e = e || this.varBindings;
	            var t = [];
	            for (var n in e) e.hasOwnProperty(n) && /^(eVar[0-9]+)|(prop[0-9]+)|(hier[0-9]+)|campaign|purchaseID|channel|server|state|zip|pageType$/.test(n) && t.push(n);
	            return t
	        },
	        $trackPageView: function(e, t, n) {
	            var i = n && n.setVars,
	                a = n && n.addEvent || [],
	                r = this.getS(null, {
	                    setVars: i,
	                    addEvent: a
	                });
	            return r ? (r.linkTrackVars = "", r.linkTrackEvents = "", this.executeCustomSetupFuns(r), n && n.customSetup && n.customSetup.call(e, t, r), r.t(), this.clearVarBindings(), this.clearCustomSetup(), void SL.notify("Adobe Analytics: tracked page view", 1)) : void SL.notify("Adobe Analytics: page code not loaded", 1)
	        },
	        $postTransaction: function(e, t, n) {
	            var i = SL.data.transaction = window[n],
	                a = this.varBindings,
	                r = this.settings.fieldVarMapping;
	            if (SL.each(i.items, function(e) {
	                    this.products.push(e)
	                }, this), a.products = SL.map(this.products, function(e) {
	                    var t = [];
	                    if (r && r.item)
	                        for (var n in r.item)
	                            if (r.item.hasOwnProperty(n)) {
	                                var i = r.item[n];
	                                t.push(i + "=" + e[n]), "event" === i.substring(0, 5) && this.events.push(i)
	                            }
	                    var a = ["", e.product, e.quantity, e.unitPrice * e.quantity];
	                    return t.length > 0 && a.push(t.join("|")), a.join(";")
	                }, this).join(","), r && r.transaction) {
	                var o = [];
	                for (var s in r.transaction)
	                    if (r.transaction.hasOwnProperty(s)) {
	                        var n = r.transaction[s];
	                        o.push(n + "=" + i[s]), "event" === n.substring(0, 5) && this.events.push(n)
	                    }
	                a.products.length > 0 && (a.products += ","), a.products += ";;;;" + o.join("|")
	            }
	        },
	        $addEvent: function(e, t) {
	            for (var n = 2, i = arguments.length; i > n; n++) this.events.push(arguments[n])
	        },
	        $addProduct: function(e, t) {
	            for (var n = 2, i = arguments.length; i > n; n++) this.products.push(arguments[n])
	        }
	    }), SL.availableTools.sc = SiteCatalystTool, SL.inherit(Tnt, SL.BaseTool), SL.extend(Tnt.prototype, {
	        name: "tnt",
	        endPLPhase: function(e) {
	            "aftertoolinit" === e && this.initialize()
	        },
	        initialize: function() {
	            SL.notify("Test & Target: Initializing", 1), this.initializeTargetPageParams(), this.load()
	        },
	        initializeTargetPageParams: function() {
	            window.targetPageParams && this.updateTargetPageParams(this.parseTargetPageParamsResult(window.targetPageParams())), this.updateTargetPageParams(this.settings.pageParams), this.setTargetPageParamsFunction()
	        },
	        load: function() {
	            var e = this.getMboxURL(this.settings.mboxURL);
	            this.settings.initTool !== !1 ? this.settings.loadSync ? (SL.loadScriptSync(e), this.onScriptLoaded()) : (SL.loadScript(e, SL.bind(this.onScriptLoaded, this)), this.initializing = !0) : this.initialized = !0
	        },
	        getMboxURL: function(e) {
	            var t = e;
	            return SL.isObject(e) && (t = "https:" === window.location.protocol ? e.https : e.http), t.match(/^https?:/) ? t : SL.basePath() + t
	        },
	        onScriptLoaded: function() {
	            SL.notify("Test & Target: loaded.", 1), this.flushQueue(), this.initialized = !0, this.initializing = !1
	        },
	        $addMbox: function(e, t, n) {
	            var i = n.mboxGoesAround,
	                a = i + "{visibility: hidden;}",
	                r = this.appendStyle(a);
	            i in this.styleElements || (this.styleElements[i] = r), this.initialized ? this.$addMBoxStep2(null, null, n) : this.initializing && this.queueCommand({
	                command: "addMBoxStep2",
	                arguments: [n]
	            }, e, t)
	        },
	        $addMBoxStep2: function(e, t, n) {
	            var i = this.generateID(),
	                a = this;
	            SL.addEventHandler(window, "load", SL.bind(function() {
	                SL.cssQuery(n.mboxGoesAround, function(e) {
	                    var t = e[0];
	                    if (t) {
	                        var r = document.createElement("div");
	                        r.id = i, t.parentNode.replaceChild(r, t), r.appendChild(t), window.mboxDefine(i, n.mboxName);
	                        var o = [n.mboxName];
	                        n.arguments && (o = o.concat(n.arguments)), window.mboxUpdate.apply(null, o), a.reappearWhenCallComesBack(t, i, n.timeout, n)
	                    }
	                })
	            }, this)), this.lastMboxID = i
	        },
	        $addTargetPageParams: function(e, t, n) {
	            this.updateTargetPageParams(n)
	        },
	        generateID: function() {
	            var e = "_sdsat_mbox_" + String(Math.random()).substring(2) + "_";
	            return e
	        },
	        appendStyle: function(e) {
	            var t = document.getElementsByTagName("head")[0],
	                n = document.createElement("style");
	            return n.type = "text/css", n.styleSheet ? n.styleSheet.cssText = e : n.appendChild(document.createTextNode(e)), t.appendChild(n), n
	        },
	        reappearWhenCallComesBack: function(e, t, n, i) {
	            function a() {
	                var e = r.styleElements[i.mboxGoesAround];
	                e && (e.parentNode.removeChild(e), delete r.styleElements[i.mboxGoesAround])
	            }
	            var r = this;
	            SL.cssQuery('script[src*="omtrdc.net"]', function(e) {
	                var t = e[0];
	                if (t) {
	                    SL.scriptOnLoad(t.src, t, function() {
	                        SL.notify("Test & Target: request complete", 1), a(), clearTimeout(i)
	                    });
	                    var i = setTimeout(function() {
	                        SL.notify("Test & Target: bailing after " + n + "ms", 1), a()
	                    }, n)
	                } else SL.notify("Test & Target: failed to find T&T ajax call, bailing", 1), a()
	            })
	        },
	        updateTargetPageParams: function(e) {
	            var t = {};
	            for (var n in e) e.hasOwnProperty(n) && (t[SL.replace(n)] = SL.replace(e[n]));
	            SL.extend(this.targetPageParamsStore, t)
	        },
	        getTargetPageParams: function() {
	            return this.targetPageParamsStore
	        },
	        setTargetPageParamsFunction: function() {
	            window.targetPageParams = SL.bind(this.getTargetPageParams, this)
	        },
	        parseTargetPageParamsResult: function(e) {
	            var t = e;
	            return SL.isArray(e) && (e = e.join("&")), SL.isString(e) && (t = SL.parseQueryParams(e)), t
	        }
	    }), SL.availableTools.tnt = Tnt, SL.extend(VisitorIdTool.prototype, {
	        getInstance: function() {
	            return this.instance
	        },
	        initialize: function() {
	            var e, t = this.settings;
	            SL.notify("Visitor ID: Initializing tool", 1), e = this.createInstance(t.mcOrgId, t.initVars), null !== e && (t.customerIDs && this.applyCustomerIDs(e, t.customerIDs), t.autoRequest && e.getMarketingCloudVisitorID(), this.instance = e)
	        },
	        createInstance: function(e, t) {
	            if (!SL.isString(e)) return SL.notify('Visitor ID: Cannot create instance using mcOrgId: "' + e + '"', 4), null;
	            SL.notify('Visitor ID: Create instance using mcOrgId: "' + e + '"', 1), t = this.parseValues(t);
	            var n = Visitor.getInstance(e, t);
	            return SL.notify("Visitor ID: Set variables: " + SL.stringify(t), 1), n
	        },
	        applyCustomerIDs: function(e, t) {
	            var n = this.parseIds(t);
	            e.setCustomerIDs(n), SL.notify("Visitor ID: Set Customer IDs: " + SL.stringify(n), 1)
	        },
	        parseValues: function(e) {
	            if (SL.isObject(e) === !1) return {};
	            var t = {};
	            for (var n in e) e.hasOwnProperty(n) && (t[n] = SL.replace(e[n]));
	            return t
	        },
	        parseIds: function(e) {
	            var t = {};
	            if (SL.isObject(e) === !1) return {};
	            for (var n in e)
	                if (e.hasOwnProperty(n)) {
	                    var i = SL.replace(e[n].id);
	                    i !== e[n].id && i && (t[n] = {}, t[n].id = i, t[n].authState = Visitor.AuthState[e[n].authState])
	                }
	            return t
	        }
	    }), SL.availableTools.visitor_id = VisitorIdTool, _satellite.init({
	        tools: {
	            "2f7cd0b6b61fdfedffa9646a81445d75": {
	                engine: "sc",
	                loadOn: "pagebottom",
	                account: "bbt-com-prod",
	                euCookie: !1,
	                sCodeURL: "ac265c174e480c2b170c2d73fbe2ff4ca87ebaac/s-code-contents-bea128958d738e75cd806a6872947dd61c940126.js",
	                renameS: "s",
	                initVars: {
	                    charSet: "UTF-8",
	                    server: "%Server%",
	                    currencyCode: "USD",
	                    pageName: "%pageName%",
	                    channel: "%channel%",
	                    trackInlineStats: !0,
	                    trackDownloadLinks: !0,
	                    linkDownloadFileTypes: "avi,css,csv,doc,docx,eps,exe,jpg,js,m4v,mov,mp3,pdf,png,ppt,pptx,rar,svg,tab,txt,vsd,vxd,wav,wma,wmv,xls,xlsx,xml,zip",
	                    trackExternalLinks: !0,
	                    linkInternalFilters: "bbt.com,bbtcapitalmarkets.com,insurance.bbt.com,javascript:,mailto:,tel:",
	                    linkLeaveQueryString: !1,
	                    dynamicVariablePrefix: "D=",
	                    eVar59: "D=c59",
	                    prop5: "%Login Status%",
	                    prop33: "%System error%",
	                    prop55: "%DynamicContent%",
	                    prop59: "%Language%",
	                    prop17: "%Form Error Message%",
	                    hier1: "%Hier1%"
	                },
	                skipSetAccount: !0,
	                customInit: function(e) {
	                    return "" != _satellite.getVar("Products") && (e.linkTrackVars = "products", e.products = _satellite.getVar("Products")), -1 !== document.URL.indexOf(".com/U/start") ? !1 : -1 !== document.URL.indexOf(".com/olbsys/") ? !1 : -1 !== document.URL.indexOf(".com/alerts/") ? !1 : -1 !== document.URL.indexOf(".com/mfapp/") ? !1 : -1 !== document.URL.indexOf(".com/auth/") ? !1 : -1 !== document.URL.indexOf(".com/bbtpassreset/") ? !1 : -1 !== document.URL.indexOf(".com/retailEnrollment/") ? !1 : -1 !== document.URL.indexOf(".com/sboEnrollment/") ? !1 : -1 !== document.URL.indexOf(".com/roao") ? !1 : -1 !== document.URL.indexOf(".com/boao") ? !1 : -1 !== document.URL.indexOf(".com/ccoao") ? !1 : -1 !== document.URL.indexOf(".com/offers") ? !1 : -1 !== document.URL.indexOf(".com/firstdeposit") ? !1 : -1 !== document.URL.indexOf(".com/mortgage/") ? !1 : -1 !== document.URL.indexOf(".com/drl/") ? !1 : -1 !== document.URL.indexOf(".com/pma/") ? !1 : -1 !== document.URL.indexOf(".com/vcsp/") ? !1 : -1 !== document.URL.indexOf(".com/carddesign/") ? !1 : -1 !== document.URL.indexOf(".com/qquote/") ? !1 : -1 !== document.URL.indexOf("/checking/checking.page") ? !1 : void 0
	                }
	            }
	        },
	        pageLoadRules: [{
	            name: "404 error page",
	            trigger: [{
	                engine: "sc",
	                command: "customSetup",
	                arguments: [function(e, t) {
	                    t.pageName = "", t.pageType = "errorPage"
	                }]
	            }],
	            scope: {
	                URI: {
	                    include: [/\/error.page/i]
	                }
	            },
	            event: "pagebottom"
	        }, {
	            name: "All Pages - BBT.com",
	            trigger: [{
	                engine: "sc",
	                command: "setVars",
	                arguments: [{
	                    prop55: "%Home Form Name%"
	                }]
	            }, {
	                engine: "sc",
	                command: "customSetup",
	                arguments: [function(e, t) {
	                    if (-1 != document.location.hostname.indexOf("bbt") && -1 == document.location.hostname.indexOf("insurance")) {
	                        if (null != jQuery.cookie("main")) {
	                            var n = getCookie("main");
	                            n = n.substring(1, n.length - 1), n = n.replace(/xx/g, ","), t.prop22 = n, t.list1 = n
	                        }
	                        if ($("a").click(function() {
	                                var e = this.innerHTML;
	                                if (null != e && e.length > 0) {
	                                    e = $.trim(e);
	                                    var t, n;
	                                    if (null != $(this).closest(".topNavigation").attr("role") || null != $(this).closest(".topTabs").attr("role")) {
	                                        var i = $(this).attr("class"),
	                                            a = $(this).closest("li").attr("class"),
	                                            r = $(".activeSection").children(":first").text();
	                                        if (t = "area-global-navigation", null == i && null != a && 0 == a.indexOf("mainmenu")) e = r + ":" + e;
	                                        else if (null != i && 0 == i.indexOf("linkhead")) {
	                                            var o = $(this).closest("ul").find(".linkhead").closest(".mainmenu").children(":first").text();
	                                            e = r + ":" + o + ":" + e
	                                        } else if (null != i && (null == a || -1 == a.indexOf("ection"))) {
	                                            var s = $(this).closest("ul").find(".linkhead").text(),
	                                                o = $(this).closest("ul").find(".linkhead").closest(".mainmenu").children(":first").text();
	                                            e = r + ":" + o + ":" + s + ":" + e
	                                        }
	                                        createCookie("intlinklabel", e.replace(/&amp;/g, "and").replace(/&/g, "and"), 60), createCookie("intlinkurl", this.href, 60), createCookie("intlinkid", t, 60)
	                                    } else -1 !== e.toLowerCase().indexOf("<img") && (e = e.substring(e.lastIndexOf("/") + 1, e.lastIndexOf(".") + 4), e = e.substring(0, e.indexOf(".") + 4)), n = $(this).closest("[class^=ls-area area]").attr("class"), t = null == n ? $(this).closest("[class^=area]").attr("class") : n.substring(8), createCookie("intlinklabel", e.replace(/&amp;/g, "and").replace(/&/g, "and"), 60), createCookie("intlinkurl", this.href, 60), createCookie("intlinkid", t, 60)
	                                }
	                            }), null != jQuery.cookie("intlinkurl")) {
	                            var i, a = (getCookie("intlinkurl"), getCookie("intlinklabel")),
	                                r = getCookie("intlinkid");
	                            i = null == r ? "b" : r.substring(5, 6), a = null != a && 0 == a.toLowerCase().indexOf("src=") ? a.substring(a.toLowerCase().indexOf("src=") + 5) : null != a ? a.toLowerCase().replace(/^\s+|\s+$/g, "").replace(/ /g, "_") : "home", t.prop20 = i + ":" + a, t.eVar20 = i + ":" + a, createCookie("intlinkurl", "", 0)
	                        }
	                        $("#vid-buttons > a").click(function() {
	                            var e = this.innerHTML,
	                                t = "area-video";
	                            createCookie("intlinklabel", e.replace(/&amp;/g, "and").replace(/&/g, "and").toLowerCase().replace(/^\s+|\s+$/g, "").replace(/ /g, "_", 60)), createCookie("intlinkurl", this.href, 60), createCookie("intlinkid", t, 60)
	                        }), $(".res-link > a, #lnkMoreLocations, .c2aBtn1").click(function() {
	                            if (null != jQuery.cookie("intlinkurl")) {
	                                var e, n = (getCookie("intlinkurl"), getCookie("intlinklabel")),
	                                    i = getCookie("intlinkid");
	                                e = null == i ? "b" : i.substring(5, 6), n = null != n && 0 == n.toLowerCase().indexOf("src=") ? n.substring(n.toLowerCase().indexOf("src=") + 5) : null != n ? n.toLowerCase().replace(/^\s+|\s+$/g, "").replace(/ /g, "_") : "home", t.prop20 = e + ":" + n, t.eVar20 = e + ":" + n, t.t(), createCookie("intlinkurl", "", 0)
	                            }
	                        })
	                    }
	                }]
	            }, {
	                command: "loadBlockingScript",
	                arguments: [{
	                    sequential: !0,
	                    scripts: [{
	                        src: "satellite-54ff6f973332310019020200.js",
	                        data: []
	                    }, {
	                        src: "satellite-54ff6f973332310019030200.js",
	                        data: []
	                    }, {
	                        src: "satellite-54ff6f973332310019040200.js",
	                        data: []
	                    }]
	                }]
	            }],
	            scope: {
	                URI: {
	                    exclude: [/\/U\/start/i, /\/gettingstarted/i, /\/mobile\//i, /\/checking\/checking.page/i, /\/olbsys\//i, /\/mfapp\//i, /\/qquote\//i, /\/retailEnrollment\//i, /\/sboEnrollment\//i]
	                },
	                domains: [/bbt\.com$/i, /bbttest\.com$/i]
	            },
	            conditions: [function(e, t) {
	                return -1 == window.location.host.indexOf("insurance") && "undefined" == typeof glbPageData && "undefined" == typeof oaoPageData ? !0 : void 0
	            }],
	            event: "pagebottom"
	        }, {
	            name: "All Pages - Capital market",
	            trigger: [{
	                engine: "sc",
	                command: "customSetup",
	                arguments: [function(e, t) {
	                    $(function() {
	                        $(document).on("change", "#transindustry, #transfunction, #transstates, #transyear", function() {
	                            t.linkTrackVars = "prop2,prop26,eVar42", t.linkTrackEvents = "None", t.prop2 = t.pageName, t.prop26 = $(this).val(), t.eVar42 = $(this).val(), t.tl(!0, "o", "BBT:CapitalMarkets:" + $(this).val())
	                        })
	                    })
	                }]
	            }],
	            scope: {
	                domains: [/bbtcapitalmarkets\.com$/i]
	            },
	            event: "pagebottom"
	        }, {
	            name: "All Pages - Insurance",
	            trigger: [{
	                engine: "sc",
	                command: "customSetup",
	                arguments: [function(e, t) {
	                    function n(e) {
	                        var t, n, i, a = document.cookie.split(";");
	                        for (t = 0; t < a.length; t++)
	                            if (n = a[t].substr(0, a[t].indexOf("=")), i = a[t].substr(a[t].indexOf("=") + 1), n = n.replace(/^\s+|\s+$/g, ""), n == e) return unescape(i)
	                    }

	                    function i(e) {
	                        var t = new Date;
	                        t.setDate(t.getDate() + 365), document.cookie = "BBTInsuranceSegment = " + e + "; path = /; expires = " + t.toUTCString()
	                    }

	                    function i(e, t, n) {
	                        var i = new Date;
	                        i.setDate(i.getDate() + n);
	                        var a = escape(t) + (null == n ? "" : "; expires=" + i.toUTCString()) + "; path=/";
	                        document.cookie = e + "=" + a
	                    }

	                    function a(e, t, n) {
	                        var i = new Date;
	                        i.setTime(i.getTime() + 1e3 * n);
	                        var a = escape(t) + (null == n ? "" : "; expires=" + i.toUTCString()) + "; path=/";
	                        document.cookie = e + "=" + a
	                    }
	                    "" != _satellite.getVar("Products") && (t.linkTrackVars = "products", t.products = _satellite.getVar("Products")), $(document).ready(function() {
	                        if ($("a").click(function() {
	                                var e = this.innerHTML,
	                                    t = "area-s-insurance";
	                                if (!$(this).closest(".section-page-list").text() && !$(this).closest(".page-content").text() && $(this).closest(".section-tabs").text() || $(this).closest(".main-nav").text()) {
	                                    var n = $(this).closest(".top-menu").children(":first").text(),
	                                        a = $("nav.section-tabs").find(".current-tab").children(":first").text();
	                                    null != n && "" !== n && null != a && (e = "Home" === e && "Home" === n ? a + ":" + n : a + ":" + n + ":" + e), i("intlinklabel", e.replace(/&amp;/g, "and").replace(/&/g, "and"), 60), i("intlinkurl", this.href, 60), i("intlinkid", t, 60)
	                                }
	                            }), -1 != document.cookie.indexOf("intlinkurl")) {
	                            var e, r = (n("intlinkurl"), n("intlinklabel")),
	                                o = n("intlinkid");
	                            e = null == o ? "g" : o.substring(5, 6), r = r.toLowerCase().replace(/ /g, "_"), t.prop20 = e + ":" + r, t.eVar20 = e + ":" + r, a("intlinkurl", "", 0)
	                        }
	                    })
	                }]
	            }],
	            scope: {
	                URI: {
	                    include: [/insurance/i]
	                },
	                domains: [/bbt\.com$/i]
	            },
	            conditions: [function(e, t) {
	                return "undefined" == typeof glbPageData && "undefined" == typeof oaoPageData
	            }],
	            event: "domready"
	        }, {
	            name: "All Pages - Mobile",
	            trigger: [{
	                engine: "sc",
	                command: "customSetup",
	                arguments: [function(e, t) {
	                    $(document).ready(function() {
	                        $("#offullsite>a").attr("href", function(e, t) {
	                            var n = new RegExp("//m(.*?)\\.");
	                            return t.replace(n, function(e, t) {
	                                var n = "//" + (t ? t : "www") + ".";
	                                return n
	                            })
	                        }).click(function() {
	                            t.pageName = "$PAGE_SCOPE[pagename]", t.linkTrackVars = "prop2,prop13", t.linkTrackEvents = "None", t.prop2 = t.pageName, t.prop13 = t.pageName + "|Full Site", t.tl(this, "o", "BBT:Full Site", null, "navigate");
	                            var e = "bbtPreferredSite=bbtdotcom;path=/;domain=.bbt.com";
	                            return document.cookie = e, !0
	                        }), $("#menubtn").click(function() {
	                            t.pageName = "m.bbt.com:menu", t.linkTrackVars = "prop2,prop10", t.linkTrackEvents = "None", t.prop2 = t.pageName, t.prop10 = "Menu:Menu", t.tl(this, "o", "BBT:Menu", null, "navigate")
	                        }), $(".hiddenmenu-wrapper div a").click(function() {
	                            var e = $(this).text();
	                            t.pageName = "$PAGE_SCOPE[pagename]", t.linkTrackVars = "prop2,prop10", t.linkTrackEvents = "None", t.prop2 = t.pageName, t.prop10 = "Menu:" + e, t.tl(this, "o", "BBT:Mobile:" + e, null, "navigate")
	                        }), $(".storedroid>a").click(function() {
	                            t.pageName = "$PAGE_SCOPE[pagename]", t.linkTrackVars = "prop2,eVar7,events", t.linkTrackEvents = "event56", t.prop2 = t.pageName, t.eVar7 = "BBT_Mobile_Banking_Android", t.events = "event56", t.tl(this, "d", "BBT:Download From Google Play")
	                        }), $(".storeapple>a").click(function() {
	                            t.pageName = "$PAGE_SCOPE[pagename]", t.linkTrackVars = "prop2,eVar7,events", t.linkTrackEvents = "event56", t.prop2 = t.pageName, t.eVar7 = "BBT_Mobile_Banking_Iphone", t.events = "event56", t.tl(this, "d", "BBT:Download From App Store")
	                        })
	                    })
	                }]
	            }, {
	                command: "loadBlockingScript",
	                arguments: [{
	                    sequential: !0,
	                    scripts: [{
	                        src: "satellite-55f1e0273832390014001b7f.js",
	                        data: []
	                    }]
	                }]
	            }],
	            scope: {
	                URI: {
	                    include: [/com\/mobile\//i]
	                }
	            },
	            event: "pagebottom"
	        }, {
	            name: "Branch Locator Details page",
	            trigger: [{
	                engine: "sc",
	                command: "customSetup",
	                arguments: [function(e, t) {
	                    var n = window.location.href;
	                    n.indexOf("#tab-2") > -1 && (t.server = "bbt.com", t.pageName = "bbt.com:locator:direction", t.events = "event20", t.hier1 = "bbt.com:locator:direction"), n.indexOf("#tab-2") <= -1 && (t.server = "bbt.com", t.pageName = "bbt.com:locator:detail", t.events = "event19", t.hier1 = "bbt.com:locator:detail")
	                }]
	            }, {
	                command: "loadBlockingScript",
	                arguments: [{
	                    sequential: !0,
	                    scripts: [{
	                        src: "satellite-54ff70953533320019d30200.js",
	                        data: []
	                    }]
	                }]
	            }],
	            scope: {
	                URI: {
	                    include: [/\/locator\/details.page/i]
	                }
	            },
	            event: "pagebottom"
	        }, {
	            name: "Branch Locator Results page",
	            trigger: [{
	                engine: "sc",
	                command: "setVars",
	                arguments: [{
	                    eVar21: "%Branch Locator Search Term%",
	                    prop19: "%Branch Locator Filter%"
	                }]
	            }, {
	                engine: "sc",
	                command: "addEvent",
	                arguments: ["event17"]
	            }],
	            scope: {
	                URI: {
	                    include: [/\/locator\/results.page/i]
	                }
	            },
	            event: "pagebottom"
	        }, {
	            name: "Capital market - Locations page",
	            trigger: [{
	                engine: "sc",
	                command: "addEvent",
	                arguments: ["event80"]
	            }],
	            scope: {
	                URI: {
	                    include: [/\/capmarkets\/locations.page/i]
	                }
	            },
	            event: "pagebottom"
	        }, {
	            name: "Contact Form Completed",
	            trigger: [{
	                engine: "sc",
	                command: "setVars",
	                arguments: [{
	                    eVar23: "%Form Name%",
	                    prop48: "%Form Name%"
	                }]
	            }, {
	                engine: "sc",
	                command: "addEvent",
	                arguments: ["event11"]
	            }],
	            scope: {
	                URI: {
	                    include: [/contact-forms/i]
	                }
	            },
	            conditions: [function(e, t) {
	                var n = document.getElementById("dtmTrigger");
	                return null == n ? 0 : 1
	            }],
	            event: "pagebottom"
	        }, {
	            name: "Contact Form Start",
	            trigger: [{
	                engine: "sc",
	                command: "setVars",
	                arguments: [{
	                    eVar23: "%Form Name%",
	                    prop48: "%Form Name%"
	                }]
	            }, {
	                engine: "sc",
	                command: "addEvent",
	                arguments: ["event10"]
	            }],
	            scope: {
	                URI: {
	                    include: [/contact-forms/i]
	                }
	            },
	            conditions: [function(e, t) {
	                var n = document.URL.split("?");
	                return n.length > 1 || -1 != document.URL.indexOf("success") || -1 != document.URL.indexOf("complete") ? 0 : 1
	            }],
	            event: "pagebottom"
	        }, {
	            name: "Contact Form Submitted",
	            trigger: [{
	                engine: "sc",
	                command: "setVars",
	                arguments: [{
	                    eVar23: "%Form Name%",
	                    prop48: "%Form Name%"
	                }]
	            }, {
	                engine: "sc",
	                command: "addEvent",
	                arguments: ["event11"]
	            }],
	            scope: {
	                URI: {
	                    include: [/contact-forms/i]
	                }
	            },
	            conditions: [function() {
	                return _satellite.textMatch(_satellite.getQueryParam("submit"), /true/i)
	            }, function(e, t) {
	                var n = document.getElementsByClassName("content-pad"),
	                    i = n[0].childNodes[1].innerHTML;
	                return -1 != i.indexOf("Contact Form Received") || -1 != i.indexOf("Request Received") ? 1 : 0
	            }],
	            event: "pagebottom"
	        }, {
	            name: "Getting Started - Page Load",
	            scope: {
	                URI: {
	                    include: [/\/bbtdotcom\/gettingstarted/i]
	                }
	            },
	            event: "pagebottom"
	        }, {
	            name: "Getting Started 2 - Page Load",
	            trigger: [{
	                command: "loadBlockingScript",
	                arguments: [{
	                    sequential: !0,
	                    scripts: [{
	                        src: "satellite-55fc5b143339634286000d2a.js",
	                        data: []
	                    }]
	                }]
	            }],
	            scope: {
	                URI: {
	                    include: [/\/U\/gettingstarted/i]
	                }
	            },
	            event: "pagebottom"
	        }, {
	            name: "Global data object pages",
	            trigger: [{
	                command: "loadScript",
	                arguments: [{
	                    sequential: !0,
	                    scripts: [{
	                        src: "satellite-564649ba64746d41e0007125.js",
	                        data: []
	                    }]
	                }]
	            }],
	            scope: {
	                domains: [/bbt\.com$/i, /localhost$/i]
	            },
	            event: "windowload"
	        }, {
	            name: "HSA OAO events",
	            trigger: [{
	                engine: "sc",
	                command: "customSetup",
	                arguments: [function(e, t) {
	                    console.log("PageName:" + t.pageName), "bbt.com:bbtapps:hsaenroll:main" == t.pageName && (t.linkTrackVars = t.apl(t.linkTrackVars, "events", ",", 2), t.linkTrackEvents = t.apl(t.linkTrackEvents, "event2", ",", 2), t.events = t.apl(t.events, "event2", ",", 2)), "bbt.com:bbtapps:hsaenroll:confirmation" == t.pageName && (t.linkTrackVars = t.apl(t.linkTrackVars, "events", ",", 2), t.linkTrackEvents = t.apl(t.linkTrackEvents, "event3", ",", 2), t.events = t.apl(t.events, "event3", ",", 2))
	                }]
	            }],
	            scope: {
	                URI: {
	                    include: [/\/hsaenroll\//i]
	                }
	            },
	            conditions: [function() {
	                return _satellite.textMatch(_satellite.getVar("Global data object"), /false/i)
	            }],
	            event: "pagebottom"
	        }, {
	            name: "Insurance Find an Agent",
	            trigger: [{
	                engine: "sc",
	                command: "customSetup",
	                arguments: [function(e, t) {
	                    var n = $("select#state_filter").val(),
	                        i = $("select#city_filter").val(),
	                        a = n.toLowerCase();
	                    if ("" != a && "all" != a) {
	                        t.pageName = "insurance.bbt.com:utilities:find_an_agent", t.channel = "insurance.bbt.com:utilities", t.heir1 = "insurance.bbt.com:utilities:find_an_agent", t.events = "event78";
	                        var r = "ALL" == i ? "" : i;
	                        "" != i ? t.eVar26 = t.prop52 = n + ", " + r.substring(3) : t.eVar26 = t.prop52 = n
	                    }
	                }]
	            }],
	            scope: {
	                URI: {
	                    include: [/\/find-an-agent.page/i]
	                }
	            },
	            event: "pagebottom"
	        }, {
	            name: "MLO Agent",
	            trigger: [{
	                engine: "sc",
	                command: "setVars",
	                arguments: [{
	                    eVar17: "%MLO Agent%"
	                }]
	            }, {
	                engine: "sc",
	                command: "addEvent",
	                arguments: ["event74"]
	            }],
	            scope: {
	                URI: {
	                    include: [/bbt-mortgage-loan-officer/i]
	                }
	            },
	            event: "pagebottom"
	        }, {
	            name: "MLO Search",
	            trigger: [{
	                engine: "sc",
	                command: "setVars",
	                arguments: [{
	                    eVar22: "%MLO Search%",
	                    prop40: "%MLO Search%"
	                }]
	            }, {
	                engine: "sc",
	                command: "customSetup",
	                arguments: [function(e, t) {
	                    "undefined" != typeof dataLayer.mlo_search && dataLayer.mlo_search.length > 0 && (t.events = "event73")
	                }]
	            }],
	            scope: {
	                URI: {
	                    include: [/locate-mortgage-representative/i, "\\/bbtapps\\/mortgage\\/"]
	                }
	            },
	            event: "pagebottom"
	        }, {
	            name: "Marketo Exclude U/OLB/SBO",
	            trigger: [{
	                command: "loadScript",
	                arguments: [{
	                    sequential: !1,
	                    scripts: [{
	                        src: "satellite-560c459a326131277000018a.js",
	                        data: []
	                    }]
	                }]
	            }],
	            scope: {
	                URI: {
	                    exclude: [/\/olbsys\/|\/mfapp\/|\/bbtpassreset\/|\/auth\/|\/alerts\//i]
	                }
	            },
	            event: "pagebottom"
	        }, {
	            name: "Maxymiser - Exclude U/OLB/SBO and insurance and capitalmarkets and Moao",
	            trigger: [{
	                command: "writeHTML",
	                arguments: [{
	                    html: '<script type="text/javascript" src="//service.maxymiser.net/cdn/bbt/js/mmcore.js"></script>'
	                }]
	            }],
	            scope: {
	                URI: {
	                    exclude: [/insurance\.bbt\.com\/|bbtcapitalmarkets\.com\/|app\.bbt\.com\/mortgage\/|\/olbsys\/|\/mfapp\/|\/bbtpassreset\/|\/alerts\/|\/auth\//i]
	                }
	            },
	            event: "pagetop"
	        }, {
	            name: "OLB Secure Message",
	            trigger: [{
	                command: "loadScript",
	                arguments: [{
	                    sequential: !1,
	                    scripts: [{
	                        src: "satellite-5682ea0e64746d67920047a1.js",
	                        data: []
	                    }]
	                }]
	            }],
	            scope: {
	                URI: {
	                    include: [/\/olbsys/i, /\/mfapp/i]
	                }
	            },
	            event: "pagebottom"
	        }, {
	            name: "ROAO Promo",
	            trigger: [{
	                command: "writeHTML",
	                arguments: [{
	                    html: '<script type="text/javascript">\n/* <![CDATA[ */\n    var google_conversion_id = 985976836;\n    var google_custom_params = window.google_tag_params;\n    var google_remarketing_only = true;\n/* ]]> */\n</script>\n<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"></script>\n'
	                }]
	            }],
	            scope: {
	                URI: {
	                    include: [/\/roao/i]
	                }
	            },
	            event: "pagebottom"
	        }, {
	            name: "Site Tool Name",
	            trigger: [{
	                engine: "sc",
	                command: "setVars",
	                arguments: [{
	                    eVar34: "%Site Tool Name%",
	                    prop34: "%Site Tool Name%"
	                }]
	            }, {
	                engine: "sc",
	                command: "addEvent",
	                arguments: ["event5"]
	            }],
	            scope: {
	                URI: {
	                    include: [/tools/i]
	                }
	            },
	            event: "pagebottom"
	        }, {
	            name: "Tab Tracking",
	            trigger: [{
	                command: "loadBlockingScript",
	                arguments: [{
	                    sequential: !0,
	                    scripts: [{
	                        src: "satellite-56016fb4653931001700041f.js",
	                        data: []
	                    }]
	                }]
	            }],
	            conditions: [function(e, t) {
	                return -1 == window.location.host.indexOf("insurance") && "undefined" == typeof glbPageData && "undefined" == typeof oaoPageData ? !0 : void 0
	            }],
	            event: "pagebottom"
	        }],
	        rules: [{
	            name: "Calculator next btn click",
	            trigger: [{
	                engine: "sc",
	                command: "trackLink",
	                arguments: [{
	                    setVars: {
	                        eVar34: "%Site Tool Name%",
	                        prop34: "%Site Tool Name%"
	                    },
	                    addEvent: ["event6"]
	                }]
	            }, {
	                command: "delayActivateLink"
	            }],
	            selector: ".nextPageButton",
	            event: "click",
	            bubbleFireIfParent: !0,
	            bubbleFireIfChildFired: !0,
	            bubbleStop: !1
	        }, {
	            name: "Capital MKT - Transactions filter submit",
	            trigger: [{
	                command: "loadScript",
	                arguments: [{
	                    sequential: !0,
	                    scripts: [{
	                        src: "satellite-54ff5ddd3332310016c40100.js",
	                        data: []
	                    }]
	                }]
	            }, {
	                command: "delayActivateLink"
	            }],
	            selector: ".map-view a.list-view",
	            eventHandlerOnElement: !0,
	            event: "click",
	            bubbleFireIfParent: !0,
	            bubbleFireIfChildFired: !0,
	            bubbleStop: !1
	        }, {
	            name: "Capital MKT - Transactions read more btn click",
	            trigger: [{
	                engine: "sc",
	                command: "trackLink",
	                arguments: [{
	                    type: "o",
	                    linkName: "BBT:CapitalMarket:Read More",
	                    customSetup: function(e, t) {
	                        t.linkTrackVars = "prop28,prop2", t.linkTrackEvents = "None", -1 != this.parentNode.getAttribute("class").indexOf("rtf-wrapper") ? t.prop28 = this.parentNode.previousSibling.previousSibling.innerHTML : t.prop28 = this.parentNode.getElementsByTagName("h2")[0].innerHTML, t.prop2 = t.pageName
	                    }
	                }]
	            }, {
	                command: "delayActivateLink"
	            }],
	            selector: ".detail-top a",
	            eventHandlerOnElement: !0,
	            event: "click",
	            bubbleFireIfParent: !0,
	            bubbleFireIfChildFired: !0,
	            bubbleStop: !1
	        }, {
	            name: "Capital market - Mail - Bio page",
	            trigger: [{
	                engine: "sc",
	                command: "trackLink",
	                arguments: [{
	                    type: "d",
	                    linkName: "BBT:CapitalMarket:email",
	                    customSetup: function(e, t) {
	                        var n = ""; - 1 != location.pathname.indexOf("/bios/") && (n = document.getElementsByClassName("bio-detail-large")[0], n = n.getElementsByTagName("h1")[0].innerHTML), t.linkTrackVars = "prop2,prop30", t.prop30 = n, t.prop2 = t.pageName
	                    }
	                }]
	            }, {
	                command: "delayActivateLink"
	            }],
	            scope: {
	                URI: {
	                    include: [/\/bios\//i]
	                },
	                domains: [/bbtcapitalmarkets\.com$/i]
	            },
	            selector: "a.mails",
	            eventHandlerOnElement: !0,
	            event: "click",
	            bubbleFireIfParent: !0,
	            bubbleFireIfChildFired: !0,
	            bubbleStop: !1
	        }, {
	            name: "Capital market - Mail - list",
	            trigger: [{
	                engine: "sc",
	                command: "trackLink",
	                arguments: [{
	                    type: "d",
	                    linkName: "BBT:CapitalMarket:email",
	                    customSetup: function(e, t) {
	                        var n = "";
	                        n = this.parentNode.parentNode, n = n.childNodes[1].innerHTML, t.linkTrackVars = "prop2,prop30", t.prop30 = n, t.prop2 = t.pageName
	                    }
	                }]
	            }, {
	                command: "delayActivateLink"
	            }],
	            scope: {
	                domains: [/bbtcapitalmarkets\.com$/i]
	            },
	            selector: "a.mail-icon",
	            eventHandlerOnElement: !0,
	            event: "click",
	            bubbleFireIfParent: !0,
	            bubbleFireIfChildFired: !0,
	            bubbleStop: !1
	        }, {
	            name: "Capital market - vCard download",
	            trigger: [{
	                engine: "sc",
	                command: "trackLink",
	                arguments: [{
	                    type: "d",
	                    linkName: "BBT:CapitalMarket:Download My vCard",
	                    customSetup: function(e, t) {
	                        var n = ""; - 1 != location.pathname.indexOf("/bios/") ? (n = document.getElementsByClassName("bio-detail-large")[0], n = n.getElementsByTagName("h1")[0].innerHTML) : (n = this.parentNode.parentNode, n = n.childNodes[1].innerHTML), t.linkTrackVars = "prop2,prop45", t.prop45 = n, t.prop2 = t.pageName
	                    }
	                }]
	            }, {
	                command: "delayActivateLink"
	            }],
	            scope: {
	                domains: [/bbtcapitalmarkets\.com$/i]
	            },
	            selector: "a.vcard",
	            eventHandlerOnElement: !0,
	            event: "click",
	            bubbleFireIfParent: !0,
	            bubbleFireIfChildFired: !0,
	            bubbleStop: !1
	        }, {
	            name: "GettingStarted - Event Rule",
	            trigger: [{
	                command: "loadScript",
	                arguments: [{
	                    sequential: !0,
	                    scripts: [{
	                        src: "satellite-55c9faa162356600170001ee.js",
	                        data: []
	                    }]
	                }]
	            }, {
	                command: "delayActivateLink"
	            }],
	            selector: "[data-gs]",
	            eventHandlerOnElement: !0,
	            event: "click",
	            bubbleFireIfParent: !0,
	            bubbleFireIfChildFired: !0,
	            bubbleStop: !1
	        }, {
	            name: "Insurance Find an agent pg search click",
	            trigger: [{
	                engine: "sc",
	                command: "trackPageView",
	                arguments: [{
	                    customSetup: function(e, t) {
	                        var n = $("select#state_filter").val(),
	                            i = $("select#city_filter").val(),
	                            a = n.toLowerCase();
	                        if ("" != a && "all" != a) {
	                            t.pageName = "insurance.bbt.com:utilities:find_an_agent", t.channel = "insurance.bbt.com:utilities", t.heir1 = "insurance.bbt.com:utilities:find_an_agent", t.eVar26 = n, t.events = "event78";
	                            var r = "ALL" == i ? "" : i;
	                            "" != i ? t.prop52 = n + ", " + r.substring(3) : t.prop52 = n
	                        }
	                    }
	                }]
	            }, {
	                command: "delayActivateLink"
	            }],
	            scope: {
	                URI: {
	                    include: [/\/find-an-agent.page/i]
	                }
	            },
	            selector: ".find-an-agent input",
	            eventHandlerOnElement: !0,
	            event: "click",
	            bubbleFireIfParent: !0,
	            bubbleFireIfChildFired: !0,
	            bubbleStop: !1
	        }, {
	            name: "Insurance Get a Quote btn click",
	            trigger: [{
	                command: "loadScript",
	                arguments: [{
	                    sequential: !0,
	                    scripts: [{
	                        src: "satellite-54ff6a263737380019b10100.js",
	                        data: []
	                    }]
	                }]
	            }, {
	                command: "delayActivateLink"
	            }],
	            scope: {
	                URI: {
	                    include: [/\/insurance\//i]
	                }
	            },
	            selector: ".get-a-quote input",
	            eventHandlerOnElement: !0,
	            event: "click",
	            bubbleFireIfParent: !0,
	            bubbleFireIfChildFired: !0,
	            bubbleStop: !1
	        }, {
	            name: "Insurance Get a Quote btn1 click",
	            trigger: [{
	                command: "loadScript",
	                arguments: [{
	                    sequential: !0,
	                    scripts: [{
	                        src: "satellite-54ff6a7f3466640016900600.js",
	                        data: []
	                    }]
	                }]
	            }, {
	                command: "delayActivateLink"
	            }],
	            scope: {
	                URI: {
	                    include: [/\/insurance\//i]
	                }
	            },
	            selector: ".get-quote-button",
	            eventHandlerOnElement: !0,
	            event: "click",
	            bubbleFireIfParent: !0,
	            bubbleFireIfChildFired: !0,
	            bubbleStop: !1
	        }, {
	            name: "Locator Find Locations clicked",
	            trigger: [{
	                engine: "sc",
	                command: "trackPageView",
	                arguments: [{
	                    customSetup: function(e, t) {
	                        var n = document.getElementById("location"),
	                            i = new RegExp("^([0-9]{5})$");
	                        i.test(n) || (t.chennel = "bbt.com:locator", t.prop5 = "Not Logged-In", t.events = "event18", t.pageName = "bbt.com:locator:error", t.hier1 = "bbt.com:locator:error")
	                    }
	                }]
	            }, {
	                command: "delayActivateLink"
	            }],
	            scope: {
	                URI: {
	                    include: [/\/locator/i]
	                }
	            },
	            selector: ".primary",
	            event: "click",
	            bubbleFireIfParent: !0,
	            bubbleFireIfChildFired: !0,
	            bubbleStop: !1
	        }, {
	            name: "Page with Tab",
	            trigger: [{
	                engine: "sc",
	                command: "trackPageView",
	                arguments: [{
	                    customSetup: function(e, t) {
	                        var n = t.pageName;
	                        console.log("Page with Tab - pageName " + n);
	                        var i = new Array;
	                        i = n.split(":");
	                        for (var a = "", r = 0; r < i.length - 1; r++) "" != i[r] && (a = a + ":" + i[r]);
	                        a = a.substring(1, a.length);
	                        var o;
	                        o = $(this).text(), o = o.split(":")[1].replace(" ", ""), t.pageName = a + ":Tab_" + o, console.log("Page with Tab - pageName " + t.pageName)
	                    }
	                }]
	            }, {
	                command: "delayActivateLink"
	            }],
	            selector: ".tabs-list li",
	            eventHandlerOnElement: !0,
	            event: "click",
	            bubbleFireIfParent: !0,
	            bubbleFireIfChildFired: !0,
	            bubbleStop: !1
	        }, {
	            name: "RightRail Btn click",
	            trigger: [{
	                command: "loadScript",
	                arguments: [{
	                    sequential: !0,
	                    scripts: [{
	                        src: "satellite-54ff6e373737380016000200.js",
	                        data: []
	                    }]
	                }]
	            }, {
	                command: "delayActivateLink"
	            }],
	            selector: ".buttonRightRail",
	            eventHandlerOnElement: !0,
	            event: "click",
	            bubbleFireIfParent: !0,
	            bubbleFireIfChildFired: !0,
	            bubbleStop: !1
	        }, {
	            name: "U microsite link clicked",
	            trigger: [{
	                command: "loadScript",
	                arguments: [{
	                    sequential: !0,
	                    scripts: [{
	                        src: "satellite-55df62e03231390017000c03.js",
	                        data: []
	                    }]
	                }]
	            }, {
	                command: "delayActivateLink"
	            }],
	            selector: "[data-wa]",
	            eventHandlerOnElement: !0,
	            event: "click",
	            bubbleFireIfParent: !0,
	            bubbleFireIfChildFired: !0,
	            bubbleStop: !1
	        }],
	        directCallRules: [{
	            name: "sc_object",
	            trigger: [{
	                engine: "sc",
	                command: "trackPageView",
	                arguments: [{
	                    customSetup: function(event, s) {
	                        function trackPageObject(e, t) {
	                            if (s) {
	                                var n = {};
	                                if ("undefined" != typeof e) n = clone(e);
	                                else if ("undefined" != typeof glbPageData) n = clone(glbPageData);
	                                else {
	                                    if ("undefined" == typeof oaoPageData) return;
	                                    n = clone(oaoPageData)
	                                }
	                                setSiteCatalystDataObject(n), retrieveIntLink(), s.eVar33 = captureCampaignCodes(), t && (s.doPlugins = s_doPlugins), clearEvents = !0
	                            }
	                        }

	                        function trackLinkObject(e, t, n, i) {
	                            if (s) {
	                                var a = {};
	                                if ("undefined" != typeof e) a = clone(e);
	                                else {
	                                    if ("undefined" == typeof glbClickData) return;
	                                    a = clone(glbClickData)
	                                }
	                                setSiteCatalystDataObject(a, !0), "undefined" == typeof t && (t = !0), "undefined" == typeof i && (i = "o"), "e" == i && (s.trackExternalLinks = !0), "undefined" == typeof n && (n = s.prop21 && s.prop21 !== s.pageName ? s.prop21 : 1 != t ? undefined : "(unnamed_link)"), s.tl(t, i, n), clearEvents = !0
	                            }
	                        }

	                        function trackDynamicPageObject(e) {
	                            trackPageObject(e, !0)
	                        }

	                        function trackExitLinkObject(e, t, n) {
	                            trackLinkObject(e, t, n, "e")
	                        }

	                        function trackDownloadObject(e, t, n) {
	                            trackLinkObject(e, t, n, "d")
	                        }

	                        function trackingVariablePrep(e, t) {
	                            var n = typeof e[t];
	                            "undefined" === n ? delete e[t] : "number" !== n && "boolean" !== n ? e[t].indexOf("N/A") >= 0 && (e[t] = "") : 0 === e[t] ? e[t] = "0" : e[t] === !1 && (e[t] = "false")
	                        }

	                        function setSiteCatalystDataObject(e, t) {
	                            if ("undefined" != typeof e) {
	                                if (t && (s.linkTrackVars = ""), trackingVariablePrep(e, "olbNum"), trackingVariablePrep(e, "caseId"), t ? e.pageName ? s.pageName = e.pageName : e.pageId && (s.pageName = e.pageId) : "errorPage" == e.pageType ? (s.pageType = e.pageType, s.prop21 = location.href) : (delete s.pageType, e.pageName ? s.pageName = e.pageName : e.pageId ? s.pageName = e.pageId : e.path && (s.pageName = e.path), s.prop21 = "D=pageName"), delete e.pageType, delete e.pageName, delete e.pageId, "undefined" != typeof e.event && (e.event = oaoCheck(e.event, e.channel), "undefined" == typeof clearEvents || 0 == clearEvents ? s.events = s.apl(s.events, e.event, ",", 1) : s.events = e.event,
	                                        s.events && (t && (s.linkTrackVars = "events", s.linkTrackEvents = s.events.replace(/(=[0-9]+)/g, "")), e.caseId))) {
	                                    for (var n = s.events.split(","), i = 0; i < n.length; ++i) n[i] = n[i] + ":" + e.caseId.replace(/-/g, "");
	                                    s.events = n.join()
	                                }
	                                delete e.events, delete e.event;
	                                for (var a in e)
	                                    if (trackingVariablePrep(e, a), scDataMap[a]) {
	                                        for (var r = scDataMap[a].split(","), i = 0; i < r.length; ++i) s[r[i]] = e[a];
	                                        t && e[a] && (s.linkTrackVars = s.apl(s.linkTrackVars, scDataMap[a], ",", 1)), delete e[a]
	                                    }
	                                s.prop9 && s_account.indexOf("bbtdevall") > -1 && (s.visitorID = s.prop9, s.eVar75 = s.prop9)
	                            }
	                        }

	                        function captureCampaignCodes() {
	                            var e = s.c_r("CampIDMaj"),
	                                t = s.c_r("CampIDMin"),
	                                n = s.c_r("ReferralSource"),
	                                i = s.channel;
	                            return i += e && t && n ? ":" + e + t + ":" + n : ":no_tracking_code", i += s.prop41 ? ":with_caseid:" + s.prop41 : ":without_caseid"
	                        }

	                        function retrieveIntLink() {
	                            if (-1 != document.cookie.indexOf("intlinklabel")) {
	                                var e = s.c_r("intlinklabel"),
	                                    t = s.c_r("intlinkid"),
	                                    n = t ? t.substring(5, 6) : "b";
	                                e = 0 == e.indexOf("src=") ? e.substring(e.indexOf("src=") + 5) : e.toLowerCase().replace(/ /g, "_"), s.prop20 = n + ":" + e, s.eVar20 = "D=c20", document.cookie = "intlinkurl=deleted; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;", document.cookie = "intlinklabel=deleted; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;", document.cookie = "intlinkid=deleted; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;"
	                            }
	                        }

	                        function clone(obj) {
	                            var fooArray = new Array,
	                                attrArray = new Array;
	                            for (var attr in obj) "function" == typeof obj[attr] && (fooArray.push(obj[attr].toString()), attrArray.push(attr));
	                            for (var serialized = JSON.stringify(obj), copy = JSON.parse(serialized), i = 0; i < fooArray.length; i++) copy[attrArray[i]] = eval("(" + fooArray[i] + ")");
	                            return copy
	                        }

	                        function oaoCheck(e, t) {
	                            if ("undefined" != typeof e) {
	                                if (-1 == e.indexOf("event2") || "undefined" == typeof t) return e;
	                                var n = t.slice(t.indexOf(":") + 1),
	                                    i = s.c_r("s_oao");
	                                if (i)
	                                    if (-1 != i.indexOf(n)) {
	                                        for (var a = e.split(","), r = 0; r < a.length; r++)
	                                            if ("event2" == a[r]) return a.splice(r, 1), a.join(",")
	                                    } else i += "," + n;
	                                else i = n;
	                                var o = new Date;
	                                return o.setTime(o.getTime() + 18e5), document.cookie = "s_oao=" + i + "; expires=" + o.toUTCString() + ";domain=.bbt.com; path=/", e
	                            }
	                        }
	                        var scDataMap = {
	                                pageType: "pageType",
	                                pageId: "pageName",
	                                pageName: "pageName",
	                                event: "events",
	                                events: "events",
	                                channel: "channel",
	                                server: "server",
	                                hier: "hier1",
	                                products: "products",
	                                product: "products",
	                                loggedIn: "prop5",
	                                olbUser: "prop7,eVar30",
	                                secQuestion: "prop8",
	                                olbNum: "prop9,eVar9",
	                                secMsg: "prop12,eVar31",
	                                statSusp: "prop14",
	                                workId: "prop15,eVar15",
	                                editError: "prop17",
	                                resumeIndicator: "prop18,eVar16",
	                                generalPath: "prop21",
	                                path: "prop21",
	                                error: "prop33",
	                                caseId: "prop41,eVar28",
	                                productId: "prop47",
	                                eventMapping: "prop49,eVar49",
	                                portlet: "prop53",
	                                portletCount: "prop54",
	                                existingClient: "eVar10",
	                                clientType: "eVar11",
	                                selectedAccounts: "eVar12",
	                                promoCode: "eVar14",
	                                editUserRole: "eVar72",
	                                sessionId: "eVar74",
	                                appStatus: "prop11",
	                                searchTerm: "prop1,eVar1",
	                                searchResults: "prop3",
	                                phone: "eVar13",
	                                actionName: "prop24,eVar19",
	                                cta: "prop24,eVar19",
	                                social: "prop43",
	                                secFeature: "prop57,eVar57"
	                            },
	                            JSON = JSON || {};
	                        JSON.stringify = JSON.stringify || function(e) {
	                            var t = typeof e;
	                            if ("object" != t || null === e) return "string" == t && (e = '"' + e + '"'), String(e);
	                            var n, i, a = [],
	                                r = e && e.constructor == Array;
	                            for (n in e) i = e[n], t = typeof i, "string" == t ? i = '"' + i + '"' : "object" == t && null !== i && (i = JSON.stringify(i)), a.push((r ? "" : '"' + n + '":') + String(i));
	                            return (r ? "[" : "{") + String(a) + (r ? "]" : "}")
	                        }, JSON.parse = JSON.parse || function(str) {
	                            return "" === str && (str = '""'), eval("var p=" + str + ";"), p
	                        }, s && ("undefined" != typeof glbPageData ? trackPageObject(glbPageData) : "undefined" != typeof oaoPageData ? trackPageObject(oaoPageData) : clearEvents = !0)
	                    }
	                }]
	            }]
	        }, {
	            name: "locatorerr",
	            trigger: [{
	                engine: "sc",
	                command: "trackPageView",
	                arguments: [{
	                    setVars: {
	                        eVar21: "%Branch Locator Search Term%",
	                        prop19: "%Branch Locator Filter%",
	                        prop5: "%Login Status%",
	                        pageName: "%pageName%",
	                        channel: "%channel%",
	                        hier1: "%Hier1%"
	                    },
	                    addEvent: ["event18"]
	                }]
	            }]
	        }, {
	            name: "locator_suggest_result",
	            trigger: [{
	                engine: "sc",
	                command: "trackPageView",
	                arguments: [{
	                    setVars: {
	                        eVar21: "%Branch Locator Search Term%",
	                        prop19: "%Branch Locator Filter%",
	                        prop5: "%Login Status%",
	                        pageName: "%pageName%",
	                        channel: "%channel%",
	                        hier1: "%Hier1%"
	                    }
	                }]
	            }]
	        }, {
	            name: "internal_search",
	            trigger: [{
	                engine: "sc",
	                command: "trackPageView",
	                arguments: [{
	                    setVars: {
	                        eVar1: "%Internal Search Keywords%",
	                        prop1: "%Internal Search Keywords%",
	                        prop3: "%Number of Search Results%"
	                    },
	                    customSetup: function(e, t) {
	                        t.linkTrackVars = "prop1,prop3,eVar1,events", t.linkTrackEvents = "event1,event4";
	                        var n = $(".gsc-tabHeader.gsc-inline-block.gsc-tabhActive").text().replace("BB&T Search", "");
	                        "0" == _satellite.getVar("Number of Search Results") || 0 == _satellite.getVar("Number of Search Results") ? (t.events = "event4", t.pageName = "bbt.com:search:" + n) : t.events = "event1"
	                    }
	                }]
	            }]
	        }, {
	            name: "seo_location",
	            trigger: [{
	                engine: "sc",
	                command: "trackPageView",
	                arguments: [{
	                    setVars: {
	                        eVar55: "%SEO Location%",
	                        prop55: "%SEO Location%",
	                        pageName: "%pageName%"
	                    }
	                }]
	            }]
	        }, {
	            name: "u_login",
	            trigger: [{
	                engine: "sc",
	                command: "trackPageView",
	                arguments: [{
	                    customSetup: function(e, t) {
	                        t.pageName = "bbt.com:myfi", t.server = "bbt.com", t.channel = "bbt.com:myfi", t.hier1 = "bbt.com:myfi"
	                    }
	                }]
	            }]
	        }],
	        settings: {
	            trackInternalLinks: !0,
	            libraryName: "satelliteLib-34d10364772f2ceec49894a7a26ef7bb3126176b",
	            isStaging: !1,
	            allowGATTcalls: !1,
	            downloadExtensions: /\.(?:doc|docx|eps|jpg|png|svg|xls|ppt|pptx|pdf|xlsx|tab|csv|zip|txt|vsd|vxd|xml|js|css|rar|exe|wma|mov|avi|wmv|mp3|wav|m4v)($|\&|\?)/i,
	            notifications: !1,
	            utilVisible: !1,
	            domainList: ["bbt.com", "bbtcapitalmarkets.com", "bbtsterlingadvisors.com", "bbttest.com", "leadfusion.com", "localhost"],
	            scriptDir: "ac265c174e480c2b170c2d73fbe2ff4ca87ebaac/scripts/",
	            tagTimeout: 3e3
	        },
	        data: {
	            URI: document.location.pathname + document.location.search,
	            browser: {},
	            cartItems: [],
	            revenue: "",
	            host: {
	                http: "assets.adobedtm.com",
	                https: "assets.adobedtm.com"
	            }
	        },
	        dataElements: {
	            "Branch Locator Filter": {
	                jsVariable: "dataLayer.branchlocatorfilter",
	                storeLength: "pageview"
	            },
	            "Branch Locator Search Term": {
	                jsVariable: "dataLayer.branchlocatorsearchterm",
	                storeLength: "pageview"
	            },
	            channel: {
	                jsVariable: "dataLayer.channel",
	                storeLength: "pageview"
	            },
	            DynamicContent: {
	                jsVariable: "dataLayer.dynamiccontent",
	                storeLength: "pageview"
	            },
	            "Form Error Message": {
	                jsVariable: "dataLayer.formerror",
	                storeLength: "pageview"
	            },
	            "Form Name": {
	                jsVariable: "dataLayer.form_name",
	                storeLength: "pageview"
	            },
	            "Global data object": {
	                customJS: function() {
	                    return "undefined" != typeof glbPageData || "undefined" != typeof oaoPageData ? "true" : "false"
	                },
	                storeLength: "pageview"
	            },
	            Hier1: {
	                jsVariable: "dataLayer.hier1",
	                storeLength: "pageview"
	            },
	            "Home Form Name": {
	                jsVariable: "dataLayer.home_form_name",
	                storeLength: "pageview"
	            },
	            "Internal Search Keywords": {
	                jsVariable: "dataLayer.internalSearchkwd",
	                storeLength: "pageview"
	            },
	            Langauge: {
	                jsVariable: "dataLayer.language",
	                storeLength: "pageview"
	            },
	            "Login Status": {
	                jsVariable: "dataLayer.login_status",
	                storeLength: "pageview"
	            },
	            "MLO Agent": {
	                jsVariable: "dataLayer.mlo_agent",
	                storeLength: "pageview"
	            },
	            "MLO Search": {
	                jsVariable: "dataLayer.mlo_search",
	                storeLength: "pageview"
	            },
	            "Number of Search Results": {
	                jsVariable: "dataLayer.nossearchresults",
	                storeLength: "pageview"
	            },
	            pageName: {
	                jsVariable: "dataLayer.pageName",
	                storeLength: "pageview"
	            },
	            Products: {
	                jsVariable: "dataLayer.products",
	                storeLength: "pageview"
	            },
	            "SEO Location": {
	                jsVariable: "dataLayer.seoLocation",
	                storeLength: "pageview"
	            },
	            Server: {
	                jsVariable: "dataLayer.server",
	                storeLength: "pageview"
	            },
	            "Site Tool Name": {
	                jsVariable: "dataLayer.ToolName",
	                storeLength: "pageview"
	            },
	            "Site Tool URL": {
	                jsVariable: "dataLayer.toolURL",
	                storeLength: "pageview"
	            },
	            "System error": {
	                jsVariable: "dataLayer.systemError",
	                storeLength: "pageview"
	            }
	        },
	        appVersion: "6EF",
	        buildDate: "2016-02-26 17:49:56 UTC",
	        publishDate: "2016-02-26 17:49:55 UTC"
	    })
	}(window, document);
}catch(e){
}

/* Adobe code ends here */


// bbt.wa package
var bbt = bbt || {};
bbt.wa = bbt.wa || {};
var glbPageData = {};

try {
	bbt.wa.OLBAnalytics = (function() {
console.log('olbUserFlag '+olbUserFlag);
		var clientTypeStr = olbUserFlag==''? 'BB&T Client:' : (olbUserFlag === 'OLB' ? 'BB&T OnLine:Retail Client'
				: olbUserFlag === 'MYFI' ? 'MyFi:Retail Client'
						: 'BB&T OnLine:Business Client')+
						(strongPwd != ''? 
								strongPwd == 'Y'?":pwd_enforced":":no_pwd_enforced":"");
		var params = {
			user : 'bbt.com', //olbUserFlag === '' ? 'olb' : olbUserFlag.toLowerCase(),
			env : 'test',
			trackPages : true,
			trackLinks : false,
			trackButtons : false,
			trackLightBoxes : false,
			exitButtonClass : '.exit-button',
			funnelName : undefined,
			funnelEvent : undefined
		};

		// default data, individual page will override and populate the details
		var data = {
			prefix : window.location.hostname,
			portfolio : params.user.toUpperCase(),
			pageId : window.location.pathname,
			channel : '',
			server : params.user,
			olbNum : maskedNumber != 'undefined' ? maskedNumber : '',
			loggedIn : maskedNumber != 'undefined' ? 'Logged-In'
					: 'Not Logged-In',
			olbUser : '',
			sessionId : webSessionId,
			clientType : clientTypeStr,
			hier : '',
			pageType : '',
			selectedAccounts : '',
			editError : '',
			error : '',
			userRole : '',
			event : '',
			eventMapping : '',
			secMsg : ''
		};

		// always submitting
		var shouldSubmit = function() {
			return true;
		};


		// private method. populate the 's' object
		var setWAPageVars = function(values) {
			data = $.extend(data, values);

			// concatenate error messages using comma
			var errs = values.editError;
			if (errs != null) {
				if (errs instanceof jQuery)
					errs = $.makeArray(errs).join(':');
				else if ($.isArray(errs))
					errs = errs.join(':');
				data.editError = $.trim(errs);
			}

			data.selectedAccounts = 'N/A';

			// if empty set the value to N/A
			for (key in data) {
				var val = data[key];
				if (typeof (val) == 'string') {
					val = $.trim(val);
					if (val.length == 0) {
						val = 'N/A';
					}
					data[key] = val;
				}
			}
		};

		// private method. submit link click or button click
		var submitClick = function(linkName, isInternalLink, isExitLink,
				element) {
			try {
				s.manageVars('clearVars');
				linkName = linkName.split(' ').join('_');
				s.linkTrackVars = 'prop2';
				s.linkTrackEvents = 'None';
				s.prop2 = 'D=pageName';
				if (isInternalLink) {
					s.tl(element, 'o', linkName, null, 'navigate');
				} else {
					s.tl(true, isExitLink ? 'e' : 'o', linkName);
				}

			} catch (ex) {
			}

		};

		// ******** Public functions ***************

		var config = function(configParams, pageData) {
			params = $.extend(params, configParams);

				if (params.trackPages && pageData != null) {
					data = $.extend(data, pageData);
				}

				$(document).ready(
					function() {
						// if page data is given load the data after
						// DOM is ready
						if (params.trackPages && pageData != null) {
							submitPageLoad({});
						}

						if (params.trackLinks) {
							// register event for links
							$('a').click(function() {
								submitLinkClick(this);
							});
						}

						if (params.trackButtons) {
							// register event for buttons
							$('button, input[type=button], input[type=submit], input[type=reset]')
									.click(function() {
										submitButtonClick(this);
									});
						}
						if (params.trackLightBoxes) {
							// register event for lightBoxes
							lightboxSubscribers.subscribe('launch', submitLightbox);
							lightboxSubscribers.subscribe('close', submitLightbox);
						}
					});
			return this;
		};

		var submitPageLoad = function(values) {
			if (params.trackPages && shouldSubmit()) {
				try {
					setWAPageVars(values);
					glbPageData = getPageData();
				} catch (ex) {
				}
			}
			return this;
		};

		var submitButtonClick = function(el) {
			if (params.trackButtons && shouldSubmit()) {
				btn = $(el);
				var isExitBtn = btn.has(params.exitButtonClass).length > 0;
				submitClick(el.id || btn.text() || btn.val(), true, isExitBtn,
						el);
			}
			return this;
		};

		var submitLinkClick = function(el) {
			if (params.trackLinks && shouldSubmit()) {
				link = $(el);
				var href = link.attr('href');
				if (href != null) {
					var isInternalLink = href.indexOf('#') == 0;
					var isExitLink = link.has(params.exitButtonClass).length > 0;
					submitClick(el.id || link.text(), isInternalLink,
							isExitLink, el);
				}
			}
			return this;
		};

		var submitLightbox = function(el, eventType) {
			if (params.trackLightBoxes && shouldSubmit()
					&& typeof (s) != 'undefined') {
				try {
					submitClick(el.id + "_" + eventType, true, false, el);
				} catch (ex) {
				}
			}
			return this;
		};

		var getPageData = function() {
			var waPageId = $('#waPageID') !== 'undefined' ? ($('#waPageID')
					.html())
					: (data.prefix + ':' + params.user + ":" + data.pageId);

			var parsedFunnelName = undefined;
			if (params.funnelName != undefined) {
				parsedFunnelName = params.funnelName;
			} else {
				parsedFunnelName = $('#waFunnelName') !== 'undefined' ? ($('#waFunnelName')
						.html())
						: undefined;
			}
			if (parsedFunnelName !== undefined && parsedFunnelName !== '') {
				parsedFunnelName = (params.user + ':' + parsedFunnelName);
			}
			var parsedFunnelEvent = undefined;
			if (params.funnelEvent != undefined) {
				parsedFunnelEvent = params.funnelEvent;
			} else {
				parsedFunnelEvent = $('#waFunnelEvent') !== 'undefined' ? ($('#waFunnelEvent')
						.html())
						: undefined;
			}
			var suppressedStatements = $('#waAcctTypes') !== 'undefined' ? ($('#waAcctTypes')
					.html())
					: undefined;
			var prodTypes = $('#prodTypes') !== 'undefined' ? ($('#prodTypes').html()): undefined;

			var messageSubject = $('#waMessageSubject') !== 'undefined' ? ($
					.trim($('#waMessageSubject').html())) : undefined;
			var waFormErrorText = '';
			var waErrorText = '';
			try {
				/*
				 * check for the message length error ignore errors if this is
				 * on the page, this is only on send secure message
				 * for message length check
				 */
				if (!$('#warningid').length) {

					// get page level errors
					$(".soft-attention").each(
							function() {
								waErrorText = $.trim($(this).find(
								'p').html())
								+ ',' + waErrorText;
							});
					
					// get service error and header errors
						$("#error-summary").each(
								function() {
									waErrorText = $.trim($(this).find(
											'.default-message').html())
											+ ',' + waErrorText;
								});

					// get form errors
						$(".error-wrapper").each(
								function() {
									waFormErrorText = $.trim($(this).find(
											"ul li label").html())
											+ ',' + waFormErrorText;
								});

				}
			} catch (e) {
			}

			/*
			 * check for error message
			 * if error exists, don't send event
			 * set error messages in data
			 */
			if(waFormErrorText !== '' || waErrorText !== ''){
				//parsedFunnelEvent = undefined;
				data.editError = $.trim(waFormErrorText);
				if(waErrorText !== undefined){
					/*
					 * Hack to strip the html from the error message
					 */
					data.error = $('<p>' + $.trim(waErrorText) + '<p>').text();
				}
			}


			return pageDataHolder = {
				pageId : params.user + ':' + waPageId,
				channel : params.user
						+ ':'
						+ (waPageId.indexOf(':') > 0 ? waPageId.substring(0,
								waPageId.indexOf(':')) : waPageId),
				server : data.server,
				hier : params.user + ':' + waPageId,
				pageType : data.pageType,
				portfolio : data.portfolio,
				sessionId : data.sessionId,
				selectedAccounts : data.selectedAccounts,
				editError : data.editError,
				error : data.error,
				editUserRole : data.userRole,
				loggedIn : data.loggedIn,
				event : data.event,
				event : parsedFunnelEvent,
				eventMapping : parsedFunnelName,
				clientType : data.clientType,
				olbNum : data.olbNum,
				secMsg : messageSubject,
				olbUser : data.olbUser,
				statSusp : suppressedStatements,
				product : prodTypes,
				secQuestion : secQuestn,
				secFeature : secFeat
			};
		};

		return {
			config : config,
			submitPageLoad : submitPageLoad,
			submitButtonClick : submitButtonClick,
			submitLinkClick : submitLinkClick,
			submitLightbox : submitLightbox
		};
	})(jQuery);
} catch (e) {
	// web analytics error: just move on
}

function waOnLoad(olbUserFlag, _funnelName, _funnelEvent) {
	try {
		bbt.wa.OLBAnalytics
				.config(
						{
							env : (window.location.hostname.indexOf('dev') != -1 
									|| window.location.hostname.indexOf('sit') != -1 
									|| window.location.hostname.indexOf('uat') != -1
									|| window.location.hostname.indexOf('perf') != -1) 
									? 'test' : 'prod',
							funnelName : _funnelName,
							funnelEvent : _funnelEvent
						}, glbPageData);

			var errors = $('li.error').map(function() {
				return $.trim($(this).text());
			});
			var exception = '';
			if (exception.length > 0) {
				errors.push(exception);
			}

			if (typeof _satellite !== "undefined") {
				_satellite.track('sc_object');
			}

	} catch (e) {
		// web analytics error: just move on
	}
}
function waManageVars() {
	try {
		s.manageVars("clearVars");
	} catch (e) {
		// web analytics error: just move on
	}
}