Skip to content

Instantly share code, notes, and snippets.

@braiam braiam/iframe.html Secret
Created Oct 9, 2016

Embed
What would you like to do?
<html>
<head>
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT">
<meta http-equiv="pragma" content="no-cache">
</head>
<body style="margin:0">
<script type="text/javascript">
<!--
var __IntegralASDiagnosticCall = function() {};
try {
var __IntegralASConfig = {
jsDoSplit: "false",
cocaPuffsPath: "",
debug: "false",
killPhrases: "",
jsDiag: 'false',
version: '0',
mtCell: 10,
sp_imp_maxLength: 2000,
sp_imp_jload_maxLength: 2000,
sp_imp_jsInfo_minLength: 0,
mtSample: 5,
cookieDomain: 'sc.iasds01.com/dtc',
trackMouse: "true",
exchList: {
'e1': 'nqzryq',
'e2': 'tbbtyrnqf.t.qbhoyrpyvpx',
'e3': 'ehovpbacebwrpg',
'e4': 'chozngvp',
'e5': 'bcrak',
'e6': 'nqoevgr.pbz',
'e7': 'tynz.pbz',
'e8': 'lvryqznantre.pbz',
'e9': 'yvwvg',
'e10': 'nqakf',
'p11': 'ghea.pbz',
'p12': 'zngugnt',
'p13': 'vaivgrzrqvn',
'p14': 'qngnkh',
'n15': 'zrqvn6qrterrf',
'n16': 'dhnagfreir',
'n17': 'esvuho.arg',
'a18': 'napubeserr',
'a19': 'eff2frnepu',
'a20': 'mgfgngvp.pbz',
'n21': 'ovq.npr.nqiregvfvat',
'e22': 'wnfba',
'v23': 'fcbgkpqa',
'v24': 'ogeyy',
'v25': 'yvirenvy',
'v26': 'nqncgi',
'v27': 'nqnc.gi',
'n29': 'qbzqrk.pbz',
'n30': 'ernyih.arg',
'd31': 'cvengronl',
'd32': 'cebklonl',
'd33': 'onlcebkl',
'd34': 'cvengrcebkl',
'd35': 'cebklcvengr',
'd36': 'onlcvengr',
'n37': 'tjnyyrg',
'p39': 'j55p.arg',
'p40': 'c0l.pa',
'p41': 'vcvalbh.pbz',
'p42': 'c0lwferaqre'
},
killFlash: 'true',
sp_cdnDomain: 'cdn.adsafeprotected.com',
protocol: 'https',
jsref: "http:\/\/stackoverflow.com\/questions\/39944781\/visual-studio-setup-failed\/39944947",
asid: "3c4272b6-8e34-11e6-8fcc-0025904ea2d8",
allowViewability: "true",
jsFeatures: "mousetrack,viewabilityready,consecutive,cachebust:0,forcecocoa:0,rattie,exch,recordalternate:0,cocoapuffs,usedtdomain,nextcocoa:100,bapiDiag,cookie,postDts:0,videotwoseconds,getPl,decodePl,resolution,usetpl,tpiLookupURL,hundredpct,jloadDiag:0,blur:0,sendclogs,zeroPing,idMap,offscreen,everySecond:1,sdkdetection,moreAdTalkCalls,slid,fm2:1,largeAd,nextcocoaie:100,usevh,fxdet,mmsb:100,bigmon:0,chromeNativeIO:100,oddet:100,ios:0,ancestor:100,avmm:100,avgrn:100,useScreenLocationInfoAdaptor:100,swapids:100,pIntervals:10,firewall_cdn_domain,usesca:0",
adsafeDomain: "adsafeprotected.com:80",
minimizeCalls: "false",
adWidth: "300",
adHeight: "250",
forceAppend: "false",
_onInViewMRC15: __IntegralASConfig && __IntegralASConfig.onInViewMRC15,
_onAPIResult: __IntegralASConfig && __IntegralASConfig.onAPIResult,
_onMeasurable: __IntegralASConfig && __IntegralASConfig.onMeasurable,
_onSuspicious: __IntegralASConfig && __IntegralASConfig.onSuspicious,
_onInViewMRC: __IntegralASConfig && __IntegralASConfig.onInViewMRC,
_onInViewFull: __IntegralASConfig && __IntegralASConfig.onInViewFull,
_onInViewMRC5: __IntegralASConfig && __IntegralASConfig.onInViewMRC5,
reqquery: "",
mode: "rjsi",
requrl: "https:\/\/fw.adsafeprotected.com\/mon",
dtBaseURL: "https:\/\/dt.adsafeprotected.com\/dt?advEntityId=65472",
adsafeSrc: "https:\/\/fw.adsafeprotected.com\/rfw\/ad.atdmt.com\/65472\/10865004\/d\/a.html;p=11087208769628;cod=1;idfa=;idfa_lat=;aaid=;aaid_lat=;cache=1476025155332?click=https%3A%2F%2Fengine.adzerk.net%2Fr%3Fe%3DeyJhdiI6NDM3LCJhdCI6NSwiYnQiOjAsImNtIjo0ODczOTQsImNoIjoxMTc4LCJjayI6e30sImNyIjoxNzAyNTQyLCJkaSI6IjNiZDgzNWIyNjkzOTQzMDBiODBjMzAwNjZiMjY1ODk5IiwiZG0iOjEsImZjIjoyMDIyNjAwLCJmbCI6MjM2ODYzMywiaXAiOiIxNDguMTAxLjIzMS4yMzMiLCJrdyI6InZpc3VhbC1zdHVkaW8seDg2LHdpbmRvd3MtMTAseC11c2VyLXJlZ2lzdGVyZWQseC0xNTAwcGx1cy1yZXAiLCJtayI6InZpc3VhbC1zdHVkaW8iLCJudyI6MjIsInBjIjo2LjYsImVjIjo2LjYsInByIjo4MjE5OSwicnQiOjIsInJmIjoiaHR0cDovL2NoYXQuc3RhY2tvdmVyZmxvdy5jb20vcm9vbXMvNDE1NzAvc28tY2xvc2Utdm90ZS1yZXZpZXdlcnMiLCJzdCI6ODI3NywidWsiOiJ1ZTEtNDlmYzU0MmIwODcyNDExMGIxOGQ2NGVlYjI3OTA0OWMiLCJ6biI6NDUsInRzIjoxNDc2MDI1MTU1MzMzLCJiZiI6dHJ1ZSwicG4iOiJhZHplcms3MDk1NjE2OTkiLCJ1ciI6bnVsbH0%26s%3DFznTTw6e8UZQkignHDresWHKLNk%26url=",
tpiLookupURL: "",
getTpl: "false",
use100v: false,
useBapiCallback: "",
useViewabilityNotification: "",
scriptUrl: "https://fw.adsafeprotected.com/rjsi/ad.atdmt.com/65472/10865004/d/a.html;p=11087208769628;cod=1;idfa=;idfa_lat=;aaid=;aaid_lat=;cache=1476025155332?cl",
accountForSadImps: '',
sendCookie: 'true',
cookieBaseURL: 'sc.iasds01.com/dtc?advEntityId=65472',
fwMonitoring: 'false',
doNothing: false,
mn: "app15dal",
mobOrTab: false,
mobFwUrl: "",
videoId: ''
};
if (__IntegralASConfig.jsFeatures.indexOf('asidJsDiagnostic') !== -1) {
var fakeErr = {
message: __IntegralASConfig.asid
};
__IntegralASDiagnosticCall('asid', fakeErr);
}
__IntegralASConfig.birthdate = new Date().getTime();
__IntegralASConfig.useFIF = (!!window.__IntegralASUseFIF) && __IntegralASConfig.mode === 'jload';
__IntegralASConfig.contextNode = (function() {
if (__IntegralASConfig.useFIF) {
return window.frameElement; // Early exit if using FIF
}
var tempScript,
embedded = window != top,
scripts = document.getElementsByTagName('script'),
result = scripts[scripts.length - 1],
scriptIndex = scripts.length,
useDocWrite = 'jss,jsi,jspix'.indexOf(__IntegralASConfig.mode) !== -1,
scriptUrl = __IntegralASConfig.scriptUrl;
try {
while (--scriptIndex >= 0) {
tempScript = scripts[scriptIndex];
if (tempScript.src && tempScript.src.indexOf(scriptUrl) === 0 && tempScript.getAttribute('data-ias-script-tag') === null) {
result = tempScript;
tempScript.setAttribute('data-ias-script-tag', 'found');
break;
}
}
if (scriptIndex === 0 && useDocWrite && !embedded) {
document.write('<span id="s' + __IntegralASConfig.asid + '"/>');
result = document.getElementById('s' + __IntegralASConfig.asid).parentNode;
}
} catch (e) {}
return result;
}());
} catch (err) {
__IntegralASConfig = {};
__IntegralASDiagnosticCall('bootstrapper', err);
}
__IntegralASConfig.initialize = function(p, u, B) {
var l, Db = function() {
l = new X;
var a;
l.provide("mobileApp", function() {
return a = a || new va(b)
});
var b = l.provide("features", wa()),
c = xa(),
d = ya(c),
e = new za(l),
h = function() {
var a = new Aa(n.getWindow(), new J),
c = new Ba(n.getWindow()),
b = new Ca(n.getWindow(), c, p.mode),
d = new Da(a, new J),
e = new Ea(n.getWindow(), new J),
c = new Fa(n.getWindow(), c, p.mode),
a = new Ga(a, e, new J),
b = (new Ha([{
environment: b,
measurementStrategy: d
}, {
environment: c,
measurementStrategy: a
}])).resolve(),
d = new Ia(b);
return new Ja(b, d)
}();
b.on("swapids") && (p.oid = p.asid, p.asid = d.unq);
var k, r, t, q, m = Ka(),
x = La(),
w = Ma(b),
A = Na(),
z = Oa(l),
D = l.provide("mPage", Pa()),
G = Qa(),
H = Ra(G, n),
F = Sa(),
C = Ta(),
L = Ua(c, C),
C = l.provide("browser", Va()),
ma = l.provide("intersectionWatcher", Wa(n.getDoc().body));
l.provide("ieXDomainViewability", Xa(C));
l.provide("iframe", Ya(C));
var u = Za(C),
v = l.provide("video", s.isVideo() && !s.isAvid() ? $a(p.videoId, b, F) : {});
ab(bb.build());
var y = cb(c, u, b),
B = db(y, c, D),
M = eb(z),
E = fb(y, c, b, d, e, C, F, A),
A = gb(),
N = hb(c, b, l, z),
z = ib(L, E, c, d, e),
U = jb(L, E),
N = kb(N, b, h.isImmediate()),
O = lb(h, C, E, c, b, u, l, d, e, M, D, B, F, v),
D = mb(L, c, b, d, N, e, C, O),
d = nb(C, d, O),
F = ob(),
L = pb(),
u = qb(),
v = rb(),
B = sb(),
M = tb(),
N = ub(),
R = vb(),
I = wb();
E.setViewabilityMod(O);
var S;
if (! function() {
var a = !1,
b, d;
try {
f.isDef(p) && f.isDef(p.killPhrases) && "" !== p.killPhrases && (b = p.adsafeSrc ? p.adsafeSrc : p.requrl + p.reqquery, d = p.killPhrases.split(","), f(d).each(function(c, e) {
e = decodeURIComponent(d[c]).replace(/^\s+|\s+$/g, ""); - 1 !== b.search(e) && (a = !0)
})), p.doNothing &&
(a = !0)
} catch (e) {
c.add(g.ERROR_CODES.KILL_IT)
}
return a
}()) {
if (w.isApplicable(s)) try {
w.start(), e.addItem(w.getFrameMap(), "fm"), b.on("fm2") && e.addItem(w.getFrameMapIncludingPeerCase(), "fm2"), b.on("idMap") && (k = w.getIdMap()) && e.addItem(k, "idMap")
} catch (Q) {
c.add(g.ERROR_CODES.ADTALK_GENERAL)
}
k = xb();
k.isApplicable() && k.start();
G.isApplicable(C, b, s) && G.start();
var P;
try {
ma.isApplicable(C, b, s) && ma.start();
"true" !== p.minimizeCalls && O.init();
b.on("mousetrack") && (q = yb(y, e), q.init());
P = H.detectTopURL();
b.on("exch") &&
(r = zb(c, e), r.parse(P));
if (b.on("getPl") && navigator && navigator.plugins) {
t = Ab(navigator.plugins);
var Y = t.hash();
e.addItem({
output: Y.join(".")
}, "pl", {
type: g.DT_CODES.ADTALK
});
if (b.on("decodePl") && Y.length) {
var Z = t.decode(Y);
e.addItem({
output: Z.join(".")
}, "pd", {
type: g.DT_CODES.ADTALK
})
}
}
b.bootstrapOn("use100v") && Bb();
A.isApplicable(b) && (A.start(), l.trigger("sendCookie"))
} catch (ca) {
c.add(g.ERROR_CODES.IMPRESSION_LEADUP)
}
try {
D.send(P)
} catch ($) {
__IntegralASDiagnosticCall("impsend", $, p)
}
try {
d.isApplicable(b) &&
d.start(), b.bootstrapOn("getTpl") && b.on("usetpl") && z.init(), p.tpiLookupURL && U.init(p.tpiLookupURL), Cb(b), "true" !== p.minimizeCalls && (S = (new Date).getTime(), n.execAtEndOfThread(function() {
n.execAtEndOfThread(function() {
try {
var a = {
output: (new Date).getTime() - S
};
e.addItem(a, "sinceFw", {
type: g.DT_CODES.ADTALK
});
f.isDef(O.readyFired()) && e.addItem({
output: O.readyFired()
}, "readyFired", {
type: g.DT_CODES.ADTALK
});
w.isApplicable(s) && w.sendAdTalkCall()
} catch (b) {
c.add(g.ERROR_CODES.ADTALK_DELAY)
}
})
})), h && h.start(),
F.isApplicable(b, C) && F.start(C), L.isApplicable(b, C) && L.start(), B.isApplicable(b, C) && B.start(), M.isApplicable(b, C) && M.start(), u.isApplicable(b) && u.start(), v.isApplicable(b, C) && v.start(), R.isApplicable(b) && R.start(), I.start({
sca: "usesca"
}, b), G.isStarted() && G.sendOriginList(), m.isApplicable(b) && (m.start(), x.start(), x.addFieldTypes(["im"]), K.recordBlockingTime(), K.setupOnLoadTracking(), K.setupBrowserDelayTracking()), N.isApplicable(b) && N.start()
} catch (T) {
c.add(g.ERROR_CODES.POST_IMPRESSION)
}
}
},
f = function(a) {
var b =
function(b) {
var d = null === a,
d = "object" === typeof a && !d,
e = !c() && d;
return b ? d : e
},
c = function() {
return a instanceof Array
},
d = function(c, b) {
if (a.length === +a.length)
for (var d = 0, e = a.length; d < e; ++d) c(d, a[d]);
else
for (d in a)(a.hasOwnProperty(d) || b) && c(d, a[d])
},
e = function(a, c) {
var b = [];
d(function(d, e) {
var k = a(d, e);
if (void 0 !== k || c) b[b.length] = k
});
return b
},
h = function(a, c) {
c = c || ",";
var b = [];
d(function(c, d) {
var e = a(c, d);
f.isDef(e) && b.push(e)
});
return b.join(c)
},
k = function(a, c, b) {
for (var d in c) f.isDef(c[d]) &&
(b || c.hasOwnProperty(d)) && (a[d] = c[d]);
return a
},
r = function(a) {
var c = {};
d(function(d, e) {
var h = a(d, e);
b(h) && k(c, h)
});
return c
},
t = function(a) {
var c = [];
d(function(a) {
c.push(a)
}, a);
return c
};
return {
each: d,
isObj: b,
isArray: c,
isEmpty: function(a) {
return 0 === t(a).length
},
invert: function() {
return r(function(a, c) {
var b = {};
b[c] = a;
return b
})
},
mapToObj: r,
map: e,
keys: t,
toParams: function(a) {
return h(function(a, c) {
return "string" === typeof a && -1 !== a.indexOf("NULL") ? c : a + ":" + c
}, a)
},
stringify: h,
toION: function(d, k) {
var h,
t = "[",
r = "]";
k = k || 0;
d = d || {};
if (4 < ++k) return "object";
if (!b(!0) || a.hasOwnProperty("toString")) return "" + a;
c() ? h = e(function(a, c) {
return f(c).toION(d, k)
}) : (t = "{", r = "}", h = e(function(a, c) {
var b = "string" === typeof a && -1 !== a.indexOf("NULL"),
e = f(c).toION(d, k);
return b ? e : (d[a] || a) + ":" + e
}));
return t + h.join(",") + r
},
compareTo: function(a) {
var c = !1;
d(function(b, d) {
a[b] !== d && (c || (c = {}), c[b] = d)
});
return c
},
mixin: function(c, b) {
return k(a, c, b)
},
find: function(a) {
var c;
d(function(b, d) {
a(b, d) && (c = d)
});
return c
},
findFirst: function(a) {
var c,
b;
d(function(d, e) {
!b && a(d, e) && (c = e, b = !0)
});
return c
},
asStrings: function() {
var a = {};
d(function(c, b) {
a[c] = "" + b
});
return a
},
selectProperties: function(c) {
var b = {};
f(c).each(function(c, d) {
f.isDef(a[d]) && (b[d] = a[d])
});
return b
},
filter: function(a, c) {
return e(function(c, b) {
var d;
if (f.isUndef(a) || f.resolve(a, c, b)) d = b;
return d
}, c)
},
toArray: function() {
return e(function(a, c) {
return c
})
},
JSONStringify: function() {
var c, b, d = !1;
u.Prototype && u.Prototype.Version && -1 === u.Prototype.Version.indexOf("1.7") && (d = !0);
d &&
(b = Array.prototype.toJSON, delete Array.prototype.toJSON);
c = JSON.stringify(a);
d && (Array.prototype.toJSON = b);
return c
}
}
};
f.toBase = function(a, b) {
var c, d = 0 > a,
e = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),
h = [];
a = d ? -a : a;
do c = a % b, h.push(e[c]), a = (a - c) / b; while (0 < a);
h = h.reverse().join("");
return d ? "-" + h : h
};
f.isDef = function(a) {
return "undefined" !== typeof a
};
f.isUndef = function(a) {
return !f.isDef(a)
};
f.isBool = function(a) {
return "boolean" === typeof a
};
f.noop = function() {};
f.identity = function(a) {
return a
};
f.isFunction = function(a) {
return "function" === typeof a
};
f.isStr = function(a) {
return "string" === typeof a
};
f.useIfDef = function(a) {
return f.isDef(a) ? a : !1
};
f.stringifyTriState = function(a) {
return !0 === a ? 1 : !1 === a ? 0 : "na"
};
f.resolve = function(a) {
var b = f(arguments).toArray();
b.shift();
return f.isFunction(a) ? a.apply({}, b) : a
};
f.flatJSONParse = function(a) {
var b, c, d, e = /"(\w+)":(\d+|(?:"([^"]*)"))/g,
h = {};
for (d = e.exec(a); d;) b = d[1], c = d[3], d = d[2], h[b] = c || +d, d = e.exec(a);
return h
};
f.debounce = function(a, b) {
var c;
return function() {
var d =
this,
e = arguments;
clearTimeout(c);
c = setTimeout(function() {
c = null;
a.apply(d, e)
}, b)
}
};
f.last = function(a) {
return a[a.length - 1]
};
f.collapseArgsIntoHash = function(a, b) {
var c = {};
b ? c[a] = b : c = a;
return c
};
var Bb = function() {
var a, b, c = !1,
d = l.request("mPage"),
e = function() {
!c && b && a && !d.isHidden() && (c = !0, l.trigger("sendDt", g.DT_CODES.LARGE_BILLABLE))
};
l.on("primaryadfound", function(c) {
a = c.getDims().area() >= g.MRC_LARGE_AD_SIZE;
e()
});
l.on("impressionsent", function() {
b = !0;
e()
});
d.onHiddenChange(e)
},
Na = function() {
var a = [],
b = {},
c = {
percentInView: "piv",
sl: "vs",
reason: "r",
width: "w",
height: "h"
};
l.on("newScreenEvent", function(d) {
d = f(d).selectProperties(f(c).keys());
d = f(d).asStrings();
var e = f(d).compareTo(b);
e && (e.t = s.getTagTime(), a.push(e));
f(b).mixin(d)
});
return {
toString: function() {
return f(a).toION(c)
}
}
},
Eb = function(a, b, c, d, e, h, k) {
var r;
(function() {
var h = c.getRounded(),
f = h.width - 5,
m = h.height - 5,
g = 0.5 * h.width + 1,
h = 0.5 * h.height + 1;
r = [new a(b, f, m, e, k, d), new a(b, f, 5, e, k, d), new a(b, 5, m, e, k, d), new a(b, 5, 5, e, k, d), new a(b, g, h,
e, k, d)]
})();
return {
getNumInView: function() {
var a = [],
c = 0;
f(r).each(function(c, b) {
var d = b.isInView() ? 1 : 0;
a.push(d)
});
h.addItem({
output: a.join(".")
}, "pvs");
f(a).each(function(a, b) {
c += b
});
return c
},
getPctInView: function(a) {
return 5 === a ? 100 : 3 <= a ? 51 : 0
},
isReady: function() {
var a = !0;
f(r).each(function(c, b) {
b.isNotReadyToReport() && (a = !1)
});
return a
},
remove: function() {
f(r).each(function(a, c) {
try {
c.remove()
} catch (b) {}
})
}
}
},
Fb = function(a, b, c, d, e, h, k, r) {
var t = e.on("nextcocoa") ? na : oa,
q = new a(t, B.body, b, d, e, k, r),
m, x, w = 0;
c = c || f.noop;
m = setInterval(function() {
q.isReady() && !x ? (x = !0, c(), clearInterval(m)) : (5 === ++w || x) && clearInterval(m)
}, 50);
return {
checkViewable: function() {
var a = q.isReady(),
b = q.getNumInView(),
b = q.getPctInView(b),
d = h.calcInitialViewState(b, !0);
a && !x && (x = !0, c());
return {
str: a ? d : g.NA,
pct: a ? b : -1
}
},
removePixels: function() {
q.remove()
}
}
},
ca = function(a, b, c, d, e, h) {
var k, r, t = b.getRounded(),
q = [],
m = !1,
x = 0,
w = d.on("largeAd") && b.isMrcLarge() && !s.isVideo() ? Gb(t) : Hb(t),
l = function() {
var a;
if (!m)
for (m = !0, a = 0; a < q.length; a++)
if (q[a].isNotReadyToReport()) {
m = !1;
break
}
return m
},
z = function() {
var a = 0;
f(q).each(function(c, b) {
b.isInView() && (a += 1)
});
return w.getPctInView(a)
};
(function() {
var c = w.get();
f(c).each(function(c, b) {
var k = new a(B.body, b.x, b.y, d, e, h);
k.weight = b.weight;
q.push(k)
})
})();
c = c || f.noop;
k = setInterval(function() {
l() && !r ? (r = !0, c(), clearInterval(k)) : (5 === ++x || r) && clearInterval(k)
}, 50);
return {
checkViewable: function() {
var a = l(),
e;
a && (e = d.on("largeAd") && b.isMrcLarge() ? 30 : 50, e = z() >= e ? g.IN_VIEW : g.OUT_OF_VIEW);
a && !r && (r = !0, c());
return {
str: a ? e : g.NA,
pct: a ?
z() : -1
}
},
removePixels: function() {
f(q).each(function(a, c) {
try {
c.remove()
} catch (b) {}
})
}
}
},
X = function() {
var a = new Ib,
b = new J;
return f(a).mixin(b)
},
J = function() {
var a = {},
b = function(c, b) {
a[c] = a[c] || new da;
a[c].push(b)
};
return {
on: function(a, d) {
d ? b(a, d) : f(a).each(b)
},
trigger: function(c) {
var b, e = f(arguments).toArray();
if (b = a[c]) e.shift(), b.run.apply({}, e)
}
}
},
xb = function() {
var a = {},
b = {
ox: 0
},
c = n.getWindow(),
d = f.isDef(c.JSON) && f.isDef(c.postMessage),
e = function(c) {
var d = c.uniqueId;
c = b[c.vendorKey];
var e = !1;
f.isDef(c) &&
1 > c && d && !a[d] && (e = !0);
return e
},
h = function(a, c) {
if (c) return c.type = "receipt", c
},
k = function(c, d, e) {
b[d.vendorKey] ++;
e();
a[d.uniqueId] = !0;
r(d) && (e = "false" === d.isSampling, c = ["ext", d.vendorKey, d.dataKey].join("_"), e = {
encode: !0,
minDt: e,
type: e ? g.DT_CODES.EXTERNAL : g.DT_CODES.UNLOAD
}, l.trigger("addOutputItem", {
output: d.dataValue
}, c, e), l.trigger("addOutputItem", {
output: d.vendorKey
}, "ext_vendor", e), "false" === d.isSampling && l.trigger("sendMinDt", g.DT_CODES.EXTERNAL))
},
r = function(a) {
var c = function(a) {
return f.isStr(a) &&
100 > a.length
};
return c(a.vendorKey) && c(a.dataKey) && c(a.dataValue)
};
return {
isApplicable: function() {
return d
},
start: function() {
(new ea).listen(e, k, h)
}
}
},
T = function(a, b, c, d) {
var e = l.request("browser");
if (l.request("features").bootstrapOn("killFlash")) return {
style: {},
isPlaceholder: !0
};
var h = function(a, c) {
return '<param name="' + a + '" value="' + c + '"/>'
};
return function() {
var k, f, t, q = p.dtBaseURL,
m = p.cocaPuffsPath,
q = new I(q);
q.sub(b || "static");
q.master(q.master().split(":")[0]);
q.path("");
m && (q.master(m), q.sub(""));
q += a;
m = h("allowscriptaccess", "always");
k = h("movie", q) + h("play", "true") + h("loop", "true");
t = e.browserIs(g.BROWSERS.IE) || e.browserIs(g.BROWSERS.MSEDGE);
f = e.browserIs(g.BROWSERS.IE);
t && (t = d ? "window" : "transparent", k += h("wmode", t));
c && (m += h("FlashVars", c));
f ? (f = B.createElement("div"), t = "blag" + p.birthdate + n.random(), f.innerHTML = "<object " + ('id="' + t + '" ') + 'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ' + ('type="' + g.FLASH_MIME + '" ') + ('data="' + q + '" ') + ">" + k + m + "</object>", k = f.firstChild) : (k = B.createElement("object"),
k.data = q, k.type = g.FLASH_MIME, k.innerHTML = m);
q = k;
q.style.position = "absolute";
q.style.width = "1px";
q.style.opacity = "0";
q.style.height = "0px";
return k
}()
},
na = function(a, b, c, d, e, h, k, r) {
var t = h.browserIs(g.BROWSERS.IE) || h.browserIs(g.BROWSERS.MSEDGE),
q = "_IASflashPixelCallback" + (p.birthdate + "" + n.round(1E6 * n.random())),
m = !1,
x = !1,
w, A, z, D, G = function() {
if (w && f.isFunction(w.jsHandshake) && !m) {
w.style.height = "1px" === w.style.height ? "2px" : "1px";
try {
w.confirmResize()
} catch (a) {
m = !0, l.trigger("error", g.ERROR_CODES.FLASH_API_ACCESS)
}
}
},
H = function() {
if (m) return !1;
var a, c;
try {
(a = D || w && f.isFunction(w.jsHandshake)) && !x && (D = !0, u[q] = F, c = w.jsHandshake(q), x = !0, F(c))
} catch (b) {
a = !1, m = !0, l.trigger("error", g.ERROR_CODES.FLASH_API_ACCESS)
}
return a
},
F = function(a) {
try {
if (f.isUndef(a.isInView)) throw "corrupted Flash pixel message received";
z = 1 === +a.isInView
} catch (c) {
l.trigger("error", g.ERROR_CODES.FLASH_API_ACCESS)
}
},
C = function(a, c, b) {
var d = new T(t ? "/detector_4_5_IE.pix" : "/detector_4_5.pix"),
e = d.style;
d[g.IAS_DETECTOR] = "true";
e.left = c + "px";
e.top =
b + "px";
d.isPlaceholder || a.appendChild(d);
e.height = "1px";
w = d;
t && !d.isPlaceholder && setInterval(G, 100);
return d
}(a, b, c);
return {
isInView: function() {
var a;
if (H()) {
try {
a = z
} catch (c) {
D = !1, l.trigger("error", g.ERROR_CODES.COCOA_GONE)
}
h.browserIs("w") && void 0 !== a && (w.style.height = A ? "1px" : "2px", A = !A)
}
return H() && a
},
isNotReadyToReport: function() {
return !H()
},
createdFlash: w,
remove: function() {
C.parentNode && C.parentNode.removeChild(C)
}
}
},
oa = function(a, b, c, d, e, h, k) {
var r = h.browserIs(g.BROWSERS.IE) || h.browserIs(g.BROWSERS.MSEDGE),
t = !1,
q, m, x, w, A, z = function(a, c) {
return '<param name="' + a + '" value="' + c + '"/>'
},
D = function(a, c) {
return a + '="' + c + '" '
},
G = function() {
if (H() && !t) {
q.style.height = "1px" === q.style.height ? "2px" : "1px";
try {
q.confirmResize()
} catch (a) {
t = !0, l.trigger("error", g.ERROR_CODES.FLASH_API_ACCESS)
}
}
},
H = function() {
var a = !1;
try {
a = q && f.isFunction(q.jsHandshake)
} catch (c) {}
return a
},
F = function() {
if (t) return !1;
var a;
try {
if ((a = A || H()) && !x) {
A = !0;
var c = f.flatJSONParse(q.jsHandshake());
x = c.id;
if (f.isUndef(x)) throw "corrupted Flash pixel message received";
w = 1 === +c.isInView
}
} catch (b) {
a = !1, t = !0, l.trigger("error", g.ERROR_CODES.FLASH_API_ACCESS)
}
return a
};
y.addEvent(u, "message", function(a) {
try {
var c = f.flatJSONParse(a.data);
"IASCOCOA" === c.type && c.id === x && (w = 1 === +c.isInView)
} catch (b) {
l.trigger("error", g.ERROR_CODES.FLASH_API_ACCESS)
}
});
var C = function(a, c, b) {
var d;
d = new I;
var e = p.cocaPuffsPath;
d.sub("static");
d.master(d.master().split(":")[0]);
e && (d.master(e), d.sub(""));
var e = d + (r ? "/detector_4_2_IE.pix" : "/detector_4_1.pix"),
k = z("allowscriptaccess", "always"),
f = z("movie", e) + z("play", "true") + z("loop", "true");
r && (f += z("wmode", "transparent"));
h.browserIs(g.BROWSERS.IE) ? (d = B.createElement("div"), d.innerHTML = "<object " + D("id", "blag" + p.birthdate + n.random()) + D("classid", "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000") + D(g.IAS_DETECTOR, "true") + D("type", g.FLASH_MIME) + D("data", e) + ">" + f + k + "</object>", q = d.firstChild) : (q = B.createElement("object"), q.data = e, q.type = g.FLASH_MIME, q.innerHTML = k, q[g.IAS_DETECTOR] = "true");
q.style.position = "absolute";
q.style.width = "1px";
q.style.opacity =
"0";
q.style.height = "0px";
d = q;
e = d.style;
e.left = c + "px";
e.top = b + "px";
a.appendChild(d);
e.height = "1px";
r && setInterval(G, 100);
return d
}(a, b, c);
return {
isInView: function() {
var a;
if (F()) {
try {
a = w
} catch (c) {
A = !1, l.trigger("error", g.ERROR_CODES.COCOA_GONE)
}
h.browserIs("w") && void 0 !== a && (q.style.height = m ? "1px" : "2px", m = !m)
}
return F() && a
},
isNotReadyToReport: function() {
return !F()
},
createdFlash: q,
remove: function() {
C.parentNode && C.parentNode.removeChild(C)
}
}
},
V = function() {
var a = function(c, b, e) {
var h = b.length,
k = v.isWindow(c) ?
c.frames : v.getChildWindowsOf(c);
e && e(c, b);
if (k.length) {
for (c = 0; c < k.length; c++) b[h] = c, a(k[c], b, e);
b.pop()
}
},
b = function(c, b) {
try {
a(b || top, [0], c)
} catch (e) {}
};
return {
traverse: b,
getFrames: function(a, d) {
var e = [];
b(function(a) {
e.push(a)
}, d);
return f(e).filter(a)
}
}
},
da = function() {
var a = [];
return {
push: function(b) {
a[a.length] = b
},
run: function() {
var b = arguments;
f(a).each(function(a, d) {
d.apply({}, b)
})
}
}
},
ka = function(a) {
return {
doEligibleJobs: function(b) {
var c = a[0],
d = c && c.time;
d && b >= d && (c.task(), a.shift())
},
getNextJob: function() {
return a[0]
}
}
},
ea = function() {
var a = function(a, c, d, e) {
var h, k = f.noop,
r, t;
if (JSON && JSON.parse) try {
h = JSON.parse(a.data), r = a.source, c(h) && (e && (t = e(r, h)) && (k = function() {
(new aa(r)).send(function() {
return t
})
}), d(a, h, k))
} catch (q) {
h && l.trigger("error", g.ERROR_CODES.MESSAGE_LISTENER)
}
};
return {
listen: function(b, c, d) {
y.addEvent(u, "message", function(e) {
a(e, b, c, d)
})
}
}
},
aa = function(a) {
var b = function(a) {
return f(a).mapToObj(function(a, c) {
var b;
f.isFunction(c) || (b = {}, b[a] = c);
return b
})
};
return {
send: function(c) {
if (JSON && JSON.stringify) {
var d =
f(a).isObj() ? [a] : (new V).getFrames(a);
f(d).each(function(a, d) {
var k;
k = f.resolve(c, d) || {};
k.sentTime = n.now();
k = b(k);
d.postMessage(f(k).JSONStringify(), "*")
})
}
}
}
},
Jb = function(a, b) {
return {
onAll: function(c) {
var d = {};
f(b).each(function(e, h) {
a.on(h, function() {
d[h] = 1;
f(d).keys().length === b.length && (d = {}, c())
})
})
}
}
},
za = function(a) {
var b = 0,
c = {},
d = function(a, c, d) {
if (f.isUndef(a.output)) throw Error("item with id " + c + ' must have "output" method');
this.item = a;
this.id = c || ++b;
this.props = d || {};
this.output = function() {
var c =
f.resolve(a.output);
this.props.asION && (c = f(c).toION());
return c
}
},
e = function(a) {
var b, d, e = [];
for (b in c) c.hasOwnProperty(b) && (d = a(b, c[b])) && e.push(d);
return e
},
h = function(a, b, e) {
e = e || b;
e = "string" !== typeof e ? e : {};
var h = function(a, b, e) {
a = new d(a, b, e);
c[a.id] = a
};
f(a.output).isObj() && !e.asION ? f(a.output).each(function(a, c) {
h({
output: c
}, a, e)
}) : h(a, b, e)
};
a.on("addOutputItem", function(a, c, b) {
h(a, c, b)
});
return {
addItem: h,
filterOutput: function(a, c) {
return e(function(b, d) {
var e = d.props,
h;
a(e) && (h = d.output(),
e.encode && (b = encodeURIComponent(b), h = encodeURIComponent(h)), f.isFunction(c) ? c(b, h) : c[b] = h)
})
},
iterate: e,
cleanup: function() {
e(function(a, b) {
b.props.flagForRemoval && delete c[a]
})
},
getItem: function(a) {
return c[a]
}
}
},
Gb = function(a) {
var b = a.width - 5,
c = a.height - 5,
d = 0.5 * a.width + 1,
e = 0.5 * a.height + 1,
h = 0.3 * a.width + 1,
k = 0.7 * a.width + 1,
f = 0.3 * a.height + 1,
t = 0.7 * a.height + 2,
q, m = function(c, b) {
1 > c && (c = 1);
1 > b && (b = 1);
c > a.width && (c = 0 !== a.width ? a.width : 1);
b > a.height && (b = 0 !== a.height ? a.height : 1);
return {
x: n.floor(c),
y: n.floor(b)
}
};
q = [m(b, c), m(b, 5), m(5, c), m(5, 5), m(d, e), m(h, f), m(k, f), m(h, t), m(k, t)];
return {
get: function() {
return q
},
getPctInView: function(a) {
var c;
0 === a ? c = 0 : 1 === a ? c = 10 : 2 === a ? c = 20 : 5 > a ? c = 30 : 7 > a ? c = 50 : 9 > a ? c = 70 : 9 === a && (c = 100);
return c
}
}
},
Hb = function(a, b) {
var c = 0.5 * a.width + 1,
d;
d = [{
y: n.floor(0.5 * a.height + 1),
x: n.floor(c)
}];
return {
get: function() {
return d
},
getPctInView: function(a) {
return 1 === a ? 50 : 0
}
}
},
Ib = function() {
var a = {},
b = function(c, b) {
a[c] = b
};
return {
request: function(c) {
var b, e = a[c],
h = f(arguments).toArray();
h.shift();
f.isUndef(e) ||
(b = f.isFunction(e) ? e.apply({}, h) : e);
return b
},
provide: function(c, d) {
d ? a[c] = d : f(c).each(b);
return d
}
}
},
db = function(a, b, c) {
return {
collect: function() {
var b = a.find(),
e = b.getOutOfViewReasons(),
h = c.isHidden(),
k = E(v.calcWinDims()),
r = b.getDims();
if (!b.hasAd() || !k.hasValidDims() || !r.hasValidDims()) return {
viewState: g.NA,
posViewState: g.NA,
embedded: s.embedded,
winDimensions: k,
adDimensions: r
};
!0 === h && e.push(g.OUT_OF_VIEW_REASONS.FOCUS);
return {
winDimensions: k,
adDimensions: r,
containerDimensions: b.getContainerDims(),
method: b.getDetectionMethod(),
viewState: e.length ? g.OUT_OF_VIEW : b.getViewState(),
percentInView: b.getPercentInView(),
reason: e.join("."),
obstructed: f.stringifyTriState(b.isObstructed()),
isHidden: f.stringifyTriState(b.isHidden()),
tabHidden: f.stringifyTriState(h),
posViewState: b.getViewState(),
adCompCount: b.getComponentCount()
}
}
}
},
Kb = function(a) {
a = a || f.identity;
var b = [],
c = n.now(),
d = function() {
var a = n.now();
b.length && (b[b.length - 1].duration += a - c, c = a)
};
return {
clear: function() {
d();
b = []
},
fastForward: d,
get: function() {
return b
},
hasAlwaysBeen: function(a) {
return 1 === b.length && b[0].state === a
},
addState: function(c) {
var h = b[b.length - 1];
c = a(c);
d();
0 !== b.length && c === h.state || b.push({
state: c,
duration: 0
})
}
}
},
pa = function(a, b) {
var c = a || 1,
d = 0,
e = 0,
h, k = 0;
return {
start: function() {
0 === d % c && (h = n.now())
},
stop: function() {
var a = h || b;
0 === d % c && (k += n.now() - a, e++);
d++
},
getTime: function() {
return k
},
getCount: function() {
return e
}
}
},
fa = function() {
var a, b = 0,
c = 0,
d = new J(!0),
e = function() {
a && (b++, d.trigger(b), c > b ? n.execAtEndOfThread(e) : h())
},
h = function() {
a = !1;
b = 0
};
return {
onTick: function(a, b) {
var e = f.collapseArgsIntoHash(a, b);
f(e).each(function(a, b) {
a = parseInt(a);
c = a > c ? a : c
});
d.on(e)
},
start: function() {
a || (a = !0, n.execAtEndOfThread(e))
},
kill: h,
isActive: function() {
return a
}
}
},
la = function(a) {
var b = 0,
c = s.getTagTime(),
d = 0,
e, h;
return {
getTotalTime: function() {
return d
},
stop: function() {
b = 0;
c = s.getTagTime()
},
mark: function() {
e = s.getTagTime() - c;
b += e;
b > a && (h = b - e < a, d += h ? b : e);
c = s.getTagTime()
}
}
},
I = function(a, b) {
var c = a || p.adsafeSrc || p.requrl;
c && 0 !== c.indexOf("http") &&
(c = p.protocol + "://" + c);
var c = /((http|https):\/\/(([^\/\.]*)\.([^\/]*)))(?:\/(.[^?]*)\??(.+)?)*/.exec(c),
d = c[1],
e = c[2],
h = c[3],
k = c[4],
r = c[5],
t = a ? c[6] : "",
q = b ? c[7] : "",
m = {},
g = function(a) {
f.isDef(a) && (k = a);
return k
},
l = function(a) {
f.isDef(a) && (r = a);
return r
},
A = function(a, c) {
return a + "=" + f(c).toION()
},
q = q ? q.replace(/&$/, "") : "";
return {
fullDom: d,
hostname: h,
sub: g,
master: l,
setParam: function(a, c) {
m[a] = m[a] || {};
f(c).isObj() ? f(m[a]).mixin(c) : m[a] = c
},
path: function(a) {
t = a
},
_getQsParams: function() {
return m
},
toString: function() {
var a =
g() ? g() + "." : "",
c = t ? "/" + t : "",
b;
q || !f(m).isEmpty() ? (b = f(m).isEmpty() ? "" : f(m).stringify(A, "&"), b = "?" + q + (q && b ? "&" + b : b)) : b = "";
return e + "://" + a + l() + c + b
}
}
},
Cb = function(a) {
var b = function(a, b) {
var e;
b && b.id && (e = b.id.replace(/[^\w-_.\/]/g, ""));
return e
};
(function() {
var c;
try {
if ("jload" === p.mode && a.on("slid") && s.friendly && !s.isMobileApp()) {
var d, e;
if (d = v.getOurNodeInTop()) {
var h = v.getAncestorNodes(d);
e = f(h).map(b)
}(c = e = e && f(e).toION()) && l.trigger("addOutputItem", {
output: c
}, "slid", {
type: g.DT_CODES.ADTALK
})
}
} catch (k) {
l.trigger("error",
g.ERROR_CODES.AD_SLOT_ID)
}
})()
},
Qa = function() {
var a, b, c = function(a, c) {
-1 !== c.indexOf("https") && (c += "*");
return c.replace(/^https?:\/\//, "")
};
return {
isApplicable: function(a, c, b) {
return a.hasAncestorOrigins() && c.on("ancestor") && b.xDomainIframe
},
isStarted: function() {
return !!b
},
start: function() {
try {
a = n.getWindow().location.ancestorOrigins, b = !0
} catch (c) {
l.trigger("error", g.ERROR_CODES.ANCESTOR_ORIGINS)
}
},
getMyFrameDepth: function() {
return a && a.length || 0
},
getTopDomain: function() {
return f.last(a)
},
sendOriginList: function() {
var b;
b = "ao:" + (a ? f(a).map(c).reverse() : []).join(",");
l.trigger("addOutputItem", {
output: b
}, "tpiLookup", {
type: g.DT_CODES.THIRD_PARTY,
standalone: !0,
encode: !0
});
l.trigger("sendDt", g.DT_CODES.THIRD_PARTY)
}
}
},
ib = function(a, b, c, d, e) {
var h = function(a, c, b) {
e.addItem({
output: a + "." + c + "." + b
}, "ctpl")
},
k = function(e) {
try {
b.diagnostic("c");
var k = e.length,
q = 0,
m = 0;
h(k, 0, 0);
f(e).each(function(c, b) {
a.send(b.replace("%%CBS%%", d.getCacheBustId()), function() {
h(k, q, ++m)
}, !0);
h(k, ++q, m)
})
} catch (x) {
c.add(g.ERROR_CODES.AT_SEND)
}
};
return {
init: function() {
try {
var b = (new I).fullDom;
"/" !== b.slice(-1) && (b += "/");
b += "tpl?asId=" + p.asid;
a.jsonp(b, k)
} catch (d) {
c.add(g.ERROR_CODES.AT_INIT)
}
}
}
},
hb = function(a, b, c, d) {
return {
enabled: "true" === p.useBapiCallback,
callback: function(b) {
c.trigger("sendDiag");
try {
"true" === p.accountForSadImps && d.measure(b), p._onAPIResult && p._onAPIResult(b)
} catch (h) {
a.add(g.ERROR_CODES.BAPI_CALLBACK), c.trigger("sendDiag", "bapiClient")
}
}
}
},
Va = function() {
var a = g.BROWSERS,
b, c = function() {
var a = "0",
c = n.getWindow(),
b = function(a) {
return a.replace(/\D+/g,
",").match(/^,?(.+),?$/)[1].split(",").join(".")
};
try {
try {
var d = n.getNewActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
try {
d.AllowScriptAccess = "always"
} catch (e) {
a = "6"
}
} catch (h) {}
a = b(n.getNewActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version"))
} catch (k) {
try {
c.navigator.mimeTypes[g.FLASH_MIME].enabledPlugin && (a = b((c.navigator.plugins["Shockwave Flash 2.0"] || c.navigator.plugins["Shockwave Flash"]).description))
} catch (f) {}
}
return a
},
d = function() {
f.isUndef(b) && (b = c());
return b
},
e = function(a) {
return k() ===
a
},
h = function() {
var a = n.getDoc();
return a && a.documentMode ? a.documentMode : g.NA
},
k = function() {
var c = "u",
b = n.getWindow();
try {
f.isDef(b.opera) && f.isDef(b.opera.buildNumber) ? c = a.OPERA : f.isDef(b.mozInnerScreenY) ? c = a.GECKO : f.isDef(b.chrome) && f.isDef(b.chrome.csi) ? c = a.CHROME : f.isDef(b.msWriteProfilerMark) && f.isDef(b.crypto) ? c = a.MSEDGE : f.isDef(b.attachEvent) || f.isDef(b.msCrypto) ? c = a.IE : f.isDef(b.WebKitPoint) && (c = a.WEBKIT)
} catch (d) {}
return c
},
r = function() {
var c = ["{45EA75A0-A269-11D1-B5BF-0000F8051515}", "{3AF36230-A269-11D1-B5BF-0000F8051515}",
"{89820200-ECBD-11CF-8B85-00AA005B4383}"
],
b = g.NA,
d = n.getDoc(),
h = d.createElement("div");
if (e(a.IE)) try {
if ("-ms-ime-align" in d.documentElement.style) b = "11";
else
for (h.style.behavior = "url(#default#clientcaps)", d = 0; d < c.length && !(b = h.getComponentVersion(c[d], "componentid").replace(/,/g, ".")); d++);
} catch (k) {}
return b
};
return {
browserIs: e,
hasIntersectionObserver: function() {
return "function" === typeof IntersectionObserver
},
hasFlashEnabled: function() {
return "0" !== d()
},
hasAncestorOrigins: function() {
var a = n.getWindow().location;
return !(!a || !a.ancestorOrigins)
},
getFlashVersion: d,
getDocumentMode: h,
getBrowserType: k,
getUserAgent: function() {
var a = !1,
c = n.getWindow();
f.isDef(c.navigator) && f.isDef(c.navigator.userAgent) && (a = c.navigator.userAgent);
return a
},
isOnWin7: function() {
return 0 < n.getWindow().navigator.userAgent.indexOf("Windows NT 6.1")
},
isIEVersion: function(a) {
return 0 === r().indexOf(a)
},
params: function() {
var c = k(),
b = d(),
m;
m = 5;
var x = n.getWindow(),
l = n.getDoc();
e(a.IE) ? x.msCrypto ? m = 11 : x.atob ? m = 10 : x.addEventListener ? m = 9 : x.JSON &&
l.querySelector ? m = 8 : x.XMLHttpRequest ? m = 7 : l.compatMode && (m = 6) : m = g.NA;
var x = h(),
l = r(),
A = g.NA,
z = n.getWindow();
f.isDef(z.navigator) && f.isDef(z.navigator.appName) && (A = z.navigator.appName.toLowerCase()[0]);
return {
br: c,
fv: b,
bv: m,
dm: x,
abv: l,
an: A
}
}
}
},
Ua = function(a, b) {
var c = function(a, c) {
var b, d, e = p.contextNode.parentNode;
c = c || a;
a = 1 < arguments.length ? a : "script";
b = {
script: ['<script type="text/javascript" src="', '">\x3c/script>'],
iframe: ['<iframe width="100%" height="100%" frameborder="0" vspace="0" hspace="0" scrolling="no" marginheight="0" marginwidth="0" src="',
'"></iframe>'
],
img: ['<img src="', '"/>']
}[a];
d = b[0] + c + b[1];
"true" === p.forceAppend ? "script" !== a ? (b = B.createElement("DIV"), b.innerHTML = d, e.appendChild(b.childNodes[0])) : (b = B.createElement("SCRIPT"), b.src = c, e.appendChild(b)) : B.write(d)
},
d = function(a, c, b) {
var d = !b && y.getXHR2();
d ? (d.open("POST", a), d.onreadystatechange = function() {
4 === d.readyState && 200 === d.status && c && c()
}, d.send()) : (b = v.createImage(), c && (b.onload = c), b.src = a)
},
e = function(a, c) {
var b = B.createElement("script");
b.type = "text/javascript";
b.src =
a;
c && (b.onload = c);
f.isDef(p.contextNode.parentNode) && p.contextNode.parentNode.appendChild(b)
},
h = function(a) {
f.isFunction(a) ? a({
iasImpId: p.asid
}) : a && "string" === typeof a && d(a, void 0, !0)
},
k = function(a, c, d, h) {
e(b.wrap(a, c, d, h))
};
l.on({
addNode: c,
send: d,
exec: e,
notify: h,
jsonp: k
});
return {
addNode: c,
send: d,
exec: e,
notify: h,
jsonp: k
}
},
g = {
MRC_LARGE_AD_SIZE: 242500,
FLASH_MIME: "application/x-shockwave-flash",
IN_VIEW: "inView",
OUT_OF_VIEW: "outOfView",
PARTIAL_VIEW_PLUS: "partialViewPlus",
PARTIAL_VIEW_MINUS: "partialViewMinus",
NA: "na",
PIV_NA: -1,
DT_CODES: {
ADTALK: "a",
DIAGNOSTIC: "b",
PERFORMANCE: "e",
THIRD_PARTY: "i",
LARGE_BILLABLE: "l",
VIDEO_EVENTS: "m",
PING: "p",
FULLY_INVIEW: "pf",
QUARTILE_FULLY_INVIEW: "qf",
AVIREEN: "r",
SCA: "s",
POS_INVIEW: "t",
UNLOAD: "u",
VIEWABILITY_READY: "v",
VH: "vh",
EXTERNAL: "x"
},
DETECTION_METHODS: {
AD_PLACEHOLDER: "s",
AD_HUNT: "a",
IFRAME: "i",
VIDEO: "v",
MRAID: "m",
AVID: "av",
MUTATION: "c",
SPECIFIED_AD: "sp"
},
OUT_OF_VIEW_REASONS: {
GEOM: "l",
OBSTRUCTION: "o",
FOCUS: "f",
COLLAPSED: "c",
HIDDEN: "h",
VIDEO: "v"
},
VIDEO_CHANNELS: {
VANS: {
AS3_ADAPTOR: "av3",
JS_ADAPTOR: "jv3"
},
WRAPPERS: {
JS: "jvw"
}
},
PERF_TIMELINE_TRACKER_CONFIG: {
VANS: {
TYPE: "vans",
COUNT: 4
},
WRAPPERS: {
JS: {
TYPE: "jswrapper",
COUNT: 15
},
AS: {
TYPE: "flwrapper",
COUNT: 9
}
}
},
ERROR_CODES: {
GET_AD_DIMENSIONS: "a",
AD_SLOT_ID: "A",
BAPI_CALLBACK: "b",
BROWSER_NOT_HTML5_COMPATIBLE: "B",
ADTALK_GENERAL: "c",
COCOA_GONE: "C",
GET_SCREEN_LOC_GET_DIMENSIONS: "d",
ADTALK_DUBIOUS: "D",
NO_CONTAINER: "e",
POST_IMPRESSION: "E",
ADTALK_DELAY: "f",
VIDEO_IN_IFRAME_DIMS_CALC: "F",
GREEN: "g",
INIT_ADS_MANAGER: "G",
PHONE_HOME: "h",
UID_GENERATION: "i",
IMPRESSION_URLS: "I",
NOT_VPAID_EVENT_OBJECT: "j",
JSINFO: "J",
KILL_IT: "k",
NO_RESPONSE_XML: "K",
LOCATION_DETAILS: "l",
IMPRESSION_LEADUP: "L",
MESSAGE_LISTENER: "m",
MOBILE_APP: "M",
AT_INIT: "N",
OFF_DESKTOP: "O",
ANCESTOR_ORIGINS: "o",
GET_SCREEN_LOC_PIV_CALC: "p",
PLUGIN_PARSING: "P",
NO_ORIGINAL_VAST: "q",
AVIREEN: "r",
AD_ERROR: "R",
GET_ELEM_STYLE: "s",
AT_SEND: "S",
ADS_MANAGER_START_AD: "t",
NO_COMPANION_AD_XML: "T",
NO_VIDEO_AD_INTERFACE: "u",
UNRECOGNIZED_EVENT_TYPE: "U",
ENVIRONMENT: "v",
CHECK_SCREEN_LOC: "V",
GET_WIN_DIMENSIONS: "w",
AC_WATCHER: "W",
EXCHANGE_PARSING: "x",
SCA: "X",
FLASH_API_ACCESS: "z"
},
BROWSERS: {
WEBKIT: "w",
OPERA: "o",
GECKO: "g",
CHROME: "c",
IE: "i",
MSEDGE: "e"
},
MEDIA_TYPE_CODE: "mtp",
MEDIA_TYPE: {
DISPLAY: "display",
DISPLAY_CODE: "d",
VIDEO: "video",
VIDEO_CODE: "v"
},
MEASUREMENT_STRATEGY: {
DISPLAY: "display",
VIDEO: "video"
},
IMPRESSION_EVENT: "impression",
AD_IDENTIFIER: "data-integralas-id",
IAS_DETECTOR: "iasdetector"
},
s = function() {
var a = u != top,
b = function() {
var a;
try {
a = !!top.document
} catch (c) {
a = !1
}
return a
}(),
c = function() {
return f.isDef(n.getWindow().avid)
};
return {
embedded: a,
friendly: b,
friendlyIframe: a && b,
xDomainIframe: a && !b,
getTagTime: function() {
return n.now() - p.birthdate
},
getPageTime: function() {
return f.isDef(u.chrome) && f.isDef(u.chrome.csi) && f.isFunction(u.chrome.csi) ? n.round(chrome.csi().pageT) : g.NA
},
isVideo: function() {
var a;
if (!(a = -1 !== p.mode.indexOf("jsvid"))) {
var b;
a = !1;
if (c()) try {
b = n.getWindow().avid.getAvidAdSessionContext(), a = b.mediaType === g.MEDIA_TYPE.VIDEO
} catch (h) {}
}
return a
},
isMobileApp: function() {
return f.isDef(u.mraid)
},
isSpecifiedAd: function() {
var a =
p._cl_adpath;
return a && f.isStr(a)
},
isAvid: c
}
}(),
y = {
addEvent: function(a, b, c, d) {
f.isDef(a.addEventListener) ? "mouseenter" === b ? a.addEventListener("mouseover", y.mouseEnter(c), d) : "mouseleave" === b ? a.addEventListener("mouseout", y.mouseEnter(c), d) : a.addEventListener(b, c, d) : f.isDef(a.attachEvent) && ("DOMContentLoaded" === b && (b = "load"), a.attachEvent("on" + b, c))
},
removeEvent: function(a, b, c) {
f.isDef(a.removeEventListener) ? ("mouseenter" === b ? (b = "mouseover", c = y.mouseEnter) : "mouseleave" === b && (b = "mouseout", c = y.mouseEnter),
a.removeEventListener(b, c)) : f.isDef(a.detachEvent) && a.detachEvent("on" + b, c)
},
mouseEnter: function(a) {
var b = this;
return function(c) {
var d = c.relatedTarget;
this === d || b.isAChildOf(this, d) || a.call(this, c)
}
},
isAChildOf: function(a, b) {
if (a === b) return !1;
for (; b && b !== a;) b = b.parentNode;
return b === a
},
getStyle: function(a, b, c) {
var d = "";
c = c || "";
B.defaultView && B.defaultView.getComputedStyle ? d = B.defaultView.getComputedStyle(a, c).getPropertyValue(b) : a.currentStyle && (b = b.replace(/\-(\w)/g, function(a, c) {
return c.toUpperCase()
}),
d = a.currentStyle[b]);
return d
},
getXHR2: function(a, b) {
var c, d;
f.isDef(u.XMLHttpRequest) ? (d = new XMLHttpRequest, "withCredentials" in d && (c = d)) : f.isDef(XDomainRequest) && (c = new XDomainRequest);
return c
},
whenReady: function(a, b) {
var c = b || (s.xDomainIframe ? B : n.getTop().document),
d = function(a) {
var b = setInterval(function() {
c.body && (clearInterval(b), a())
}, 50)
},
e = this;
(function(a) {
var b = function() {
a(!0)
};
f.isFunction(B.addEventListener) ? "complete" == c.readyState || "loaded" == c.readyState || "interactive" == c.readyState ?
n.execAtEndOfThread(b) : e.addEvent(c, "DOMContentLoaded", b, !1) : d(a)
})(a)
},
isSandboxed: function(a) {
var b, c = n.getWindow(),
d = !1;
if ("sandbox" in n.getDoc().createElement("iframe")) {
try {
b = c.frameElement
} catch (e) {}
if (b) a = b.hasAttribute("sandbox");
else {
b = !1;
c = n.getDoc();
if (a.browserIs(g.BROWSERS.CHROME)) try {
c.domain = "hol@#3+~"
} catch (h) {
/Assignment is forbidden for sandboxed iframes/.test(h.message) && (b = !0)
}
a = b
}
d = a
}
return d
}
},
fb = function(a, b, c, d, e, h, k, r) {
var t = 0,
q = 0,
m = !1,
x, w = {},
A = [g.DT_CODES.ADTALK],
z = function(a,
b, h, r, x, A) {
h = h || !c.on("postDts");
var z = a === g.DT_CODES.VH || a === g.DT_CODES.DIAGNOSTIC || a === g.DT_CODES.ADTALK;
if (d.impressionIsIdentifiable() && (z || "n" !== k.getCurrentLoc())) try {
var D = p.dtBaseURL,
s = new I(D, !0),
u = n.now(),
v = w[a];
l.trigger("preSendDt", a);
D || (s.path("dt"), c.on("usedtdomain") && s.sub("dt"));
G(s, a, b);
x && x.field && s.setParam(x.field, x.value);
r || H(s, a);
l.trigger("send", s, function() {
q += 1;
t = n.now() - u;
f.isFunction(A) && A()
}, h);
a === g.DT_CODES.UNLOAD && (m = !0);
w[a] = f.isDef(v) ? v + 1 : 1;
e.cleanup()
} catch (y) {
__IntegralASDiagnosticCall("dt-" +
a, y), l.trigger("error", g.ERROR_CODES.PHONE_HOME)
}
};
a = function(a, b) {
var d = {
bapi: "a",
bapiClient: "b",
jload: "c",
jss: "d",
jsi: "e"
},
e = p.mode,
d = d[a] || d[e];
c.on(b || e + "Diag") && d && z(g.DT_CODES.DIAGNOSTIC, -5, !0, !0, {
field: "bkp",
value: d
})
};
var D = function(a) {
var c;
a === g.DT_CODES.UNLOAD ? c = -1 : a === g.DT_CODES.ADTALK ? c = -2 : a === g.DT_CODES.VIEWABILITY_READY ? c = -3 : a === g.DT_CODES.VIDEO_EVENTS ? c = -4 : a === g.DT_CODES.DIAGNOSTIC ? c = -5 : a === g.DT_CODES.THIRD_PARTY ? c = -6 : a === g.DT_CODES.QUARTILE_FULLY_INVIEW ? c = -7 : a === g.DT_CODES.LARGE_BILLABLE ?
c = -8 : a === g.DT_CODES.AVIREEN ? c = -9 : a === g.DT_CODES.SCA && (c = -10);
var b = w[a];
f.isDef(b) && -1 !== A.indexOf(a) && 0 !== b && (c = c + "." + b);
return c
},
G = function(a, c, b) {
b = f.isDef(b) ? b : D(c);
a.setParam("asId", p.asid);
b = {
c: d.getCacheBustId(),
pingTime: b,
time: s.getTagTime(),
type: c
};
e.filterOutput(function(a) {
var b = a.minDt && (!a.type || a.type === c);
b && a.oneTime && (a.flagForRemoval = !0);
return b
}, b);
a.setParam("tv", b)
},
H = function(a, d) {
var f, m = {};
e.filterOutput(function(a) {
return a.standalone && !a.minDt && a.type === d
}, function(c, b) {
a.setParam(c,
b.replace("%3A", ":"))
});
k.fastForward();
d === g.DT_CODES.VIDEO_EVENTS && (f = l.request("videoEventsString")) && (m.ve = f, m.clog = r);
d === g.DT_CODES.UNLOAD && (m.ndt = q); - 1 !== p.mode.indexOf("jsvid") && (m.vv = l.request("videoVersion"));
m.NULL1 = c.output();
m.NULL2 = k.stringify(10);
m.em = s.embedded;
m.fr = s.friendly;
m.uf = x.useFlash() ? 1 : 0;
m.e = b.toString();
m.tt = p.mode;
m.dtt = t;
e.filterOutput(function(a) {
var c = !a.standalone && !a.minDt && (!a.type || a.type === d);
c && a.oneTime && (a.flagForRemoval = !0);
return c
}, m);
a.setParam("tv", m);
a.setParam("br", h.getBrowserType())
};
l.on({
sendDt: z,
sendMinDt: function(a, c) {
z(a, c, void 0, !0)
},
sendDiag: a,
updateDtCount: function() {
q++
}
});
return {
send: z,
unload: function() {
m || z(g.DT_CODES.UNLOAD, -1, !0)
},
diagnostic: a,
setViewabilityMod: function(a) {
x = a
}
}
},
E = function(a) {
var b = {},
c = !1,
d = function() {
var a = {};
f(b).each(function(c, b) {
a[c] = n.round(b)
});
return a
},
e = function() {
return n.round(b.width) * n.round(b.height)
};
(function() {
var c;
a !== u.parent && (1 !== a.nodeType ? b = a : f.isDef(a.getBoundingClientRect) && (c = v.getRect(a),
f(b).mixin({
x: f.useIfDef(c.x) || c.scrX,
y: f.useIfDef(c.y) || c.scrY,
scrX: c.scrX,
scrY: c.scrY,
width: c.width,
height: c.height
})))
})();
return {
hasValidDims: function() {
var a, c = f(b).find(function(c, b) {
a = !0;
return isNaN(b)
});
return f.isDef(a) && f.isUndef(c)
},
toString: function() {
var a = d();
return [a.scrX, a.scrY, a.width, a.height].join(".")
},
getRounded: d,
set: function(a, c) {
b[a] = c
},
isHidden: function() {
var b = 1 === a.nodeType ? v.nodeIsHidden(a) : 0 === a.width || 0 === a.height;
return c ? !1 : b
},
treatAsPlaceholder: function() {
c = !0
},
area: e,
isMrcLarge: function() {
return e() >= g.MRC_LARGE_AD_SIZE
}
}
},
v = {
nodeIsHidden: function(a) {
var b = this.getRect(a),
c = 0 !== parseInt(y.getStyle(a, "width")) && 0 === b.width,
b = 0 === b.width || 0 === b.height;
a = "hidden" === y.getStyle(a, "visibility");
return c || b || a
},
calcWinDims: function() {
var a, b, c;
try {
b = v.windowPosition(), c = v.windowSize(), a = {
scrX: n.round(b.scrX),
scrY: n.round(b.scrY),
width: n.round(c.width),
height: n.round(c.height)
}
} catch (d) {
l.trigger("error", g.ERROR_CODES.GET_WIN_DIMENSIONS), a = {}
}
return a
},
windowSize: function() {
var a = {},
b, c;
if (s.friendly)
if (b = top.document, c = b.documentElement, b = b.getElementsByTagName("body")[0], f.isDef(top.innerWidth)) a.width = top.innerWidth, a.height = top.innerHeight;
else if (f.isDef(c.clientWidth)) a.width = c.clientWidth, a.height = c.clientHeight;
else if (f.isDef(b.clientWidth)) a.width = b.clientWidth, a.height = b.clientHeight;
else throw a.width = a.height = 0, "";
else f.isDef(u.outerWidth) && (a.width = u.outerWidth, a.height = u.outerHeight);
return a
},
windowPosition: function() {
var a = 0,
b = 0;
f.isDef(u.screenX) ? (a = u.screenX,
b = u.screenY) : f.isDef(u.screenLeft) && (a = u.screenLeft, b = u.screenTop);
return {
scrX: a,
scrY: b
}
},
getNodeArea: function(a) {
var b = -1;
a && (a = v.getRect(a), b = a.width * a.height);
return b
},
getRect: function(a) {
var b = {},
c = v.windowPosition();
a = a.getBoundingClientRect();
f.isUndef(a.x) && (b.x = a.left, b.y = a.top);
f.isUndef(a.width) && (b.width = a.right - a.left, b.height = a.bottom - a.top);
f(b).mixin(a, !0);
b.scrX = c.scrX + b.x;
b.scrY = c.scrY + b.y;
return b
},
getIeDimObj: function() {
return B.documentElement && f.isDef(B.documentElement.clientWidth) &&
B.documentElement || B.body
},
getPlaceholderSpan: function() {
var a = B.createElement("span");
f(a.style).mixin({
width: "0px",
height: "0px",
display: "block",
overflow: "hidden",
visibiility: "hidden"
});
a.innerHTML = ".";
return a
},
createImage: function() {
return new((s.friendly ? n.getTop() : n.getWindow()).Image)
},
appendElement: function(a, b, c) {
var d = n.getDoc().createElement(a);
b && f(b).each(function(a, c) {
"style" === a && "object" === typeof d.style && "function" === typeof d.style.setAttribute ? "string" === typeof c && f(c.split(";")).each(function(a,
c) {
c = c.trim();
if (c.length) {
var b = c.split(":");
2 === b.length && (d.style[b[0].trim()] = b[1].trim())
}
}) : d.setAttribute(a, c)
});
c = c || p.contextNode.parentNode;
c.appendChild(d);
return d
},
tagNameIs: function(a, b) {
return a.tagName.toUpperCase() === b.toUpperCase()
},
getClippedDimensions: function(a, b) {
var c, d, e, h = 1E4,
k = 1E4;
c = "absolute" === y.getStyle(a, "position");
e = !v.tagNameIs(a, "OBJECT");
if (null !== a.parentNode && !c && e && !v.tagNameIs(b, "BODY")) {
e = a;
do e = e.parentNode, c = !v.tagNameIs(e, "OBJECT"), d = "inline" !== y.getStyle(e,
"display"), c && d && (c = v.getRect(e), h = c.width < h ? c.width : h, k = c.height < k ? c.height : k); while (e.parentNode !== B && e !== b)
}
return {
width: n.round(h),
height: n.round(k)
}
},
findChildWithLargestContent: function(a) {
var b = function(c) {
for (; c.parentNode !== a && "inline" !== y.getStyle(c.parentNode, "display");) c = c.parentNode;
return c
},
c = null,
d = function(c) {
var b, d, f = null,
g = -1;
if (c.length)
for (b = 0, d = c.length; b < d; b++) {
var q = c[b],
m = v.getNodeArea(q),
l;
if (l = m > g) {
l = void 0;
if (l = q.parentNode === a)
if (l = void 0, l = "DIV" === q.nodeName)
if (l = void 0,
l = "" === q.style.backgroundImage) {
var w = l = void 0,
A = q.childNodes;
for (l = 0; l < A.length; l++) 1 === A[l].nodeType && (w = !0);
l = !w
}
l = !l
}
l && (f = q, g = m)
}
return f
}(function(a) {
var c, b, d, f, g = [],
m = "iframe img a object embed div".split(" ");
c = 0;
for (b = m.length; c < b; c++) {
var l = a.getElementsByTagName(m[c]);
if (l.length)
for (d = 0, f = l.length; d < f; d++) g.push(l[d])
}
return g
}(a));
d && (c = b(d));
return c
},
screenSize: function() {
var a = {
width: -1,
height: -1
};
try {
f.isDef(u.screen) && (a = {
width: u.screen.width,
height: u.screen.height
})
} catch (b) {}
return a
},
calcMonDims: function() {
var a = f(v.screenSize()).mixin({
scrX: 0,
scrY: 0
});
f.isDef(screen.availLeft) && (a = {
scrX: u.screen.availLeft,
scrY: u.screen.availTop,
width: u.screen.availWidth,
height: u.screen.availHeight
});
return a
},
getOurIFrameInTop: function() {
for (var a, b = n.getTop(), c = n.getWindow(); c != b;) a = c, c = a.parent;
return a
},
getOurNodeInTop: function() {
var a;
s.friendly && (a = s.embedded ? (a = v.getOurIFrameInTop()) && a.frameElement : p.contextNode);
return a
},
getAncestorNodes: function(a) {
var b = [],
c = a.ownerDocument && a.ownerDocument.documentElement;
if (c)
for (; a.parentNode !== c;) b.push(a), a = a.parentNode;
return b
},
getTagsNamed: function(a, b) {
var c, d = b || n.getDoc();
try {
c = d.getElementsByTagName(a)
} catch (e) {
c = null
}
return c
},
containsScriptTagWithSrc: function(a) {
return !!f(v.getTagsNamed("script")).findFirst(function(b, c) {
var d = c.src;
return f.isFunction(a) ? a(d) : d === a
})
},
querySelector: function(a, b) {
var c;
try {
c = a.querySelector(b)
} catch (d) {
c = null
}
return c
},
nodeIsInWindow: function(a, b) {
return a.ownerDocument && (a.ownerDocument.defaultView || a.ownerDocument.parentWindow) ===
b
},
setAttributeOf: function(a, b, c) {
a && f.isFunction(a.setAttribute) && a.setAttribute(b, c)
},
removeAttributeOf: function(a, b) {
a && f.isFunction(a.removeAttribute) && a.removeAttribute(b)
},
getNodeName: function(a) {
return a && a.nodeName
},
isWindow: function(a) {
var b = !1;
try {
b = a && "object" === typeof a && "setInterval" in a
} catch (c) {
b = !0
}
return b
},
getChildWindowsOf: function(a) {
var b = [];
(a = v.getTagsNamed("iframe", a)) && (b = f(a).map(function(a, b) {
return b.contentWindow
}));
return b
}
},
xa = function() {
var a = {},
b = function(c) {
f.isDef(a[c]) ?
a[c] ++ : a[c] = 1
};
l.on("error", function(a) {
a = f(a).isObj() ? a.errorCode : a;
b(a)
});
return {
list: a,
add: b,
toString: function() {
var c = "",
b;
for (b in a) a.hasOwnProperty(b) && (c += b);
return c
},
hasErrors: function() {
for (var c in a) return !0;
return !1
}
}
},
zb = function(a, b) {
var c = function(a) {
var c = [];
if (a && a instanceof Array) c = f(a).map(function(a, c) {
return c.val
}), c.push(p.adsafeSrc, p.requrl, p.reqquery);
else throw Error("Unexpected data type in ExchangeParser.getUrlList");
return c
};
return {
parse: function(d) {
try {
var e, h = c(d),
k = h && h.length && h.join("|"),
r = p.exchList;
k && (e = f(r).map(function(a, c) {
return 0 <= k.indexOf(Q.rot(c)) ? a : void 0
}), e.length && b.addItem({
output: e.join(".")
}, "ex", {
type: g.IMPRESSION_EVENT
}))
} catch (t) {
a.add(g.ERROR_CODES.EXCHANGE_PARSING)
}
}
}
},
wa = function() {
var a = {},
b = function(c) {
var b;
f.isUndef(a[c]) && (b = p.jsFeatures, a[c] = !1, -1 !== b.indexOf(c) && (b = RegExp(c + "(?=$|,)|" + c + ":(?!,|$)(.?\\d*(?=,|$))").exec(b))) && (b = b[1], a[c] = !b || b > 100 * n.random());
return a[c]
},
c = {
fc: "forcecocoa",
rt: "rattie",
cb: "cachebust",
np: "nextcocoa",
th: "tabHiddenDtCall",
es: "everySecond",
sa: "swapids"
},
d = {
gm: "use100v",
fif: "useFIF"
},
e = function() {
var b, e;
b = f(c).mapToObj(function(c, b) {
var d = {};
d[c] = a[b] ? 1 : 0;
return d
});
e = f(d).mapToObj(function(a, c) {
var b = {};
b[a] = h(c) ? 1 : 0;
return b
});
return f(b).mixin(e)
},
h = function(a) {
a = p[a];
return !0 === a || "true" === a || f.isFunction(a)
};
f(c).each(function(a, c) {
b(c)
});
return {
on: b,
bootstrapOn: h,
bootstrapperHas: function(a) {
a = f.isStr(a) ? [a] : a;
return f(a).map(function(a, c) {
if (f.isDef(p[c])) return 1
}).length === a.length
},
output: function() {
return f(e()).toParams()
}
}
},
Za = function(a) {
var b = g.BROWSERS,
c = l.request("intersectionWatcher");
return {
calcInitialViewState: function(d, e, h) {
var k = {
IN_VIEW: 65,
OUT_OF_VIEW: 25,
PARTIAL_VIEW: 30
},
f = {
IN_VIEW: 75,
OUT_OF_VIEW: 25,
PARTIAL_VIEW: 50
},
t = g.NA,
q = !s.xDomainIframe || c.isStarted() || a.browserIs(b.GECKO) || a.browserIs(b.IE);
h = h ? k : f;
if (q || e) t = d === g.PIV_NA ? g.NA : d >= h.IN_VIEW ? g.IN_VIEW : d <= h.OUT_OF_VIEW ? g.OUT_OF_VIEW : d >= h.PARTIAL_VIEW ? g.PARTIAL_VIEW_PLUS : g.PARTIAL_VIEW_MINUS;
return t
},
calcPercentInView: function(a, b, h, k) {
var g = 0,
t = a;
c.isStarted() ?
g = c.getPiv() : a.hasValidDims() && !a.isHidden() && (f([b, h, k]).each(function(a, c) {
if (c.hasValidDims()) {
var b = t.getRounded(),
d = c.getRounded(),
e = Math.max(b.scrX, d.scrX),
h = Math.max(b.scrY, d.scrY),
k = Math.min(b.scrX + b.width, d.scrX + d.width),
b = Math.min(b.scrY + b.height, d.scrY + d.height),
k = k - e,
b = b - h;
t = E({
scrX: e,
scrY: h,
width: 0 < k ? k : 0,
height: 0 < b ? b : 0
})
}
}), g = n.round(t.area() / a.area() * 100));
return g
}
}
},
ya = function(a) {
var b = !1;
return {
getCacheBustId: function() {
var a = new Date,
b = Date.parse("Jan 1 " + a.getFullYear()),
a = a.getTime() -
b;
return f.toBase(a, 62)
},
impressionIsIdentifiable: function(a) {
a && (b = !0);
return b
},
unq: function(a) {
var b = [];
b.push(a.slice(0, 8));
b.push(a.slice(8, 12));
b.push(a.slice(12, 16));
b.push(a.slice(16, 20));
b.push(a.slice(20));
return b.join("-")
}(function() {
var c = "";
try {
for (var b, e = u.Uint32Array && u.crypto && u.crypto.getRandomValues; 32 > c.length;) e ? (b = new Uint32Array(1), u.crypto.getRandomValues(b), c += b[0].toString(16)) : c += (16 * n.random() | 0).toString(16);
c = c.slice(0, 32)
} catch (h) {
a.add(g.ERROR_CODES.UID_GENERATION)
}
return c
}())
}
},
Ya = function(a) {
var b, c, d = l.request("features"),
e = function() {
var e, h, m, r, w = n.getMaxNumber();
e = n.getMaxNumber();
h = n.getWindow();
n.getDoc();
s.friendly ? (e = k(), m = e.left, r = e.top, w = e.width, e = e.height, h = v.windowPosition(), m = h.scrX + m, r = h.scrY + r) : d.on("rattie") && a.browserIs(g.BROWSERS.IE) ? (c = c || l.request("ieXDomainViewability"), b = c.determineFramePosition(), m = b.scrX, r = b.scrY) : f.isDef(h.mozInnerScreenX) && (m = n.round(h.mozInnerScreenX), r = n.round(h.mozInnerScreenY));
return {
scrX: m,
scrY: r,
iFrameClippingWidth: w,
iFrameClippingHeight: e
}
},
h = function() {
var a, b, c = v.getIeDimObj(),
d = n.getWindow();
f.isDef(d.innerWidth) ? (a = d.innerWidth, b = d.innerHeight) : c && f.isDef(c.clientWidth) ? (a = c.clientWidth, b = c.clientHeight, 0 === a && 0 < c.offsetWidth && (a = c.offsetWidth), 0 === b && 0 < c.offsetHeight && (b = c.offsetHeight)) : d.frameElement && f.isDef(d.frameElement.clientWidth) && (a = d.frameElement.clientWidth, b = d.frameElement.clientHeight);
return {
width: a,
height: b
}
},
k = function(a, c) {
a = a || n.getWindow();
c = c || {
top: 0,
left: 0,
width: n.getMaxNumber(),
height: n.getMaxNumber()
};
for (var b,
d = a.parent.document.getElementsByTagName("iframe"), e = !1, h = 0, f = d.length; h < f; h++)
if (b = d[h], b.contentWindow == a) {
e = !0;
break
}
if (e) {
b = v.getRect(b);
c.left += b.left;
c