Skip to content

Instantly share code, notes, and snippets.

@ix4
Created July 26, 2018 22:02
Show Gist options
  • Select an option

  • Save ix4/cba3e2c866972dcf2a4e53f9358fc45d to your computer and use it in GitHub Desktop.

Select an option

Save ix4/cba3e2c866972dcf2a4e53f9358fc45d to your computer and use it in GitHub Desktop.
just a beautified copy of https://platform.twitter.com/widgets.js
!function() {
Function && Function.prototype && Function.prototype.bind && (/MSIE ([6789]|10)/.test(navigator.userAgent) || (window.__twttr && window.__twttr.widgets && window.__twttr.widgets.loaded && window.twttr.widgets.load && window.twttr.widgets.load(), window.__twttr && window.__twttr.widgets && window.__twttr.widgets.init || ! function(t) {
function e(n) {
if (r[n]) return r[n].exports;
var i = r[n] = {
exports: {},
id: n,
loaded: !1
};
return t[n].call(i.exports, i, i.exports, e), i.loaded = !0, i.exports
}
var n = window.__twttrll;
window.__twttrll = function(r, o) {
for (var s, a, u = 0, c = []; u < r.length; u++) a = r[u], i[a] && c.push.apply(c, i[a]), i[a] = 0;
for (s in o) t[s] = o[s];
for (n && n(r, o); c.length;) c.shift().call(null, null, e)
};
var r = {},
i = {
0: 0
};
return e.e = function(t, e) {}, e.e = function(t, n) {
if (0 === i[t]) return n.call(null, null, e);
if (void 0 !== i[t]) i[t].push(n);
else {
i[t] = [n];
var r = document.getElementsByTagName("head")[0],
o = document.createElement("script");
o.type = "text/javascript", o.charset = "utf-8", o.async = !0, o.onerror = function() {
var e = i[t];
for (o.onerror = null, delete i[t]; e.length;) e.shift().call(null, new Error("failed to load chunk"))
}, o.src = e.p + "js/" + ({
1: "dm_button",
2: "button",
3: "grid",
4: "moment",
5: "periscope_on_air",
6: "timeline",
7: "tweet"
} [t] || t) + "." + {
1: "753a3a94b6815766153f88dc14803fbb",
2: "bf357a6ba1a5f1fa0ddb61377ae3add5",
3: "1a05e31bc9fc22c82f3ace3475267973",
4: "beb66167fc34ab551ad25adc49c2e6f5",
5: "c434942fb560e81746394b55989b494a",
6: "628a0bcfd854b302fe473a57232fcd2e",
7: "74fa68560b68d64af1aa1acaf8b7e29a"
} [t] + ".js", r.appendChild(o)
}
}, e.m = t, e.c = r, e.p = "https://platform.twitter.com/", e(0)
}([function(t, e, n) {
var r, i = n(1),
o = n(9),
s = n(14),
a = n(16),
u = n(18),
c = n(19),
d = n(31),
l = n(33),
f = n(248),
h = n(258),
p = n(259),
m = n(241),
v = "_e";
n(260), m.emitter.trigger(m.START), u.set("widgets.init", !0), a.set("init", !0), p(), r = new i, s.exposeReadyPromise(r.promise, a.base, v), a.set("widgets", f), a.set("widgets.load", l.load), a.set("events", d), h(function() {
r.resolve(a.base), c.attachTo(o), l.loadPage()
})
}, function(t, e, n) {
function r() {
var t = this;
this.promise = new i(function(e, n) {
t.resolve = e, t.reject = n
})
}
var i = n(2);
t.exports = r
}, function(t, e, n) {
var r = n(3).Promise,
i = n(7),
o = n(8);
t.exports = o.hasPromiseSupport() ? i.Promise : r
}, function(t, e, n) {
var r;
(function(t) {
/*!
* @overview es6-promise - a tiny implementation of Promises/A+.
* @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
* @license Licensed under MIT license
* See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE
* @version 2.3.0
*/
(function() {
"use strict";
function i(t) {
return "function" == typeof t || "object" == typeof t && null !== t
}
function o(t) {
return "function" == typeof t
}
function s(t) {
return "object" == typeof t && null !== t
}
function a(t) {
V = t
}
function u(t) {
K = t
}
function c() {
var t = process.nextTick,
e = process.versions.node.match(/^(?:(\d+)\.)?(?:(\d+)\.)?(\*|\d+)$/);
return Array.isArray(e) && "0" === e[1] && "10" === e[2] && (t = setImmediate),
function() {
t(p)
}
}
function d() {
return function() {
W(p)
}
}
function l() {
var t = 0,
e = new Z(p),
n = document.createTextNode("");
return e.observe(n, {
characterData: !0
}),
function() {
n.data = t = ++t % 2
}
}
function f() {
var t = new MessageChannel;
return t.port1.onmessage = p,
function() {
t.port2.postMessage(0)
}
}
function h() {
return function() {
setTimeout(p, 1)
}
}
function p() {
for (var t = 0; t < Q; t += 2) {
var e = et[t],
n = et[t + 1];
e(n), et[t] = void 0, et[t + 1] = void 0
}
Q = 0
}
function m() {
try {
var t = n(5);
return W = t.runOnLoop || t.runOnContext, d()
} catch (t) {
return h()
}
}
function v() {}
function g() {
return new TypeError("You cannot resolve a promise with itself")
}
function w() {
return new TypeError("A promises callback cannot return that same promise.")
}
function y(t) {
try {
return t.then
} catch (t) {
return ot.error = t, ot
}
}
function b(t, e, n, r) {
try {
t.call(e, n, r)
} catch (t) {
return t
}
}
function _(t, e, n) {
K(function(t) {
var r = !1,
i = b(n, e, function(n) {
r || (r = !0, e !== n ? A(t, n) : C(t, n))
}, function(e) {
r || (r = !0, I(t, e))
}, "Settle: " + (t._label || " unknown promise"));
!r && i && (r = !0, I(t, i))
}, t)
}
function E(t, e) {
e._state === rt ? C(t, e._result) : e._state === it ? I(t, e._result) : S(e, void 0, function(e) {
A(t, e)
}, function(e) {
I(t, e)
})
}
function x(t, e) {
if (e.constructor === t.constructor) E(t, e);
else {
var n = y(e);
n === ot ? I(t, ot.error) : void 0 === n ? C(t, e) : o(n) ? _(t, e, n) : C(t, e)
}
}
function A(t, e) {
t === e ? I(t, g()) : i(e) ? x(t, e) : C(t, e)
}
function T(t) {
t._onerror && t._onerror(t._result), R(t)
}
function C(t, e) {
t._state === nt && (t._result = e, t._state = rt, 0 !== t._subscribers.length && K(R, t))
}
function I(t, e) {
t._state === nt && (t._state = it, t._result = e, K(T, t))
}
function S(t, e, n, r) {
var i = t._subscribers,
o = i.length;
t._onerror = null, i[o] = e, i[o + rt] = n, i[o + it] = r, 0 === o && t._state && K(R, t)
}
function R(t) {
var e = t._subscribers,
n = t._state;
if (0 !== e.length) {
for (var r, i, o = t._result, s = 0; s < e.length; s += 3) r = e[s], i = e[s + n], r ? j(n, r, i, o) : i(o);
t._subscribers.length = 0
}
}
function P() {
this.error = null
}
function N(t, e) {
try {
return t(e)
} catch (t) {
return st.error = t, st
}
}
function j(t, e, n, r) {
var i, s, a, u, c = o(n);
if (c) {
if (i = N(n, r), i === st ? (u = !0, s = i.error, i = null) : a = !0, e === i) return void I(e, w())
} else i = r, a = !0;
e._state !== nt || (c && a ? A(e, i) : u ? I(e, s) : t === rt ? C(e, i) : t === it && I(e, i))
}
function k(t, e) {
try {
e(function(e) {
A(t, e)
}, function(e) {
I(t, e)
})
} catch (e) {
I(t, e)
}
}
function L(t, e) {
var n = this;
n._instanceConstructor = t, n.promise = new t(v), n._validateInput(e) ? (n._input = e, n.length = e.length, n._remaining = e.length, n._init(), 0 === n.length ? C(n.promise, n._result) : (n.length = n.length || 0, n._enumerate(), 0 === n._remaining && C(n.promise, n._result))) : I(n.promise, n._validationError())
}
function O(t) {
return new at(this, t).promise
}
function D(t) {
function e(t) {
A(i, t)
}
function n(t) {
I(i, t)
}
var r = this,
i = new r(v);
if (!$(t)) return I(i, new TypeError("You must pass an array to race.")), i;
for (var o = t.length, s = 0; i._state === nt && s < o; s++) S(r.resolve(t[s]), void 0, e, n);
return i
}
function z(t) {
var e = this;
if (t && "object" == typeof t && t.constructor === e) return t;
var n = new e(v);
return A(n, t), n
}
function B(t) {
var e = this,
n = new e(v);
return I(n, t), n
}
function F() {
throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")
}
function U() {
throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")
}
function M(t) {
this._id = ft++, this._state = void 0, this._result = void 0, this._subscribers = [], v !== t && (o(t) || F(), this instanceof M || U(), k(this, t))
}
function q() {
var t;
if ("undefined" != typeof global) t = global;
else if ("undefined" != typeof self) t = self;
else try {
t = Function("return this")()
} catch (t) {
throw new Error("polyfill failed because global object is unavailable in this environment")
}
var e = t.Promise;
e && "[object Promise]" === Object.prototype.toString.call(e.resolve()) && !e.cast || (t.Promise = ht)
}
var H;
H = Array.isArray ? Array.isArray : function(t) {
return "[object Array]" === Object.prototype.toString.call(t)
};
var W, V, G, $ = H,
Q = 0,
K = ({}.toString, function(t, e) {
et[Q] = t, et[Q + 1] = e, Q += 2, 2 === Q && (V ? V(p) : G())
}),
J = "undefined" != typeof window ? window : void 0,
Y = J || {},
Z = Y.MutationObserver || Y.WebKitMutationObserver,
X = "undefined" != typeof process && "[object process]" === {}.toString.call(process),
tt = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" != typeof MessageChannel,
et = new Array(1e3);
G = X ? c() : Z ? l() : tt ? f() : void 0 === J ? m() : h();
var nt = void 0,
rt = 1,
it = 2,
ot = new P,
st = new P;
L.prototype._validateInput = function(t) {
return $(t)
}, L.prototype._validationError = function() {
return new Error("Array Methods must be provided an Array")
}, L.prototype._init = function() {
this._result = new Array(this.length)
};
var at = L;
L.prototype._enumerate = function() {
for (var t = this, e = t.length, n = t.promise, r = t._input, i = 0; n._state === nt && i < e; i++) t._eachEntry(r[i], i)
}, L.prototype._eachEntry = function(t, e) {
var n = this,
r = n._instanceConstructor;
s(t) ? t.constructor === r && t._state !== nt ? (t._onerror = null, n._settledAt(t._state, e, t._result)) : n._willSettleAt(r.resolve(t), e) : (n._remaining--, n._result[e] = t)
}, L.prototype._settledAt = function(t, e, n) {
var r = this,
i = r.promise;
i._state === nt && (r._remaining--, t === it ? I(i, n) : r._result[e] = n), 0 === r._remaining && C(i, r._result)
}, L.prototype._willSettleAt = function(t, e) {
var n = this;
S(t, void 0, function(t) {
n._settledAt(rt, e, t)
}, function(t) {
n._settledAt(it, e, t)
})
};
var ut = O,
ct = D,
dt = z,
lt = B,
ft = 0,
ht = M;
M.all = ut, M.race = ct, M.resolve = dt, M.reject = lt, M._setScheduler = a, M._setAsap = u, M._asap = K, M.prototype = {
constructor: M,
then: function(t, e) {
var n = this,
r = n._state;
if (r === rt && !t || r === it && !e) return this;
var i = new this.constructor(v),
o = n._result;
if (r) {
var s = arguments[r - 1];
K(function() {
j(r, i, s, o)
})
} else S(n, i, t, e);
return i
},
catch: function(t) {
return this.then(null, t)
}
};
var pt = q,
mt = {
Promise: ht,
polyfill: pt
};
n(6).amd ? (r = function() {
return mt
}.call(e, n, e, t), !(void 0 !== r && (t.exports = r))) : "undefined" != typeof t && t.exports && (t.exports = mt)
}).call(this)
}).call(e, n(4)(t))
}, function(t, e) {
t.exports = function(t) {
return t.webpackPolyfill || (t.deprecate = function() {}, t.paths = [], t.children = [], t.webpackPolyfill = 1), t
}
}, function(t, e) {}, function(t, e) {
t.exports = function() {
throw new Error("define cannot be used indirect")
}
}, function(t, e) {
t.exports = window
}, function(t, e, n) {
function r(t) {
return t = t || y, t.devicePixelRatio ? t.devicePixelRatio >= 1.5 : !!t.matchMedia && t.matchMedia("only screen and (min-resolution: 144dpi)").matches
}
function i(t) {
return t = t || _, /(Trident|MSIE|Edge[\/ ]?\d)/.test(t)
}
function o(t) {
return t = t || _, /MSIE 9/.test(t)
}
function s(t) {
return t = t || _, /MSIE 10/.test(t)
}
function a(t) {
return t = t || _, /(iPad|iPhone|iPod)/.test(t)
}
function u(t) {
return t = t || _, /^Mozilla\/5\.0 \(Linux; (U; )?Android/.test(t)
}
function c(t, e) {
return t = t || y, e = e || _, t.postMessage && !(i(e) && t.opener)
}
function d(t, e, n) {
return t = t || y, e = e || w, n = n || _, "ontouchstart" in t || /Opera Mini/.test(n) || e.msMaxTouchPoints > 0
}
function l() {
var t = v.body.style;
return void 0 !== t.transition || void 0 !== t.webkitTransition || void 0 !== t.mozTransition || void 0 !== t.oTransition || void 0 !== t.msTransition
}
function f() {
return !!y.IntersectionObserver
}
function h() {
return !!(y.Promise && y.Promise.resolve && y.Promise.reject && y.Promise.all && y.Promise.race && function() {
var t;
return new y.Promise(function(e) {
t = e
}), b.isType("function", t)
}())
}
function p() {
return y.performance && y.performance.getEntriesByType
}
function m() {
try {
return y.localStorage.setItem("local_storage_support_test", "true"), "undefined" != typeof y.localStorage
} catch (t) {
return g.devError("window.localStorage is not supported:", t), !1
}
}
var v = n(9),
g = n(10),
w = n(13),
y = n(7),
b = n(12),
_ = w.userAgent;
t.exports = {
retina: r,
anyIE: i,
ie9: o,
ie10: s,
ios: a,
android: u,
canPostMessage: c,
touch: d,
cssTransitions: l,
hasPromiseSupport: h,
hasIntersectionObserverSupport: f,
hasPerformanceInformation: p,
hasLocalStorageSupport: m
}
}, function(t, e) {
t.exports = document
}, function(t, e, n) {
function r() {}
function i() {}
function o(t, e) {}
function s() {
d("error", h.toRealArray(arguments))
}
function a(t) {
m && (p[t] = c())
}
function u(t) {
var e;
m && (p[t] ? (e = c(), i("_twitter", t, e - p[t])) : r("timeEnd() called before time() for id: ", t))
}
function c() {
return f.performance && +f.performance.now() || +new Date
}
function d(t, e) {
if (f.console && f.console[t]) switch (e.length) {
case 1:
f.console[t](e[0]);
break;
case 2:
f.console[t](e[0], e[1]);
break;
case 3:
f.console[t](e[0], e[1], e[2]);
break;
case 4:
f.console[t](e[0], e[1], e[2], e[3]);
break;
case 5:
f.console[t](e[0], e[1], e[2], e[3], e[4]);
break;
default:
0 !== e.length && f.console.warn && f.console.warn("too many params passed to logger." + t)
}
}
var l = n(11),
f = n(7),
h = n(12),
p = {},
m = h.contains(l.href, "tw_debug=true");
t.exports = {
devError: r,
devInfo: i,
devObject: o,
publicError: s,
time: a,
timeEnd: u
}
}, function(t, e) {
t.exports = location
}, function(t, e, n) {
function r(t) {
return l(arguments).slice(1).forEach(function(e) {
o(e, function(e, n) {
t[e] = n
})
}), t
}
function i(t) {
return o(t, function(e, n) {
u(n) && (i(n), c(n) && delete t[e]), void 0 !== n && null !== n && "" !== n || delete t[e]
}), t
}
function o(t, e) {
var n;
for (n in t) t.hasOwnProperty && !t.hasOwnProperty(n) || e(n, t[n]);
return t
}
function s(t) {
return {}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()
}
function a(t, e) {
return t == s(e)
}
function u(t) {
return t === Object(t)
}
function c(t) {
var e;
if (!u(t)) return !1;
if (Object.keys) return !Object.keys(t).length;
for (e in t)
if (t.hasOwnProperty(e)) return !1;
return !0
}
function d(t, e) {
h.setTimeout(function() {
t.call(e || null)
}, 0)
}
function l(t) {
return t ? Array.prototype.slice.call(t) : []
}
function f(t, e) {
return !(!t || !t.indexOf) && t.indexOf(e) > -1
}
var h = n(7);
t.exports = {
aug: r,
async: d,
compact: i,
contains: f,
forIn: o,
isObject: u,
isEmptyObject: c,
toType: s,
isType: a,
toRealArray: l
}
}, function(t, e) {
t.exports = navigator
}, function(t, e, n) {
function r(t, e, n) {
e.ready = i(t.then, t), n && Array.isArray(e[n]) && (e[n].forEach(i(t.then, t)), delete e[n])
}
var i = n(15);
t.exports = {
exposeReadyPromise: r
}
}, function(t, e, n) {
var r = n(12);
t.exports = function(t, e) {
var n = Array.prototype.slice.call(arguments, 2);
return function() {
var i = r.toRealArray(arguments);
return t.apply(e, n.concat(i))
}
}
}, function(t, e, n) {
var r = n(17);
t.exports = new r("twttr")
}, function(t, e, n) {
function r(t) {
return a.isType("string", t) ? t.split(".") : a.isType("array", t) ? t : []
}
function i(t, e) {
var n = r(e),
i = n.slice(0, -1);
return i.reduce(function(t, e, n) {
if (t[e] = t[e] || {}, !a.isObject(t[e])) throw new Error(i.slice(0, n + 1).join(".") + " is already defined with a value.");
return t[e]
}, t)
}
function o(t, e) {
e = e || s, e[t] = e[t] || {}, Object.defineProperty(this, "base", {
value: e[t]
}), Object.defineProperty(this, "name", {
value: t
})
}
var s = n(7),
a = n(12);
a.aug(o.prototype, {
get: function(t) {
var e = r(t);
return e.reduce(function(t, e) {
if (a.isObject(t)) return t[e]
}, this.base)
},
set: function(t, e, n) {
var o = r(t),
s = i(this.base, t),
a = o.slice(-1);
return n && a in s ? s[a] : s[a] = e
},
init: function(t, e) {
return this.set(t, e, !0)
},
unset: function(t) {
var e = r(t),
n = this.get(e.slice(0, -1));
n && delete n[e.slice(-1)]
},
aug: function(t) {
var e = this.get(t),
n = a.toRealArray(arguments).slice(1);
if (e = "undefined" != typeof e ? e : {}, n.unshift(e), !n.every(a.isObject)) throw new Error("Cannot augment non-object.");
return this.set(t, a.aug.apply(null, n))
},
call: function(t) {
var e = this.get(t),
n = a.toRealArray(arguments).slice(1);
if (!a.isType("function", e)) throw new Error("Function " + t + "does not exist.");
return e.apply(null, n)
},
fullPath: function(t) {
var e = r(t);
return e.unshift(this.name), e.join(".")
}
}), t.exports = o
}, function(t, e, n) {
var r = n(17);
t.exports = new r("__twttr")
}, function(t, e, n) {
function r(t) {
var e = s.href,
n = "original_referer=" + e;
return [t, n].join(t.indexOf("?") == -1 ? "?" : "&")
}
function i(t) {
var e, n;
t.altKey || t.metaKey || t.shiftKey || (e = u.closest(function(t) {
return "A" === t.tagName || "AREA" === t.tagName
}, t.target), e && d.isIntentURL(e.href) && (n = r(e.href), n = n.replace(/^http[:]/, "https:"), n = n.replace(/^\/\//, "https://"), c.open(n, e), a.preventDefault(t)))
}
function o(t) {
t.addEventListener("click", i, !1)
}
var s = n(11),
a = n(20),
u = n(22),
c = n(24),
d = n(25);
t.exports = {
attachTo: o
}
}, function(t, e, n) {
function r(t) {
var e = t.getAttribute("data-twitter-event-id");
return e ? e : (t.setAttribute("data-twitter-event-id", ++g), g)
}
function i(t, e, n) {
var r = 0,
i = t && t.length || 0;
for (r = 0; r < i; r++)
if (t[r].call(e, n, e), n.ceaseImmediately) return !1
}
function o(t, e, n) {
for (var r = n || t.target || t.srcElement, s = m.list(r).map(function(t) {
return "." + t
}), a = s.concat(r.tagName), u = 0, c = a.length; u < c; u++)
if (i(e[a[u]], r, t) === !1) return;
t.cease || r !== this && o.call(this, t, e, r.parentElement || r.parentNode)
}
function s(t, e, n, r) {
function i(r) {
o.call(t, r, n[e])
}
a(t, i, e, r), t.addEventListener(e, i, !1)
}
function a(t, e, n, r) {
t.id && (w[t.id] = w[t.id] || [], w[t.id].push({
el: t,
listener: e,
type: n,
rootId: r
}))
}
function u(t) {
var e = w[t];
e && (e.forEach(function(t) {
t.el.removeEventListener(t.type, t.listener, !1), delete v[t.rootId]
}), delete w[t])
}
function c(t, e, n, i) {
var o = r(t);
v[o] = v[o] || {}, v[o][e] || (v[o][e] = {}, s(t, e, v[o], o)), v[o][e][n] = v[o][e][n] || [], v[o][e][n].push(i)
}
function d(t, e, n) {
var i = r(e),
s = v[i] && v[i];
o.call(e, {
target: n
}, s[t])
}
function l(t) {
return h(t), f(t), !1
}
function f(t) {
t && t.preventDefault ? t.preventDefault() : t.returnValue = !1
}
function h(t) {
t && (t.cease = !0) && t.stopPropagation ? t.stopPropagation() : t.cancelBubble = !0
}
function p(t) {
t && (t.ceaseImmediately = !0, h(t), t.stopImmediatePropagation())
}
var m = n(21),
v = {},
g = -1,
w = {};
t.exports = {
stop: l,
stopPropagation: h,
stopImmediatePropagation: p,
preventDefault: f,
delegate: c,
simulate: d,
removeDelegatesForWidget: u
}
}, function(t, e, n) {
function r(t) {
return new RegExp("\\b" + t + "\\b", "g")
}
function i(t, e) {
return t.classList ? void t.classList.add(e) : void(r(e).test(t.className) || (t.className += " " + e))
}
function o(t, e) {
return t.classList ? void t.classList.remove(e) : void(t.className = t.className.replace(r(e), " "))
}
function s(t, e, n) {
return void 0 === n && t.classList && t.classList.toggle ? t.classList.toggle(e, n) : (n ? i(t, e) : o(t, e), n)
}
function a(t, e, n) {
return t.classList && u(t, e) ? (o(t, e), void i(t, n)) : void(t.className = t.className.replace(r(e), n))
}
function u(t, e) {
return t.classList ? t.classList.contains(e) : d.contains(c(t), e)
}
function c(t) {
return d.toRealArray(t.classList ? t.classList : t.className.match(l))
}
var d = n(12),
l = /\b([\w-_]+)\b/g;
t.exports = {
add: i,
remove: o,
replace: a,
toggle: s,
present: u,
list: c
}
}, function(t, e, n) {
function r(t) {
return function(e) {
return !!e.tagName && s(e, t)
}
}
function i(t, e, n) {
var s;
if (e) return n = n || e && e.ownerDocument, s = o.isType("function", t) ? t : r(t), e === n ? s(e) ? e : void 0 : s(e) ? e : i(s, e.parentNode, n)
}
var o = n(12),
s = n(23);
t.exports = {
closest: i
}
}, function(t, e, n) {
function r(t, e) {
if (s) return s.call(t, e)
}
var i = n(7),
o = i.HTMLElement,
s = o.prototype.matches || o.prototype.matchesSelector || o.prototype.webkitMatchesSelector || o.prototype.mozMatchesSelector || o.prototype.msMatchesSelector || o.prototype.oMatchesSelector;
t.exports = r
}, function(t, e, n) {
function r(t, e) {
u.open(t, {}, e)
}
function i(t, e) {
var n = d.decodeURL(e);
switch (t) {
case "favorite":
case "like":
return {
tweet_id: n.tweet_id
};
case "follow":
return {
screen_name: n.screen_name,
user_id: n.user_id
};
case "retweet":
return {
source_tweet_id: n.tweet_id
};
default:
return {}
}
}
function o(t, e, n) {
var o = (a.intentType(t) || "").toLowerCase();
a.isTwitterURL(t) && (r(t, n), e && c.trigger("click", {
target: e,
region: "intent",
type: "click",
data: {}
}), e && l[o] && l[o].forEach(function(n) {
c.trigger(n, {
target: e,
region: "intent",
type: n,
data: i(o, t)
})
}))
}
function s(t) {
this.srcEl = [], this.element = t
}
var a = n(25),
u = n(28),
c = n(31),
d = n(26),
l = {
favorite: ["favorite", "like"],
follow: ["follow"],
like: ["favorite", "like"],
retweet: ["retweet"],
tweet: ["tweet"]
};
s.open = o, t.exports = s
}, function(t, e, n) {
function r(t) {
return "string" == typeof t && x.test(t) && RegExp.$1.length <= 20
}
function i(t) {
if (r(t)) return RegExp.$1
}
function o(t, e) {
var n = E.decodeURL(t);
if (e = e || !1, n.screen_name = i(t), n.screen_name) return E.url("https://twitter.com/intent/" + (e ? "follow" : "user"), n)
}
function s(t) {
return o(t, !0)
}
function a(t) {
return "string" == typeof t && I.test(t)
}
function u(t, e) {
if (e = void 0 === e || e, a(t)) return (e ? "#" : "") + RegExp.$1
}
function c(t) {
return "string" == typeof t && A.test(t)
}
function d(t) {
return c(t) && RegExp.$1
}
function l(t) {
return T.test(t)
}
function f(t) {
return C.test(t)
}
function h(t) {
return S.test(t)
}
function p(t) {
return L.test(t)
}
function m(t) {
return O.test(t)
}
function v(t) {
return P.test(t) && RegExp.$1
}
function g(t) {
return R.test(t) && RegExp.$1
}
function w(t) {
return S.test(t) && RegExp.$1
}
function y(t) {
return N.test(t) && RegExp.$1
}
function b(t) {
return !!j.test(t) && {
ownerScreenName: RegExp.$1,
slug: RegExp.$2
}
}
function _(t) {
return k.test(t) && RegExp.$1
}
var E = n(26),
x = /(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?(?:\/intent\/(?:follow|user)\/?\?screen_name=|(?:\/#!)?\/))@?([\w]+)(?:\?|&|$)/i,
A = /(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?\/(?:#!\/)?[\w_]+\/status(?:es)?\/)(\d+)/i,
T = /^http(s?):\/\/(\w+\.)*twitter\.com([:\/]|$)/i,
C = /^http(s?):\/\/pbs\.twimg\.com\//,
I = /^#?([^.,<>!\s\/#\-()'"]+)$/,
S = /twitter\.com(?::\d{2,4})?\/intent\/(\w+)/,
R = /^https?:\/\/(?:www\.)?twitter\.com\/\w+\/timelines\/(\d+)/i,
P = /^https?:\/\/(?:www\.)?twitter\.com\/i\/moments\/(\d+)/i,
N = /^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/(?:likes|favorites)/i,
j = /^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/lists\/([\w-]+)/i,
k = /^https?:\/\/(?:www\.)?twitter\.com\/i\/live\/(\d+)/i,
L = /^https?:\/\/syndication\.twitter\.com\/settings/i,
O = /^https?:\/\/(localhost|platform)\.twitter\.com(?::\d+)?\/widgets\/widget_iframe\.(.+)/i;
t.exports = {
isHashTag: a,
hashTag: u,
isScreenName: r,
screenName: i,
isStatus: c,
status: d,
intentForProfileURL: o,
intentForFollowURL: s,
isTwitterURL: l,
isTwimgURL: f,
isIntentURL: h,
isSettingsURL: p,
isWidgetIframeURL: m,
regexen: {
profile: x
},
momentId: v,
collectionId: g,
intentType: w,
likesScreenName: y,
listScreenNameAndSlug: b,
eventId: _
}
}, function(t, e, n) {
function r(t) {
return encodeURIComponent(t).replace(/\+/g, "%2B").replace(/'/g, "%27")
}
function i(t) {
return decodeURIComponent(t)
}
function o(t) {
var e = [];
return d.forIn(t, function(t, n) {
var i = r(t);
d.isType("array", n) || (n = [n]), n.forEach(function(t) {
c.hasValue(t) && e.push(i + "=" + r(t))
})
}), e.sort().join("&")
}
function s(t) {
var e, n = {};
return t ? (e = t.split("&"), e.forEach(function(t) {
var e = t.split("="),
r = i(e[0]),
o = i(e[1]);
if (2 == e.length) return d.isType("array", n[r]) ? void n[r].push(o) : r in n ? (n[r] = [n[r]], void n[r].push(o)) : void(n[r] = o)
}), n) : {}
}
function a(t, e) {
var n = o(e);
return n.length > 0 ? d.contains(t, "?") ? t + "&" + o(e) : t + "?" + o(e) : t
}
function u(t) {
var e = t && t.split("?");
return 2 == e.length ? s(e[1]) : {}
}
var c = n(27),
d = n(12);
t.exports = {
url: a,
decodeURL: u,
decode: s,
encode: o,
encodePart: r,
decodePart: i
}
}, function(t, e, n) {
function r(t) {
return void 0 !== t && null !== t && "" !== t
}
function i(t) {
return a(t) && t % 1 === 0
}
function o(t) {
return "string" === m.toType(t)
}
function s(t) {
return a(t) && !i(t)
}
function a(t) {
return r(t) && !isNaN(t)
}
function u(t) {
return r(t) && "array" == m.toType(t)
}
function c(t) {
return m.contains(g, t)
}
function d(t) {
return m.contains(v, t)
}
function l(t) {
return !!r(t) && (!!d(t) || !c(t) && !!t)
}
function f(t) {
if (a(t)) return t
}
function h(t) {
if (s(t)) return t
}
function p(t) {
if (i(t)) return parseInt(t, 10)
}
var m = n(12),
v = [!0, 1, "1", "on", "ON", "true", "TRUE", "yes", "YES"],
g = [!1, 0, "0", "off", "OFF", "false", "FALSE", "no", "NO"];
t.exports = {
hasValue: r,
isInt: i,
isFloat: s,
isNumber: a,
isString: o,
isArray: u,
isTruthValue: d,
isFalseValue: c,
asInt: p,
asFloat: h,
asNumber: f,
asBoolean: l
}
}, function(t, e, n) {
function r(t) {
var e = [];
return m.forIn(t, function(t, n) {
e.push(t + "=" + n)
}), e.join(",")
}
function i() {
return v + p.generate()
}
function o(t, e) {
function n(t) {
return Math.round(t / 2)
}
return t > e ? {
coordinate: 0,
size: e
} : {
coordinate: n(e) - n(t),
size: t
}
}
function s(t, e, n) {
var i, s;
e = a.parse(e), n = n || {}, i = o(e.width, n.width || g), e.left = i.coordinate, e.width = i.size, s = o(e.height, n.height || w), e.top = s.coordinate, e.height = s.size, this.win = t, this.features = r(e)
}
var a, u = n(7),
c = n(29),
d = n(20),
l = n(22),
f = n(8),
h = n(25),
p = n(30),
m = n(12),
v = "intent_",
g = u.screen.width,
w = u.screen.height;
a = (new c).defaults({
width: 550,
height: 520,
personalbar: "0",
toolbar: "0",
location: "1",
scrollbars: "1",
resizable: "1"
}), s.prototype.open = function(t, e) {
var n = e && "click" == e.type && l.closest("a", e.target),
r = e && (e.altKey || e.metaKey || e.shiftKey),
o = n && (f.ios() || f.android());
if (h.isTwitterURL(t)) return r || o ? this : (this.name = i(), this.popup = this.win.open(t, this.name, this.features), e && d.preventDefault(e), this)
}, s.open = function(t, e, n) {
var r = new s(u, e);
return r.open(t, n)
}, t.exports = s
}, function(t, e, n) {
function r(t) {
return function(e) {
return o.hasValue(e[t])
}
}
function i() {
this.assertions = [], this._defaults = {}
}
var o = n(27),
s = n(12);
i.prototype.assert = function(t, e) {
return this.assertions.push({
fn: t,
msg: e || "assertion failed"
}), this
}, i.prototype.defaults = function(t) {
return this._defaults = t || this._defaults, this
}, i.prototype.require = function(t) {
var e = this;
return t = Array.isArray(t) ? t : s.toRealArray(arguments), t.forEach(function(t) {
e.assert(r(t), "required: " + t)
}), this
}, i.prototype.parse = function(t) {
var e, n;
if (e = s.aug({}, this._defaults, t || {}), n = this.assertions.reduce(function(t, n) {
return n.fn(e) || t.push(n.msg), t
}, []), n.length > 0) throw new Error(n.join("\n"));
return e
}, t.exports = i
}, function(t, e) {
function n() {
return i + String(+new Date) + Math.floor(1e5 * Math.random()) + o++
}
function r() {
return i + String(s++)
}
var i = "i",
o = 0,
s = 0;
t.exports = {
generate: n,
deterministic: r
}
}, function(t, e, n) {
function r() {
return i.get("events") || {}
}
var i = n(16),
o = n(32),
s = n(12);
t.exports = s.aug(r(), o.Emitter)
}, function(t, e, n) {
function r() {
return i.aug(function() {}, s)
}
var i = n(12),
o = n(15),
s = {
bind: function(t, e) {
return this._handlers = this._handlers || {}, this._handlers[t] = this._handlers[t] || [], this._handlers[t].push(e)
},
unbind: function(t, e) {
var n;
this._handlers && this._handlers[t] && (e ? (n = this._handlers[t].indexOf(e), n >= 0 && this._handlers[t].splice(n, 1)) : this._handlers[t] = [])
},
trigger: function(t, e) {
var n = this._handlers && this._handlers[t];
e = e || {}, e.type = t, n && n.forEach(function(t) {
i.async(o(t, this, e))
})
}
};
t.exports = {
Emitter: s,
makeEmitter: r
}
}, function(t, e, n) {
function r(t) {
return t.reduce(function(t, e) {
return t.concat(w.reduce(function(t, n) {
return t.concat(n(e))
}, []))
}, [])
}
function i() {
var t = l.val("widgets:autoload") || !0;
return !m.isFalseValue(t) && (m.isTruthValue(t) ? a.body : a.querySelectorAll(t))
}
function o(t) {
var e;
return t = t || a.body, t = t.length ? v.toRealArray(t) : [t], h.pause(), e = c.allResolved(r(t).map(function(t) {
return d.addWidget(t)
})).then(function(t) {
p.trigger("loaded", {
widgets: t
}), y.emitter.trigger(y.ALL_WIDGETS_RENDERED, {
widgets: t
})
}), c.always(e, function() {
h.resume()
}), e
}
function s() {
var t = i();
return g.load(), t === !1 ? u.resolve() : (f.set("widgets.loaded", !0), o(t))
}
var a = n(9),
u = n(2),
c = n(34),
d = n(35),
l = n(42),
f = n(18),
h = n(43),
p = n(31),
m = n(27),
v = n(12),
g = n(75),
w = n(82),
y = n(241);
t.exports = {
load: o,
loadPage: s,
_getPageLoadTarget: i
}
}, function(t, e, n) {
function r(t, e) {
return t.then(e, e)
}
function i(t) {
var e;
return t = t || [], e = t.length, t = t.filter(a), e ? e !== t.length ? c.reject("non-Promise passed to .some") : new c(function(e, n) {
function r() {
i += 1, i === t.length && n()
}
var i = 0;
t.forEach(function(t) {
t.then(e, r)
})
}) : c.reject("no promises passed to .some")
}
function o(t) {
var e;
return void 0 === t ? c.reject(new Error("undefined is not an object")) : Array.isArray(t) ? (e = t.length, e ? new c(function(n, r) {
function i() {
s += 1, s === e && (0 === u.length ? r() : n(u))
}
function o(t) {
u.push(t), i()
}
var s = 0,
u = [];
t.forEach(function(t) {
a(t) ? t.then(o, i) : o(t)
})
}) : c.resolve([])) : c.reject(new Error("Type error"))
}
function s(t) {
function e() {}
return c.all((t || []).map(function(t) {
return r(t, e)
}))
}
function a(t) {
return t instanceof c
}
function u(t, e) {
var n = new d;
return setTimeout(function() {
n.reject(new Error("Promise timed out"))
}, e), t.then(function(t) {
n.resolve(t)
}, function(t) {
n.reject(t)
}), n.promise
}
var c = n(2),
d = n(1);
t.exports = {
always: r,
allResolved: o,
some: i,
isPromise: a,
allSettled: s,
timeout: u
}
}, function(t, e, n) {
function r(t) {
return t.reduce(function(t, e) {
return t[e.className] = t[e.className] || [], t[e.className].push(e), t
}, {})
}
function i(t) {
var e = t.map(s.fromRawTask),
n = r(e);
l.forIn(n, function(t, e) {
c.allSettled(e.map(function(t) {
return t.initialize()
})).then(function() {
e.forEach(function(t) {
u.all([t.hydrate(), t.insertIntoDom()]).then(d(t.render, t)).then(d(t.success, t), d(t.fail, t))
})
})
})
}
function o(t) {
return f.add(t)
}
var s = n(36),
a = n(40),
u = n(2),
c = n(34),
d = n(15),
l = n(12),
f = new a(i);
t.exports = {
addWidget: o
}
}, function(t, e, n) {
function r(t) {
var e = t.srcEl || t.targetEl;
return e.ownerDocument.defaultView
}
function i(t, e) {
this._widget = null, this._sandbox = null, this._hydrated = !1, this._insertedIntoDom = !1, this._Sandbox = t.Sandbox, this._factory = t.factory, this._widgetParams = t.parameters, this._resolve = e, this._className = t.className, this._renderedClassName = t.className + "-rendered", this._errorClassName = t.className + "-error", this._srcEl = t.srcEl, this._targetGlobal = r(t), this._insertionStrategy = function(e) {
var n = t.srcEl,
r = t.targetEl;
n ? r.insertBefore(e, n) : r.appendChild(e)
}
}
var o = n(21),
s = n(37),
a = n(31),
u = n(39),
c = n(2),
d = n(34);
i.fromRawTask = function(t) {
return new i(t.input, t.taskDoneDeferred.resolve)
}, i.prototype.initialize = function() {
var t = this,
e = new this._Sandbox(this._targetGlobal);
return this._factory(this._widgetParams, e).then(function(n) {
return t._widget = n, t._sandbox = e, n
})
}, i.prototype.insertIntoDom = function() {
var t = this;
return this._widget ? this._sandbox.insert(this._widget.id, {
class: [this._className, this._renderedClassName].join(" ")
}, null, this._insertionStrategy).then(function() {
t._insertedIntoDom = !0
}) : c.reject(new Error("cannot insert widget into DOM before it is initialized"))
}, i.prototype.hydrate = function() {
var t = this;
return this._widget ? this._widget.hydrate().then(function() {
t._hydrated = !0
}) : c.reject(new Error("cannot hydrate widget before it is initialized"))
}, i.prototype.render = function() {
function t() {
r._sandbox.onResize(function() {
return r._widget.resize().then(function() {
a.trigger("resize", {
target: r._sandbox.sandboxEl
})
})
})
}
function e() {
return u(r._srcEl).then(function() {
return r._sandbox.sandboxEl
})
}
function n(t) {
return u(r._sandbox.sandboxEl).then(function() {
return c.reject(t)
})
}
var r = this;
return this._hydrated ? this._insertedIntoDom ? r._widget.render(r._sandbox).then(function() {
return t(), r._widget.show()
}).then(e, n) : n(new Error("cannot render widget before DOM insertion")) : n(new Error("cannot render widget before hydration"))
}, i.prototype.fail = function() {
var t = this;
return this._srcEl ? d.always(s.write(function() {
o.add(t._srcEl, t._errorClassName)
}), function() {
a.trigger("rendered", {
target: t._srcEl
}), t._resolve(t._srcEl)
}) : (t._resolve(), c.resolve())
}, i.prototype.success = function() {
a.trigger("rendered", {
target: this._sandbox.sandboxEl
}), this._resolve(this._sandbox.sandboxEl)
}, t.exports = i
}, function(t, e, n) {
function r(t, e) {
return function() {
try {
e.resolve(t.call(this))
} catch (t) {
e.reject(t)
}
}
}
function i(t, e) {
t.call(e)
}
function o(t, e) {
var n = new c;
return u.read(r(t, n), e), n.promise
}
function s(t, e) {
var n = new c;
return u.write(r(t, n), e), n.promise
}
function a(t, e, n) {
var i = new c;
return d.isType("function", t) && (n = e, e = t, t = 1), u.defer(t, r(e, i), n), i.promise
}
var u = n(38),
c = n(1),
d = n(12);
t.exports = {
sync: i,
read: o,
write: s,
defer: a
}
}, function(t, e, n) {
var r;
! function() {
"use strict";
function i() {
this.frames = [], this.lastId = 0, this.raf = o, this.batch = {
hash: {},
read: [],
write: [],
mode: null
}
}
var o = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.msRequestAnimationFrame || function(t) {
return window.setTimeout(t, 1e3 / 60)
};
i.prototype.read = function(t, e) {
var n = this.add("read", t, e),
r = n.id;
this.batch.read.push(n.id);
var i = "reading" === this.batch.mode || this.batch.scheduled;
return i ? r : (this.scheduleBatch(), r)
}, i.prototype.write = function(t, e) {
var n = this.add("write", t, e),
r = this.batch.mode,
i = n.id;
this.batch.write.push(n.id);
var o = "writing" === r || "reading" === r || this.batch.scheduled;
return o ? i : (this.scheduleBatch(), i)
}, i.prototype.defer = function(t, e, n) {
"function" == typeof t && (n = e, e = t, t = 1);
var r = this,
i = t - 1;
return this.schedule(i, function() {
r.run({
fn: e,
ctx: n
})
})
}, i.prototype.clear = function(t) {
if ("function" == typeof t) return this.clearFrame(t);
t = Number(t);
var e = this.batch.hash[t];
if (e) {
var n = this.batch[e.type],
r = n.indexOf(t);
delete this.batch.hash[t], ~r && n.splice(r, 1)
}
}, i.prototype.clearFrame = function(t) {
var e = this.frames.indexOf(t);
~e && this.frames.splice(e, 1)
}, i.prototype.scheduleBatch = function() {
var t = this;
this.schedule(0, function() {
t.batch.scheduled = !1, t.runBatch()
}), this.batch.scheduled = !0
}, i.prototype.uniqueId = function() {
return ++this.lastId
}, i.prototype.flush = function(t) {
for (var e; e = t.shift();) this.run(this.batch.hash[e])
}, i.prototype.runBatch = function() {
try {
this.batch.mode = "reading", this.flush(this.batch.read), this.batch.mode = "writing", this.flush(this.batch.write), this.batch.mode = null
} catch (t) {
throw this.runBatch(), t
}
}, i.prototype.add = function(t, e, n) {
var r = this.uniqueId();
return this.batch.hash[r] = {
id: r,
fn: e,
ctx: n,
type: t
}
}, i.prototype.run = function(t) {
var e = t.ctx || this,
n = t.fn;
if (delete this.batch.hash[t.id], !this.onError) return n.call(e);
try {
n.call(e)
} catch (t) {
this.onError(t)
}
}, i.prototype.loop = function() {
function t() {
var e = n.frames.shift();
n.frames.length ? r(t) : n.looping = !1, e && e()
}
var e, n = this,
r = this.raf,
i = !1,
o = 500;
this.looping || (e = setTimeout(function() {
i = !0, t()
}, o), r(function() {
i || (clearTimeout(e), t())
}), this.looping = !0)
}, i.prototype.schedule = function(t, e) {
return this.frames[t] ? this.schedule(t + 1, e) : (this.loop(), this.frames[t] = e)
};
var s = new i;
"undefined" != typeof t && t.exports ? t.exports = s : (r = function() {
return s
}.call(e, n, e, t), !(void 0 !== r && (t.exports = r)))
}()
}, function(t, e, n) {
function r(t) {
return i.write(function() {
t && t.parentNode && t.parentNode.removeChild(t)
})
}
var i = n(37);
t.exports = r
}, function(t, e, n) {
function r(t) {
this._inputsQueue = [], this._task = t, this._hasFlushBeenScheduled = !1
}
var i = n(1),
o = n(41),
s = n(15);
r.prototype.add = function(t) {
var e = new i;
return this._inputsQueue.push({
input: t,
taskDoneDeferred: e
}), this._hasFlushBeenScheduled || (this._hasFlushBeenScheduled = !0, o(s(this._flush, this))), e.promise
}, r.prototype._flush = function() {
try {
this._task.call(null, this._inputsQueue)
} catch (t) {
this._inputsQueue.forEach(function(e) {
e.taskDoneDeferred.reject(t)
})
}
this._inputsQueue = [], this._hasFlushBeenScheduled = !1
}, t.exports = r
}, function(t, e, n) {
var r = n(3).Promise;
t.exports = r._asap
}, function(t, e, n) {
function r(t) {
var e, n, r, i = 0;
for (o = {}, t = t || s, e = t.getElementsByTagName("meta"); e[i]; i++) {
if (n = e[i], /^twitter:/.test(n.getAttribute("name"))) r = n.getAttribute("name").replace(/^twitter:/, "");
else {
if (!/^twitter:/.test(n.getAttribute("property"))) continue;
r = n.getAttribute("property").replace(/^twitter:/, "")
}
o[r] = n.getAttribute("content") || n.getAttribute("value")
}
}
function i(t) {
return o[t]
}
var o, s = n(9);
r(), t.exports = {
init: r,
val: i
}
}, function(t, e, n) {
function r(t) {
return 1 === t.length && f.canFlushOneItem(t[0])
}
function i(t) {
t.forEach(function(t) {
var e = t.input.namespace,
n = t.input.data,
r = t.input.offsite,
i = t.input.version;
f.clientEvent(e, n, r, i), t.taskDoneDeferred.resolve()
})
}
function o(t) {
function e() {
t.forEach(function(t) {
t.taskDoneDeferred.resolve()
})
}
function n() {
t.forEach(function(t) {
t.taskDoneDeferred.reject()
})
}
l.init(), t.forEach(function(t) {
var e = t.input.namespace,
n = t.input.data,
r = t.input.offsite,
i = t.input.version;
l.clientEvent(e, n, r, i)
}), l.flush().then(e, n)
}
function s(t) {
var e, n, s;
if (0 !== t.length) {
if (r(t)) return i(t);
e = d(t, function(t) {
return h.noticeSeen(t.input.namespace)
}), n = e.true, s = e.false, n && n.length > 0 && (n = n.slice(0, 1), f.canFlushOneItem(n[0]) || (n[0].input.data.message = ""), i(n)), s && (r(s) ? i : o)(s)
}
}
function a(t, e, n, r) {
return m.add({
namespace: t,
data: e,
offsite: n,
version: r
})
}
function u() {
m.pause()
}
function c() {
m.resume()
}
var d = n(44),
l = n(45),
f = n(73),
h = n(52),
p = n(74),
m = new p(s);
t.exports = {
scribe: a,
pause: u,
resume: c
}
}, function(t, e) {
function n(t, e) {
return t.reduce(function(t, n) {
var r = e(n);
return t[r] = t[r] || [], t[r].push(n), t
}, {})
}
t.exports = n
}, function(t, e, n) {
function r() {
function t(t) {
p.body.appendChild(t)
}
return P ? N.promise : (h = new x(m), h.insert("rufous-sandbox", null, {
display: "none"
}, t).then(function() {
h.setTitle("Twitter analytics iframe"), l = c(), f = d(), N.resolve([l, f])
}), P = !0, N.promise)
}
function i(t, e) {
var n, r, i;
E.isObject(t) && E.isObject(e) && (b.log(t, e), i = _.flattenClientEventPayload(t, e), n = l.firstChild, n.value = +(+n.value || i.dnt || 0), r = h.createElement("input"), r.type = "hidden", r.name = "l", r.value = _.stringify(i), l.appendChild(r))
}
function o(t, e) {
var n = !E.isObject(t),
r = !!e && !E.isObject(e),
i = n || r;
return i
}
function s(t, e, n, r) {
o(t, e) || (T && T(arguments), N.promise.then(function() {
i(_.formatClientEventNamespace(t), _.formatClientEventData(e, n, r))
}))
}
function a() {
return N.promise.then(function() {
var t;
return l.children.length <= 2 ? y.reject() : (t = y.all([h.doc.body.appendChild(l), h.doc.body.appendChild(f)]).then(function(t) {
var e = t[0],
n = t[1];
return n.addEventListener("load", function() {
u(e, n)()
}), e.submit(), t
}), l = c(), f = d(), t)
})
}
function u(t, e) {
return function() {
var n = t.parentNode;
n && (n.removeChild(t), n.removeChild(e))
}
}
function c() {
var t = h.createElement("form"),
e = h.createElement("input"),
n = h.createElement("input");
return R++, t.action = _.CLIENT_EVENT_ENDPOINT, t.method = "POST", t.target = I + R, t.id = S + R, e.type = "hidden", e.name = "dnt", e.value = g.enabled(), n.type = "hidden", n.name = "tfw_redirect", n.value = _.RUFOUS_REDIRECT, t.appendChild(e), t.appendChild(n), t
}
function d() {
var t = I + R;
return v({
id: t,
name: t,
width: 0,
height: 0,
border: 0
}, {
display: "none"
}, h.doc)
}
var l, f, h, p = n(9),
m = n(7),
v = n(46),
g = n(47),
w = n(1),
y = n(2),
b = n(51),
_ = n(52),
E = n(12),
x = n(55),
A = n(18),
T = A.get("scribeCallback"),
C = Math.floor(1e3 * Math.random()) + "_",
I = "rufous-frame-" + C + "-",
S = "rufous-form-" + C + "-",
R = 0,
P = !1,
N = new w;
t.exports = {
clientEvent: s,
flush: a,
init: r
}
}, function(t, e, n) {
var r = n(9),
i = n(12);
t.exports = function(t, e, n) {
var o;
if (n = n || r, t = t || {}, e = e || {}, t.name) {
try {
o = n.createElement('<iframe name="' + t.name + '"></iframe>')
} catch (e) {
o = n.createElement("iframe"), o.name = t.name
}
delete t.name
} else o = n.createElement("iframe");
return t.id && (o.id = t.id, delete t.id), o.allowtransparency = "true", o.scrolling = "no", o.setAttribute("frameBorder", 0), o.setAttribute("allowTransparency", !0), i.forIn(t, function(t, e) {
o.setAttribute(t, e)
}), i.forIn(e, function(t, e) {
o.style[t] = e
}), o
}
}, function(t, e, n) {
function r() {
l = !0
}
function i(t, e) {
return !!l || (!!c.asBoolean(d.val("dnt")) || (!!u.isUrlSensitive(e || s.host) || (!(!a.isFramed() || !u.isUrlSensitive(a.rootDocumentLocation())) || (t = f.test(t || o.referrer) && RegExp.$1, !(!t || !u.isUrlSensitive(t))))))
}
var o = n(9),
s = n(11),
a = n(48),
u = n(50),
c = n(27),
d = n(42),
l = !1,
f = /https?:\/\/([^\/]+).*/i;
t.exports = {
setOn: r,
enabled: i
}
}, function(t, e, n) {
function r(t) {
return t && u.isType("string", t) && (c = t), c
}
function i() {
return d
}
function o() {
return c !== d
}
var s = n(11),
a = n(49),
u = n(12),
c = a.getCanonicalURL() || s.href,
d = c;
t.exports = {
isFramed: o,
rootDocumentLocation: r,
currentDocumentLocation: i
}
}, function(t, e, n) {
function r(t, e) {
var n, r;
return e = e || a, /^https?:\/\//.test(t) ? t : /^\/\//.test(t) ? e.protocol + t : (n = e.host + (e.port.length ? ":" + e.port : ""), 0 !== t.indexOf("/") && (r = e.pathname.split("/"), r.pop(), r.push(t), t = "/" + r.join("/")), [e.protocol, "//", n, t].join(""))
}
function i() {
for (var t, e = s.getElementsByTagName("link"), n = 0; e[n]; n++)
if (t = e[n], "canonical" == t.rel) return r(t.href)
}
function o() {
for (var t, e, n, r = s.getElementsByTagName("a"), i = s.getElementsByTagName("link"), o = [r, i], a = 0, c = 0, d = /\bme\b/; t = o[a]; a++)
for (c = 0; e = t[c]; c++)
if (d.test(e.rel) && (n = u.screenName(e.href))) return n
}
var s = n(9),
a = n(11),
u = n(25);
t.exports = {
absolutize: r,
getCanonicalURL: i,
getScreenNameFromPage: o
}
}, function(t, e, n) {
function r(t) {
return t in a ? a[t] : a[t] = s.test(t)
}
function i() {
return r(o.host)
}
var o = n(11),
s = /^[^#?]*\.(gov|mil)(:\d+)?([#?].*)?$/i,
a = {};
t.exports = {
isUrlSensitive: r,
isHostPageSensitive: i
}
}, function(t, e, n) {
function r(t, e) {}
n(10);
t.exports = {
log: r
}
}, function(t, e, n) {
function r(t, e) {
var n;
return e = e || {}, t && t.nodeType === Node.ELEMENT_NODE ? (n = t.getAttribute("data-scribe"), n && n.split(" ").forEach(function(t) {
var n = t.trim().split(":"),
r = n[0],
i = n[1];
r && i && !e[r] && (e[r] = i)
}), r(t.parentNode, e)) : e
}
function i(t) {
return v.aug({
client: "tfw"
}, t || {})
}
function o(t, e, n) {
var r = t && t.widget_origin || h.referrer;
return t = s("tfw_client_event", t, r), t.client_version = _, t.format_version = void 0 !== n ? n : 1, e || (t.widget_origin = r), t
}
function s(t, e, n) {
return e = e || {}, v.aug({}, e, {
_category_: t,
triggered_on: e.triggered_on || +new Date,
dnt: m.enabled(n)
})
}
function a(t, e) {
var n = {};
return e = e || {}, e.association_namespace = i(t), n[T] = e, n
}
function u(t, e) {
return v.aug({}, e, {
event_namespace: t
})
}
function c(t) {
return "notice" === t.element && "seen" === t.action
}
function d(t) {
var e, n = Array.prototype.toJSON;
return delete Array.prototype.toJSON, e = p.stringify(t), n && (Array.prototype.toJSON = n), e
}
function l(t) {
var e = b.closest("[data-expanded-url]", t),
n = e && e.getAttribute("data-expanded-url");
return n && y.isTwitterURL(n) ? "twitter_url" : "url"
}
function f(t) {
var e, n, r, i, o, s;
return t.item_ids && t.item_ids.length > 1 ? (e = Math.floor(t.item_ids.length / 2), n = t.item_ids.slice(0, e), r = {}, i = t.item_ids.slice(e), o = {}, n.forEach(function(e) {
r[e] = t.item_details[e]
}), i.forEach(function(e) {
o[e] = t.item_details[e]
}), s = [v.aug({}, t, {
item_ids: n,
item_details: r
}), v.aug({}, t, {
item_ids: i,
item_details: o
})]) : [t]
}
var h = n(9),
p = n(53),
m = n(47),
v = n(12),
g = n(54),
w = n(18),
y = n(25),
b = n(22),
_ = g.version,
E = w.get("clientEventEndpoint") || "https://syndication.twitter.com/i/jot",
x = "https://syndication.twitter.com/i/jot/syndication",
A = "https://platform.twitter.com/jot.html",
T = 1;
t.exports = {
extractTermsFromDOM: r,
clickEventElement: l,
flattenClientEventPayload: u,
formatGenericEventData: s,
formatClientEventData: o,
formatClientEventNamespace: i,
formatTweetAssociation: a,
noticeSeen: c,
splitLogEntry: f,
stringify: d,
AUDIENCE_ENDPOINT: x,
CLIENT_EVENT_ENDPOINT: E,
RUFOUS_REDIRECT: A
}
}, function(t, e, n) {
var r = n(7),
i = r.JSON;
t.exports = {
stringify: i.stringify || i.encode,
parse: i.parse || i.decode
}
}, function(t, e) {
t.exports = {
version: "446fc20:1532586556583"
}
}, function(t, e, n) {
var r = n(56),
i = n(65);
t.exports = r.build([i])
}, function(t, e, n) {
var r = n(57),
i = n(60),
o = n(15);
r = Object.create(r), r.build = o(r.build, null, i), t.exports = r
}, function(t, e, n) {
function r() {
return a.toRealArray(arguments)
}
function i(t, e, n) {
var r = new t;
return e = s(o(e || [])), e.forEach(function(t) {
t.call(null, r)
}), r.build(n)
}
var o = n(58),
s = n(59),
a = n(12);
t.exports = {
couple: r,
build: i
}
}, function(t, e, n) {
function r(t) {
var e = [];
return t.forEach(function(t) {
var n = i.isType("array", t) ? r(t) : [t];
e = e.concat(n)
}), e
}
var i = n(12);
t.exports = r
}, function(t, e) {
function n(t) {
return t.filter(function(e, n) {
return t.indexOf(e) === n
})
}
t.exports = n
}, function(t, e, n) {
function r() {
i.apply(this, arguments)
}
var i = n(61),
o = n(12),
s = n(64);
r.prototype = Object.create(i.prototype), o.aug(r.prototype, {
factory: s
}), t.exports = r
}, function(t, e, n) {
function r(t, e, n) {
var r = this[e];
if (!r) throw new Error(e + " does not exist");
this[e] = t(r, n)
}
function i() {
this.Component = this.factory(), this._adviceArgs = [], this._lastArgs = []
}
var o = n(62),
s = n(12),
a = n(63);
s.aug(i.prototype, {
factory: a,
build: function(t) {
var e = this;
this.Component;
return s.aug(this.Component.prototype.boundParams, t), this._adviceArgs.concat(this._lastArgs).forEach(function(t) {
r.apply(e.Component.prototype, t)
}), delete this._lastArgs, delete this._adviceArgs, this.Component
},
params: function(t) {
var e = this.Component.prototype.paramConfigs;
t = t || {}, this.Component.prototype.paramConfigs = s.aug({}, t, e)
},
define: function(t, e) {
if (t in this.Component.prototype) throw new Error(t + " has previously been defined");
this.override(t, e)
},
defineStatic: function(t, e) {
this.Component[t] = e
},
override: function(t, e) {
this.Component.prototype[t] = e
},
defineProperty: function(t, e) {
if (t in this.Component.prototype) throw new Error(t + " has previously been defined");
this.overrideProperty(t, e)
},
overrideProperty: function(t, e) {
var n = s.aug({
configurable: !0
}, e);
Object.defineProperty(this.Component.prototype, t, n)
},
before: function(t, e) {
this._adviceArgs.push([o.before, t, e])
},
after: function(t, e) {
this._adviceArgs.push([o.after, t, e])
},
around: function(t, e) {
this._adviceArgs.push([o.around, t, e])
},
last: function(t, e) {
this._lastArgs.push([o.after, t, e])
}
}), t.exports = i
}, function(t, e, n) {
function r(t, e) {
return function() {
var n, r = this,
i = arguments;
return n = e.apply(this, arguments), s.isPromise(n) ? n.then(function() {
return t.apply(r, i)
}) : t.apply(this, arguments)
}
}
function i(t, e) {
return function() {
function n(t, e) {
return s.isPromise(e) ? e.then(function() {
return t
}) : t
}
var r, i = this,
o = arguments;
return r = t.apply(this, arguments), s.isPromise(r) ? r.then(function(t) {
return n(t, e.apply(i, o))
}) : n(r, e.apply(this, arguments))
}
}
function o(t, e) {
return function() {
var n = a.toRealArray(arguments);
return n.unshift(u(t, this)), e.apply(this, n)
}
}
var s = n(34),
a = n(12),
u = n(15);
t.exports = {
before: r,
after: i,
around: o
}
}, function(t, e, n) {
function r() {
return !0
}
function i(t) {
return t
}
function o(t, e, n) {
var r = null;
return t.some(function(t) {
if (t = a.isType("function", t) ? t() : t, e(t)) return r = n(t), !0
}), r
}
function s() {
function t(t) {
var e = this;
t = t || {}, this.params = Object.keys(this.paramConfigs).reduce(function(n, s) {
var a = [],
u = e.boundParams,
c = e.paramConfigs[s],
d = c.validate || r,
l = c.transform || i;
if (s in u && a.push(u[s]), s in t && a.push(t[s]), a = "fallback" in c ? a.concat(c.fallback) : a, n[s] = o(a, d, l), c.required && null == n[s]) throw new Error(s + " is a required parameter");
return n
}, {}), this.initialize()
}
return a.aug(t.prototype, {
paramConfigs: {},
boundParams: {},
initialize: function() {}
}), t
}
var a = n(12);
t.exports = s
}, function(t, e, n) {
function r() {
function t(t) {
e.apply(this, arguments), Object.defineProperty(this, "targetGlobal", {
value: t
})
}
var e = s();
return t.prototype = Object.create(e.prototype), u.aug(t.prototype, {
id: null,
initialized: !1,
width: 0,
height: 0,
sandboxEl: null,
insert: function() {
return a.reject()
},
onResize: function() {},
addClass: function(t) {
var e = this.sandboxEl;
return t = Array.isArray(t) ? t : [t], o.write(function() {
t.forEach(function(t) {
i.add(e, t)
})
})
},
removeClass: function(t) {
var e = this.sandboxEl;
return t = Array.isArray(t) ? t : [t], o.write(function() {
t.forEach(function(t) {
i.remove(e, t)
})
})
},
styleSelf: function(t) {
var e = this;
return o.write(function() {
u.forIn(t, function(t, n) {
e.sandboxEl.style[t] = n
})
})
}
}), t
}
var i = n(21),
o = n(37),
s = n(63),
a = n(2),
u = n(12);
t.exports = r
}, function(t, e, n) {
function r(t, e, n, r) {
return e = b.aug({
id: t
}, A, e), n = b.aug({}, T, n), m(e, n, r)
}
function i(t) {
try {
t.contentWindow.document
} catch (t) {
return y.reject(t)
}
return y.resolve(t)
}
function o(t, e, n, i, o) {
var s = new w,
u = E.generate(),
d = r(t, e, n, o);
return _.set(["sandbox", u], function() {
var t = d.contentWindow.document,
e = "<!DOCTYPE html><html><head></head><body></body></html>";
c.write(function() {
t.write(e)
}).then(function() {
t.close(), s.resolve(d)
})
}), d.src = ["javascript:", 'document.write("");', "try { window.parent.document; }", 'catch (e) { document.domain="' + a.domain + '"; }', "window.parent." + _.fullPath(["sandbox", u]) + "();"].join(""), d.addEventListener("error", s.reject, !1), c.write(function() {
i.parentNode.replaceChild(d, i)
}), s.promise
}
function s(t) {
t.overrideProperty("id", {
get: function() {
return this.sandboxEl && this.sandboxEl.id
}
}), t.overrideProperty("initialized", {
get: function() {
return !!this.win
}
}), t.overrideProperty("width", {
get: function() {
return this._width
}
}), t.overrideProperty("height", {
get: function() {
return this._height
}
}), t.overrideProperty("sandboxEl", {
get: function() {
return this.iframeEl
}
}), t.defineProperty("iframeEl", {
get: function() {
return this._iframe
}
}), t.defineProperty("rootEl", {
get: function() {
return this.doc && this.doc.documentElement
}
}), t.defineProperty("widgetEl", {
get: function() {
return this.doc && this.doc.body.firstElementChild
}
}), t.defineProperty("win", {
get: function() {
return this.iframeEl && this.iframeEl.contentWindow
}
}), t.defineProperty("doc", {
get: function() {
return this.win && this.win.document
}
}), t.define("_updateCachedDimensions", function() {
var t = this;
return c.read(function() {
var e, n = g(t.sandboxEl);
"visible" == t.sandboxEl.style.visibility ? t._width = n.width : (e = g(t.sandboxEl.parentElement).width, t._width = Math.min(n.width, e)), t._height = n.height
})
}), t.define("_setTargetToBlank", function() {
var t = this.createElement("base");
t.target = "_blank", this.doc.head.appendChild(t)
}), t.define("_didResize", function() {
var t = this,
e = this._resizeHandlers.slice(0);
return this._updateCachedDimensions().then(function() {
e.forEach(function(e) {
e(t)
})
})
}), t.define("setTitle", function(t) {
this.iframeEl.title = t
}), t.override("createElement", function(t) {
return this.doc.createElement(t)
}), t.override("createFragment", function() {
return this.doc.createDocumentFragment()
}), t.override("htmlToElement", function(t) {
var e;
return e = this.createElement("div"), e.innerHTML = t, e.firstElementChild
}), t.override("hasSelectedText", function() {
return !!d.getSelectedText(this.win)
}), t.override("addRootClass", function(t) {
var e = this.rootEl;
return t = Array.isArray(t) ? t : [t], this.initialized ? c.write(function() {
t.forEach(function(t) {
u.add(e, t)
})
}) : y.reject(new Error("sandbox not initialized"))
}), t.override("removeRootClass", function(t) {
var e = this.rootEl;
return t = Array.isArray(t) ? t : [t], this.initialized ? c.write(function() {
t.forEach(function(t) {
u.remove(e, t)
})
}) : y.reject(new Error("sandbox not initialized"))
}), t.override("hasRootClass", function(t) {
return u.present(this.rootEl, t)
}), t.define("addStyleSheet", function(t, e) {
var n, r = new w;
return this.initialized ? (n = this.createElement("link"), n.type = "text/css", n.rel = "stylesheet", n.href = t, n.addEventListener("load", r.resolve, !1), n.addEventListener("error", r.reject, !1), c.write(x(e, null, n)).then(function() {
return f(t).then(r.resolve, r.reject), r.promise
})) : y.reject(new Error("sandbox not initialized"))
}), t.override("prependStyleSheet", function(t) {
var e = this.doc;
return this.addStyleSheet(t, function(t) {
var n = e.head.firstElementChild;
return n ? e.head.insertBefore(t, n) : e.head.appendChild(t)
})
}), t.override("appendStyleSheet", function(t) {
var e = this.doc;
return this.addStyleSheet(t, function(t) {
return e.head.appendChild(t)
})
}), t.define("addCss", function(t, e) {
var n;
return h.inlineStyle() ? (n = this.createElement("style"), n.type = "text/css", n.appendChild(this.doc.createTextNode(t)), c.write(x(e, null, n))) : (v.devError("CSP enabled; cannot embed inline styles"), y.resolve())
}), t.override("prependCss", function(t) {
var e = this.doc;
return this.addCss(t, function(t) {
var n = e.head.firstElementChild;
return n ? e.head.insertBefore(t, n) : e.head.appendChild(t)
})
}), t.override("appendCss", function(t) {
var e = this.doc;
return this.addCss(t, function(t) {
return e.head.appendChild(t)
})
}), t.override("makeVisible", function() {
var t = this;
return this.styleSelf(C).then(function() {
t._updateCachedDimensions()
})
}), t.override("injectWidgetEl", function(t) {
var e = this;
return this.initialized ? this.widgetEl ? y.reject(new Error("widget already injected")) : c.write(function() {
e.doc.body.appendChild(t)
}) : y.reject(new Error("sandbox not initialized"))
}), t.override("matchHeightToContent", function() {
var t, e = this;
return c.read(function() {
t = e.widgetEl ? g(e.widgetEl).height : 0
}), c.write(function() {
e.sandboxEl.style.height = t + "px"
}).then(function() {
return e._updateCachedDimensions()
})
}), t.override("matchWidthToContent", function() {
var t, e = this;
return c.read(function() {
t = e.widgetEl ? g(e.widgetEl).width : 0
}), c.write(function() {
e.sandboxEl.style.width = t + "px"
}).then(function() {
return e._updateCachedDimensions()
})
}), t.after("initialize", function() {
this._iframe = null, this._width = this._height = 0, this._resizeHandlers = []
}), t.override("insert", function(t, e, n, s) {
var a = this,
u = new w,
d = this.targetGlobal.document,
l = r(t, e, n, d);
return c.write(x(s, null, l)), l.addEventListener("load", function() {
i(l).then(null, x(o, null, t, e, n, l, d)).then(u.resolve, u.reject)
}, !1), l.addEventListener("error", u.reject, !1), u.promise.then(function(t) {
var e = p(a._didResize, R, a);
return a._iframe = t, a.win.addEventListener("resize", e, !1), y.all([a._setTargetToBlank(), a.addRootClass(I), a.prependCss(S)])
})
}), t.override("onResize", function(t) {
this._resizeHandlers.push(t)
}), t.after("styleSelf", function() {
return this._updateCachedDimensions()
})
}
var a = n(9),
u = n(21),
c = n(37),
d = n(66),
l = n(56),
f = n(67),
h = n(68),
p = n(69),
m = n(46),
v = n(10),
g = n(70),
w = n(1),
y = n(2),
b = n(12),
_ = n(18),
E = n(30),
x = n(15),
A = {
allowfullscreen: "true"
},
T = {
position: "absolute",
visibility: "hidden",
display: "block",
width: "0px",
height: "0px",
padding: "0",
border: "none"
},
C = {
position: "static",
visibility: "visible"
},
I = "SandboxRoot",
S = ".SandboxRoot { display: none; }",
R = 50;
t.exports = l.couple(n(71), s)
}, function(t, e, n) {
function r(t) {
return t = t || o, t.getSelection && t.getSelection()
}
function i(t) {
var e = r(t);
return e ? e.toString() : ""
}
var o = n(7);
t.exports = {
getSelection: r,
getSelectedText: i
}
}, function(t, e, n) {
function r(t) {
var e = new s,
n = i.createElement("img");
return n.onload = n.onerror = function() {
o.setTimeout(e.resolve, 50)
}, n.src = t, o.setTimeout(e.reject, a), e.promise
}
var i = n(9),
o = n(7),
s = n(1),
a = 2e4;
t.exports = r
}, function(t, e, n) {
function r() {
return h + f.generate()
}
function i() {
var t = r(),
e = a.createElement("div"),
n = a.createElement("style"),
i = "." + t + " { visibility: hidden; }";
return !!a.body && (l.asBoolean(c.val("widgets:csp")) && (o = !1), void 0 !== o ? o : (e.style.display = "none", s.add(e, t), n.type = "text/css", n.appendChild(a.createTextNode(i)), a.body.appendChild(n), a.body.appendChild(e), o = "hidden" === u.getComputedStyle(e).visibility, d(e), d(n), o))
}
var o, s = n(21),
a = n(9),
u = n(7),
c = n(42),
d = n(39),
l = n(27),
f = n(30),
h = "csptest";
t.exports = {
inlineStyle: i
}
}, function(t, e, n) {
function r(t, e, n) {
function r() {
var a = n || this,
u = arguments,
c = +new Date;
return i.clearTimeout(o), c - s > e ? (s = c, void t.apply(a, u)) : void(o = i.setTimeout(function() {
r.apply(a, u)
}, e))
}
var o, s = 0;
return n = n || null, r
}
var i = n(7);
t.exports = r
}, function(t, e) {
function n(t) {
var e = t.getBoundingClientRect();
return {
width: e.width,
height: e.height
}
}
t.exports = n
}, function(t, e, n) {
function r(t) {
t.define("createElement", i), t.define("createFragment", i), t.define("htmlToElement", i), t.define("hasSelectedText", i), t.define("addRootClass", i), t.define("removeRootClass", i), t.define("hasRootClass", i), t.define("prependStyleSheet", i), t.define("appendStyleSheet", i), t.define("prependCss", i), t.define("appendCss", i), t.define("makeVisible", i), t.define("injectWidgetEl", i), t.define("matchHeightToContent", i), t.define("matchWidthToContent", i)
}
var i = n(72);
t.exports = r
}, function(t, e) {
function n() {
throw new Error("unimplemented method")
}
t.exports = n
}, function(t, e, n) {
function r(t, e, n) {
return i(t, e, n, 2)
}
function i(t, e, n, r) {
var i = !w.isObject(t),
o = !!e && !w.isObject(e);
i || o || (b && b(arguments), s(g.formatClientEventNamespace(t), g.formatClientEventData(e, n, r), g.CLIENT_EVENT_ENDPOINT))
}
function o(t, e, n, r) {
var o = g.extractTermsFromDOM(t.target || t.srcElement);
o.action = r || "click", i(o, e, n)
}
function s(t, e, n) {
var r, i;
n && w.isObject(t) && w.isObject(e) && (m.log(t, e), r = g.flattenClientEventPayload(t, e), i = {
l: g.stringify(r)
}, g.noticeSeen(t) && (i.notice_seen = !0), r.dnt && (i.dnt = 1), f(v.url(n, i)))
}
function a(t, e, n, r) {
var i, o = !w.isObject(t),
s = !!e && !w.isObject(e);
if (!o && !s) return i = g.flattenClientEventPayload(g.formatClientEventNamespace(t), g.formatClientEventData(e, n, r)), u(i)
}
function u(t) {
return E.push(t), E
}
function c() {
var t, e;
return E.length > 1 && a({
page: "widgets_js",
component: "scribe_pixel",
action: "batch_log"
}, {}), t = E, E = [], e = t.reduce(function(e, n, r) {
var i = e.length,
o = i && e[i - 1],
s = r + 1 == t.length;
return s && n.event_namespace && "batch_log" == n.event_namespace.action && (n.message = ["entries:" + r, "requests:" + i].join("/")), d(n).forEach(function(t) {
var n = l(t);
(!o || o.urlLength + n > _) && (o = {
urlLength: A,
items: []
}, e.push(o)), o.urlLength += n, o.items.push(t)
}), e
}, []), e.map(function(t) {
var e = {
l: t.items
};
return p.enabled() && (e.dnt = 1), f(v.url(g.CLIENT_EVENT_ENDPOINT, e))
})
}
function d(t) {
return Array.isArray(t) || (t = [t]), t.reduce(function(t, e) {
var n, r = g.stringify(e),
i = l(r);
return A + i < _ ? t = t.concat(r) : (n = g.splitLogEntry(e), n.length > 1 && (t = t.concat(d(n)))), t
}, [])
}
function l(t) {
return encodeURIComponent(t).length + 3
}
function f(t) {
var e = new Image;
return e.src = t
}
function h(t) {
var e = g.stringify(t),
n = l(e);
return A + n < _
}
var p = n(47),
m = n(51),
v = n(26),
g = n(52),
w = n(12),
y = n(18),
b = y.get("scribeCallback"),
_ = 2083,
E = [],
x = v.url(g.CLIENT_EVENT_ENDPOINT, {
dnt: 0,
l: ""
}),
A = encodeURIComponent(x).length;
t.exports = {
canFlushOneItem: h,
_enqueueRawObject: u,
scribe: s,
clientEvent: i,
clientEvent2: r,
enqueueClientEvent: a,
flushClientEvents: c,
interaction: o
}
}, function(t, e, n) {
function r(t, e) {
this._inputsQueue = [], this._task = t, this._isPaused = !1, this._flushDelay = e && e.flushDelay || s, this._pauseLength = e && e.pauseLength || a, this._flushTimeout = void 0
}
var i = n(1),
o = n(15),
s = 100,
a = 3e3;
r.prototype.add = function(t) {
var e = new i;
return this._inputsQueue.push({
input: t,
taskDoneDeferred: e
}), this._scheduleFlush(), e.promise
}, r.prototype._scheduleFlush = function() {
this._isPaused || (clearTimeout(this._flushTimeout), this._flushTimeout = setTimeout(o(this._flush, this), this._flushDelay))
}, r.prototype._flush = function() {
try {
this._task.call(null, this._inputsQueue)
} catch (t) {
this._inputsQueue.forEach(function(e) {
e.taskDoneDeferred.reject(t)
})
}
this._inputsQueue = [], this._flushTimeout = void 0
}, r.prototype.pause = function(t) {
clearTimeout(this._flushTimeout), this._isPaused = !0, !t && this._pauseLength && setTimeout(o(this.resume, this), this._pauseLength)
}, r.prototype.resume = function() {
this._isPaused = !1, this._scheduleFlush()
}, t.exports = r
}, function(t, e, n) {
function r() {
d.load()
}
function i() {
return c().then(function(t) {
return Object.keys(t)
})
}
function o(t) {
return c().then(function(e) {
if (!e[t]) throw new Error("Experiment not found");
return e[t]
})
}
function s(t) {
return d.settingsLoaded().then(function(e) {
return e[t]
})
}
function a() {
return s("isBucketed")
}
function u() {
return s("shouldObtainCookieConsent")
}
function c() {
return s("experiments")
}
var d = n(76);
t.exports = {
isBucketed: a,
shouldObtainCookieConsent: u,
getExperiments: c,
getExperiment: o,
getExperimentKeys: i,
load: r
}
}, function(t, e, n) {
function r() {
var t, e, n, r;
return l.ie9() || l.ie10() || "http:" !== h.protocol && "https:" !== h.protocol ? (p.devError("Using default settings due to unsupported browser or protocol."), void E().resolve(i())) : (t = {
origin: h.origin,
settingsEndpoint: d.settings()
}, e = w.url(s.resourceBaseUrl + s.widgetIframeHtmlPath, t), n = function(t) {
var n;
if (e.substr(0, t.origin.length) === t.origin) try {
n = "string" == typeof t.data ? f.parse(t.data) : t.data, n.namespace === m.settings && E().resolve(i(n.settings))
} catch (t) {
p.devError(t)
}
}, _.addEventListener("message", n), r = a({
src: e,
title: "Twitter settings iframe"
}, {
display: "none"
}), void c.body.appendChild(r))
}
function i(t) {
var e = {
is_bucketed: !1,
should_obtain_cookie_consent: !0,
experiments: {}
},
n = t || e;
return new y(n.is_bucketed, n.should_obtain_cookie_consent, n.experiments)
}
function o() {
var t, e, n;
return t = new u, e = g.get("experimentOverride"), E().promise.then(function(r) {
e && (n = {}, n[e.name] = {
bucket: e.assignment
}, r.experiments = b.aug(r.experiments, n)), t.resolve(r)
}).catch(function(e) {
t.reject(e)
}), t.promise
}
var s = n(77),
a = n(46),
u = n(1),
c = n(9),
d = n(78),
l = n(8),
f = n(53),
h = n(11),
p = n(10),
m = n(79),
v = n(80),
g = n(18),
w = n(26),
y = n(81),
b = n(12),
_ = n(7),
E = v(function() {
return new u
});
t.exports = {
load: r,
settingsLoaded: o
}
}, function(t, e) {
t.exports = {
tweetButtonHtmlPath: "/widgets/tweet_button.2a95829d56969f55c9a10ebfb87710c5.{{lang}}.html",
followButtonHtmlPath: "/widgets/follow_button.2a95829d56969f55c9a10ebfb87710c5.{{lang}}.html",
hubHtmlPath: "/widgets/hub.html",
widgetIframeHtmlPath: "/widgets/widget_iframe.2a95829d56969f55c9a10ebfb87710c5.html",
resourceBaseUrl: "https://platform.twitter.com"
}
}, function(t, e, n) {
function r() {
w.init("backendHost", b)
}
function i() {
w.unset("backendHost", b)
}
function o(t) {
var e = t || [];
return e.unshift("cookie/consent"), p(E(), e)
}
function s(t) {
var e = t || [];
return e.unshift("settings"), p(E(), e)
}
function a(t) {
var e = t || [];
return e.unshift("video/event"), p(_(), e)
}
function u(t) {
var e = t || [];
return e.unshift("grid/collection"), p(_(), e)
}
function c(t) {
var e = t || [];
return e.unshift("moments"), p(_(), e)
}
function d(t) {
var e = t || [];
return e.unshift("timeline"), p(_(), e)
}
function l(t) {
var e = t || [];
return e.unshift("widgets/timelines"), p(_(), e)
}
function f(t) {
var e = t || [];
return e.unshift("tweets.json"), p(_(), e)
}
function h(t) {
var e = t || [];
return e.unshift("widgets/video"), p(_(), e)
}
function p(t, e) {
var n = [t];
return e.forEach(function(t) {
n.push(m(t))
}), n.join("/")
}
function m(t) {
var e = (t || "").toString(),
n = v(e) ? 1 : 0,
r = g(e) ? -1 : void 0;
return e.slice(n, r)
}
function v(t) {
return "/" === t.slice(0, 1)
}
function g(t) {
return "/" === t.slice(-1)
}
var w = n(18),
y = "https://cdn.syndication.twimg.com",
b = "https://syndication.twitter.com",
_ = function() {
return w.get("backendHost") || y
},
E = function() {
return w.get("settingsSvcHost") || b
};
t.exports = {
cookieConsent: o,
disableCDN: r,
enableCDN: i,
eventVideo: a,
grid: u,
moment: c,
settings: s,
timeline: d,
timelinePreconfigured: l,
tweetBatch: f,
video: h
}
}, function(t, e) {
t.exports = {
settings: "twttr.settings"
}
}, function(t, e) {
function n(t) {
var e, n = !1;
return function() {
return n ? e : (n = !0, e = t.apply(this, arguments))
}
}
t.exports = n
}, function(t, e) {
function n(t, e, n) {
this.isBucketed = t, this.shouldObtainCookieConsent = e, this.experiments = n || {}
}
t.exports = n
}, function(t, e, n) {
t.exports = [n(83), n(115), n(129), n(162), n(173), n(179), n(224), n(243)]
}, function(t, e, n) {
function r(t) {
var e = t.getAttribute("data-show-screen-name"),
n = u(t),
r = t.getAttribute("href"),
i = t.getAttribute("data-screen-name"),
c = e ? s.asBoolean(e) : null,
d = t.getAttribute("data-size"),
l = o.decodeURL(r),
f = l.recipient_id,
h = t.getAttribute("data-text") || l.text,
p = t.getAttribute("data-welcome-message-id") || l.welcomeMessageId;
return a.aug(n, {
screenName: i,
showScreenName: c,
size: d,
text: h,
userId: f,
welcomeMessageId: p
})
}
function i(t) {
var e = c(t, l);
return e.map(function(t) {
return d(r(t), t.parentNode, t)
})
}
var o = n(26),
s = n(27),
a = n(12),
u = n(84),
c = n(86)(),
d = n(88),
l = "a.twitter-dm-button";
t.exports = i
}, function(t, e, n) {
function r(t) {
var e = t.href && t.href.split("?")[1],
n = e ? s.decode(e) : {},
r = {
lang: u(t),
width: t.getAttribute("data-width") || t.getAttribute("width"),
height: t.getAttribute("data-height") || t.getAttribute("height"),
related: t.getAttribute("data-related"),
partner: t.getAttribute("data-partner")
};
return o.asBoolean(t.getAttribute("data-dnt")) && i.setOn(), a.forIn(r, function(t, e) {
var r = n[t];
n[t] = o.hasValue(r) ? r : e
}), a.compact(n)
}
var i = n(47),
o = n(27),
s = n(26),
a = n(12),
u = n(85);
t.exports = r
}, function(t, e, n) {
function r(t) {
var e;
if (t) return e = t.lang || t.getAttribute("data-lang"), i.isType("string", e) ? e : r(t.parentElement)
}
var i = n(12);
t.exports = r
}, function(t, e, n) {
var r = n(87),
i = n(30);
t.exports = function() {
var t = "data-twitter-extracted-" + i.generate();
return function(e, n) {
function i(e) {
return !e.hasAttribute(t)
}
function o(e) {
return e.setAttribute(t, "true"), e
}
return r(e, n).filter(i).map(o)
}
}
}, function(t, e, n) {
function r(t, e) {
return o(t, e) ? [t] : i.toRealArray(t.querySelectorAll(e))
}
var i = n(12),
o = n(23);
t.exports = r
}, function(t, e, n) {
function r(t, e, n) {
return new i(o, s, "twitter-dm-button", t, e, n)
}
var i = n(89),
o = n(90),
s = n(111);
t.exports = r
}, function(t, e) {
function n(t, e, n, r, i, o) {
this.factory = t, this.Sandbox = e, this.srcEl = o, this.targetEl = i, this.parameters = r, this.className = n
}
n.prototype.destroy = function() {
this.srcEl = this.targetEl = null
}, t.exports = n
}, function(t, e, n) {
function r(t, e) {
var r = new i;
return n.e(1, function(i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(91), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , function(t, e, n) {
var r = n(57),
i = n(93),
o = n(15);
r = Object.create(r), r.build = o(r.build, null, i), t.exports = r
}, function(t, e, n) {
function r() {
i.apply(this, arguments), this.Widget = this.Component
}
var i = n(61),
o = n(12),
s = n(94);
r.prototype = Object.create(i.prototype), o.aug(r.prototype, {
factory: s,
build: function() {
var t = i.prototype.build.apply(this, arguments);
return t
},
selectors: function(t) {
var e = this.Widget.prototype.selectors;
t = t || {}, this.Widget.prototype.selectors = o.aug({}, t, e)
}
}), t.exports = r
}, function(t, e, n) {
function r() {
function t(t, n) {
e.apply(this, arguments), this.id = d + c(), this.sandbox = n
}
var e = s();
return t.prototype = Object.create(e.prototype), a.aug(t.prototype, {
selectors: {},
hydrate: function() {
return i.resolve()
},
prepForInsertion: function() {},
render: function() {
return i.resolve()
},
show: function() {
return i.resolve()
},
resize: function() {
return i.resolve()
},
select: function(t, e) {
return 1 === arguments.length && (e = t, t = this.el), t ? (e = this.selectors[e] || e, a.toRealArray(t.querySelectorAll(e))) : []
},
selectOne: function() {
return this.select.apply(this, arguments)[0]
},
selectLast: function() {
return this.select.apply(this, arguments).pop()
},
on: function(t, e, n) {
function r(t) {
a.addEventListener(t, n, !1)
}
function i(t) {
o.delegate(a, t, s, n)
}
var s, a = this.el;
this.el && (t = (t || "").split(/\s+/), 2 === arguments.length ? n = e : s = e, s = this.selectors[s] || s, n = u(n, this), t.forEach(s ? i : r))
}
}), t
}
var i = n(2),
o = n(20),
s = n(63),
a = n(12),
u = n(15),
c = n(95),
d = "twitter-widget-";
t.exports = r
}, function(t, e) {
function n() {
return String(r++)
}
var r = 0;
t.exports = n
}, , function(t, e, n) {
function r(t) {
return "dark" === t ? "dark" : "light"
}
function i(t, e, n) {
var i, o;
return n = r(n), i = a.isRtlLang(e) ? "rtl" : "ltr", o = [t, u.css, n, i, "css"].join("."), d.resourceBaseUrl + "/css/" + o
}
function o() {
return d.resourceBaseUrl + "/css/" + ["periscope_on_air", u.css, "css"].join(".")
}
function s() {
return d.resourceBaseUrl + "/css/" + ["dm_button", u.css, "css"].join(".")
}
var a = n(98),
u = n(101),
c = n(15),
d = n(77);
t.exports = {
dmButton: s,
tweet: c(i, null, "tweet"),
timeline: c(i, null, "timeline"),
video: c(i, null, "video"),
moment: c(i, null, "moment"),
grid: c(i, null, "grid"),
periscopeOnAir: o
}
}, function(t, e, n) {
function r(t) {
return t = String(t).toLowerCase(), o.contains(a, t)
}
function i(t) {
return t = (t || "").toLowerCase(), t = t.replace("_", "-"), s(t) ? t : (t = t.replace(/-.*/, ""), s(t) ? t : "en")
}
var o = n(12),
s = n(99),
a = ["ar", "fa", "he", "ur"];
t.exports = {
isRtlLang: r,
matchLanguage: i
}
}, function(t, e, n) {
function r(t) {
return "en" === t || i.contains(o, t)
}
var i = n(12),
o = n(100);
t.exports = r
}, function(t, e) {
t.exports = ["hi", "zh-cn", "fr", "zh-tw", "msa", "fil", "fi", "sv", "pl", "ja", "ko", "de", "it", "pt", "es", "ru", "id", "tr", "da", "no", "nl", "hu", "fa", "ar", "ur", "he", "th", "cs", "uk", "vi", "ro", "bn", "el", "en-gb", "gu", "kn", "mr", "ta", "bg", "ca", "hr", "sr", "sk"]
}, function(t, e) {
t.exports = {
css: "491ab81a49d69599f35b92d184213601"
}
}, function(t, e, n) {
function r(t) {
return i.isType("string", t)
}
var i = n(12);
t.exports = r
}, function(t, e, n) {
function r(t) {
t.define("injectRefUrlParams", function(t) {
t.getAttribute(s) || (t.setAttribute(s, !0), t.href = i(t.href, this.params.productName, this.params.id))
}), t.after("render", function() {
this.on("click", "A", function(t, e) {
o.isTwitterURL(e.href) && this.injectRefUrlParams(e)
})
})
}
var i = n(104),
o = n(25),
s = "data-url-ref-attrs-injected";
t.exports = r
}, function(t, e, n) {
function r(t, e) {
return t + u + e
}
function i(t) {
return t.reduce(function(t, e) {
return t + c + e
})
}
function o(t, e, n) {
var o, u, c = r(d, l);
return e && (o = r(h, e), c = i([c, o])), n && (u = r(f, n), c = i([c, u])), s.url(t, {
ref_src: c,
ref_url: a.rootDocumentLocation()
})
}
var s = n(26),
a = n(48),
u = "^",
c = "|",
d = "twsrc",
l = "tfw",
f = "twterm",
h = "twcamp";
t.exports = o
}, function(t, e, n) {
function r(t) {
t.params({
partner: {
fallback: u(c.val, c, "partner")
}
}), t.define("scribeItems", function() {
return {}
}), t.define("scribeNamespace", function() {
return {
client: "tfw"
}
}), t.define("scribeData", function() {
return {
widget_origin: s.rootDocumentLocation(),
widget_frame: s.isFramed() && s.currentDocumentLocation(),
widget_partner: this.params.partner,
widget_site_screen_name: l(c.val("site")),
widget_site_user_id: d.asNumber(c.val("site:id")),
widget_creator_screen_name: l(c.val("creator")),
widget_creator_user_id: d.asNumber(c.val("creator:id"))
}
}), t.define("scribe", function(t, e, n) {
t = a.aug(this.scribeNamespace(), t || {}), e = a.aug(this.scribeData(), e || {}), i.scribe(t, e, !1, n)
}), t.define("scribeInteraction", function(t, e, n) {
var r = o.extractTermsFromDOM(t.target);
r.action = t.type, "url" === r.element && (r.element = o.clickEventElement(t.target)), this.scribe(r, e, n)
})
}
var i = n(43),
o = n(52),
s = n(48),
a = n(12),
u = n(15),
c = n(42),
d = n(27),
l = n(106);
t.exports = r
}, function(t, e) {
function n(t) {
return t && "@" === t[0] ? t.substr(1) : t
}
t.exports = n
}, , function(t, e, n) {
function r(t, e) {
var n, r;
if (t) return r = e ? [t, e] : [t], n = a(r), {
item_ids: Object.keys(n),
item_details: n
}
}
function i(t) {
t.selectors({
tweetIdInfo: ".js-tweetIdInfo",
quotedTweetInfo: '[data-tweet-item-type="23"]'
}), t.define("scribeClickInteraction", function(t, e) {
var n = o.closest(this.selectors.tweetIdInfo, e, this.el),
i = n && n.querySelector(this.selectors.quotedTweetInfo);
this.scribeInteraction(t, r(n, i))
}), t.after("render", function() {
this.on("click", "A", this.scribeClickInteraction), this.on("click", "BUTTON", this.scribeClickInteraction)
})
}
var o = n(22),
s = n(92),
a = n(109);
t.exports = s.couple(n(105), i)
}, function(t, e, n) {
function r(t) {
return t ? (t = Array.isArray(t) ? t : [t], t.reduce(function(t, e) {
var n = e.getAttribute("data-tweet-id"),
r = e.getAttribute("data-rendered-tweet-id") || n,
o = e.getAttribute("data-tweet-item-type") === i.QUOTE_TWEET.toString();
return o ? t[n] = {
item_type: i.QUOTE_TWEET
} : n === r ? t[r] = {
item_type: i.TWEET
} : n && (t[r] = {
item_type: i.RETWEET,
target_type: i.TWEET,
target_id: n
}), t
}, {})) : {}
}
var i = n(110);
t.exports = r
}, function(t, e) {
t.exports = {
TWEET: 0,
RETWEET: 10,
CUSTOM_TIMELINE: 17,
LIVE_VIDEO_EVENT: 28,
QUOTE_TWEET: 23
}
}, function(t, e, n) {
var r = n(112),
i = n(55);
t.exports = r.isSupported() ? r : i
}, function(t, e, n) {
var r = n(56),
i = n(113);
t.exports = r.build([i])
}, function(t, e, n) {
function r(t) {
t.defineStatic("isSupported", function() {
return !!o.HTMLElement.prototype.attachShadow && f.inlineStyle() && !h.android()
}), t.overrideProperty("id", {
get: function() {
return this.sandboxEl && this.sandboxEl.id
}
}), t.overrideProperty("initialized", {
get: function() {
return !!this._shadowHost
}
}), t.overrideProperty("width", {
get: function() {
return this._width
}
}), t.overrideProperty("height", {
get: function() {
return this._height
}
}), t.overrideProperty("sandboxEl", {
get: function() {
return this._shadowHost
}
}), t.define("_updateCachedDimensions", function() {
var t = this;
return u.read(function() {
var e, n = p(t.sandboxEl);
"visible" == t.sandboxEl.style.visibility ? t._width = n.width : (e = p(t.sandboxEl.parentElement).width, t._width = Math.min(n.width, e)), t._height = n.height
})
}), t.define("_didResize", function() {
var t = this,
e = this._resizeHandlers.slice(0);
return this._updateCachedDimensions().then(function() {
e.forEach(function(e) {
e(t)
})
})
}), t.override("createElement", function(t) {
return this.targetGlobal.document.createElement(t)
}), t.override("createFragment", function() {
return this.targetGlobal.document.createDocumentFragment()
}), t.override("htmlToElement", function(t) {
var e;
return e = this.createElement("div"), e.innerHTML = t, e.firstElementChild
}), t.override("hasSelectedText", function() {
return !!c.getSelectedText(this.targetGlobal)
}), t.override("addRootClass", function(t) {
var e = this._shadowRootBody;
return t = Array.isArray(t) ? t : [t], this.initialized ? u.write(function() {
t.forEach(function(t) {
s.add(e, t)
})
}) : g.reject(new Error("sandbox not initialized"))
}), t.override("removeRootClass", function(t) {
var e = this._shadowRootBody;
return t = Array.isArray(t) ? t : [t], this.initialized ? u.write(function() {
t.forEach(function(t) {
s.remove(e, t)
})
}) : g.reject(new Error("sandbox not initialized"))
}), t.override("hasRootClass", function(t) {
return s.present(this._shadowRootBody, t)
}), t.override("addStyleSheet", function(t, e) {
return this.addCss('@import url("' + t + '");', e).then(function() {
return l(t)
})
}), t.override("prependStyleSheet", function(t) {
var e = this._shadowRoot;
return this.addStyleSheet(t, function(t) {
var n = e.firstElementChild;
return n ? e.insertBefore(t, n) : e.appendChild(t)
})
}), t.override("appendStyleSheet", function(t) {
var e = this._shadowRoot;
return this.addStyleSheet(t, function(t) {
return e.appendChild(t)
})
}), t.override("addCss", function(t, e) {
var n;
return this.initialized ? f.inlineStyle() ? (n = this.createElement("style"), n.type = "text/css", n.appendChild(this.targetGlobal.document.createTextNode(t)), u.write(m(e, null, n))) : g.resolve() : g.reject(new Error("sandbox not initialized"))
}), t.override("prependCss", function(t) {
var e = this._shadowRoot;
return this.addCss(t, function(t) {
var n = e.firstElementChild;
return n ? e.insertBefore(t, n) : e.appendChild(t)
})
}), t.override("appendCss", function(t) {
var e = this._shadowRoot;
return this.addCss(t, function(t) {
return e.appendChild(t)
})
}), t.override("makeVisible", function() {
return this.styleSelf(_)
}), t.override("injectWidgetEl", function(t) {
function e() {
var t = v(n._didResize, y, n);
new i(n._shadowRootBody, t)
}
var n = this;
return this.initialized ? this._shadowRootBody.firstElementChild ? g.reject(new Error("widget already injected")) : u.write(function() {
n._shadowRootBody.appendChild(t)
}).then(function() {
return n._updateCachedDimensions()
}).then(e) : g.reject(new Error("sandbox not initialized"))
}), t.override("matchHeightToContent", function() {
return g.resolve()
}), t.override("matchWidthToContent", function() {
return g.resolve()
}), t.override("insert", function(t, e, n, r) {
var i = this.targetGlobal.document,
o = this._shadowHost = i.createElement(E),
s = this._shadowRoot = o.attachShadow({
mode: x
}),
c = this._shadowRootBody = i.createElement("div");
return w.forIn(e || {}, function(t, e) {
o.setAttribute(t, e)
}), o.id = t, s.appendChild(c), a.delegate(c, "click", "A", function(t, e) {
e.hasAttribute("target") || e.setAttribute("target", "_blank")
}), g.all([this.styleSelf(b), this.addRootClass(A), this.prependCss(T), u.write(r.bind(null, o))])
}), t.override("onResize", function(t) {
this._resizeHandlers.push(t)
}), t.after("initialize", function() {
this._shadowHost = this._shadowRoot = this._shadowRootBody = null, this._width = this._height = 0, this._resizeHandlers = []
}), t.after("styleSelf", function() {
return this._updateCachedDimensions()
})
}
var i = n(114),
o = n(7),
s = n(21),
a = n(20),
u = n(37),
c = n(66),
d = n(56),
l = n(67),
f = n(68),
h = n(8),
p = n(70),
m = n(15),
v = n(69),
g = n(2),
w = n(12),
y = 50,
b = {
position: "absolute",
visibility: "hidden",
display: "block",
transform: "rotate(0deg)"
},
_ = {
position: "static",
visibility: "visible"
},
E = "twitter-widget",
x = "open",
A = "SandboxRoot",
T = ".SandboxRoot { display: none; }";
t.exports = d.couple(n(71), r)
}, function(t, e) {
! function() {
var e = function(t, n) {
function r() {
this.q = [], this.add = function(t) {
this.q.push(t)
};
var t, e;
this.call = function() {
for (t = 0, e = this.q.length; t < e; t++) this.q[t].call()
}
}
function i(t, e) {
return t.currentStyle ? t.currentStyle[e] : window.getComputedStyle ? window.getComputedStyle(t, null).getPropertyValue(e) : t.style[e]
}
function o(t, e) {
if (t.resizedAttached) {
if (t.resizedAttached) return void t.resizedAttached.add(e)
} else t.resizedAttached = new r, t.resizedAttached.add(e);
t.resizeSensor = document.createElement("div"), t.resizeSensor.className = "resize-sensor";
var n = "position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;",
o = "position: absolute; left: 0; top: 0; transition: 0s;";
t.resizeSensor.style.cssText = n, t.resizeSensor.innerHTML = '<div class="resize-sensor-expand" style="' + n + '"><div style="' + o + '"></div></div><div class="resize-sensor-shrink" style="' + n + '"><div style="' + o + ' width: 200%; height: 200%"></div></div>', t.appendChild(t.resizeSensor), {
fixed: 1,
absolute: 1
} [i(t, "position")] || (t.style.position = "relative");
var s, a, u = t.resizeSensor.childNodes[0],
c = u.childNodes[0],
d = t.resizeSensor.childNodes[1],
l = (d.childNodes[0], function() {
c.style.width = u.offsetWidth + 10 + "px", c.style.height = u.offsetHeight + 10 + "px", u.scrollLeft = u.scrollWidth, u.scrollTop = u.scrollHeight, d.scrollLeft = d.scrollWidth, d.scrollTop = d.scrollHeight, s = t.offsetWidth, a = t.offsetHeight
});
l();
var f = function() {
t.resizedAttached && t.resizedAttached.call()
},
h = function(t, e, n) {
t.attachEvent ? t.attachEvent("on" + e, n) : t.addEventListener(e, n)
},
p = function() {
t.offsetWidth == s && t.offsetHeight == a || f(), l()
};
h(u, "scroll", p), h(d, "scroll", p)
}
var s = Object.prototype.toString.call(t),
a = "[object Array]" === s || "[object NodeList]" === s || "[object HTMLCollection]" === s || "undefined" != typeof jQuery && t instanceof jQuery || "undefined" != typeof Elements && t instanceof Elements;
if (a)
for (var u = 0, c = t.length; u < c; u++) o(t[u], n);
else o(t, n);
this.detach = function() {
if (a)
for (var n = 0, r = t.length; n < r; n++) e.detach(t[n]);
else e.detach(t)
}
};
e.detach = function(t) {
t.resizeSensor && (t.removeChild(t.resizeSensor), delete t.resizeSensor, delete t.resizedAttached)
}, "undefined" != typeof t && "undefined" != typeof t.exports ? t.exports = e : window.ResizeSensor = e
}()
}, function(t, e, n) {
function r(t) {
var e = a(t),
n = {
screenName: o.screenName(t.href),
showScreenName: "false" !== t.getAttribute("data-show-screen-name"),
showCount: "false" !== t.getAttribute("data-show-count"),
size: t.getAttribute("data-size"),
count: t.getAttribute("data-count"),
preview: t.getAttribute("data-preview")
};
return s.forIn(n, function(t, n) {
var r = e[t];
e[t] = d.hasValue(r) ? r : n
}), e.screenName = e.screenName || e.screen_name, e
}
function i(t) {
var e = u(t, l);
return e.map(function(t) {
return c(r(t), t.parentNode, t)
})
}
var o = n(25),
s = n(12),
a = n(84),
u = n(86)(),
c = n(116),
d = n(27),
l = "a.twitter-follow-button";
t.exports = i
}, function(t, e, n) {
function r(t, e, n) {
return new i(o, s, "twitter-follow-button", t, e, n)
}
var i = n(89),
o = n(117),
s = n(122);
t.exports = r
}, function(t, e, n) {
function r(t, e) {
var r = new i;
return n.e(2, function(i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(118), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , , , function(t, e, n) {
function r(t) {
t.define("widgetDataAttributes", function() {
return {}
}), t.define("setDataAttributes", function() {
var t = this.sandbox.sandboxEl;
o.forIn(this.widgetDataAttributes(), function(e, n) {
i.hasValue(n) && t.setAttribute("data-" + e, n)
})
}), t.after("render", function() {
this.setDataAttributes()
})
}
var i = n(27),
o = n(12);
t.exports = r
}, function(t, e, n) {
var r = n(56),
i = n(123);
t.exports = r.build([i])
}, function(t, e, n) {
function r(t) {
t.overrideProperty("id", {
get: function() {
return this.sandboxEl && this.sandboxEl.id
}
}), t.overrideProperty("initialized", {
get: function() {
return !!this.iframeEl
}
}), t.overrideProperty("width", {
get: function() {
return this._width
}
}), t.overrideProperty("height", {
get: function() {
return this._height
}
}), t.overrideProperty("sandboxEl", {
get: function() {
return this.iframeEl
}
}), t.defineProperty("iframeEl", {
get: function() {
return this._iframe
}
}), t.define("updateCachedDimensions", function() {
var t = this;
return this.initialized ? i.read(function() {
t._width = t.sandboxEl.offsetWidth, t._height = t.sandboxEl.offsetHeight
}) : c.resolve()
}), t.define("setTitle", function(t) {
this.iframeEl.title = t
}), t.define("makeVisible", function() {
return this.styleSelf(h)
}), t.define("didResize", function() {
var t = this,
e = t._resizeHandlers.length > 0;
return this.updateCachedDimensions().then(function() {
e && t._resizeHandlers.forEach(function(e) {
e(t)
})
})
}), t.define("loadDocument", function(t) {
var e = new u;
return this.initialized ? this.iframeEl.src ? c.reject(new Error("widget already loaded")) : (this.iframeEl.addEventListener("load", e.resolve, !1), this.iframeEl.addEventListener("error", e.reject, !1), this.iframeEl.src = t, e.promise) : c.reject(new Error("sandbox not initialized"))
}), t.after("initialize", function() {
this._iframe = null, this._width = this._height = 0, this._resizeHandlers = []
}), t.override("insert", function(t, e, n, r) {
var o = this;
return e = l.aug({
id: t
}, e), n = l.aug({}, f, n), this._iframe = a(e, n), p[t] = this, this.onResize(s(function() {
o.makeVisible()
})), i.write(d(r, null, this._iframe))
}), t.override("onResize", function(t) {
this._resizeHandlers.push(t)
}), t.after("styleSelf", function() {
return this.updateCachedDimensions()
})
}
var i = n(37),
o = n(124),
s = n(80),
a = n(46),
u = n(1),
c = n(2),
d = n(15),
l = n(12),
f = {
position: "absolute",
visibility: "hidden",
width: "0px",
height: "0px"
},
h = {
position: "static",
visibility: "visible"
},
p = {};
o(function(t, e, n) {
var r = p[t];
if (r) return e = e || 1, n = n || 1, r.styleSelf({
width: e + "px",
height: n + "px"
}).then(function() {
r.didResize()
})
}), t.exports = r
}, function(t, e, n) {
function r(t) {
(new o).attachReceiver(new s.Receiver(i, "twttr.button")).bind("twttr.private.trigger", function(t, e) {
var n = c(this);
a.trigger(t, {
target: n,
region: e,
type: t,
data: {}
})
}).bind("twttr.private.resizeButton", function(e) {
var n = c(this),
r = n && n.id,
i = u.asInt(e.width),
o = u.asInt(e.height);
r && void 0 !== i && void 0 !== o && t(r, i, o)
})
}
var i = n(7),
o = n(125),
s = n(127),
a = n(31),
u = n(27),
c = n(128);
t.exports = r
}, function(t, e, n) {
function r(t) {
this.registry = t || {}
}
function i(t) {
return h.isType("string", t) ? l.parse(t) : t
}
function o(t) {
var e, n, r;
return !!h.isObject(t) && (e = t.jsonrpc === v, n = h.isType("string", t.method), r = !("id" in t) || s(t.id), e && n && r)
}
function s(t) {
var e, n, r;
return e = h.isType("string", t), n = h.isType("number", t), r = null === t, e || n || r
}
function a(t) {
return h.isObject(t) && !h.isType("function", t)
}
function u(t, e) {
return {
jsonrpc: v,
id: t,
result: e
}
}
function c(t, e) {
return {
jsonrpc: v,
id: s(t) ? t : null,
error: e
}
}
function d(t) {
return p.all(t).then(function(t) {
return t = t.filter(function(t) {
return void 0 !== t
}), t.length ? t : void 0
})
}
var l = n(53),
f = n(126),
h = n(12),
p = n(2),
m = n(34),
v = "2.0";
r.prototype._invoke = function(t, e) {
var n, r, i;
n = this.registry[t.method], r = t.params || [], r = h.isType("array", r) ? r : [r];
try {
i = n.apply(e.source || null, r)
} catch (t) {
i = p.reject(t.message)
}
return m.isPromise(i) ? i : p.resolve(i)
}, r.prototype._processRequest = function(t, e) {
function n(e) {
return u(t.id, e)
}
function r() {
return c(t.id, f.INTERNAL_ERROR)
}
var i;
return o(t) ? (i = "params" in t && !a(t.params) ? p.resolve(c(t.id, f.INVALID_PARAMS)) : this.registry[t.method] ? this._invoke(t, {
source: e
}).then(n, r) : p.resolve(c(t.id, f.METHOD_NOT_FOUND)), null != t.id ? i : p.resolve()) : p.resolve(c(t.id, f.INVALID_REQUEST))
}, r.prototype.attachReceiver = function(t) {
return t.attachTo(this), this
}, r.prototype.bind = function(t, e) {
return this.registry[t] = e, this
}, r.prototype.receive = function(t, e) {
var n, r, o, s = this;
try {
t = i(t)
} catch (t) {
return p.resolve(c(null, f.PARSE_ERROR))
}
return e = e || null, n = h.isType("array", t), r = n ? t : [t], o = r.map(function(t) {
return s._processRequest(t, e)
}), n ? d(o) : o[0]
}, t.exports = r
}, function(t, e) {
t.exports = {
PARSE_ERROR: {
code: -32700,
message: "Parse error"
},
INVALID_REQUEST: {
code: -32600,
message: "Invalid Request"
},
INVALID_PARAMS: {
code: -32602,
message: "Invalid params"
},
METHOD_NOT_FOUND: {
code: -32601,
message: "Method not found"
},
INTERNAL_ERROR: {
code: -32603,
message: "Internal error"
}
}
}, function(t, e, n) {
function r(t, e, n) {
var r;
t && t.postMessage && (g ? r = (n || "") + l.stringify(e) : n ? (r = {}, r[n] = e) : r = e, t.postMessage(r, "*"))
}
function i(t) {
return p.isType("string", t) ? t : "JSONRPC"
}
function o(t, e) {
return e ? p.isType("string", t) && 0 === t.indexOf(e) ? t.substring(e.length) : t[e] ? t[e] : void 0 : t
}
function s(t, e) {
var n = t.document;
this.filter = i(e), this.server = null, this.isTwitterFrame = m.isTwitterURL(n.location.href), t.addEventListener("message", v(this._onMessage, this), !1)
}
function a(t, e) {
this.pending = {}, this.target = t, this.isTwitterHost = m.isTwitterURL(c.href), this.filter = i(e), d.addEventListener("message", v(this._onMessage, this), !1)
}
function u(t) {
return arguments.length > 0 && (g = !!t), g
}
var c = n(11),
d = n(7),
l = n(53),
f = n(1),
h = n(8),
p = n(12),
m = n(25),
v = n(15),
g = h.ie9();
p.aug(s.prototype, {
_onMessage: function(t) {
var e, n = this;
this.server && (this.isTwitterFrame && !m.isTwitterURL(t.origin) || (e = o(t.data, this.filter), e && this.server.receive(e, t.source).then(function(e) {
e && r(t.source, e, n.filter)
})))
},
attachTo: function(t) {
this.server = t
},
detach: function() {
this.server = null
}
}), p.aug(a.prototype, {
_processResponse: function(t) {
var e = this.pending[t.id];
e && (e.resolve(t), delete this.pending[t.id])
},
_onMessage: function(t) {
var e;
if ((!this.isTwitterHost || m.isTwitterURL(t.origin)) && (e = o(t.data, this.filter))) {
if (p.isType("string", e)) try {
e = l.parse(e)
} catch (t) {
return
}
e = p.isType("array", e) ? e : [e], e.forEach(v(this._processResponse, this))
}
},
send: function(t) {
var e = new f;
return t.id ? this.pending[t.id] = e : e.resolve(), r(this.target, t, this.filter), e.promise
}
}), t.exports = {
Receiver: s,
Dispatcher: a,
_stringifyPayload: u
}
}, function(t, e, n) {
function r(t) {
for (var e, n = i.getElementsByTagName("iframe"), r = 0; n[r]; r++)
if (e = n[r], e.contentWindow === t) return e
}
var i = n(9);
t.exports = r
}, function(t, e, n) {
function r(t) {
var e = u(t),
n = {
collectionId: a.collectionId(t.href),
chrome: t.getAttribute("data-chrome"),
limit: t.getAttribute("data-limit")
};
return s.forIn(n, function(t, n) {
var r = e[t];
e[t] = o.hasValue(r) ? r : n
}), e
}
function i(t) {
var e = c(t, l);
return e.map(function(t) {
return d(r(t), t.parentNode, t)
})
}
var o = n(27),
s = n(12),
a = n(25),
u = n(84),
c = n(86)(),
d = n(130),
l = "a.twitter-grid";
t.exports = i
}, function(t, e, n) {
function r(t, e, n) {
return new i(o, s, "twitter-grid", t, e, n)
}
var i = n(89),
o = n(131),
s = n(55);
t.exports = r
}, function(t, e, n) {
function r(t, e) {
var r = new i;
return n.e(3, function(i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(132), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , , , function(t, e, n) {
function r(t) {
if (t) return t.replace(/[^\w$]/g, "_")
}
function i() {
return l + f++
}
function o(t, e, n, o) {
var l, f, h;
return o = r(o || i()), l = a.fullPath(["callbacks", o]), f = s.createElement("script"), h = new u, e = c.aug({}, e, {
callback: l,
suppress_response_codes: !0
}), a.set(["callbacks", o], function(t) {
var e, r;
e = n(t || !1), t = e.resp, r = e.success, r ? h.resolve(t) : h.reject(t), f.onload = f.onreadystatechange = null, f.parentNode && f.parentNode.removeChild(f), a.unset(["callbacks", o])
}), f.onerror = function() {
h.reject(new Error("failed to fetch " + f.src))
}, f.src = d.url(t, e), f.async = "async", s.body.appendChild(f), h.promise
}
var s = n(9),
a = n(18),
u = n(1),
c = n(12),
d = n(26),
l = "cb",
f = 0;
t.exports = {
fetch: o
}
}, function(t, e, n) {
function r(t) {
var e, n;
return e = t.headers && t.headers.status, n = t && !t.error && 200 === e, !n && t.headers && t.headers.message && i.publicError(t.headers.message), {
success: n,
resp: t
}
}
var i = n(10);
t.exports = r
}, function(t, e) {
function n() {
var t = (new Date).toString().match(/(GMT[+-]?\d+)/);
return t && t[0] || "GMT"
}
t.exports = {
getTimezoneOffset: n
}
}, function(t, e) {
function n() {
var t = 9e5;
return Math.floor(+new Date / t)
}
t.exports = n
}, function(t, e, n) {
var r = n(9),
i = n(27),
o = r.createElement("div");
t.exports = function(t) {
return i.isNumber(t) && (t += "px"), o.style.width = "", o.style.width = t, o.style.width || null
}
}, function(t, e, n) {
function r(t) {
t.after("prepForInsertion", function(t) {
o.sizeIframes(t, this.sandbox.width, s, i.sync)
}), t.after("resize", function() {
o.sizeIframes(this.el, this.sandbox.width, s, i.write)
})
}
var i = n(37),
o = n(141),
s = 375;
t.exports = r
}, function(t, e, n) {
function r(t, e) {
t.getAttribute("data-image") ? s(t, e) : u(t, e)
}
function i(t) {
var e = t.split(" ");
this.url = decodeURIComponent(e[0].trim()), this.width = +e[1].replace(/w$/, "").trim()
}
function o(t, e, n) {
var r, o, s, u, c;
if (o = a(t), s = e.split(",").map(function(t) {
return new i(t.trim())
}), n)
for (c = 0; c < s.length; c++) s[c].url === n && (r = s[c]);
return u = s.reduce(function(t, e) {
return e.width < t.width && e.width >= o ? e : t
}, s[0]), r && r.width > u.width ? r : u
}
function s(t, e) {
var n, r, i, o, s;
n = y.decodeURL(t.src).name, r = n && b(R, function(t) {
if (S[t] === n) return t
}), o = a(e) || 680, r >= o || (i = t.getAttribute("data-image"), s = b(R, function(t) {
if (t >= o) return t
}) || 4096, t.src = y.url(i, {
format: "jpg",
name: S[s]
}))
}
function a(t) {
return v.devicePixelRatio ? t * v.devicePixelRatio : t
}
function u(t, e) {
var n, r = t.getAttribute("data-srcset"),
i = t.src;
r && (n = o(e, r, i), t.src = n.url)
}
function c(t, e) {
e = void 0 !== e ? !!e : _.retina(), g.toRealArray(t.getElementsByTagName("IMG")).forEach(function(t) {
var n = t.getAttribute("data-src-1x") || t.getAttribute("src"),
r = t.getAttribute("data-src-2x");
e && r ? t.src = r : n && (t.src = n)
})
}
function d(t, e, n) {
t && (g.toRealArray(t.querySelectorAll(".NaturalImage-image")).forEach(function(t) {
n(function() {
r(t, e)
})
}), g.toRealArray(t.querySelectorAll(".CroppedImage-image")).forEach(function(t) {
n(function() {
r(t, e / 2)
})
}), g.toRealArray(t.querySelectorAll("img.autosized-media")).forEach(function(t) {
n(function() {
r(t, e), t.removeAttribute("width"), t.removeAttribute("height")
})
}))
}
function l(t, e, n, r) {
t && g.toRealArray(t.querySelectorAll("iframe.autosized-media, .wvp-player-container")).forEach(function(t) {
var i = h(t.getAttribute("data-width"), t.getAttribute("data-height"), E.effectiveWidth(t.parentElement) || e, n);
r(function() {
t.setAttribute("width", i.width), t.setAttribute("height", i.height), x.present(t, "wvp-player-container") ? (t.style.width = i.width, t.style.height = i.height) : (t.width = i.width, t.height = i.height)
})
})
}
function f(t, e, n, r) {
d(t, e, r), l(t, e, n, r)
}
function h(t, e, n, r, i, o) {
return n = n || t, r = r || e, i = i || 0, o = o || 0, t > n && (e *= n / t, t = n), e > r && (t *= r / e, e = r), t < i && (e *= i / t, t = i), e < o && (t *= o / e, e = o), {
width: Math.floor(t),
height: Math.floor(e)
}
}
function p(t, e, n, r) {
g.toRealArray(t.querySelectorAll(e)).forEach(function(t) {
var e = t.getAttribute("style") || t.getAttribute("data-style"),
i = r.test(e) && RegExp.$1;
i && (t.setAttribute("data-csp-fix", !0), t.style[n] = i)
})
}
function m(t) {
w.inlineStyle() || (p(t, ".MediaCard-widthConstraint", "maxWidth", A), p(t, ".MediaCard-mediaContainer", "paddingBottom", I), p(t, ".CroppedImage-image", "top", T), p(t, ".CroppedImage-image", "left", C))
}
var v = n(7),
g = n(12),
w = n(68),
y = n(26),
b = n(142),
_ = n(8),
E = n(143),
x = n(21),
A = /max-width:\s*([\d.]+px)/,
T = /top:\s*(-?[\d.]+%)/,
C = /left:\s*(-?[\d.]+%)/,
I = /padding-bottom:\s*([\d.]+%)/,
S = {
64: "tiny",
120: "120x120",
240: "240x240",
360: "360x360",
680: "small",
900: "900x900",
1200: "medium",
2048: "large",
4096: "4096x4096"
},
R = Object.keys(S).sort(function(t, e) {
return t - e
});
t.exports = {
scaleDimensions: h,
retinize: c,
setSrcForImgs: d,
sizeIframes: l,
constrainMedia: f,
fixMediaCardLayout: m,
__setSrcFromSet: u,
__setSrcFromImage: s,
__setImageSrc: r
}
}, function(t, e) {
t.exports = function(t, e, n) {
for (var r, i = 0; i < t.length; i++)
if (r = e.call(n, t[i], i, t)) return r
}
}, function(t, e) {
function n(t) {
return t && 1 === t.nodeType ? t.offsetWidth || n(t.parentNode) : 0
}
t.exports = {
effectiveWidth: n
}
}, function(t, e, n) {
function r(t) {
return t.replace(/-(.)/g, function(t, e) {
return e.toUpperCase()
})
}
function i(t) {
return (t || "").split(";").reduce(function(t, e) {
var n, i;
return c.test(e.trim()) && (n = RegExp.$1, i = RegExp.$2, t[r(n)] = i), t
}, {})
}
function o(t) {
var e = i(t.getAttribute("data-style"));
0 !== Object.keys(e).length && (t.setAttribute("data-csp-fix", "true"), u.forIn(e, function(e, n) {
t.style[e] = n
}))
}
function s(t) {
t.selectors({
cspForcedStyle: ".js-cspForcedStyle"
}), t.after("prepForInsertion", function(t) {
a.inlineStyle() || this.select(t, "cspForcedStyle").forEach(o)
})
}
var a = n(68),
u = (n(10), n(12)),
c = /^([a-zA-Z-]+):\s*(.+)$/;
t.exports = s
}, function(t, e, n) {
function r(t) {
t.after("prepForInsertion", function(t) {
i.retinize(t)
})
}
var i = n(141);
t.exports = r
}, function(t, e, n) {
function r(t) {
t.after("prepForInsertion", function(t) {
o.setSrcForImgs(t, this.sandbox.width, i.sync)
}), t.after("resize", function() {
o.setSrcForImgs(this.el, this.sandbox.width, i.write)
})
}
var i = n(37),
o = n(141);
t.exports = r
}, function(t, e) {
function n(t) {
t.after("render", function() {
var t = this.el.getAttribute(r);
t && this.sandbox.setTitle && this.sandbox.setTitle(t)
})
}
var r = "data-iframe-title";
t.exports = n
}, function(t, e, n) {
function r(t) {
return t.every(a.isInt)
}
function i(t) {
var e = t.map(function(t) {
return {
size: +t,
className: u + t
}
}).sort(function(t, e) {
return t.size - e.size
});
return e.unshift({
size: 0,
className: c
}), e
}
function o(t) {
t.params({
breakpoints: {
required: !0,
validate: r,
transform: i
}
}), t.define("getClassForWidth", function(t) {
var e, n, r;
for (n = this.params.breakpoints.length - 1; n >= 0; n--)
if (r = this.params.breakpoints[n], t > r.size) {
e = r.className;
break
}
return e
}), t.after("initialize", function() {
this.allBreakpoints = this.params.breakpoints.map(function(t) {
return t.className
})
}), t.define("recalculateBreakpoints", function() {
var t = this.getClassForWidth(this.sandbox.width);
return t && this.sandbox.hasRootClass(t) ? s.resolve() : s.all([this.sandbox.removeRootClass(this.allBreakpoints), this.sandbox.addRootClass(t)])
}), t.after("render", function() {
return this.recalculateBreakpoints()
}), t.after("resize", function() {
return this.recalculateBreakpoints()
})
}
var s = n(2),
a = n(27),
u = "env-bp-",
c = u + "min";
t.exports = o
}, , function(t, e, n) {
function r(t, e, n) {
var r, i = new u,
o = a(t, n);
if (o) return (r = d.createPlayerForTweet(o.element, e, o.options)) ? (i.resolve(r), i.promise) : i.reject(new Error("unable to create tweet video player"))
}
function i(t, e, n) {
var r, i = new u,
o = a(t, n);
return o ? (r = d.createPlayerForLiveVideo(o.element, e, o.options), r.on("ready", function() {
r.playPreview(), i.resolve(r)
}), i.promise) : i.reject(new Error("unable to initialize event video player"))
}
function o(t) {
var e = t.querySelector(".wvp-player-container"),
n = e && d.findPlayerForElement(e);
if (n) return n.teardown()
}
function s(t) {
return d.findPlayerForElement(t)
}
function a(t, e) {
var n, r;
if (e = e || {}, r = {
scribeContext: e.scribeContext || {
client: "tfw"
},
languageCode: e.languageCode,
hideControls: e.hideControls || !1,
addTwitterBranding: e.addBranding || !1,
widgetOrigin: e.widgetOrigin,
borderRadius: e.borderRadius,
autoPlay: e.autoPlay
}, n = c(t, ".wvp-player-container"), n.length > 0) return l && d.setBaseUrl(l), {
element: n[0],
options: r
}
}
var u = n(1),
c = n(87),
d = n(151),
l = null;
t.exports = {
insertForTweet: r,
insertForEvent: i,
remove: o,
find: s
}
}, function(t, e, n) {
var r;
! function(i, o) {
r = function() {
return i.TwitterVideoPlayer = o()
}.call(e, n, e, t), !(void 0 !== r && (t.exports = r))
}(this, function() {
function t(t) {
if (t && t.data && t.data.params && t.data.params[0]) {
var e = t.data.params[0],
n = t.data.id;
if (e && e.context && "TwitterVideoPlayer" === e.context) {
var r = e.playerId;
delete e.playerId, delete e.context;
var i = a[r];
i && i.processMessage(t.data.method, e, n)
}
}
}
function e(t, e, n) {
var r = Object.keys(n).filter(function(t) {
return null != n[t]
}).map(function(t) {
var e = n[t];
return encodeURIComponent(t) + "=" + encodeURIComponent(e)
}).join("&");
return r && (r = "?" + r), t + e + r
}
function n(n, i, o, u, c) {
var d = n.ownerDocument,
l = d.defaultView;
l.addEventListener("message", t), this.playerId = s++;
var f = {
embed_source: "clientlib",
player_id: this.playerId,
rpc_init: 1,
autoplay: u.autoPlay
};
if (this.scribeParams = {}, this.scribeParams.suppressScribing = u && u.suppressScribing, !this.scribeParams.suppressScribing) {
if (!u.scribeContext) throw "video_player: Missing scribe context";
if (!u.scribeContext.client) throw "video_player: Scribe context missing client property";
this.scribeParams.client = u.scribeContext.client, this.scribeParams.page = u.scribeContext.page, this.scribeParams.section = u.scribeContext.section, this.scribeParams.component = u.scribeContext.component
}
this.scribeParams.debugScribe = u && u.scribeContext && u.scribeContext.debugScribing, this.scribeParams.scribeUrl = u && u.scribeContext && u.scribeContext.scribeUrl, this.promotedLogParams = u.promotedContext, this.adRequestCallback = u.adRequestCallback, u.languageCode && (f.language_code = u.languageCode), "tfw" === this.scribeParams.client && (f.use_syndication_guest_id = !0), u.autoPlay && (f.autoplay = 1);
var h = e(r, i, f);
return this.videoIframe = document.createElement("iframe"), this.videoIframe.setAttribute("src", h), this.videoIframe.setAttribute("allowfullscreen", ""), this.videoIframe.setAttribute("allow", "autoplay; fullscreen"), this.videoIframe.setAttribute("id", o), this.videoIframe.setAttribute("style", "width: 100%; height: 100%; position: absolute; top: 0; left: 0;"), this.domElement = n, this.domElement.appendChild(this.videoIframe), a[this.playerId] = this, this.eventCallbacks = {}, this.emitEvent = function(t, e) {
var n = this.eventCallbacks[t];
"undefined" != typeof n && n.forEach(function(t) {
t.apply(this.playerInterface, [e])
}.bind(this))
}, this.jsonRpc = function(t) {
var e = this.videoIframe.contentWindow;
t.jsonrpc = "2.0", e && e.postMessage && e.postMessage(JSON.stringify(t), "*")
}, this.jsonRpcCall = function(t, e) {
this.jsonRpc({
method: t,
params: e
})
}, this.jsonRpcResult = function(t, e) {
this.jsonRpc({
result: t,
id: e
})
}, this.processMessage = function(t, e, n) {
switch (t) {
case "requestPlayerConfig":
this.jsonRpcResult({
scribeParams: this.scribeParams,
promotedLogParams: this.promotedLogParams,
squareCorners: u.squareCorners,
borderRadius: u.borderRadius,
hideControls: u.hideControls,
embedded: u.addTwitterBranding,
widgetOrigin: u.widgetOrigin,
ignoreFineGrainGeoblocking: u.ignoreFineGrainGeoblocking
}, n);
break;
case "videoPlayerAdStart":
this.emitEvent("adStart", e);
break;
case "videoPlayerAdEnd":
this.emitEvent("adEnd", e);
break;
case "videoPlayerPlay":
this.emitEvent("play", e);
break;
case "videoPlayerPause":
this.emitEvent("pause", e);
break;
case "videoPlayerMute":
this.emitEvent("mute", e);
break;
case "videoPlayerUnmute":
this.emitEvent("unmute", e);
break;
case "videoPlayerPlaybackComplete":
this.emitEvent("playbackComplete", e);
break;
case "videoPlayerReady":
this.emitEvent("ready", e);
break;
case "videoView":
this.emitEvent("view", e);
break;
case "debugLoggingEvent":
this.emitEvent("logged", e);
break;
case "requestDynamicAd":
"function" == typeof this.adRequestCallback ? this.jsonRpcResult(this.adRequestCallback(), n) : this.jsonRpcResult({}, n);
break;
case "videoPlayerError":
e && "NO_COOKIES_ERROR" === e.error_category ? this.emitEvent("noCookiesError", e) : e && "GEOBLOCK_ERROR" === e.error_category && this.emitEvent("geoblockError", e)
}
}, this.playerInterface = {
on: function(t, e) {
return "undefined" == typeof this.eventCallbacks[t] && (this.eventCallbacks[t] = []), this.eventCallbacks[t].push(e), this.playerInterface
}.bind(this),
off: function(t, e) {
if ("undefined" == typeof e) delete this.eventCallbacks[t];
else {
var n = this.eventCallbacks[t];
if ("undefined" != typeof n) {
var r = n.indexOf(e);
r > -1 && n.splice(r, 1)
}
}
return this.playerInterface
}.bind(this),
play: function() {
return this.jsonRpcCall("play"), this.playerInterface
}.bind(this),
pause: function() {
return this.jsonRpcCall("pause"), this.playerInterface
}.bind(this),
mute: function() {
return this.jsonRpcCall("mute"), this.playerInterface
}.bind(this),
unmute: function() {
return this.jsonRpcCall("unmute"), this.playerInterface
}.bind(this),
playPreview: function() {
return this.jsonRpcCall("autoPlayPreview"), this.playerInterface
}.bind(this),
pausePreview: function() {
return this.jsonRpcCall("autoPlayPreviewStop"), this.playerInterface
}.bind(this),
updatePosition: function(t) {
return this.jsonRpcCall("updatePosition", [t]), this.playerInterface
}.bind(this),
updateLayoutBreakpoint: function(t) {
return this.jsonRpcCall("updateLayoutBreakpoint", [t]), this.playerInterface
}.bind(this),
enterFullScreen: function() {
return this.jsonRpcCall("enterFullScreen"), this.playerInterface
}.bind(this),
exitFullScreen: function() {
return this.jsonRpcCall("exitFullScreen"), this.playerInterface
}.bind(this),
teardown: function() {
this.eventCallbacks = {}, n.removeChild(this.videoIframe), this.videoIframe = void 0, delete a[this.playerId]
}.bind(this)
}, this.playerInterface
}
var r = "https://twitter.com",
i = /^https?:\/\/([a-zA-Z0-9]+\.)*twitter.com(:\d+)?$/,
o = {
suppressScribing: !1,
squareCorners: !1,
hideControls: !1,
addTwitterBranding: !1
},
s = 0,
a = {};
return {
setBaseUrl: function(t) {
i.test(t) ? r = t : window.console.error("newBaseUrl " + t + " not allowed")
},
createPlayerForTweet: function(t, e, r) {
var i = "/i/videos/tweet/" + e,
s = "player_tweet_" + e;
return new n(t, i, s, r || o)
},
createPlayerForDm: function(t, e, r) {
var i = "/i/videos/dm/" + e,
s = "player_dm_" + e;
return new n(t, i, s, r || o)
},
createPlayerForLiveVideo: function(t, e, r) {
var i = "/i/videos/live_video/" + e,
s = "player_live_video_" + e;
return new n(t, i, s, r || o)
},
findPlayerForElement: function(t) {
for (var e in a)
if (a.hasOwnProperty(e)) {
var n = a[e];
if (n && n.domElement === t) return n.playerInterface
}
return null
}
}
})
}, function(t, e, n) {
function r(t) {
t.selectors({
clickToOpen: ".js-clickToOpenTarget"
}), t.define("shouldOpenTarget", function(t) {
var e = i.closest("A", t.target, this.el),
n = i.closest("BUTTON", t.target, this.el),
r = this.sandbox.hasSelectedText();
return !e && !n && !r
}), t.define("openTarget", function(t, e) {
var n = e && e.getAttribute(c);
n && (o(n, this.params.productName, this.params.id), this.scribeOpenClick(t))
}), t.define("attemptToOpenTarget", function(t, e) {
this.shouldOpenTarget(t) && this.openTarget(t, e)
}), t.define("scribeOpenClick", function(t) {
var e = a.extractTermsFromDOM(t.target),
n = {
associations: a.formatTweetAssociation(e)
},
r = {
element: "chrome",
action: "click"
},
i = u.aug({}, r, e);
this.scribe(i, n)
}), t.after("render", function() {
this.on("click", "clickToOpen", this.attemptToOpenTarget)
})
}
var i = n(22),
o = n(153),
s = n(92),
a = n(52),
u = n(12),
c = "data-click-to-open-target";
t.exports = s.couple(n(105), r)
}, function(t, e, n) {
function r(t, e, n) {
s.isTwitterURL(t) && (t = o(t, e, n)), i.open(t)
}
var i = n(7),
o = n(104),
s = n(25);
t.exports = r
}, function(t, e, n) {
function r(t) {
t.params({
productName: {
required: !0
},
dataSource: {
required: !1
},
related: {
required: !1
},
partner: {
fallback: d(o.val, o, "partner")
}
}), t.selectors({
timeline: ".timeline",
tweetIdInfo: ".js-tweetIdInfo"
}), t.define("injectWebIntentParams", function(t) {
var e = i.closest(this.selectors.timeline, t, this.el),
n = i.closest(this.selectors.tweetIdInfo, t, this.el);
t.getAttribute(l) || (t.setAttribute(l, !0), t.href = u.url(t.href, {
tw_w: this.params.dataSource && this.params.dataSource.id,
tw_i: n && n.getAttribute("data-tweet-id"),
tw_p: this.params.productName,
related: this.params.related,
partner: this.params.partner,
query: e && e.getAttribute("data-search-query"),
profile_id: e && e.getAttribute("data-profile-id"),
original_referer: a.rootDocumentLocation()
}))
}), t.after("render", function() {
this.on("click", "A", function(t, e) {
c.isIntentURL(e.href) && (this.injectWebIntentParams(e), s.open(e.href, this.sandbox.sandboxEl, t))
})
})
}
var i = n(22),
o = n(42),
s = n(24),
a = n(48),
u = n(26),
c = n(25),
d = n(15),
l = "data-url-params-injected";
t.exports = r
}, function(t, e, n) {
function r(t) {
t.before("render", function() {
i.ios() && this.sandbox.addRootClass("env-ios"), i.ie9() && this.sandbox.addRootClass("ie9"), i.touch() && this.sandbox.addRootClass("is-touch")
})
}
var i = n(8);
t.exports = r
}, function(t, e, n) {
function r(t) {
t.params({
pageForAudienceImpression: {
required: !0
}
}), t.before("hydrate", function() {
i.scribeAudienceImpression(this.params.pageForAudienceImpression)
})
}
var i = n(157);
t.exports = r
}, function(t, e, n) {
function r() {
return d.formatGenericEventData("syndicated_impression", {})
}
function i() {
u("tweet")
}
function o() {
u("timeline")
}
function s() {
u("video")
}
function a() {
u("partnertweet")
}
function u(t) {
l.isHostPageSensitive() || f[t] || (f[t] = !0, c.scribe(d.formatClientEventNamespace({
page: t,
action: "impression"
}), r(), d.AUDIENCE_ENDPOINT))
}
var c = n(73),
d = n(52),
l = n(50),
f = {};
t.exports = {
scribeAudienceImpression: u,
scribePartnerTweetAudienceImpression: a,
scribeTweetAudienceImpression: i,
scribeTimelineAudienceImpression: o,
scribeVideoAudienceImpression: s
}
}, function(t, e, n) {
function r(t) {
var e = {
action: "dimensions"
},
n = new o(s);
t.after("show", function() {
var t, r, i;
n.nextBoolean() && (t = this.sandbox.width, r = this.sandbox.height, i = {
widget_width: t,
widget_height: r
}, this.scribe(e, i));
})
}
var i = n(92),
o = n(159),
s = 1;
t.exports = i.couple(n(105), r)
}, function(t, e) {
function n(t) {
this.percentage = t
}
n.prototype.nextBoolean = function() {
return 100 * Math.random() < this.percentage
}, t.exports = n
}, , function(t, e, n) {
function r(t) {
var e = {
transparent: !1,
hideBorder: !1,
hideHeader: !1,
hideFooter: !1,
hideScrollBar: !1
};
return t = t || "", i.contains(t, "transparent") && (e.transparent = !0), i.contains(t, "noborders") && (e.hideBorder = !0), i.contains(t, "noheader") && (e.hideHeader = !0), i.contains(t, "nofooter") && (e.hideFooter = !0), i.contains(t, "noscrollbar") && (e.hideScrollBar = !0), e
}
var i = n(12);
t.exports = r
}, function(t, e, n) {
function r(t) {
var e = u(t),
n = {
momentId: a.momentId(t.href),
chrome: t.getAttribute("data-chrome"),
limit: t.getAttribute("data-limit")
};
return s.forIn(n, function(t, n) {
var r = e[t];
e[t] = o.hasValue(r) ? r : n
}), e
}
function i(t) {
var e = c(t, l);
return e.map(function(t) {
return d(r(t), t.parentNode, t)
})
}
var o = n(27),
s = n(12),
a = n(25),
u = n(84),
c = n(86)(),
d = n(163),
l = "a.twitter-moment";
t.exports = i
}, function(t, e, n) {
function r(t, e, n) {
return new i(o, s, "twitter-moment", t, e, n)
}
var i = n(89),
o = n(164),
s = n(55);
t.exports = r
}, function(t, e, n) {
function r(t, e) {
var r = new i;
return n.e(4, function(i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(165), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , , , function(t, e, n) {
function r(t) {
t.selectors({
inViewportMarker: ".js-inViewportScribingTarget"
}), t.define("scribeInViewportSeen", function(t, e) {
var n = i.extractTermsFromDOM(t);
n.action = "seen", this.scribe(n, e, s.version)
}), t.after("show", function() {
var t = this.selectors.inViewportMarker,
e = this.select(t);
e.forEach(function(t) {
t && a.inViewportOnce(t, this.sandbox.sandboxEl, function() {
this.scribeInViewportSeen(t, this.scribeItems())
}.bind(this))
}, this)
})
}
var i = n(52),
o = n(92),
s = n(54),
a = n(169);
t.exports = o.couple(n(105), r)
}, function(t, e, n) {
var r = n(170),
i = n(69),
o = n(171),
s = n(7),
a = n(8),
u = 50,
c = function(t) {
return (s.requestIdleCallback || s.requestAnimationFrame || function(t) {
t()
})(t)
},
d = function() {
this.observers = []
};
d.prototype._register = function(t, e, n) {
var i, u = this;
return a.hasIntersectionObserverSupport() ? (i = new s.IntersectionObserver(function(t) {
t.forEach(function(t) {
t.intersectionRatio >= 1 && (c(n), u._unregister(i))
})
}, {
threshold: 1
}), i.observe(t), i) : (i = {
update: function(o, s) {
r(t, {
viewportWidth: o,
viewportHeight: s,
sandboxEl: e
}) && (n(), u._unregister(i))
}
}, this.observers.push(i), 1 === this.observers.length && (this.unlisten = o.addScrollListener(this._onViewportChange.bind(this))), this._onViewportChange(), i)
}, d.prototype._unregister = function(t) {
var e;
a.hasIntersectionObserverSupport() && t instanceof s.IntersectionObserver ? t.disconnect() : (e = this.observers.indexOf(t), e > -1 && (this.observers.splice(e, 1), 0 === this.observers.length && this.unlisten && this.unlisten()))
}, d.prototype._onViewportChange = function() {
i(c(function() {
this._notify(o.getWidth(), o.getHeight())
}.bind(this)), u, this)
}, d.prototype._notify = function(t, e) {
this.observers.forEach(function(n) {
n.update(t, e)
})
}, d.prototype.inViewportOnce = function(t, e, n) {
return this._register(t, e, n)
}, t.exports = new d
}, function(t, e, n) {
function r(t, e) {
var n, r, s, a;
return e = e || {}, r = e.viewportWidth || o.innerWidth, n = e.viewportHeight || o.innerHeight, s = t.getBoundingClientRect(), t.ownerDocument !== i && e.sandboxEl && (a = e.sandboxEl.getBoundingClientRect(), s = {
top: s.top + a.top,
bottom: s.bottom + a.top,
left: s.left + a.left,
right: s.right + a.left
}), s.top >= 0 && s.left >= 0 && s.bottom <= n && s.right <= r
}
var i = n(9),
o = n(7);
t.exports = r
}, function(t, e, n) {
var r = n(7),
i = {
_addListener: function(t, e) {
var n, i = function() {
e()
};
return r.addEventListener(t, i), n = function() {
r.removeEventListener(t, i)
}
},
addScrollListener: function(t) {
return this._addListener("scroll", t)
},
getHeight: function() {
return r.innerHeight
},
getWidth: function() {
return r.innerWidth
}
};
t.exports = i
}, , function(t, e, n) {
function r(t) {
var e = s(t),
n = t.getAttribute("href"),
r = t.getAttribute("data-size"),
i = d.exec(n)[1];
return o.aug(e, {
username: i,
size: r
})
}
function i(t) {
var e = a(t, c);
return e.map(function(t) {
return u(r(t), t.parentNode, t)
})
}
var o = n(12),
s = n(84),
a = n(86)(),
u = n(174),
c = "a.periscope-on-air",
d = /^https?:\/\/(?:www\.)?(?:periscope|pscp)\.tv\/@?([a-zA-Z0-9_]+)\/?$/i;
t.exports = i
}, function(t, e, n) {
function r(t, e, n) {
return new i(o, s, "periscope-on-air", t, e, n)
}
var i = n(89),
o = n(175),
s = n(55);
t.exports = r
}, function(t, e, n) {
function r(t, e) {
var r = new i;
return n.e(5, function(i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(176), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , , , function(t, e, n) {
function r(t) {
var e = c(t),
n = t.getAttribute("data-show-replies"),
r = {
widgetId: t.getAttribute("data-widget-id"),
chrome: t.getAttribute("data-chrome"),
tweetLimit: t.getAttribute("data-tweet-limit"),
ariaLive: t.getAttribute("data-aria-polite"),
theme: t.getAttribute("data-theme"),
linkColor: t.getAttribute("data-link-color"),
borderColor: t.getAttribute("data-border-color"),
showReplies: n ? o.asBoolean(n) : null,
profileScreenName: t.getAttribute("data-screen-name"),
profileUserId: t.getAttribute("data-user-id"),
favoritesScreenName: t.getAttribute("data-favorites-screen-name"),
favoritesUserId: t.getAttribute("data-favorites-user-id"),
likesScreenName: t.getAttribute("data-likes-screen-name"),
likesUserId: t.getAttribute("data-likes-user-id"),
listOwnerScreenName: t.getAttribute("data-list-owner-screen-name"),
listOwnerUserId: t.getAttribute("data-list-owner-id"),
listId: t.getAttribute("data-list-id"),
listSlug: t.getAttribute("data-list-slug"),
customTimelineId: t.getAttribute("data-custom-timeline-id"),
staticContent: t.getAttribute("data-static-content"),
url: t.href
};
return r = s.aug(r, e), r.dataSource = a(r), r.useLegacyDefaults = r.dataSource instanceof u, r.id = r.dataSource.id, r
}
function i(t) {
var e = d(t, f);
return e.map(function(t) {
return l(r(t), t.parentNode, t)
})
}
var o = n(27),
s = n(12),
a = n(180),
u = n(195),
c = n(84),
d = n(86)(),
l = n(197),
f = "a.twitter-timeline,div.twitter-timeline";
t.exports = i
}, function(t, e, n) {
function r(t) {
var e, n;
return e = (t.sourceType + "").toLowerCase(), n = p[e], n ? new n(t) : null
}
function i(t) {
return s(m, function(e) {
try {
return new e(t)
} catch (t) {}
})
}
function o(t) {
return t ? r(t) || i(t) : null
}
var s = n(142),
a = n(181),
u = n(185),
c = n(187),
d = n(189),
l = n(191),
f = n(193),
h = n(195),
p = {
collection: a,
event: u,
likes: c,
list: d,
profile: f,
widget: h,
url: i
},
m = [h, f, c, a, d, u, l];
t.exports = o
}, function(t, e, n) {
var r = n(182);
t.exports = r.build([n(183), n(184)])
}, function(t, e, n) {
var r = n(57),
i = n(61),
o = n(15);
r = Object.create(r), r.build = o(r.build, null, i), t.exports = r
}, function(t, e, n) {
function r(t) {
if (!t || !t.headers) throw new Error("unexpected response schema");
return {
html: t.body,
config: t.config,
pollInterval: 1e3 * parseInt(t.headers.xPolling, 10) || null,
maxCursorPosition: t.headers.maxPosition,
minCursorPosition: t.headers.minPosition
}
}
function i(t) {
if (t && t.headers) throw new Error(t.headers.status);
throw t instanceof Error ? t : new Error(t)
}
function o(t) {
t.params({
instanceId: {
required: !0,
fallback: p.deterministic
},
lang: {
required: !0,
transform: d.matchLanguage,
fallback: "en"
},
tweetLimit: {
transform: h.asInt
}
}), t.defineProperty("endpoint", {
get: function() {
throw new Error("endpoint not specified")
}
}), t.defineProperty("pollEndpoint", {
get: function() {
return this.endpoint
}
}), t.define("cbId", function(t) {
var e = t ? "_new" : "_old";
return "tl_" + this.params.instanceId + "_" + this.id + e
}), t.define("queryParams", function() {
return {
lang: this.params.lang,
tz: l.getTimezoneOffset(),
t: s(),
domain: c.host,
tweet_limit: this.params.tweetLimit,
dnt: f.enabled()
}
}), t.define("fetch", function() {
return a.fetch(this.endpoint, this.queryParams(), u, this.cbId()).then(r, i)
}), t.define("poll", function(t, e) {
var n, o;
return t = t || {}, n = {
since_id: t.sinceId,
max_id: t.maxId,
min_position: t.minPosition,
max_position: t.maxPosition
}, o = m.aug(this.queryParams(), n), a.fetch(this.pollEndpoint, o, u, this.cbId(e)).then(r, i)
})
}
var s = n(138),
a = n(135),
u = n(136),
c = n(11),
d = n(98),
l = n(137),
f = n(47),
h = n(27),
p = n(30),
m = n(12);
t.exports = o
}, function(t, e, n) {
function r(t, e) {
return o.collectionId(t) || e
}
function i(t) {
t.params({
id: {},
url: {}
}), t.overrideProperty("id", {
get: function() {
var t = r(this.params.url, this.params.id);
return u + t
}
}), t.overrideProperty("endpoint", {
get: function() {
return a.timeline(["collection"])
}
}), t.around("queryParams", function(t) {
return s.aug(t(), {
collection_id: r(this.params.url, this.params.id)
})
}), t.before("initialize", function() {
if (!r(this.params.url, this.params.id)) throw new Error("one of url or id is required")
})
}
var o = n(25),
s = n(12),
a = n(78),
u = "collection:";
t.exports = i
}, function(t, e, n) {
var r = n(182);
t.exports = r.build([n(183), n(186)])
}, function(t, e, n) {
function r(t, e) {
return o.eventId(t) || e
}
function i(t) {
t.params({
id: {},
url: {}
}), t.overrideProperty("id", {
get: function() {
var t = r(this.params.url, this.params.id);
return u + t
}
}), t.overrideProperty("endpoint", {
get: function() {
return a.timeline(["event"])
}
}), t.around("queryParams", function(t) {
return s.aug(t(), {
event_id: r(this.params.url, this.params.id)
})
}), t.before("initialize", function() {
if (!r(this.params.url, this.params.id)) throw new Error("one of url or id is required")
})
}
var o = n(25),
s = n(12),
a = n(78),
u = "event:";
t.exports = i
}, function(t, e, n) {
var r = n(182);
t.exports = r.build([n(183), n(188)])
}, function(t, e, n) {
function r(t) {
return o.likesScreenName(t.url) || t.screenName
}
function i(t) {
t.params({
screenName: {},
userId: {},
url: {}
}), t.overrideProperty("id", {
get: function() {
var t = r(this.params) || this.params.userId;
return u + t
}
}), t.overrideProperty("endpoint", {
get: function() {
return a.timeline(["likes"])
}
}), t.define("_getLikesQueryParam", function() {
var t = r(this.params);
return t ? {
screen_name: t
} : {
user_id: this.params.userId
}
}), t.around("queryParams", function(t) {
return s.aug(t(), this._getLikesQueryParam())
}), t.before("initialize", function() {
if (!r(this.params) && !this.params.userId) throw new Error("screen name or user id is required")
})
}
var o = n(25),
s = n(12),
a = n(78),
u = "likes:";
t.exports = i
}, function(t, e, n) {
var r = n(182);
t.exports = r.build([n(183), n(190)])
}, function(t, e, n) {
function r(t) {
var e = o.listScreenNameAndSlug(t.url) || t;
return s.compact({
screen_name: e.ownerScreenName,
user_id: e.ownerUserId,
list_slug: e.slug
})
}
function i(t) {
t.params({
id: {},
ownerScreenName: {},
ownerUserId: {},
slug: {},
url: {}
}), t.overrideProperty("id", {
get: function() {
var t, e, n;
return this.params.id ? u + this.params.id : (t = r(this.params), e = t && t.list_slug.replace(/-/g, "_"), n = t && (t.screen_name || t.user_id), u + (n + ":" + e))
}
}), t.overrideProperty("endpoint", {
get: function() {
return a.timeline(["list"])
}
}), t.define("_getListQueryParam", function() {
return this.params.id ? {
list_id: this.params.id
} : r(this.params)
}), t.around("queryParams", function(t) {
return s.aug(t(), this._getListQueryParam())
}), t.before("initialize", function() {
var t = r(this.params);
if (s.isEmptyObject(t) && !this.params.id) throw new Error("qualified slug or list id required")
})
}
var o = n(25),
s = n(12),
a = n(78),
u = "list:";
t.exports = i
}, function(t, e, n) {
var r = n(182);
t.exports = r.build([n(183), n(192)])
}, function(t, e, n) {
function r(t) {
t.params({
previewParams: {
required: !0,
validate: i.isObject
}
}), t.overrideProperty("id", {
get: function() {
return "preview"
}
}), t.overrideProperty("endpoint", {
get: function() {
return o.timelinePreconfigured(["preview"])
}
}), t.override("queryParams", function() {
return this.params.previewParams
})
}
var i = n(27),
o = n(78);
t.exports = r
}, function(t, e, n) {
var r = n(182);
t.exports = r.build([n(183), n(194)])
}, function(t, e, n) {
function r(t, e) {
return o.screenName(t) || e
}
function i(t) {
t.params({
showReplies: {
fallback: !1,
transform: s.asBoolean
},
screenName: {},
userId: {},
url: {}
}), t.overrideProperty("id", {
get: function() {
var t = r(this.params.url, this.params.screenName);
return c + (t || this.params.userId)
}
}), t.overrideProperty("endpoint", {
get: function() {
return u.timeline(["profile"])
}
}), t.define("_getProfileQueryParam", function() {
var t = r(this.params.url, this.params.screenName),
e = t ? {
screen_name: t
} : {
user_id: this.params.userId
};
return a.aug(e, {
with_replies: this.params.showReplies ? "true" : "false"
})
}), t.around("queryParams", function(t) {
return a.aug(t(), this._getProfileQueryParam())
}), t.before("initialize", function() {
var t = r(this.params.url, this.params.screenName);
if (!t && !this.params.userId) throw new Error("screen name or user id is required")
})
}
var o = n(25),
s = n(27),
a = n(12),
u = n(78),
c = "profile:";
t.exports = i
}, function(t, e, n) {
var r = n(182);
t.exports = r.build([n(183), n(196)])
}, function(t, e, n) {
function r(t) {
t.params({
widgetId: {
required: !0
},
profileShowReplies: {
fallback: !1,
transform: i.asBoolean
},
showReplies: {
fallback: !1,
transform: i.asBoolean
},
profileScreenName: {},
screenName: {},
profileUserId: {},
userId: {},
favoritesScreenName: {},
favoritesUserId: {},
listOwnerScreenName: {},
listOwnerUserId: {},
listOwnerId: {},
listId: {},
listSlug: {},
customTimelineId: {},
previewParams: {}
}), t.overrideProperty("id", {
get: function() {
return this.params.widgetId
}
}), t.overrideProperty("endpoint", {
get: function() {
return s.timelinePreconfigured([this.params.widgetId])
}
}), t.overrideProperty("pollEndpoint", {
get: function() {
return s.timelinePreconfigured(["paged", this.params.widgetId])
}
}), t.define("_getWidgetQueryParams", function() {
var t = this.params.profileScreenName || this.params.screenName,
e = this.params.profileUserId || this.params.userId,
n = this.params.profileShowReplies || this.params.showReplies,
r = this.params.listOwnerUserId || this.params.listOwnerId;
return t || e ? {
override_type: "user",
override_id: e,
override_name: t,
with_replies: n ? "true" : "false"
} : this.params.favoritesScreenName || this.params.favoritesUserId ? {
override_type: "favorites",
override_id: this.params.favoritesUserId,
override_name: this.params.favoritesScreenName
} : this.params.listOwnerScreenName || r || this.params.listId || this.params.listSlug ? {
override_type: "list",
override_owner_id: r,
override_owner_name: this.params.listOwnerScreenName,
override_id: this.params.listId,
override_name: this.params.listSlug
} : this.params.customTimelineId ? {
override_type: "custom",
override_id: this.params.customTimelineId
} : void 0
}), t.around("queryParams", function(t) {
return o.aug(t(), this._getWidgetQueryParams())
})
}
var i = n(27),
o = n(12),
s = n(78);
t.exports = r
}, function(t, e, n) {
function r(t, e, n) {
return new i(o, s, "twitter-timeline", t, e, n)
}
var i = n(89),
o = n(198),
s = n(55);
t.exports = r
}, function(t, e, n) {
function r(t, e) {
var r = new i;
return n.e(6, function(i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(199), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , , , , , , , , , , , , , , , , , , , , , , , , , function(t, e, n) {
function r(t) {
var e = u(t),
n = t.getElementsByTagName("A"),
r = n && n[n.length - 1],
i = r && s.status(r.href),
c = t.getAttribute("data-conversation"),
d = "none" == c || "hidden" == c || o.present(t, "tw-hide-thread"),
l = t.getAttribute("data-cards"),
h = "none" == l || "hidden" == l || o.present(t, "tw-hide-media"),
p = t.getAttribute("data-align") || t.getAttribute("align"),
m = t.getAttribute("data-link-color"),
v = t.getAttribute("data-theme");
return !p && f.test(t.className) && (p = RegExp.$1), a.aug(e, {
tweetId: i,
hideThread: d,
hideCard: h,
align: p,
linkColor: m,
theme: v,
id: i
})
}
function i(t) {
var e = c(t, l);
return e.map(function(t) {
return d(r(t), t.parentNode, t)
})
}
var o = n(21),
s = n(25),
a = n(12),
u = n(84),
c = n(86)(),
d = n(225),
l = "blockquote.twitter-tweet, blockquote.twitter-video",
f = /\btw-align-(left|right|center)\b/;
t.exports = i
}, function(t, e, n) {
function r(t, e, n) {
return new i(o, s, "twitter-tweet", t, e, n)
}
var i = n(89),
o = n(226),
s = n(111);
t.exports = r
}, function(t, e, n) {
function r(t, e) {
var r = new i;
return n.e(7, function(i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(227), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , , , , , , , , , , , , , function(t, e, n) {
function r() {
a++, i()
}
function i() {
o && o.length === a && (s.emitter.trigger(s.ALL_WIDGETS_AND_IMAGES_LOADED, o), o = null)
}
var o, s = n(241),
a = 0;
s.emitter.bind(s.ALL_WIDGETS_RENDERED, function(t) {
o = t.widgets, i()
}), t.exports = {
reportImagesLoadForAWidget: r
}
}, function(t, e, n) {
var r = n(32),
i = r.makeEmitter();
t.exports = {
emitter: i,
START: "start",
ALL_WIDGETS_RENDERED: "all_widgets_rendered",
ALL_WIDGETS_AND_IMAGES_LOADED: "all_widgets_and_images_loaded"
}
}, , function(t, e, n) {
function r(t) {
var e = a(t),
n = {
screenName: t.getAttribute("data-button-screen-name"),
text: t.getAttribute("data-text"),
type: t.getAttribute("data-type"),
size: t.getAttribute("data-size"),
url: t.getAttribute("data-url"),
hashtags: t.getAttribute("data-hashtags"),
via: t.getAttribute("data-via"),
buttonHashtag: t.getAttribute("data-button-hashtag")
};
return s.forIn(n, function(t, n) {
var r = e[t];
e[t] = d.hasValue(r) ? r : n
}), e.screenName = e.screenName || e.screen_name, e.buttonHashtag = e.buttonHashtag || e.button_hashtag || e.hashtag, o.present(t, f) && (e.type = "hashtag"), o.present(t, h) && (e.type = "mention"), e
}
function i(t) {
var e = u(t, l);
return e.map(function(t) {
return c(r(t), t.parentNode, t)
})
}
var o = n(21),
s = n(12),
a = n(84),
u = n(86)(),
c = n(244),
d = n(27),
l = "a.twitter-share-button, a.twitter-mention-button, a.twitter-hashtag-button",
f = "twitter-hashtag-button",
h = "twitter-mention-button";
t.exports = i
}, function(t, e, n) {
function r(t, e, n) {
var r = t && t.type || "share",
a = "hashtag" == r ? "twitter-hashtag-button" : "mention" == r ? "twitter-mention-button" : "twitter-share-button";
return new i(o, s, a, t, e, n)
}
var i = n(89),
o = n(245),
s = n(122);
t.exports = r
}, function(t, e, n) {
function r(t, e) {
var r = new i;
return n.e(2, function(i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(246), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , , function(t, e, n) {
var r = n(12);
t.exports = r.aug({}, n(249), n(251), n(252), n(253), n(254), n(255), n(256), n(257))
}, function(t, e, n) {
var r = n(88),
i = n(250),
o = i(["userId"], {}, r);
t.exports = {
createDMButton: o
}
}, function(t, e, n) {
function r(t, e, n) {
var r;
return t = t || [], e = e || {}, r = "ƒ(" + t.join(", ") + ", target, [options]);",
function() {
var c, d, l, f, h = Array.prototype.slice.apply(arguments, [0, t.length]),
p = Array.prototype.slice.apply(arguments, [t.length]);
return p.forEach(function(t) {
if (t) return t.nodeType === Node.ELEMENT_NODE ? void(l = t) : u.isType("function", t) ? void(c = t) : void(u.isType("object", t) && (d = t))
}), h.length !== t.length || 0 === p.length ? (c && u.async(function() {
c(!1)
}), i.reject(new Error("Not enough parameters. Expected: " + r))) : l ? (d = u.aug({}, d || {}, e), t.forEach(function(t) {
d[t] = h.shift()
}), a.asBoolean(d.dnt) && s.setOn(), f = o.addWidget(n(d, l)), c && f.then(c, function() {
c(!1)
}), f) : (c && u.async(function() {
c(!1)
}), i.reject(new Error("No target element specified. Expected: " + r)))
}
}
var i = n(2),
o = n(35),
s = n(47),
a = n(27),
u = n(12);
t.exports = r
}, function(t, e, n) {
var r = n(116),
i = n(250),
o = i(["screenName"], {}, r);
t.exports = {
createFollowButton: o
}
}, function(t, e, n) {
var r = n(130),
i = n(250),
o = i(["collectionId"], {}, r);
t.exports = {
createGridFromCollection: o
}
}, function(t, e, n) {
var r = n(163),
i = n(250),
o = i(["momentId"], {}, r);
t.exports = {
createMoment: o
}
}, function(t, e, n) {
var r = n(174),
i = n(250),
o = i(["username"], {}, r);
t.exports = {
createPeriscopeOnAirButton: o
}
}, function(t, e, n) {
function r(t) {
var e, n = a.toRealArray(arguments).slice(1);
return a.isObject(t) || u.isString(t) ? (t = t || {}, n.forEach(function(t) {
a.isType("object", t) && (e = t, i(e))
}), e || (e = {}, n.push(e)), u.isString(t) && (t = a.aug({}, e, {
sourceType: "widget",
widgetId: t
})), t.lang = e.lang, t.tweetLimit = e.tweetLimit, t.showReplies = e.showReplies, e.dataSource = c(t), e.useLegacyDefaults = e.dataSource instanceof d, h.apply(this, n)) : p.reject("data source must be a string or an object.")
}
function i(t) {
t.ariaLive = t.ariaPolite
}
var o = n(11),
s = n(25),
a = n(12),
u = n(27),
c = n(180),
d = n(195),
l = n(197),
f = n(250),
h = f([], {}, l),
p = n(2),
m = {
createTimeline: r
};
s.isTwitterURL(o.href) && (m.createTimelinePreview = function(t, e, n) {
var r = {
previewParams: t,
useLegacyDefaults: !0,
isPreviewTimeline: !0
};
return r.dataSource = c(r), h(e, r, n)
}), t.exports = m
}, function(t, e, n) {
function r(t) {
return function() {
return i.toRealArray(arguments).slice(1).forEach(function(t) {
i.isType("object", t) && (t.hideCard = "none" == t.cards || "hidden" == t.cards, t.hideThread = "none" == t.conversation || "hidden" == t.conversation)
}), t.apply(this, arguments)
}
}
var i = n(12),
o = n(225),
s = n(250),
a = r(s(["tweetId"], {}, o));
t.exports = {
createTweet: a,
createTweetEmbed: a,
createVideo: a
}
}, function(t, e, n) {
function r(t) {
return function() {
return i.toRealArray(arguments).slice(1).forEach(function(t) {
i.isType("object", t) && (t.screenName = t.screenName || t.screen_name, t.buttonHashtag = t.buttonHashtag || t.button_hashtag || t.hashtag)
}), t.apply(this, arguments)
}
}
var i = n(12),
o = n(244),
s = n(250),
a = s(["url"], {
type: "share"
}, o),
u = s(["buttonHashtag"], {
type: "hashtag"
}, o),
c = s(["screenName"], {
type: "mention"
}, o);
t.exports = {
createShareButton: r(a),
createHashtagButton: r(u),
createMentionButton: r(c)
}
}, function(t, e, n) {
function r() {
var t, e;
for (c = 1, t = 0, e = d.length; t < e; t++) d[t]()
}
var i, o, s, a = n(9),
u = n(7),
c = 0,
d = [],
l = !1,
f = a.createElement("a");
/^loade|c/.test(a.readyState) && (c = 1), a.addEventListener && a.addEventListener("DOMContentLoaded", o = function() {
a.removeEventListener("DOMContentLoaded", o, l), r()
}, l), f.doScroll && a.attachEvent("onreadystatechange", i = function() {
/^c/.test(a.readyState) && (a.detachEvent("onreadystatechange", i), r())
}), s = f.doScroll ? function(t) {
u.self != u.top ? c ? t() : d.push(t) : ! function() {
try {
f.doScroll("left")
} catch (e) {
return setTimeout(function() {
s(t)
}, 50)
}
t()
}()
} : function(t) {
c ? t() : d.push(t)
}, t.exports = s
}, function(t, e, n) {
var r = n(54),
i = n(18);
t.exports = function() {
i.set("buildVersion", r.version)
}
}, function(t, e, n) {
n(261), n(240), n(265)
}, function(t, e, n) {
var r = n(262),
i = n(241),
o = n(264),
s = new r;
i.emitter.bind(i.START, function() {
s.start()
}), i.emitter.bind(i.ALL_WIDGETS_RENDERED, function() {
s.end(), o(s.duration(), {
action: "render"
})
})
}, function(t, e, n) {
function r() {}
var i = n(263);
r.prototype.start = function() {
this._startTime = i()
}, r.prototype.end = function() {
this._duration = i() - this._startTime
}, r.prototype.duration = function() {
return this._duration
}, t.exports = r
}, function(t, e, n) {
var r = n(7);
t.exports = function() {
return r.performance && r.performance.now ? r.performance.now() : Date.now()
}
}, function(t, e, n) {
var r = n(43),
i = n(48),
o = n(12);
t.exports = function(t, e) {
var n = {
widget_origin: i.rootDocumentLocation(),
widget_frame: i.isFramed() ? i.currentDocumentLocation() : null,
duration_ms: t
},
s = o.aug(e, {
page: "page",
component: "performance"
});
r.scribe(s, n)
}
}, function(t, e, n) {
function r(t, e, n) {
var r = Object.keys(t).reduce(function(e, r) {
return n(r) ? e + t[r] : e
}, 0);
a(r, {
element: e,
action: "resource"
})
}
function i(t) {
return t.performance.getEntriesByType("resource").filter(function(t) {
return c.isTwimgURL(t.name) || c.isTwitterURL(t.name)
}).reduce(function(t, e) {
return t[e.name] = e.duration, t
}, {})
}
function o(t) {
return t.reduce(function(t, e) {
return l.aug(t, i(e.contentDocument.defaultView))
}, {})
}
var s = n(241),
a = n(264),
u = n(266),
c = n(25),
d = n(7),
l = n(12),
f = n(8),
h = n(112);
s.emitter.bind(s.ALL_WIDGETS_AND_IMAGES_LOADED, function(t) {
var e, n, s = [];
f.hasPerformanceInformation() && (e = i(d), h.isSupported() || (s = o(t)), n = l.aug({}, e, s), Object.keys(u).forEach(function(t) {
r(n, t, u[t])
}))
})
}, function(t, e, n) {
var r = n(25),
i = {
all: function() {
return !0
},
image: function(t) {
return r.isTwimgURL(t)
},
settings: function(t) {
return r.isSettingsURL(t)
},
widget_iframe: function(t) {
return r.isWidgetIframeURL(t)
}
};
t.exports = i
}])))
}();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment