Advertisement
Guest User

Untitled

a guest
Sep 2nd, 2014
254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 89.98 KB | None | 0 0
  1. var __IntegralASDiagnosticCall = function() {};
  2.  
  3. try {
  4. var __IntegralASConfig = {
  5. jsDoSplit: "false",
  6. cocaPuffsPath: "",
  7. debug: "false",
  8. killPhrases: "",
  9. useAdTalk: "true",
  10. jsDiag: 'false',
  11. version: '0',
  12. cookieDomain: 'sc.iasds01.com/dtc',
  13. trackMouse: "true",
  14. exchList: {
  15. 'e1': 'nqzryq',
  16. 'e2': 'tbbtyrnqf.t.qbhoyrpyvpx',
  17. 'e3': 'ehovpbacebwrpg',
  18. 'e4': 'chozngvp',
  19. 'e5': 'bcrak',
  20. 'e6': 'nqoevgr.pbz',
  21. 'e7': 'tynz.pbz',
  22. 'e8': 'lvryqznantre.pbz',
  23. 'e9': 'yvwvg',
  24. 'e10': 'nqakf',
  25. 'p11': 'ghea.pbz',
  26. 'p12': 'zngugnt',
  27. 'p13': 'vaivgrzrqvn',
  28. 'p14': 'qngnkh',
  29. 'n15': 'zrqvn6qrterrf',
  30. 'n16': 'dhnagfreir',
  31. 'n17': 'esvuho.arg',
  32. 'a18': 'napubeserr',
  33. 'a19': 'eff2frnepu',
  34. 'a20': 'mgfgngvp.pbz',
  35. 'n21': 'ovq.npr.nqiregvfvat',
  36. 'e22': 'wnfba',
  37. 'v23': 'fcbgkpqa',
  38. 'v24': 'ogeyy',
  39. 'v25': 'yvirenvy',
  40. 'v26': 'nqncgi',
  41. 'v27': 'nqnc.gi',
  42. 'n29': 'qbzqrk.pbz',
  43. 'n30': 'ernyih.arg',
  44. 'd31': 'cvengronl',
  45. 'd32': 'cebklonl',
  46. 'd33': 'onlcebkl',
  47. 'd34': 'cvengrcebkl',
  48. 'd35': 'cebklcvengr',
  49. 'd36': 'onlcvengr'
  50. },
  51. _onInViewMRC: __IntegralASConfig && __IntegralASConfig.onInViewMRC,
  52. _onInViewMRC5: __IntegralASConfig && __IntegralASConfig.onInViewMRC5,
  53. _onInViewMRC15: __IntegralASConfig && __IntegralASConfig.onInViewMRC15,
  54. _onMeasurable: __IntegralASConfig && __IntegralASConfig.onMeasurable,
  55. _onAPIResult: __IntegralASConfig && __IntegralASConfig.onAPIResult,
  56. protocol: 'http',
  57. jsref: "",
  58. asid: "6ce901fe-32fa-11e4-9052-002590302890",
  59. allowViewability: "true",
  60. jsFeatures: "mousetrack:0,cocoapuffs,viewabilityready,consecutive,cachebust:0,forcecocoa:0,rattie:0,exch,recordalternate:100,usedtdomain,nextcocoa,bapiDiag:10,cookie,postDts:0,videotwoseconds,getPl,decodePl,resolution,usetpl",
  61. adTalkDtCall: "true",
  62. adsafeDomain: "adsafeprotected.com:80",
  63. minimizeCalls: "false",
  64. adWidth: "",
  65. adHeight: "",
  66. forceAppend: "true",
  67. requrl: "http://pixel.adsafeprotected.com/",
  68. reqquery: "anId=6172&pubId=uvidi",
  69. mode: "jload",
  70. adsafeSrc: "",
  71. adsafeSep: "",
  72. useBapiCallback: "",
  73. useViewabilityNotification: "",
  74. scriptUrl: "http://pixel.adsafeprotected.com/jload?anId=6172&pubId=uvidi",
  75. accountForSadImps: '',
  76. sendCookie: 'false',
  77. fwMonitoring: '',
  78. mn: "app16sje",
  79. getTpl: "false",
  80. videoId: ''
  81. };
  82.  
  83. if (__IntegralASConfig.jsFeatures.indexOf('asidJsDiagnostic') !== -1) {
  84. var fakeErr = {
  85. message: __IntegralASConfig.asid
  86. };
  87. __IntegralASDiagnosticCall('asid', fakeErr);
  88. }
  89.  
  90. __IntegralASConfig.birthdate = new Date().getTime();
  91. __IntegralASConfig.thisScriptNode = (function() {
  92. var tempScript,
  93. embedded = window != top,
  94. scripts = document.getElementsByTagName('script'),
  95. result = scripts[scripts.length - 1],
  96. scriptIndex = scripts.length,
  97. useDocWrite = 'jss,jsi,jspix'.indexOf(__IntegralASConfig.mode) !== -1,
  98. scriptUrl = __IntegralASConfig.scriptUrl;
  99.  
  100. try {
  101. while (--scriptIndex >= 0) {
  102. tempScript = scripts[scriptIndex];
  103. if (tempScript.src && tempScript.src.indexOf(scriptUrl) === 0 && tempScript.getAttribute('data-ias-script-tag') === null) {
  104. result = tempScript;
  105. tempScript.setAttribute('data-ias-script-tag', 'found');
  106. break;
  107. }
  108. }
  109. if (scriptIndex === 0 && useDocWrite && !embedded) {
  110. document.write('<span id="s' + __IntegralAS.asid + '"/>');
  111. result = document.getElementById('s' + __IntegralAS.asid).parentNode;
  112. }
  113. } catch (e) {}
  114.  
  115. return result;
  116. }());
  117.  
  118. } catch (err) {
  119. __IntegralASConfig = {};
  120. __IntegralASDiagnosticCall('bootstrapper', err);
  121. }
  122.  
  123. __IntegralASConfig.initialize = function(k) {
  124. var Ha = function() {
  125. var a = -1 !== k.mode.indexOf("jsvid"),
  126. c = h.isDef(window.JSON) && h.isDef(window.postMessage),
  127. c = "true" === k.useAdTalk && c,
  128. b, d, e, g, f = ba(),
  129. n = ca(),
  130. q = new da,
  131. m = ea(q),
  132. p = new fa,
  133. u = ga(),
  134. y = ha(),
  135. C = ia(),
  136. z = ja(),
  137. v = ka(),
  138. v = la(m, f, v),
  139. B = ma(v, m),
  140. E = na(m),
  141. t = oa(m),
  142. s = pa(m),
  143. A = qa(),
  144. L = ra(s, m),
  145. ta = sa(s),
  146. w = a ? ua(C) : {},
  147. x = a ? va(k.videoId, q, w, C) : {},
  148. a = wa(A, L, z, x),
  149. F = xa(a, v, m, f, t, p, s, C, x, w),
  150. w = ya(v, F, n),
  151. A = za(F, f, n),
  152. A = Aa(A, v, q),
  153. G = Ba(a, s, v, F, m, f, ta, q, t, L, p, w, z, u, n, C, x),
  154. n = Ca(v, F, m, f, t, A,
  155. p, s, G);
  156. F.setViewabilityMod(G);
  157. c && (b = Da(m));
  158. var q = "0" !== s.getFlashVersion(),
  159. N, u = !G.useFlash();
  160. if (! function() {
  161. var a = !1;
  162. try {
  163. if (h.isDef(k) && h.isDef(k.killPhrases) && "" !== k.killPhrases) {
  164. var b = k.adsafeSrc ? k.adsafeSrc : k.requrl + k.reqquery,
  165. d = k.killPhrases.split(",");
  166. h(d).each(function(c, e) {
  167. e = decodeURIComponent(d[c]).replace(/^\s+|\s+$/g, ""); - 1 !== b.search(e) && (a = !0)
  168. })
  169. }
  170. } catch (c) {
  171. m.add(m.ERROR_KILL_IT)
  172. }
  173. return a
  174. }()) {
  175. if (c) try {
  176. b.createAdProxy(k), b.findFrames(), b.listen(), b.sendMessages(), p.addItem(b.getFrameStore(),
  177. "fm")
  178. } catch (R) {
  179. m.add(m.ERROR_ADTALK_GENERAL)
  180. }
  181. var I;
  182. try {
  183. "true" !== k.minimizeCalls && G.init();
  184. f.on("mousetrack") && (g = Ea(a, p), g.init());
  185. I = y.detectTopURL();
  186. f.on("exch") && (d = Fa(m, p), d.parse(I));
  187. if (f.on("getPl") && navigator && navigator.plugins) {
  188. e = Ga(navigator.plugins);
  189. var H = e.hash();
  190. p.addItem({
  191. output: H.join(".")
  192. }, "pl", {
  193. type: l.DT_CODES.ADTALK
  194. });
  195. if (f.on("decodePl") && H.length) {
  196. var D = e.decode(H);
  197. p.addItem({
  198. output: D.join(".")
  199. }, "pd", {
  200. type: l.DT_CODES.ADTALK
  201. })
  202. }
  203. }
  204. var S = E.getProps();
  205. h(S).each(function(a, b) {
  206. p.addItem({
  207. output: b
  208. },
  209. a, {
  210. type: "UFO"
  211. })
  212. })
  213. } catch (O) {
  214. m.add(m.ERROR_IMPRESSION_LEADUP)
  215. }
  216. n.sendCookie();
  217. n.send(I);
  218. "true" === k.useViewabilityNotification && k._onMeasurable && (u || q) && v.notify(k._onMeasurable);
  219. "http" === k.protocol && "true" === k.getTpl && f.on("usetpl") && B.init();
  220. "true" === k.adTalkDtCall && "true" !== k.minimizeCalls && (N = (new Date).getTime(), r.execAtEndOfThread(function() {
  221. r.execAtEndOfThread(function() {
  222. var a = {
  223. output: (new Date).getTime() - N
  224. };
  225. p.addItem(a, "sinceFw", {
  226. type: l.DT_CODES.ADTALK
  227. });
  228. h.isDef(G.readyFired()) && p.addItem({
  229. output: G.readyFired()
  230. },
  231. "readyFired", {
  232. type: l.DT_CODES.ADTALK
  233. });
  234. F.send(null, l.DT_CODES.ADTALK)
  235. })
  236. }))
  237. }
  238. },
  239. h = function(a) {
  240. var c = function(b) {
  241. return a instanceof Object && (b || !(a instanceof Array))
  242. },
  243. b = function(b, d) {
  244. if (a.length === +a.length)
  245. for (var c = 0, e = a.length; c < e; ++c) b(c, a[c]);
  246. else
  247. for (c in a)(a.hasOwnProperty(c) || d) && b(c, a[c])
  248. },
  249. d = function(a, d) {
  250. var c = [];
  251. b(function(b, e) {
  252. var f = a(b, e);
  253. if (void 0 !== f || d) c[c.length] = f
  254. });
  255. return c
  256. },
  257. e = function(a, d) {
  258. d = d || ",";
  259. var c = [];
  260. b(function(b, d) {
  261. c.push(a(b, d))
  262. });
  263. return c.join(d)
  264. },
  265. g = function(a, b, d) {
  266. for (var c in b)
  267. if (d ||
  268. b.hasOwnProperty(c)) a[c] = b[c];
  269. return a
  270. },
  271. f = function(a) {
  272. var d = {};
  273. b(function(b, e) {
  274. var f = a(b, e);
  275. c(f) && g(d, f)
  276. });
  277. return d
  278. };
  279. return {
  280. each: b,
  281. isObj: c,
  282. invert: function() {
  283. return f(function(a, b) {
  284. var d = {};
  285. d[b] = a;
  286. return d
  287. })
  288. },
  289. mapToObj: f,
  290. map: d,
  291. toParams: function(a) {
  292. return e(function(a, b) {
  293. return a + ":" + b
  294. }, a)
  295. },
  296. stringify: e,
  297. mixin: function(b, d, c) {
  298. !0 !== b ? (c = d, d = g(a, b, c)) : (b = g({}, a, c), d = g(b, d, c));
  299. return d
  300. },
  301. find: function(a) {
  302. var d;
  303. b(function(b, c) {
  304. a(b, c) && (d = c)
  305. });
  306. return d
  307. },
  308. toArray: function() {
  309. return d(function(a, b) {
  310. return b
  311. })
  312. }
  313. }
  314. };
  315. h.toBase = function(a, c) {
  316. var b, d = 0 > a,
  317. e = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),
  318. g = [];
  319. a = d ? -a : a;
  320. do b = a % c, g.push(e[b]), a = (a - b) / c; while (0 < a);
  321. g = g.reverse().join("");
  322. return d ? "-" + g : g
  323. };
  324. h.isDef = function(a) {
  325. return "undefined" !== typeof a
  326. };
  327. h.isUndef = function(a) {
  328. return !h.isDef(a)
  329. };
  330. h.noop = function() {};
  331. h.isFunction = function(a) {
  332. return "function" === typeof a
  333. };
  334. h.useIfDef = function(a) {
  335. return h.isDef(a) ? a : !1
  336. };
  337. h.stringifyTriState = function(a) {
  338. return !0 === a ? 1 : !1 === a ? 0 : "na"
  339. };
  340. var Y = function(a,
  341. c, b, d, e, g) {
  342. var f = new a(document.body, c.width / 2, c.height / 2, d, e, g),
  343. n, q, m = 0;
  344. b = b || h.noop;
  345. n = setInterval(function() {
  346. f.isNotReadyToReport() || q ? (5 === ++m || q) && clearInterval(n) : (q = !0, b(f.createdFlash), clearInterval(n))
  347. }, 50);
  348. return {
  349. checkViewable: function() {
  350. var a = !f.isNotReadyToReport(),
  351. d = f.isInView(),
  352. c = d ? l.IN_VIEW : l.OUT_OF_VIEW,
  353. d = d ? 100 : 0;
  354. a && !q && (q = !0, b(f.createdFlash));
  355. return {
  356. str: a ? c : l.NA,
  357. pct: a ? d : -1
  358. }
  359. }
  360. }
  361. },
  362. da = function() {
  363. var a = {};
  364. return {
  365. on: function(c, b) {
  366. a[c] = a[c] || new W;
  367. a[c].push(b)
  368. },
  369. trigger: function() {
  370. var c = h(arguments).toArray(),
  371. b = a[c.shift()];
  372. b && b.run.apply({}, c)
  373. }
  374. }
  375. },
  376. Z = function(a, c, b, d, e, g) {
  377. var f, n, q, m = function(a, b) {
  378. return '<param name="' + a + '" value="' + b + '"/>'
  379. },
  380. p = function() {
  381. var a;
  382. a = new T;
  383. var b = k.cocaPuffsPath;
  384. a.sub = "static";
  385. a.master = a.master.split(":")[0];
  386. b && (a.master = b, a.sub = "");
  387. var b = a + (d.on("nextcocoa") ? "/detector3.pix" : "/detector2.pix"),
  388. c = m("allowscriptaccess", "always"),
  389. e = m("movie", b) + m("play", "true") + m("loop", "true");
  390. g.browserIs("i") ? (a = document.createElement("div"), a.innerHTML = "<object " + ('id="blag' + k.birthdate + '" ') +
  391. 'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ' + ('type="' + l.FLASH_MIME + '" ') + ('data="' + b + '" ') + ">" + e + c + "</object>", f = a.firstChild) : (f = document.createElement("object"), f.data = b, f.type = l.FLASH_MIME, f.innerHTML = c);
  392. f.style.position = "absolute";
  393. f.style.width = "1px";
  394. f.style.opacity = "0";
  395. f.style.height = "0px";
  396. return f
  397. },
  398. u = function(a) {
  399. a.style.height = q ? "1px" : "2px";
  400. q = !q;
  401. r.execAtEndOfThread(function() {
  402. y() && (n = a.isInView())
  403. })
  404. },
  405. y = function() {
  406. return f && h.isFunction(f.isInView)
  407. };
  408. (function(a, b, d) {
  409. var c = p(),
  410. f = c.style;
  411. f.left = b + "px";
  412. f.top = d + "px";
  413. a.appendChild(c);
  414. f.height = "1px";
  415. e.onHiddenChange(function(a) {
  416. a ? f.height = "0px" : u(c)
  417. })
  418. })(a, c, b);
  419. return {
  420. isInView: function() {
  421. var a;
  422. y() && (a = f.isInView(), g.browserIs("w") && a !== n && u(f));
  423. return y() && a
  424. },
  425. isNotReadyToReport: function() {
  426. return !y()
  427. },
  428. createdFlash: f
  429. }
  430. },
  431. $ = function(a) {
  432. return {
  433. doEligibleJobs: function(c) {
  434. var b = a[0],
  435. d = b && b.time;
  436. d && c >= d && (b.task(), a.shift())
  437. },
  438. getNextJob: function() {
  439. return a[0]
  440. }
  441. }
  442. },
  443. fa = function() {
  444. var a = 0,
  445. c = {},
  446. b = function(b, c, g) {
  447. if (h.isUndef(b.output)) throw Error("item with id " +
  448. c + ' must have "output" method');
  449. this.item = b;
  450. this.id = c || ++a;
  451. this.props = g || {};
  452. this.output = function() {
  453. return h.isFunction(b.output) ? b.output() : b.output
  454. }
  455. };
  456. return {
  457. addItem: function(a, e, g) {
  458. a = new b(a, e, g || {});
  459. c[a.id] = a
  460. },
  461. iterate: function(a) {
  462. var b, g, f = [];
  463. for (b in c) c.hasOwnProperty(b) && (g = a(b, c[b])) && f.push(g);
  464. return f
  465. },
  466. getItem: function(a) {
  467. return c[a]
  468. }
  469. }
  470. },
  471. W = function() {
  472. var a = [];
  473. return {
  474. push: function(c) {
  475. a[a.length] = c
  476. },
  477. run: function() {
  478. var c = arguments;
  479. h(a).each(function(a, d) {
  480. d.apply({}, c)
  481. })
  482. }
  483. }
  484. },
  485. Ia = function(a) {
  486. var c =
  487. a || 1,
  488. b = 0,
  489. d = 0,
  490. e = 0,
  491. g = 0;
  492. return {
  493. start: function() {
  494. 0 === b % c && (e = r.now())
  495. },
  496. stop: function() {
  497. 0 === b % c && (g += r.now() - e, d++);
  498. b++
  499. },
  500. getTime: function() {
  501. return g
  502. },
  503. getCount: function() {
  504. return d
  505. }
  506. }
  507. },
  508. aa = function(a) {
  509. var c = 0,
  510. b = s.getTagTime(),
  511. d = 0,
  512. e, g;
  513. return {
  514. getTotalTime: function() {
  515. return d
  516. },
  517. stop: function() {
  518. c = 0;
  519. b = s.getTagTime()
  520. },
  521. mark: function() {
  522. e = s.getTagTime() - b;
  523. c += e;
  524. c > a && (g = c - e < a, d += g ? c : e);
  525. b = s.getTagTime()
  526. }
  527. }
  528. },
  529. T = function(a) {
  530. a = a || k.adsafeSrc || k.requrl;
  531. var c = /^(http|https):\/\/(([^\/\.]*)\.([^\/]*))/.exec(a);
  532. return {
  533. fullDom: c[0],
  534. sub: c[3],
  535. master: c[4],
  536. toString: function() {
  537. var a = this.sub;
  538. return c[1] + "://" + (a ? a + "." : "") + this.master
  539. }
  540. }
  541. },
  542. wa = function(a, c, b, d) {
  543. var e = -1 !== k.mode.indexOf("jsvid"),
  544. g = b.isMobileApp(),
  545. f = null,
  546. n = k.thisScriptNode.parentNode,
  547. q = !1,
  548. m = !1,
  549. p;
  550. return {
  551. calcDims: function() {
  552. var b, d = -1;
  553. b = s.embedded ? c.calcDims() : a.calcDims(f, n);
  554. J.isValidDims(b) && (d = J.round(b));
  555. return d
  556. },
  557. find: function() {
  558. var a, c = function() {
  559. var b = w.findLargestChildNode(n);
  560. 1 < w.getNodeArea(b) ? (p = "a", a = b, m = !0) : (p = "s", f || (a = w.getPlaceholderSpan(), n.insertBefore(a,
  561. k.thisScriptNode.nextSibling)))
  562. };
  563. m || (g ? (c(), p = b.getDetectionMethod()) : e ? (p = "v", a = d.findVideo(), m = !0) : s.embedded ? (p = "i", a = window, m = !0) : c());
  564. (f = a || f) && f !== window && f.parentNode !== n && (n = f.parentNode, q = !0);
  565. return f
  566. },
  567. isObstructed: function(a) {
  568. var b = null;
  569. if (f && !s.embedded && a && h.isDef(document.elementFromPoint)) {
  570. var c = r.floor(a.x + a.width / 2);
  571. a = r.floor(a.y + a.height / 2);
  572. c = document.elementFromPoint(c, a);
  573. null !== c && (b = c !== f)
  574. }
  575. return b
  576. },
  577. getDetectionMethod: function() {
  578. return p
  579. },
  580. isDetected: function() {
  581. return m
  582. },
  583. getParent: function() {
  584. return n
  585. },
  586. hasParentChanged: function() {
  587. return q
  588. }
  589. }
  590. },
  591. Da = function(a) {
  592. var c = [],
  593. b = function(a) {
  594. var b;
  595. a = a || k;
  596. a.reqquery ? b = a.reqquery.split(/(?:anId=|anid=|ANID=)([^&]*)/)[1] : (b = a.adsafeSrc.split("/"), b = b[5] + "-" + b[6]);
  597. a = {
  598. adId: b,
  599. adSafeId: a.asid
  600. };
  601. c.push(a);
  602. return a
  603. },
  604. d = function() {
  605. var a = [],
  606. b = {},
  607. c = {
  608. noMe: !0
  609. };
  610. return {
  611. addFrame: function(d) {
  612. a.push(d);
  613. b[d.pageId] = d;
  614. d.isMe && (c = d)
  615. },
  616. list: a,
  617. lookup: b,
  618. me: function() {
  619. return c
  620. },
  621. output: function() {
  622. var b, d, e, f, g = [];
  623. for (b = 0; b < a.length; b++)
  624. if (e = a[b], e.isLeaf || e.isMe || h.isDef(e.selfDescription)) {
  625. f =
  626. "";
  627. for (d = 0; d < e.position.length; d++) f += (Number(e.position[d]) + 1).toString(36);
  628. f += e.isMe ? "*" : "";
  629. f += 0 !== e.adProxies.length ? "." + e.adProxies[0].adId : "";
  630. g.push(f)
  631. }
  632. return h.toBase(c.unifiedId, 62) + "+" + g.join("|")
  633. }
  634. }
  635. },
  636. d = new d,
  637. e = function(a, b) {
  638. var e = a === window,
  639. f = {
  640. position: b.slice(0),
  641. pageId: b.join("-"),
  642. domObj: function() {
  643. return a
  644. },
  645. isMe: e,
  646. isLeaf: !a.frames.length,
  647. adProxies: e ? c : [],
  648. selfDescription: void 0,
  649. unifiedId: k.birthdate,
  650. toString: function() {
  651. return JSON.stringify(f)
  652. },
  653. addDescription: function(a) {
  654. f.selfDescription =
  655. a;
  656. f.adProxies = a.adProxies
  657. }
  658. };
  659. d.addFrame(f);
  660. return f
  661. },
  662. g;
  663. g = new function() {
  664. var a = function(b, c) {
  665. var d = c.length,
  666. f = b.frames;
  667. if (!(new e(b, c)).isLeaf) {
  668. for (var g = 0; g < f.length; g++) c[d] = g, a(f[g], c);
  669. c.pop()
  670. }
  671. };
  672. return {
  673. start: function() {
  674. a(top, [0])
  675. }
  676. }
  677. };
  678. var f = function(a) {
  679. var b = {
  680. srcId: k.asid,
  681. srcKey: k.asid.split("-")[2],
  682. srcStart: k.birthdate,
  683. getMessageTime: void 0,
  684. replyTo: document.location,
  685. sendMessage: function(c, d) {
  686. d = d || "*";
  687. a.getMessageTime = r.now();
  688. delete b.updateMessage;
  689. delete b.sendMessage;
  690. c.postMessage(JSON.stringify(b),
  691. d)
  692. },
  693. updateMessage: function(b) {
  694. a = b(a)
  695. },
  696. messageContent: a || {}
  697. };
  698. return b
  699. },
  700. n;
  701. n = new function() {
  702. var b = [],
  703. c = function(a) {
  704. var b = d.me();
  705. (new f({
  706. self: b,
  707. expectedPageId: a.pageId,
  708. unifiedId: b.unifiedId
  709. })).sendMessage(a.domObj())
  710. };
  711. return {
  712. sendMessages: function() {
  713. var a, b;
  714. for (a = 0; a < d.list.length; a++) b = d.list[a], b.isMe || c(b)
  715. },
  716. listen: function() {
  717. x.addEvent(window, "message", function(f) {
  718. var g, n, l, z = d.me();
  719. try {
  720. g = JSON.parse(f.data);
  721. n = g.messageContent;
  722. if (k.asid.split("-")[2] !== g.srcKey || !g.hasOwnProperty("messageContent")) return;
  723. n.unifiedId < z.unifiedId && (z.unifiedId = n.unifiedId)
  724. } catch (v) {
  725. return
  726. }
  727. b.push(g);
  728. try {
  729. if (n.expectedPageId !== d.me().pageId) a.add(a.ERROR_ADTALK_DUBIOUS);
  730. else {
  731. l = d.lookup[n.self.pageId];
  732. if (h.isUndef(l) || h.isUndef(l.selfDescription)) l = l || new e(f.source, n.self.pageId.split("-")), c(l);
  733. l.addDescription(n.self)
  734. }
  735. } catch (r) {
  736. a.add(a.ERROR_ADTALK_DUBIOUS)
  737. }
  738. })
  739. }
  740. }
  741. };
  742. return {
  743. sendMessages: n.sendMessages,
  744. listen: n.listen,
  745. findFrames: g.start,
  746. createAdProxy: function(a) {
  747. return new b(a)
  748. },
  749. getFrameStore: function() {
  750. return d || ""
  751. }
  752. }
  753. },
  754. ma =
  755. function(a, c) {
  756. var b = function(b) {
  757. try {
  758. h(b).each(function(b, c) {
  759. a.send(c, !1, !0)
  760. })
  761. } catch (e) {
  762. c.add(c.ERROR_AT_SEND)
  763. }
  764. };
  765. return {
  766. init: function() {
  767. try {
  768. var d = (new T).fullDom;
  769. "/" !== d.slice(-1) && (d += "/");
  770. d += "tpl?asId=" + k.asid;
  771. a.jsonp(d, b)
  772. } catch (e) {
  773. c.add(c.ERROR_AT_INIT)
  774. }
  775. }
  776. }
  777. },
  778. za = function(a, c, b) {
  779. return {
  780. enabled: "true" === k.useBapiCallback,
  781. callback: function(d) {
  782. "true" === k.accountForSadImps && b.measure(d);
  783. k._onAPIResult && k._onAPIResult(d);
  784. c.on("bapiDiag") && a.send(null, l.DT_CODES.BAPI_DIAGNOSTIC)
  785. }
  786. }
  787. },
  788. pa = function(a) {
  789. var c =
  790. function() {
  791. var a = function(a) {
  792. return a.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1].split(",").join(".")
  793. };
  794. try {
  795. try {
  796. var b = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
  797. try {
  798. b.AllowScriptAccess = "always"
  799. } catch (c) {
  800. return "6"
  801. }
  802. } catch (d) {}
  803. return a((new ActiveXObject("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version"))
  804. } catch (e) {
  805. try {
  806. if (navigator.mimeTypes[l.FLASH_MIME].enabledPlugin) return a((navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description)
  807. } catch (h) {}
  808. }
  809. return "0"
  810. },
  811. b = function(a) {
  812. return e() === a
  813. },
  814. d = function() {
  815. return document && document.documentMode ? document.documentMode : l.NA
  816. },
  817. e = function() {
  818. var a = "u";
  819. try {
  820. if (h.isDef(window.opera) && h.isDef(window.opera.buildNumber)) a = "o";
  821. else if (h.isDef(window.mozInnerScreenY)) a = "g";
  822. else if (h.isDef(window.chrome) && h.isDef(window.chrome.csi)) a = "c";
  823. else if (h.isDef(window.WebKitPoint)) a = "w";
  824. else if (h.isDef(window.attachEvent) || h.isDef(window.msCrypto)) a = "i"
  825. } catch (b) {}
  826. return a
  827. };
  828. return {
  829. browserIs: b,
  830. getFlashVersion: c,
  831. getDocumentMode: d,
  832. getBrowserVendor: e,
  833. params: function() {
  834. var a = e(),
  835. f = c(),
  836. n = 5;
  837. b("i") ? window.msCrypto ? n = 11 : window.atob ? n = 10 : document.addEventListener ? n = 9 : window.JSON && document.querySelector ? n = 8 : window.XMLHttpRequest ? n = 7 : document.compatMode && (n = 6) : n = l.NA;
  838. var q = d(),
  839. k;
  840. k = ["{45EA75A0-A269-11D1-B5BF-0000F8051515}", "{3AF36230-A269-11D1-B5BF-0000F8051515}", "{89820200-ECBD-11CF-8B85-00AA005B4383}"];
  841. var p = l.NA,
  842. u = document.createElement("div");
  843. try {
  844. if ("-ms-ime-align" in document.documentElement.style) p = "11";
  845. else {
  846. u.style.behavior = "url(#default#clientcaps)";
  847. for (var y = 0; y < k.length && !(p = u.getComponentVersion(k[y], "componentid").replace(/,/g, ".")); y++);
  848. }
  849. } catch (C) {}
  850. k = p;
  851. p = l.NA;
  852. h.isDef(window.navigator) && h.isDef(window.navigator.appName) && (p = window.navigator.appName.toLowerCase()[0]);
  853. return {
  854. br: a,
  855. fv: f,
  856. bv: n,
  857. dm: q,
  858. abv: k,
  859. an: p
  860. }
  861. }
  862. }
  863. },
  864. la = function(a, c, b) {
  865. var d = function(a, b, d) {
  866. var e = !d && c.on("postDts") && x.getXHR2();
  867. e ? (e.open("POST", a), e.onreadystatechange = function() {
  868. 4 === e.readyState && 200 === e.status && b && b()
  869. }, e.send()) : (d = new Image, b && (d.onload = b), d.src = a)
  870. },
  871. e = function(a) {
  872. var b =
  873. document.createElement("script");
  874. b.type = "text/javascript";
  875. b.src = a;
  876. k.thisScriptNode.parentNode.appendChild(b)
  877. };
  878. return {
  879. addNode: function(a, b) {
  880. var c, d, e = k.thisScriptNode.parentNode;
  881. b = b || a;
  882. a = 1 < arguments.length ? a : "script";
  883. c = {
  884. script: ['<script type="text/javascript" src="', '">\x3c/script>'],
  885. iframe: ['<iframe width="100%" height="100%" frameborder="0" vspace="0" hspace="0" scrolling="no" marginheight="0" marginwidth="0" src="', '"></iframe>'],
  886. img: ['<img src="', '"/>']
  887. }[a];
  888. d = c[0] + b + c[1];
  889. "true" === k.forceAppend ?
  890. "script" !== a ? (c = document.createElement("DIV"), c.innerHTML = d, e.appendChild(c.childNodes[0])) : (c = document.createElement("SCRIPT"), c.src = b, e.appendChild(c)) : document.write(d)
  891. },
  892. send: d,
  893. exec: e,
  894. notify: function(b) {
  895. h.isFunction(b) ? b() : "string" === typeof b ? d(b) : a.add(a.ERROR_NOTIFY_CLIENT)
  896. },
  897. jsonp: function(a, c, d) {
  898. e(b.wrap(a, c, d))
  899. }
  900. }
  901. },
  902. l = {
  903. MILLIS_PER_SEC: 1E3,
  904. MAX_URL_LENGTH: 2E3,
  905. FLASH_MIME: "application/x-shockwave-flash",
  906. IN_VIEW: "inView",
  907. OUT_OF_VIEW: "outOfView",
  908. PARTIAL_VIEW_PLUS: "partialViewPlus",
  909. PARTIAL_VIEW_MINUS: "partialViewMinus",
  910. NA: "na",
  911. DT_CODES: {
  912. UNLOAD: "u",
  913. PING: "p",
  914. ADTALK: "a",
  915. VIEWABILITY_READY: "v",
  916. VIDEO_EVENTS: "m",
  917. BAPI_DIAGNOSTIC: "b",
  918. POS_INVIEW: "t"
  919. }
  920. },
  921. s = function() {
  922. var a = window != top,
  923. c = function() {
  924. var a;
  925. try {
  926. a = !!top.document
  927. } catch (c) {
  928. a = !1
  929. }
  930. return a
  931. }();
  932. return {
  933. embedded: a,
  934. friendly: c,
  935. getTagTime: function() {
  936. return r.now() - k.birthdate
  937. },
  938. getPageTime: function() {
  939. return h.isDef(window.chrome) && h.isDef(window.chrome.csi) && h.isFunction(window.chrome.csi) ? r.round(chrome.csi().pageT) : l.NA
  940. },
  941. friendlyIframe: a && c,
  942. xDomainIframe: a & !c
  943. }
  944. }(),
  945. x = {
  946. addEvent: function(a,
  947. c, b, d) {
  948. h.isDef(a.addEventListener) ? "mouseenter" === c ? a.addEventListener("mouseover", x.mouseEnter(b), d) : "mouseleave" === c ? a.addEventListener("mouseout", x.mouseEnter(b), d) : a.addEventListener(c, b, d) : h.isDef(a.attachEvent) && a.attachEvent("on" + c, b)
  949. },
  950. removeEvent: function(a, c, b) {
  951. h.isDef(a.removeEventListener) ? ("mouseenter" === c ? (c = "mouseover", b = x.mouseEnter) : "mouseleave" === c && (c = "mouseout", b = x.mouseEnter), a.removeEventListener(c, b)) : h.isDef(a.detachEvent) && a.detachEvent("on" + c, b)
  952. },
  953. mouseEnter: function(a) {
  954. var c =
  955. this;
  956. return function(b) {
  957. var d = b.relatedTarget;
  958. this === d || c.isAChildOf(this, d) || a.call(this, b)
  959. }
  960. },
  961. isAChildOf: function(a, c) {
  962. if (a === c) return !1;
  963. for (; c && c !== a;) c = c.parentNode;
  964. return c === a
  965. },
  966. getStyle: function(a, c) {
  967. var b = "";
  968. document.defaultView && document.defaultView.getComputedStyle ? b = document.defaultView.getComputedStyle(a, "").getPropertyValue(c) : a.currentStyle && (c = c.replace(/\-(\w)/g, function(a, b) {
  969. return b.toUpperCase()
  970. }), b = a.currentStyle[c]);
  971. return b
  972. },
  973. getXHR2: function(a, c) {
  974. var b, d;
  975. h.isDef(window.XMLHttpRequest) ?
  976. (d = new XMLHttpRequest, "withCredentials" in d && (b = d)) : h.isDef(XDomainRequest) && (b = new XDomainRequest);
  977. return b
  978. }
  979. },
  980. xa = function(a, c, b, d, e, g, f, n, q, m) {
  981. var p = 0,
  982. u = 0,
  983. y = !1,
  984. C;
  985. return {
  986. incrementNumDtCalls: function() {
  987. return u += 1
  988. },
  989. send: function(z, v, B) {
  990. z = new T;
  991. var E = "",
  992. t = "",
  993. w = "",
  994. A, L, x, J, Q, F, G, N, R, I, H, D, S, O, U, M;
  995. if (e.impressionIsIdentifiable() && (v === l.DT_CODES.ADTALK || "n" !== n.getCurrentLoc()) && (F = s.getTagTime(), h.isUndef(v) && (v = l.DT_CODES.UNLOAD, L = !0), v !== l.DT_CODES.UNLOAD || !y)) try {
  996. d.on("usedtdomain") && (z.sub = "dt"),
  997. n.fastForward(), Q = "," + n.stringify(10), v === l.DT_CODES.UNLOAD ? B = -1 : v === l.DT_CODES.ADTALK ? B = -2 : v === l.DT_CODES.VIEWABILITY_READY ? B = -3 : v === l.DT_CODES.VIDEO_EVENTS && m && q ? (B = -4, t = ",ve:" + m.stringify()) : v === l.DT_CODES.BAPI_DIAGNOSTIC && (B = -5), A = B ? ",pingTime:" + B : "", v === l.DT_CODES.UNLOAD && (E = ",ndt:" + u), -1 !== k.mode.indexOf("jsvid") && q && (w = ",vv:" + q.version), G = b.hasErrors() ? ",e:" + b.toString() : "", N = ",tt:" + k.mode, R = "," + d.output(), I = ",em:" + s.embedded + ",fr:" + s.friendly, H = ",uf:" + (C.useFlash() ? 1 : 0), D = "", g.iterate(function(a,
  998. b) {
  999. b.props.type && b.props.type !== v || (D += "," + a + ":" + b.output())
  1000. }), S = "&br=" + f.getBrowserVendor(), O = "asId=" + k.asid, U = ",pc:" + h.stringifyTriState(a.hasParentChanged()), M = "&tv={c:" + e.getCacheBustId() + A + ",time:" + F + ",type:" + v + R + I + t + Q + H + G + N + D + ",dtt:" + p + E + U + w, M += (z + "/dt?" + O + M + S + "&adsafePrivacyPolicy=http://integr.al/privacy-policy6").length > l.MAX_URL_LENGTH ? ",ov:1}" : ",ov:0}", x = z + "/dt?" + O + M + S + "&adsafePrivacyPolicy=http://integr.al/privacy-policy", J = r.now(), c.send(x, function() {
  1001. u += 1;
  1002. p = r.now() - J
  1003. }, L), v === l.DT_CODES.UNLOAD &&
  1004. (y = !0)
  1005. } catch (K) {
  1006. __IntegralASDiagnosticCall("dt-" + v, K), b.add(b.ERROR_PHONE_HOME)
  1007. }
  1008. },
  1009. setViewabilityMod: function(a) {
  1010. C = a
  1011. }
  1012. }
  1013. },
  1014. J = {
  1015. calcNodeDims: function(a) {
  1016. if (h.isDef(a.getBoundingClientRect)) return a = w.getRect(a), {
  1017. x: a.left,
  1018. y: a.top,
  1019. width: a.width,
  1020. height: a.height
  1021. }
  1022. },
  1023. round: function(a) {
  1024. return {
  1025. x: r.round(a.x),
  1026. y: r.round(a.y),
  1027. width: r.round(a.width),
  1028. height: r.round(a.height)
  1029. }
  1030. },
  1031. isValidDims: function(a) {
  1032. return !(isNaN(a.x) || isNaN(a.y) || isNaN(a.height) || isNaN(a.width))
  1033. },
  1034. isInvalidDims: function(a, c) {
  1035. return -1 === a || -1 === c
  1036. }
  1037. },
  1038. qa = function() {
  1039. return {
  1040. calcDims: function(a, c) {
  1041. var b = J.calcNodeDims(a),
  1042. d = w.getClippedDimensions(a, c);
  1043. b.height = d.height < b.height ? d.height : b.height || 1;
  1044. b.width = d.width < b.width ? d.width : b.width || 1;
  1045. return b
  1046. }
  1047. }
  1048. },
  1049. w = {
  1050. windowSize: function() {
  1051. var a = {},
  1052. c, b;
  1053. if (s.friendly)
  1054. if (c = top.document, b = c.documentElement, c = c.getElementsByTagName("body")[0], h.isDef(top.innerWidth)) a.width = top.innerWidth, a.height = top.innerHeight;
  1055. else if (h.isDef(b.clientWidth)) a.width = b.clientWidth, a.height = b.clientHeight;
  1056. else if (h.isDef(c.clientWidth)) a.width =
  1057. c.clientWidth, a.height = c.clientHeight;
  1058. else throw a.width = a.height = 0, "";
  1059. else h.isDef(window.outerWidth) && (a.width = window.outerWidth, a.height = window.outerHeight);
  1060. return a
  1061. },
  1062. screenSize: function() {
  1063. try {
  1064. var a = -1,
  1065. c = -1;
  1066. h.isDef(window.screen) && (a = window.screen.width, c = window.screen.height);
  1067. return {
  1068. width: a,
  1069. height: c
  1070. }
  1071. } catch (b) {}
  1072. },
  1073. getNodeArea: function(a) {
  1074. var c = -1;
  1075. a && (a = w.getRect(a), c = a.width * a.height);
  1076. return c
  1077. },
  1078. getRect: function(a) {
  1079. var c = {};
  1080. a = a.getBoundingClientRect();
  1081. h.isUndef(a.width) && (c = {
  1082. width: a.right - a.left,
  1083. height: a.bottom - a.top
  1084. });
  1085. h(c).mixin(a, !0);
  1086. return c
  1087. },
  1088. getIeDimObj: function() {
  1089. return document.documentElement && h.isDef(document.documentElement.clientWidth) && document.documentElement || document.body
  1090. },
  1091. getPlaceholderSpan: function() {
  1092. var a = document.createElement("span");
  1093. h(a.style).mixin({
  1094. width: "0px",
  1095. height: "0px",
  1096. display: "block",
  1097. overflow: "hidden",
  1098. visibiility: "hidden"
  1099. });
  1100. a.innerHTML = ".";
  1101. return a
  1102. },
  1103. getClippedDimensions: function(a, c) {
  1104. var b = 1E4,
  1105. d = 1E4,
  1106. e, g;
  1107. do a = a.parentNode, e = "OBJECT" !== a.tagName.toUpperCase(), g = "inline" !==
  1108. x.getStyle(a, "display"), e && g && (e = w.getRect(a), b = e.width < b ? e.width : b, d = e.height < d ? e.height : d); while (a.parentNode !== document && a !== c);
  1109. return {
  1110. width: r.round(b),
  1111. height: r.round(d)
  1112. }
  1113. },
  1114. findLargestChildNode: function(a) {
  1115. var c, b = "iframe img a object embed div".split(" "),
  1116. d, e, g, f, n = [],
  1117. q = -1;
  1118. d = 0;
  1119. for (e = b.length; d < e; d++) {
  1120. var k = a.getElementsByTagName(b[d]);
  1121. if (k.length)
  1122. for (g = 0, f = k.length; g < f; g++) n.push(k[g])
  1123. }
  1124. if (n.length)
  1125. for (d = 0, e = n.length; d < e; d++) a = n[d], b = w.getNodeArea(a), b > q && (c = a, q = b);
  1126. return h.isUndef(c) ? null : h.isDef(c.nodeName) &&
  1127. "DIV" == c.nodeName ? w.findLargestChildNode(c) : c
  1128. }
  1129. },
  1130. na = function(a) {
  1131. return {
  1132. getProps: function() {
  1133. var c = {};
  1134. try {
  1135. var b = document.createElement("span");
  1136. h(b.style).mixin({
  1137. position: "absolute",
  1138. top: "150"
  1139. });
  1140. c = {
  1141. rpx: "" === b.style.top ? 1 : 0
  1142. }
  1143. } catch (d) {
  1144. a.add(a.ERROR_ENVIRONMENT)
  1145. }
  1146. return c
  1147. }
  1148. }
  1149. },
  1150. ea = function(a) {
  1151. var c = {},
  1152. b = function(a) {
  1153. h.isDef(c[a]) ? c[a] ++ : c[a] = 1
  1154. };
  1155. a.on("error", function(a) {
  1156. b(a)
  1157. });
  1158. return {
  1159. list: c,
  1160. add: b,
  1161. toString: function() {
  1162. var a = "",
  1163. b;
  1164. for (b in c) c.hasOwnProperty(b) && (a += b);
  1165. return a
  1166. },
  1167. hasErrors: function() {
  1168. for (var a in c) return !0;
  1169. return !1
  1170. },
  1171. ERROR_GET_AD_DIMENSIONS: "a",
  1172. ERROR_ADTALK_GENERAL: "c",
  1173. ERROR_GET_SCREEN_LOC_GET_DIMENSIONS: "d",
  1174. ERROR_EXCHANGE_PARSING: "x",
  1175. ERROR_PHONE_HOME: "h",
  1176. ERROR_KILL_IT: "k",
  1177. ERROR_LOCATION_DETAILS: "l",
  1178. ERROR_GET_SCREEN_LOC_PIV_CALC: "p",
  1179. ERROR_GET_WIN_DIMENSIONS: "w",
  1180. ERROR_ADTALK_DUBIOUS: "D",
  1181. ERROR_ENVIRONMENT: "v",
  1182. ERROR_UID_GENERATION: "i",
  1183. ERROR_NOTIFY_CLIENT: "n",
  1184. ERROR_IMPRESSION_URLS: "I",
  1185. ERROR_JSINFO: "J",
  1186. ERROR_IMPRESSION_LEADUP: "L",
  1187. ERROR_GET_ELEM_STYLE: "s",
  1188. ERROR_PLUGIN_PARSING: "P",
  1189. ERROR_AT_SEND: "as",
  1190. ERROR_AT_INIT: "ai"
  1191. }
  1192. },
  1193. Fa = function(a, c) {
  1194. var b = function(a) {
  1195. var b = [];
  1196. if (a && a instanceof Array) b = h(a).map(function(a, b) {
  1197. return b.val
  1198. }), b.push(k.adsafeSrc, k.requrl, k.reqquery);
  1199. else throw Error("Unexpected data type in ExchangeParser.getUrlList");
  1200. return b
  1201. };
  1202. return {
  1203. parse: function(d) {
  1204. try {
  1205. var e, g = b(d),
  1206. f = g && g.length && g.join("|"),
  1207. n = k.exchList;
  1208. f && (e = h(n).map(function(a, b) {
  1209. return 0 <= f.indexOf(K.rot(b)) ? a : void 0
  1210. }), e.length && c.addItem({
  1211. output: e.join(".")
  1212. }, "ex", {
  1213. type: "UFO"
  1214. }))
  1215. } catch (q) {
  1216. a.add(a.ERROR_EXCHANGE_PARSING)
  1217. }
  1218. }
  1219. }
  1220. },
  1221. ba = function() {
  1222. var a = {},
  1223. c = function(b, c) {
  1224. var d = RegExp(b + "(?=$|,)|" + b + ":(?!,|$)(\\d*(?=,|$))").exec(k.jsFeatures);
  1225. if (h.isUndef(a[b]) || c) a[b] = !!(d && !d[1] || d && d[1] > r.floor(100 * r.random()));
  1226. return a[b]
  1227. },
  1228. b = {
  1229. fc: "forcecocoa",
  1230. rt: "rattie",
  1231. cb: "cachebust",
  1232. np: "nextcocoa",
  1233. th: "tabHiddenDtCall"
  1234. },
  1235. d = function() {
  1236. return h(b).mapToObj(function(b, c) {
  1237. var d = {};
  1238. d[b] = a[c] ? 1 : 0;
  1239. return d
  1240. })
  1241. };
  1242. h(b).each(function(a, b) {
  1243. c(b)
  1244. });
  1245. return {
  1246. on: c,
  1247. output: function() {
  1248. return h(d()).toParams()
  1249. }
  1250. }
  1251. },
  1252. sa = function(a) {
  1253. var c = a.browserIs("g") || a.browserIs("i") || s.friendlyIframe ||
  1254. !s.embedded;
  1255. return {
  1256. calcPercentInView: function(a, c) {
  1257. var e;
  1258. e = a.x;
  1259. var g = c.x;
  1260. e = Math.min(a.x + a.width, c.x + c.width) - Math.max(g, e);
  1261. var g = a.y,
  1262. f = c.y,
  1263. g = Math.min(a.y + a.height, c.y + c.height) - Math.max(f, g),
  1264. f = 0 >= c.width;
  1265. e = 0 >= e || f ? 0 : r.round(e / c.width * 100);
  1266. g = 0 >= g || f ? 0 : r.round(g / c.height * 100);
  1267. return r.round(e * g / 100)
  1268. },
  1269. calcInitialViewState: function(a) {
  1270. var d = l.NA;
  1271. c && (d = 75 <= a ? l.IN_VIEW : 25 >= a ? l.OUT_OF_VIEW : 50 <= a ? l.PARTIAL_VIEW_PLUS : l.PARTIAL_VIEW_MINUS);
  1272. return d
  1273. }
  1274. }
  1275. },
  1276. oa = function(a) {
  1277. var c = !1;
  1278. return {
  1279. getCacheBustId: function() {
  1280. var a =
  1281. new Date,
  1282. c = Date.parse("Jan 1 " + a.getFullYear()),
  1283. a = a.getTime() - c;
  1284. return h.toBase(a, 62)
  1285. },
  1286. impressionIsIdentifiable: function(a) {
  1287. a && (c = !0);
  1288. return c
  1289. },
  1290. unq: function() {
  1291. var b = "";
  1292. try {
  1293. for (var c, e = window.Uint32Array && window.crypto && window.crypto.getRandomValues; 30 > b.length;) e ? (c = new Uint32Array(1), window.crypto.getRandomValues(c), b += c[0].toString(16)) : b += (16 * r.random() | 0).toString(16);
  1294. b = b.slice(0, 30)
  1295. } catch (g) {
  1296. a.add(a.ERROR_UID_GENERATION)
  1297. }
  1298. return b
  1299. }()
  1300. }
  1301. },
  1302. ra = function(a, c) {
  1303. var b, d = function() {
  1304. try {
  1305. var b, c;
  1306. if (s.friendly) {
  1307. var d =
  1308. g(window);
  1309. b = d.left;
  1310. c = d.top
  1311. } else a.browserIs("i") && 11 !== a.getDocumentMode() ? (d = function(a) {
  1312. b = a.screenX - a.clientX;
  1313. c = a.screenY - a.clientY
  1314. }, document.documentElement.attachEvent("onmousemove", d), document.documentElement.fireEvent("onmousemove"), document.documentElement.detachEvent("onmousemove", d)) : h.isUndef(window.mozInnerScreenX) ? (b = window.screenLeft, c = window.screenTop) : (b = r.round(window.mozInnerScreenX), c = r.round(window.mozInnerScreenY));
  1315. return {
  1316. x: b,
  1317. y: c
  1318. }
  1319. } catch (e) {}
  1320. },
  1321. e = function() {
  1322. var a, c, d = b || w.getIeDimObj();
  1323. h.isDef(window.innerWidth) ? (a = window.innerWidth, c = window.innerHeight) : d && h.isDef(d.clientWidth) ? (a = d.clientWidth, c = d.clientHeight, 0 === a && 0 < d.offsetWidth && (a = d.offsetWidth), 0 === c && 0 < d.offsetHeight && (c = d.offsetHeight)) : window.frameElement && h.isDef(window.frameElement.clientWidth) && (a = window.frameElement.clientWidth, c = window.frameElement.clientHeight);
  1324. return {
  1325. width: a,
  1326. height: c
  1327. }
  1328. },
  1329. g = function(a, b) {
  1330. h.isUndef(b) && (b = {
  1331. top: 0,
  1332. left: 0
  1333. });
  1334. for (var c = a.parent.document.getElementsByTagName("iframe"), d, e = !1, k = 0, y = c.length; k <
  1335. y; k++)
  1336. if (d = c[k], d.contentWindow == a) {
  1337. e = !0;
  1338. break
  1339. }
  1340. e && (c = w.getRect(d), b.left += c.left, b.top += c.top, a !== top && g(a.parent, b));
  1341. return b
  1342. };
  1343. return {
  1344. calcDims: function() {
  1345. var a = {};
  1346. try {
  1347. a = h(d()).mixin(e())
  1348. } catch (b) {
  1349. c.add(c.ERROR_GET_AD_DIMENSIONS)
  1350. }
  1351. return a
  1352. },
  1353. waitForBody: function(a) {
  1354. var c = setInterval(function() {
  1355. document.body && (b = w.getIeDimObj(), clearInterval(c), a())
  1356. }, 50)
  1357. }
  1358. }
  1359. },
  1360. Ca = function(a, c, b, d, e, g, f, n, q) {
  1361. var m = function(a, b) {
  1362. if (b >= l.MAX_URL_LENGTH) return "";
  1363. var c, d, e = [],
  1364. f = function(a) {
  1365. return -1 !== a.key.indexOf("q") || -1 !==
  1366. a.key.indexOf("g")
  1367. };
  1368. c = h(a).map(function(a, b) {
  1369. if (f(b)) return b
  1370. });
  1371. d = h(a).map(function(a, b) {
  1372. if (!f(b)) return b
  1373. });
  1374. h(c.concat(d)).each(function(a, c) {
  1375. var d = "adsafe_url=" + c.val + "&adsafe_type=" + c.key,
  1376. f = e.join("&").length;
  1377. d.length + f + b <= l.MAX_URL_LENGTH && e.push(d)
  1378. });
  1379. return e.join("&")
  1380. },
  1381. p = function(a) {
  1382. var c = 0,
  1383. g = K.hashCode(k.asid),
  1384. m = "adsafe_jsinfo=",
  1385. p = q.needsFlash() ? {
  1386. viewState: l.NA
  1387. } : q.checkScreenLoc(!0),
  1388. B = "c:" + e.getCacheBustId() + ",sl:" + p.viewState + ",em:" + s.embedded + ",fr:" + s.friendly,
  1389. E = d.on("postDts") && x.getXHR2() ?
  1390. "p" : "i",
  1391. t = ["pt:" + q.stringifyPingTimes() + (p.viewState != l.NA ? p.details : ""), h(n.params()).toParams(), "id:" + k.asid];
  1392. f.iterate(function(a, b) {
  1393. t.push(a + ":" + b.output())
  1394. });
  1395. b.toString() && t.push("e:" + b.toString());
  1396. t.push(d.output());
  1397. t.push("uf:" + (q.useFlash() ? 1 : 0));
  1398. t.push("tt:" + k.mode);
  1399. t.push("et:" + (r.now() - k.birthdate));
  1400. t.push("uid:" + e.unq);
  1401. t.push("v:7.8");
  1402. t.push("sp:" + ("true" === k.jsDoSplit ? 1 : 0));
  1403. t.push("ct:" + s.getPageTime());
  1404. t.push("dtm:" + E);
  1405. t.push("mn:" + k.mn);
  1406. d.on("resolution") && (t.push("wr:" + h(w.windowSize()).toArray().join(".")),
  1407. t.push("sr:" + h(w.screenSize()).toArray().join("."))); - 1 === ("" + g).indexOf(n.params().br.toUpperCase().charCodeAt(0)) && t.push("mf:" + g);
  1408. var P = function(b) {
  1409. return m.length + a + b.length + 5 <= l.MAX_URL_LENGTH
  1410. },
  1411. A = function(a) {
  1412. if (a) return "," + a
  1413. };
  1414. P(B) && (m += A(B), h(t).each(function(a, b) {
  1415. -1 !== b.indexOf("id:") && P(b) ? (m += A(b), e.impressionIsIdentifiable(!0)) : P(b) ? m += A(b) : c += 1
  1416. }), A("sp:" + ("true" === k.jsDoSplit ? 1 : 0)));
  1417. return m += ",ov:" + c
  1418. };
  1419. return {
  1420. sendCookie: function() {
  1421. var b;
  1422. d.on("cookie") && "true" === k.sendCookie && k.protocol &&
  1423. k.cookieDomain && k.asid && (b = k.protocol + "://" + k.cookieDomain + "?asid=" + k.asid, a.send(b, void 0, !0), c.incrementNumDtCalls())
  1424. },
  1425. send: function(a) {
  1426. var c = g.baseUrl;
  1427. try {
  1428. c += m(a, c.length)
  1429. } catch (d) {
  1430. b.add(b.ERROR_IMPRESSION_URLS)
  1431. }
  1432. c += "&" === c.slice(-1) ? "" : "&";
  1433. try {
  1434. c += p(c.length)
  1435. } catch (e) {
  1436. b.add(b.ERROR_JSINFO), c += "adsafe_jsinfo=e:" + b.toString()
  1437. }
  1438. g.macroUrl && (c += "&" === c.slice(-1) ? "" : "&", c += g.macroUrl);
  1439. try {
  1440. g.sendImpression(c)
  1441. } catch (f) {
  1442. __IntegralASDiagnosticCall("impsend", f, k)
  1443. }
  1444. }
  1445. }
  1446. },
  1447. ya = function(a, c, b) {
  1448. var d = function(a, b) {
  1449. return {
  1450. time: a,
  1451. task: b
  1452. }
  1453. };
  1454. return {
  1455. getJob: function(a, b) {
  1456. return new d(a, b)
  1457. },
  1458. getPingJob: function(e) {
  1459. var g = e / l.MILLIS_PER_SEC;
  1460. return new d(e, function() {
  1461. var d;
  1462. d = "";
  1463. 1 !== g && (d += g);
  1464. d = k["_onInViewMRC" + d];
  1465. c.send(null, l.DT_CODES.PING, g);
  1466. "true" === k.useViewabilityNotification && !b.skipAsFraudulent() && d && a.notify(d)
  1467. })
  1468. },
  1469. getPosInViewPingJob: function(a) {
  1470. return new d(a, function() {
  1471. c.send(null, l.DT_CODES.POS_INVIEW, a / l.MILLIS_PER_SEC)
  1472. })
  1473. }
  1474. }
  1475. },
  1476. ka = function() {
  1477. var a = function(a, c) {
  1478. -1 !== a.indexOf(c + "&") && (c += "&");
  1479. return a.replace(c, "")
  1480. },
  1481. c = function(a,
  1482. c) {
  1483. var e = a.indexOf("?") + 1;
  1484. return a.slice(0, e) + "ias_callback=" + c + "&" + a.slice(e)
  1485. };
  1486. return {
  1487. wrap: function(b, d, e) {
  1488. var g = "__IntegralAS_" + k.asid.replace(/\-/g, "") + "_" + r.round(1E4 * Math.random()),
  1489. f, h, l;
  1490. /ias_callback/.test(b) && (f = /(ias_callback=)(.[^&]*)/.exec(b)[0], h = f.split("=")[1], l = K.stringToFn(h), b = a(b, f));
  1491. window[g] = function(a) {
  1492. d(a);
  1493. e && l && l(a);
  1494. window[g] = void 0
  1495. };
  1496. return b = c(b, g)
  1497. }
  1498. }
  1499. },
  1500. ja = function() {
  1501. var a = function() {
  1502. return void 0 !== window.mraid
  1503. };
  1504. return {
  1505. isInView: function() {
  1506. var c = l.NA;
  1507. a() && void 0 !== window.mraid.isViewable &&
  1508. (c = window.mraid.isViewable() ? l.IN_VIEW : l.OUT_OF_VIEW);
  1509. return c
  1510. },
  1511. getDetectionMethod: function() {
  1512. return a() ? "m" : l.NA
  1513. },
  1514. isMobileApp: function() {
  1515. return a()
  1516. }
  1517. }
  1518. },
  1519. Aa = function(a, c, b) {
  1520. var d = {
  1521. jss: {
  1522. isFW: !0,
  1523. nodeType: "script"
  1524. },
  1525. jsi: {
  1526. isFW: !0,
  1527. nodeType: "iframe"
  1528. },
  1529. jload: {
  1530. impressionMethod: function(a) {
  1531. c.send(a, !1, !0)
  1532. }
  1533. },
  1534. bapi: {
  1535. impressionMethod: function(b) {
  1536. c.jsonp(b, a.enabled ? a.callback : h.noop, a.enabled ? !0 : !1)
  1537. }
  1538. },
  1539. jsapi: {
  1540. isFW: !0,
  1541. impressionMethod: function(b) {
  1542. c.jsonp(b, a.enabled ? a.callback : h.noop, a.enabled ? !0 : !1)
  1543. }
  1544. },
  1545. jsvid: {
  1546. impressionMethod: function(a) {
  1547. b.on("adImpression",
  1548. function() {
  1549. c.send(a)
  1550. })
  1551. }
  1552. },
  1553. fwjsvid: {
  1554. isFW: !0,
  1555. processUrl: function(a) {
  1556. "false" === k.fwMonitoring && (a = a.split("/"), a[3] = "db2", a[4] = "video", a = a.join("/"));
  1557. return a
  1558. },
  1559. impressionMethod: function(a) {
  1560. "false" === k.fwMonitoring && c.jsonp(a, function(a) {
  1561. b.trigger("videoBlockResult", a)
  1562. });
  1563. b.on("adImpression", function() {
  1564. c.send(a)
  1565. })
  1566. }
  1567. },
  1568. jspix: {
  1569. nodeType: "img"
  1570. }
  1571. };
  1572. return new function() {
  1573. var a = d[k.mode],
  1574. b = !!a.isFW,
  1575. f = b ? k.adsafeSrc : k.requrl + "?" + k.reqquery,
  1576. h = f.indexOf("BEGIN__ADSAFE"),
  1577. l = -1 !== h,
  1578. m = l ? f.slice(h) : "",
  1579. f = l ? f.slice(0, h) : f + (b ?
  1580. k.adsafeSep : "&");
  1581. return {
  1582. isFW: b,
  1583. baseUrl: f,
  1584. macroUrl: m,
  1585. sendImpression: function(b) {
  1586. b = a.processUrl ? a.processUrl(b) : b;
  1587. a.nodeType ? c.addNode(a.nodeType, b) : a.impressionMethod(b)
  1588. }
  1589. }
  1590. }
  1591. },
  1592. Ea = function(a, c) {
  1593. var b, d = 0,
  1594. e = 0,
  1595. g = [],
  1596. f = null,
  1597. k = null,
  1598. q, m = function(a) {
  1599. try {
  1600. var b = r.now() - f;
  1601. d += b;
  1602. x.removeEvent("mousemove", u);
  1603. g.push("{ht:" + d + ",mm:{" + h(q).toParams() + "}}");
  1604. c.addItem({
  1605. output: "{cs:10,sr:5,ec:" + g.length + ",me:[" + g.slice(-10).join(",") + "]}"
  1606. }, "mt", {
  1607. type: l.DT_CODES.UNLOAD
  1608. })
  1609. } catch (e) {}
  1610. },
  1611. p = function(a) {
  1612. try {
  1613. d = 0, q = {}, f = r.now(),
  1614. x.addEvent(b, "mousemove", u)
  1615. } catch (c) {}
  1616. },
  1617. u = function(c) {
  1618. var d, f, g, l, m, p, u;
  1619. try {
  1620. null === k && (k = b && h.isDef(c.clientX) && h.isDef(c.clientY));
  1621. if (k && 0 === e % 5 && (m = a.calcDims(), -1 !== m)) {
  1622. u = r.ceil(m.width / 10);
  1623. var w = c.clientX,
  1624. x = c.clientY;
  1625. g = s.embedded ? w : w - m.x;
  1626. l = s.embedded ? x : x - m.y;
  1627. d = r.floor(g / 10);
  1628. f = r.floor(l / 10);
  1629. p = d + f * u;
  1630. q[p] ? q[p] ++ : q[p] = 1
  1631. }
  1632. e++
  1633. } catch (J) {}
  1634. };
  1635. return {
  1636. init: function() {
  1637. try {
  1638. var c = setInterval(function() {
  1639. a.isDetected() && (b = a.find(), x.addEvent(b, "mouseenter", p), x.addEvent(b, "mouseleave", m), clearInterval(c))
  1640. }, 250)
  1641. } catch (d) {}
  1642. }
  1643. }
  1644. },
  1645. r = {
  1646. execAtEndOfThread: function(a) {
  1647. setTimeout(a, 0)
  1648. },
  1649. now: function() {
  1650. return (new Date).getTime()
  1651. },
  1652. random: function() {
  1653. return Math.random()
  1654. },
  1655. round: function(a) {
  1656. return Math.round(a)
  1657. },
  1658. ceil: function(a) {
  1659. return Math.ceil(a)
  1660. },
  1661. floor: function(a) {
  1662. return Math.floor(a)
  1663. }
  1664. },
  1665. ga = function() {
  1666. var a = {},
  1667. c = r.now(),
  1668. b = !0,
  1669. d = new W,
  1670. e = function() {
  1671. var a = function() {
  1672. c = r.now();
  1673. window.webkitRequestAnimationFrame(a)
  1674. };
  1675. window.webkitRequestAnimationFrame(a);
  1676. setInterval(function() {
  1677. var a = 100 < r.now() - c;
  1678. b !== a && (b = a, d.run(a))
  1679. }, 100)
  1680. },
  1681. g = function() {
  1682. var a =
  1683. null;
  1684. h.isDef(document.hidden) ? a = document.hidden : h.isDef(document.mozHidden) ? a = document.mozHidden : h.isDef(document.msHidden) ? a = document.msHidden : h.isDef(document.webkitHidden) && (a = document.webkitHidden);
  1685. if (null !== a) {
  1686. var c = a;
  1687. b !== c && (b = c, d.run(c))
  1688. }
  1689. return a
  1690. };
  1691. a.onHiddenChange = function(a) {
  1692. d.push(a)
  1693. };
  1694. a.isHidden = g;
  1695. null === g() && h.isDef(window.webkitRequestAnimationFrame) && (e(), a.isHidden = function() {
  1696. return b
  1697. });
  1698. return a
  1699. },
  1700. ha = function() {
  1701. var a = function(a) {
  1702. for (var c in a)
  1703. if (a.hasOwnProperty(c)) {
  1704. var e = a[c];
  1705. ("" ===
  1706. e || "null" === e || "undefined" === e || null === e || h.isUndef(e)) && delete a[c]
  1707. }
  1708. return a
  1709. },
  1710. c = function(a) {
  1711. var c = {},
  1712. e, g;
  1713. for (g in a) a.hasOwnProperty(g) && (e = a[g], h.isUndef(c[e]) ? c[e] = g : c[e] += g);
  1714. a = {};
  1715. for (g in c) c.hasOwnProperty(g) && (e = c[g], a[e] = g);
  1716. return a
  1717. };
  1718. return {
  1719. detectTopURL: function() {
  1720. var b = function() {
  1721. var a = {
  1722. g: "",
  1723. q: ""
  1724. };
  1725. try {
  1726. a.q = window.parent.parent.parent.parent.parent.parent.parent.parent.parent.parent.location.href
  1727. } catch (b) {
  1728. var c = b.message,
  1729. c = c.substring(c.lastIndexOf("<") + 1, c.lastIndexOf(">")),
  1730. d;
  1731. if (d = h.isDef(c))
  1732. if (d = !1, h.isDef(window.navigator) && h.isDef(window.navigator.userAgent)) {
  1733. var e = window.navigator.userAgent.match(/Firefox\/([\.0-9]+)/);
  1734. null !== e && 2 == e.length && (e = e[1].split("."), 3 == parseInt(e[0], 10) && 6 >= parseInt(e[1], 10) && (3 == e.length ? 13 >= parseInt(e[2], 10) && (d = !0) : d = !0))
  1735. }
  1736. d && (a.g = c)
  1737. }
  1738. return a
  1739. },
  1740. d = {};
  1741. try {
  1742. d.a = encodeURIComponent(top.location.href)
  1743. } catch (e) {}
  1744. try {
  1745. d.b = encodeURIComponent(parent.location.href)
  1746. } catch (g) {}
  1747. if (s.embedded) {
  1748. try {
  1749. d.c = encodeURIComponent(parent.document.referrer)
  1750. } catch (f) {}
  1751. try {
  1752. d.e = encodeURIComponent(window.document.referrer)
  1753. } catch (l) {}
  1754. }
  1755. try {
  1756. "jsi" !==
  1757. k.mode && (d.d = encodeURIComponent(window.location.href))
  1758. } catch (q) {}
  1759. try {
  1760. d.f = encodeURIComponent(k.jsref)
  1761. } catch (m) {}
  1762. try {
  1763. var p = b();
  1764. d.g = encodeURIComponent(p.g);
  1765. d.q = encodeURIComponent(p.q)
  1766. } catch (u) {}
  1767. var d = a(d),
  1768. d = c(d),
  1769. b = [],
  1770. y;
  1771. for (y in d) d.hasOwnProperty(y) && b.push({
  1772. key: y,
  1773. val: d[y]
  1774. });
  1775. b.sort(function(a, c) {
  1776. return a.val.length > c.val.length ? 1 : a.val.length < c.val.length ? -1 : 0
  1777. });
  1778. return b
  1779. }
  1780. }
  1781. },
  1782. Ga = function(a) {
  1783. return {
  1784. hash: function() {
  1785. for (var c = 0, b = a.length, d = [], e; c < b; c++) e = a[c].filename.replace(/\.plugin$/, ""), e = K.hashCode(e),
  1786. e = h.toBase(e, 62).slice(-4), d.push(e);
  1787. return d
  1788. },
  1789. decode: function(c) {
  1790. var b, d;
  1791. b = r.floor(r.random() * c.length);
  1792. d = encodeURIComponent(a[b].filename.replace(/\.plugin$/, ""));
  1793. return [c[b], d]
  1794. }
  1795. }
  1796. },
  1797. ca = function() {
  1798. var a = !1;
  1799. return {
  1800. measure: function(c) {
  1801. a = 0 === c.rsa
  1802. },
  1803. skipAsFraudulent: function() {
  1804. return a
  1805. }
  1806. }
  1807. },
  1808. ia = function() {
  1809. var a = [],
  1810. c = {
  1811. sl: "n",
  1812. gsl: "gn",
  1813. fsl: "fn"
  1814. },
  1815. b = 0,
  1816. d, e, g = {
  1817. i: 0,
  1818. o: 0,
  1819. n: 0,
  1820. pp: 0,
  1821. pm: 0,
  1822. gpp: 0,
  1823. gpm: 0,
  1824. gi: 0,
  1825. go: 0,
  1826. gn: 0,
  1827. fi: 0,
  1828. fo: 0,
  1829. fn: 0
  1830. },
  1831. f = function(a) {
  1832. var c = {},
  1833. b = a.winDimensions,
  1834. d = a.adDimensions,
  1835. e = function(a) {
  1836. var c = "";
  1837. h.isDef(a) &&
  1838. h.isDef(a.x) && h.isDef(a.y) && h.isDef(a.width) && h.isDef(a.height) && (c = [a.x, a.y, a.width, a.height].join("."));
  1839. return c
  1840. };
  1841. h.isDef(b) && -1 !== b && (c.wc = e(b));
  1842. h.isDef(d) && -1 !== d && (c.ac = e(d), c.am = d.method, c.cc = e(d.container));
  1843. h({
  1844. piv: "percentInView",
  1845. obst: "obstructed",
  1846. th: "tabHidden",
  1847. reas: "reason"
  1848. }).each(function(b, d) {
  1849. var e = a[d];
  1850. h.isDef(e) && (c[b] = e)
  1851. });
  1852. return "," + h(c).toParams()
  1853. },
  1854. k = function(a, c) {
  1855. return (c || "") + {
  1856. inView: "i",
  1857. outOfView: "o",
  1858. na: "n",
  1859. partialViewMinus: "pm",
  1860. partialViewPlus: "pp"
  1861. }[a]
  1862. },
  1863. q = function() {
  1864. h(c).each(function(c,
  1865. d) {
  1866. g[d] += a.length ? e - b : e
  1867. });
  1868. b = e
  1869. },
  1870. m = function(b) {
  1871. a.length && q();
  1872. h(b).each(function(a, b) {
  1873. var d = c[a];
  1874. d !== b && "n" === d && (g[b] += g.n);
  1875. c[a] = b
  1876. });
  1877. a.length || q()
  1878. },
  1879. p = function(a) {
  1880. var c;
  1881. c = f(a);
  1882. var b = {
  1883. sl: k(a.viewState),
  1884. fsl: k(a.fState || l.NA, "f"),
  1885. gsl: k(a.gState || l.NA, "g")
  1886. };
  1887. e = s.getTagTime();
  1888. m(b);
  1889. b.t = e;
  1890. c = h({
  1891. toString: function() {
  1892. return "{" + h(b).toParams() + this.details + "}"
  1893. },
  1894. details: c,
  1895. isInView: function() {
  1896. return -1 !== (l.IN_VIEW + "|" + l.PARTIAL_VIEW_PLUS).indexOf(a.viewState)
  1897. }
  1898. }).mixin(b);
  1899. h(c).mixin(a);
  1900. return c
  1901. };
  1902. return {
  1903. fastForward: function() {
  1904. e =
  1905. s.getTagTime();
  1906. q()
  1907. },
  1908. registerLocation: function(b) {
  1909. var e;
  1910. c.sl == k(b.viewState) && a.length ? (e = new p(b), a[a.length - 1].details = e.details) : (e = new p(b), a.push(e), d = b.viewState);
  1911. return a[a.length - 1]
  1912. },
  1913. stringify: function(c) {
  1914. var b = "";
  1915. a.length && (b = h({
  1916. slTimes: "{" + h(g).toParams() + "}",
  1917. slEvents: "[" + a.slice(-c).join(",") + "]",
  1918. slEventCount: a.length
  1919. }).toParams());
  1920. return b
  1921. },
  1922. getCurrentLoc: function() {
  1923. return k(d)
  1924. }
  1925. }
  1926. },
  1927. K = {
  1928. rot: function(a) {
  1929. return a.replace(/[a-zA-Z]/g, function(a) {
  1930. return String.fromCharCode(("Z" >= a ? 90 : 122) >= (a =
  1931. a.charCodeAt(0) + 13) ? a : a - 26)
  1932. })
  1933. },
  1934. hashCode: function(a) {
  1935. var c = 0,
  1936. b, d, e;
  1937. if (0 === a.length) return c;
  1938. b = 0;
  1939. for (e = a.length; b < e; b++) d = a.charCodeAt(b), c = (c << 5) - c + d, c |= 0;
  1940. return c
  1941. },
  1942. stringToFn: function(a) {
  1943. var c, b = window,
  1944. d = a.split(".");
  1945. for (a = 0; a < d.length; a++)
  1946. if (c = b, b = b[d[a]], h.isUndef(b) || a === d.length - 1 && !h.isFunction(b)) return !1;
  1947. return function() {
  1948. b.apply(c, arguments)
  1949. }
  1950. }
  1951. },
  1952. va = function(a, c, b) {
  1953. var d = l.OUT_OF_VIEW,
  1954. e, g = function() {
  1955. if (e) return e;
  1956. var b = h(document.getElementsByTagName("object")).toArray(),
  1957. c = h(document.getElementsByTagName("embed")).toArray(),
  1958. d = "IASid" + a;
  1959. return e = h(b.concat(c)).find(function(b, c) {
  1960. var e = h.isFunction(c[d]);
  1961. if (e) c[d](a);
  1962. return e
  1963. })
  1964. };
  1965. c.on("videoBlockResult", function(b) {
  1966. var c = g(),
  1967. d = !1,
  1968. e = "blockAd" + a;
  1969. "failed" === b.action && (d = !0);
  1970. if (c && h.isDef(c.blockAd)) c.blockAd(d);
  1971. else if (c && h.isDef(c[e])) c[e](d)
  1972. });
  1973. (function() {
  1974. var e = !1,
  1975. h = !1;
  1976. x.addEvent(window, "message", function(g) {
  1977. var k = {};
  1978. try {
  1979. k = JSON.parse(unescape(g.data))
  1980. } catch (p) {
  1981. k = {}
  1982. }
  1983. k.recordType = "video";
  1984. k.id === a && (g = k.messageType, -1 !== "showAd|adStarted|adVideoStarted|resumeAd".indexOf(g) ?
  1985. (e = !0, d = h ? l.IN_VIEW : !1) : -1 !== "adVideoComplete|adStopped|stopAd|pauseAd".indexOf(g) ? (e = !1, d = l.OUT_OF_VIEW) : "resizeAd" === g && ("fullscreen" === k.viewMode ? (h = !0, d = e ? l.IN_VIEW : l.OUT_OF_VIEW) : (h = !1, d = e ? !1 : l.OUT_OF_VIEW)), b.addRecord(k), c.trigger(g, k))
  1986. })
  1987. })();
  1988. return {
  1989. findVideo: g,
  1990. version: g().getVersion(),
  1991. forceViewState: function() {
  1992. return d
  1993. }
  1994. }
  1995. },
  1996. ua = function(a) {
  1997. var c = [],
  1998. b = function(c) {
  1999. var b = h({
  2000. t: c.time - k.birthdate,
  2001. tp: c.messageType,
  2002. vid: c.id,
  2003. sl: a.getCurrentLoc()
  2004. }).mixin(c.eventData);
  2005. return h({
  2006. toString: function() {
  2007. return "{" +
  2008. h(b).toParams() + "}"
  2009. }
  2010. }).mixin(b)
  2011. };
  2012. return {
  2013. getEvents: function() {
  2014. return c
  2015. },
  2016. addRecord: function(a) {
  2017. a = new b(a);
  2018. c.push(a)
  2019. },
  2020. stringify: function() {
  2021. return h({
  2022. vEventCount: c.length,
  2023. vEvents: "[" + c.join(",") + "]"
  2024. }).toParams()
  2025. }
  2026. }
  2027. },
  2028. Ba = function(a, c, b, d, e, g, f, n, q, m, p, u, y, C, z, v, B) {
  2029. var E, t, P, A, L = 0,
  2030. K = 0,
  2031. T, Q = -1 !== k.mode.indexOf("jsvid"),
  2032. F = y.isMobileApp(),
  2033. G = Q ? 200 : 100,
  2034. N = g.on("recordalternate");
  2035. b = g.on("forcecocoa");
  2036. z = c.getDocumentMode();
  2037. z = c.browserIs("g") || c.browserIs("i") && (9 === z || 10 === z) && g.on("rattie");
  2038. var R = s.friendlyIframe &&
  2039. b || s.xDomainIframe && z && b || s.xDomainIframe && !z,
  2040. I = R && g.on("cocoapuffs"),
  2041. H = new Ia(10),
  2042. D = [Q && g.on("videotwoseconds") ? 2E3 : 1E3, 5E3, 15E3],
  2043. S = h(D).map(function(a, c) {
  2044. return c / 1E3
  2045. }).join("-"),
  2046. O = new aa(1E3),
  2047. U = new $([u.getPingJob(D[0]), u.getPingJob(D[1]), u.getPingJob(D[2])]);
  2048. if (g.on("tabHiddenDtCall")) var M = new aa(1E3),
  2049. W = new $([u.getPosInViewPingJob(D[0])]);
  2050. var V = function(b) {
  2051. H.start();
  2052. var e, f;
  2053. f = E.getScreenLocInfo(a);
  2054. e = function() {
  2055. V();
  2056. g.on("viewabilityready") && d.send(null, l.DT_CODES.VIEWABILITY_READY)
  2057. };
  2058. N && (f.gState =
  2059. f.viewState);
  2060. if (I) {
  2061. t = t || new Y(Z, f.adDimensions, e, g, C, c) || {};
  2062. e = t.checkViewable();
  2063. if (1 !== f.tabHidden || e.str === l.NA) f.viewState = e.str, f.percentInView = e.pct;
  2064. g.on("unreliabilityDetection") && (A = A || new Y(Z, {
  2065. height: 0,
  2066. width: -2E4
  2067. }, h.noop, g, C, c) || {}, e = A.checkViewable(), e.str !== l.OUT_OF_VIEW && (K += 1), L += 1, p.addItem({
  2068. output: K + "/" + L
  2069. }, "fu"))
  2070. } else R && (f.viewState = l.NA, f.percentInView = -1);
  2071. N && (P || b || (P = I ? t : new Y(Z, f.adDimensions, h.noop, g, C, c)), f.fState = b ? l.NA : P.checkViewable().str);
  2072. if (Q) {
  2073. if (b = B.forceViewState()) f.viewState =
  2074. b
  2075. } else F && (f.viewState = y.isInView());
  2076. b = v.registerLocation(f);
  2077. b.isInView() ? (O.mark(), U.doEligibleJobs(O.getTotalTime())) : O.stop();
  2078. (e = U.getNextJob()) && e.time === D[0] && g.on("tabHiddenDtCall") && (f.posViewState === l.IN_VIEW || f.posViewState === l.PARTIAL_VIEW_PLUS ? (M.mark(), W.doEligibleJobs(M.getTotalTime())) : M.stop());
  2079. H.stop();
  2080. f = r.round(H.getTime() / H.getCount());
  2081. p.addItem({
  2082. output: f
  2083. }, "lt", {
  2084. type: l.DT_CODES.UNLOAD
  2085. });
  2086. return b
  2087. },
  2088. X = function(a) {
  2089. T = !0;
  2090. var b = !1;
  2091. a = function() {
  2092. b || (b = !0, d.send(null, l.DT_CODES.VIDEO_EVENTS))
  2093. };
  2094. q.impressionIsIdentifiable() && (V(), setInterval(V, G), n.on("adStopped", a), x.addEvent(window, "beforeunload", d.send, !1), Q && x.addEvent(window, "beforeunload", a, !1))
  2095. };
  2096. return E = {
  2097. getWinDimensions: function() {
  2098. var a, b, c, d, f;
  2099. try {
  2100. f = w.windowSize(), c = f.width, d = f.height, s.friendly ? a = b = 0 : (h.isDef(window.screenX) && (a = window.screenX), h.isDef(window.screenY) && (b = window.screenY))
  2101. } catch (g) {
  2102. e.add(e.ERROR_GET_WIN_DIMENSIONS)
  2103. }
  2104. return isNaN(a) || isNaN(b) || isNaN(c) || isNaN(d) ? -1 : {
  2105. x: r.round(a),
  2106. y: r.round(b),
  2107. width: r.round(c),
  2108. height: r.round(d)
  2109. }
  2110. },
  2111. createIncompleteLocInfo: function(a, b) {
  2112. return {
  2113. viewState: l.NA,
  2114. posViewState: l.NA,
  2115. embedded: s.embedded,
  2116. winDimensions: a,
  2117. adDimensions: b
  2118. }
  2119. },
  2120. getScreenLocInfo: function(a) {
  2121. var b, c, d, g, k, m;
  2122. a.find();
  2123. b = a.getParent();
  2124. k = a.isDetected();
  2125. var n = a.getDetectionMethod(),
  2126. p = [];
  2127. try {
  2128. c = E.getWinDimensions();
  2129. d = a.calcDims();
  2130. d.method = n;
  2131. d.container = J.round(J.calcNodeDims(b));
  2132. if (J.isInvalidDims(c, d)) return E.createIncompleteLocInfo(c, d);
  2133. g = f.calcPercentInView(c, d)
  2134. } catch (q) {
  2135. e.add(e.ERROR_GET_SCREEN_LOC_GET_DIMENSIONS)
  2136. }
  2137. b = f.calcInitialViewState(g);
  2138. b === l.OUT_OF_VIEW && p.push("l");
  2139. k && (m = a.isObstructed(d));
  2140. !0 === m && (b = l.OUT_OF_VIEW, p.push("o"));
  2141. a = b;
  2142. k = C.isHidden();
  2143. !0 === k && (b = l.OUT_OF_VIEW, p.push("f"));
  2144. return {
  2145. winDimensions: c,
  2146. adDimensions: d,
  2147. viewState: b,
  2148. percentInView: g,
  2149. reason: p.join("."),
  2150. obstructed: h.stringifyTriState(m),
  2151. tabHidden: h.stringifyTriState(k),
  2152. posViewState: a
  2153. }
  2154. },
  2155. checkScreenLoc: V,
  2156. init: function() {
  2157. "true" === k.allowViewability && h.isFunction(document.addEventListener) ? (T = !1, "complete" == document.readyState || "loaded" == document.readyState || "interactive" ==
  2158. document.readyState ? r.execAtEndOfThread(X) : document.addEventListener("DOMContentLoaded", X, !1)) : m.waitForBody(X)
  2159. },
  2160. needsFlash: function() {
  2161. return R
  2162. },
  2163. readyFired: function() {
  2164. return T
  2165. },
  2166. useFlash: function() {
  2167. return I
  2168. },
  2169. stringifyPingTimes: function() {
  2170. return S
  2171. }
  2172. }
  2173. };
  2174. try {
  2175. Ha()
  2176. } catch (Ja) {
  2177. __IntegralASDiagnosticCall("main", Ja, k)
  2178. }
  2179. };
  2180. try {
  2181. __IntegralASConfig.initialize(__IntegralASConfig)
  2182. } catch (err$$13) {
  2183. __IntegralASDiagnosticCall("initialize", err$$13, __IntegralASConfig)
  2184. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement