// http://platform.twitter.com/widgets.js captured 2013-01-07 if (!window.__twttrlr) { (function (a, b) { function s(a) { for (var b = 1, c; c = arguments[b]; b++) for (var d in c) a[d] = c[d]; return a } function t(a) { return Array.prototype.slice.call(a) } function v(a, b) { for (var c = 0, d; d = a[c]; c++) if (b == d) return c; return -1 } function w() { var a = t(arguments), b = []; for (var c = 0, d = a.length; c < d; c++) a[c].length > 0 && b.push(a[c].replace(/\/$/, "")); return b.join("/") } function x(a, b, c) { var d = b.split("/"), e = a; while (d.length > 1) { var f = d.shift(); e = e[f] = e[f] || {} } e[d[0]] = c } function y() {} function z(a, b) { this.id = this.path = a, this.force = !! b } function A(a, b) { this.id = a, this.body = b, typeof b == "undefined" && (this.path = this.resolvePath(a)) } function B(a, b) { this.deps = a, this.collectResults = b, this.deps.length == 0 && this.complete() } function C(a, b) { this.deps = a, this.collectResults = b } function D() { for (var a in d) if (d[a].readyState == "interactive") return l[d[a].id] } function E(a, b) { var d; return !a && c && (d = k || D()), d ? (delete l[d.scriptId], d.body = b, d.execute()) : (j = d = new A(a, b), i[d.id] = d), d } function F() { var a = t(arguments), b, c; return typeof a[0] == "string" && (b = a.shift()), c = a.shift(), E(b, c) } function G(a, b) { var c = b.id || "", d = c.split("/"); d.pop(); var e = d.join("/"); return a.replace(/^\./, e) } function H(a, b) { function d(a) { return A.exports[G(a, b)] } var c = []; for (var e = 0, f = a.length; e < f; e++) { if (a[e] == "require") { c.push(d); continue } if (a[e] == "exports") { b.exports = b.exports || {}, c.push(b.exports); continue } c.push(d(a[e])) } return c } function I() { var a = t(arguments), b = [], c, d; return typeof a[0] == "string" && (c = a.shift()), u(a[0]) && (b = a.shift()), d = a.shift(), E(c, function (a) { function f() { var e = H(t(b), c), f; typeof d == "function" ? f = d.apply(c, e) : f = d, typeof f == "undefined" && (f = c.exports), a(f) } var c = this, e = []; for (var g = 0, h = b.length; g < h; g++) { var i = b[g]; v(["require", "exports"], i) == -1 && e.push(G(i, c)) } e.length > 0 ? J.apply(this, e.concat(f)) : f() }) } function J() { var a = t(arguments), b, c; typeof a[a.length - 1] == "function" && (b = a.pop()), typeof a[a.length - 1] == "boolean" && (c = a.pop()); var d = new B(K(a, c), c); return b && d.then(b), d } function K(a, b) { var c = []; for (var d = 0, e; e = a[d]; d++) typeof e == "string" && (e = L(e)), u(e) && (e = new C(K(e, b), b)), c.push(e); return c } function L(a) { var b, c; for (var d = 0, e; e = J.matchers[d]; d++) { var f = e[0], g = e[1]; if (b = a.match(f)) return g(a) } throw new Error(a + " was not recognised by loader") } function N() { return a.using = m, a.provide = n, a.define = o, a.loadrunner = p, M } function O(a) { for (var b = 0; b < J.bundles.length; b++) for (var c in J.bundles[b]) if (c != a && v(J.bundles[b][c], a) > -1) return c } var c = a.attachEvent && !a.opera, d = b.getElementsByTagName("script"), e = 0, f, g = b.createElement("script"), h = {}, i = {}, j, k, l = {}, m = a.using, n = a.provide, o = a.define, p = a.loadrunner; for (var q = 0, r; r = d[q]; q++) if (r.src.match(/loadrunner\.js(\?|#|$)/)) { f = r; break } var u = Array.isArray || function (a) { return a.constructor == Array }; y.prototype.then = function (b) { var c = this; return this.started || (this.started = !0, this.start()), this.completed ? b.apply(a, this.results) : (this.callbacks = this.callbacks || [], this.callbacks.push(b)), this }, y.prototype.start = function () {}, y.prototype.complete = function () { if (!this.completed) { this.results = t(arguments), this.completed = !0; if (this.callbacks) for (var b = 0, c; c = this.callbacks[b]; b++) c.apply(a, this.results) } }, z.loaded = [], z.prototype = new y, z.prototype.start = function () { var a = this, b, c, d; return (d = i[this.id]) ? (d.then(function () { a.complete() }), this) : ((b = h[this.id]) ? b.then(function () { a.loaded() }) : !this.force && v(z.loaded, this.id) > -1 ? this.loaded() : (c = O(this.id)) ? J(c, function () { a.loaded() }) : this.load(), this) }, z.prototype.load = function () { var b = this; h[this.id] = b; var c = g.cloneNode(!1); this.scriptId = c.id = "LR" + ++e, c.type = "text/javascript", c.async = !0, c.onerror = function () { throw new Error(b.path + " not loaded") }, c.onreadystatechange = c.onload = function (c) { c = a.event || c; if (c.type == "load" || v(["loaded", "complete"], this.readyState) > -1) this.onreadystatechange = null, b.loaded() }, c.src = this.path, k = this, d[0].parentNode.insertBefore(c, d[0]), k = null, l[c.id] = this }, z.prototype.loaded = function () { this.complete() }, z.prototype.complete = function () { v(z.loaded, this.id) == -1 && z.loaded.push(this.id), delete h[this.id], y.prototype.complete.apply(this, arguments) }, A.exports = {}, A.prototype = new z, A.prototype.resolvePath = function (a) { return w(J.path, a + ".js") }, A.prototype.start = function () { var a, b, c = this, d; this.body ? this.execute() : (a = A.exports[this.id]) ? this.exp(a) : (b = i[this.id]) ? b.then(function (a) { c.exp(a) }) : (bundle = O(this.id)) ? J(bundle, function () { c.start() }) : (i[this.id] = this, this.load()) }, A.prototype.loaded = function () { var a, b, d = this; c ? (b = A.exports[this.id]) ? this.exp(b) : (a = i[this.id]) && a.then(function (a) { d.exp(a) }) : (a = j, j = null, a.id = a.id || this.id, a.then(function (a) { d.exp(a) })) }, A.prototype.complete = function () { delete i[this.id], z.prototype.complete.apply(this, arguments) }, A.prototype.execute = function () { var a = this; typeof this.body == "object" ? this.exp(this.body) : typeof this.body == "function" && this.body.apply(window, [function (b) { a.exp(b) }]) }, A.prototype.exp = function (a) { this.complete(this.exports = A.exports[this.id] = a || {}) }, B.prototype = new y, B.prototype.start = function () { function b() { var b = []; a.collectResults && (b[0] = {}); for (var c = 0, d; d = a.deps[c]; c++) { if (!d.completed) return; d.results.length > 0 && (a.collectResults ? d instanceof C ? s(b[0], d.results[0]) : x(b[0], d.id, d.results[0]) : b = b.concat(d.results)) } a.complete.apply(a, b) } var a = this; for (var c = 0, d; d = this.deps[c]; c++) d.then(b); return this }, C.prototype = new y, C.prototype.start = function () { var a = this, b = 0, c = []; return a.collectResults && (c[0] = {}), function d() { var e = a.deps[b++]; e ? e.then(function (b) { e.results.length > 0 && (a.collectResults ? e instanceof C ? s(c[0], e.results[0]) : x(c[0], e.id, e.results[0]) : c.push(e.results[0])), d() }) : a.complete.apply(a, c) }(), this }, I.amd = {}; var M = function (a) { return a(J, F, M, define) }; M.Script = z, M.Module = A, M.Collection = B, M.Sequence = C, M.Dependency = y, M.noConflict = N, a.loadrunner = M, a.using = J, a.provide = F, a.define = I, J.path = "", J.matchers = [], J.matchers.add = function (a, b) { this.unshift([a, b]) }, J.matchers.add(/(^script!|\.js$)/, function (a) { var b = new z(a.replace(/^\$/, J.path.replace(/\/$/, "") + "/").replace(/^script!/, ""), !1); return b.id = a, b }), J.matchers.add(/^[a-zA-Z0-9_\-\/]+$/, function (a) { return new A(a) }), J.bundles = [], f && (J.path = f.getAttribute("data-path") || f.src.split(/loadrunner\.js/)[0] || "", (main = f.getAttribute("data-main")) && J.apply(a, main.split(/\s*,\s*/)).then(function () {})) })(this, document); (window.__twttrlr = loadrunner.noConflict()); } __twttrlr(function (using, provide, loadrunner, define) { provide("util/iframe", function (a) { a(function (a) { var b = (a.replace && a.replace.ownerDocument || document).createElement("div"), c; b.innerHTML = "<iframe allowtransparency='true' frameBorder='0' scrolling='no'></iframe>", c = b.firstChild, c.src = a.url, c.className = a.className || ""; if (a.css) for (var d in a.css) c.style[d] = a.css[d]; if (a.attributes) for (var e in a.attributes) c.setAttribute(e, a.attributes[e]); return a.replace && a.replace.parentNode.replaceChild(c, a.replace), c }) }); provide("util/querystring", function (a) { function b(a) { return encodeURIComponent(a).replace(/\+/g, "%2B") } function c(a) { return decodeURIComponent(a) } function d(a) { var c = [], d; for (d in a) a[d] !== null && typeof a[d] != "undefined" && c.push(b(d) + "=" + b(a[d])); return c.sort().join("&") } function e(a) { var b = {}, d, e, f, g; if (a) { d = a.split("&"); for (g = 0; f = d[g]; g++) e = f.split("="), e.length == 2 && (b[c(e[0])] = c(e[1])) } return b } function f(a, b) { var c = d(b); return c.length > 0 ? a.indexOf("?") >= 0 ? a + "&" + d(b) : a + "?" + d(b) : a } function g(a) { var b = a && a.split("?"); return b.length == 2 ? e(b[1]) : {} } a({ url: f, decodeURL: g, decode: e, encode: d, encodePart: b, decodePart: c }) }); provide("util/util", function (a) { function b(a) { var b = 1, c, d; for (; c = arguments[b]; b++) for (d in c) a[d] = c[d]; return a } function c(a) { return b([], a) } function d(a) { for (var b in a) a.hasOwnProperty(b) && !a[b] && a[b] !== !1 && a[b] !== 0 && delete a[b] } function e(a, b) { var c = 0, d; for (; d = a[c]; c++) if (b == d) return c; return -1 } function f(a, b) { if (!a) return null; if (a.filter) return a.filter.apply(a, [b]); if (!b) return a; var c = [], d = 0, e; for (; e = a[d]; d++) b(e) && c.push(e); return c } function g(a, b) { if (!a) return null; if (a.map) return a.map.apply(a, [b]); if (!b) return a; var c = [], d = 0, e; for (; e = a[d]; d++) c.push(b(e)); return c } function h(a) { return a && a.replace(/(^\s+|\s+$)/g, "") } function i(a) { return {}.toString.call(a).match(/\s([a-zA-Z]+)/)[1].toLowerCase() } function j(a) { return a && String(a).toLowerCase().indexOf("[native code]") > -1 } function k(a, b) { if (a.contains) return a.contains(b); var c = b.parentNode; while (c) { if (c === a) return !0; c = c.parentNode } return !1 } function l(a) { return a === Object(a) } a({ array: c, aug: b, compact: d, containsElement: k, filter: f, map: g, trim: h, indexOf: e, isNative: j, isObject: l, toType: i }) }); provide("dom/get", function (a) { using("util/util", function (b) { function c(a, c, d, e) { var f, g, h = [], i, j, k, l, m, n; c = c || document; if (b.isNative(c.getElementsByClassName)) return h = b.filter(c.getElementsByClassName(a), function (a) { return !d || a.tagName.toLowerCase() == d.toLowerCase() }), [].slice.call(h, 0, e || h.length); i = a.split(" "), l = i.length, f = c.getElementsByTagName(d || "*"), n = f.length; for (k = 0; k < l && n > 0; k++) { h = [], j = i[k]; for (m = 0; m < n; m++) { g = f[m], ~b.indexOf(g.className.split(" "), j) && h.push(g); if (k + 1 == l && h.length === e) break } f = h, n = f.length } return h } function d(a, b, d) { return c(a, b, d, 1)[0] } function e(a, c, d) { var f = c && c.parentNode, g; if (!f || f === d) return; return f.tagName == a ? f : (g = f.className.split(" "), 0 === a.indexOf(".") && ~b.indexOf(g, a.slice(1)) ? f : e(a, f, d)) } a({ all: c, one: d, ancestor: e }) }) }); provide("$vendor/domready/ready.js", function (exports) { ! function (a) { function k() { b = 1; for (var a = 0, d = c.length; a < d; a++) c[a]() } var b = 0, c = [], d, e, f = !1, g = a.createElement("a"), h = "DOMContentLoaded", i = "addEventListener", j = "onreadystatechange"; /^loade|c/.test(a.readyState) && (b = 1), a[i] && a[i](h, e = function () { a.removeEventListener(h, e, f), k() }, f), g.doScroll && a.attachEvent(j, d = function () { /^c/.test(a.readyState) && (a.detachEvent(j, d), k()) }); var l = g.doScroll ? function (a) { self != top ? b ? a() : c.push(a) : ! function () { try { g.doScroll("left") } catch (b) { return setTimeout(function () { l(a) }, 50) } a() }() } : function (a) { b ? a() : c.push(a) }; typeof module != "undefined" && module.exports ? module.exports = { domReady: l } : window.domReady = l }(document); exports(); loadrunner.Script.loaded.push("$vendor/domready/ready.js") }); provide("util/domready", function (a) { using("$vendor/domready/ready.js", function () { a(domReady) }) }); provide("tfw/widget/base", function (a) { using("util/util", "util/domready", "dom/get", "util/querystring", "util/iframe", function (b, c, d, e, f) { function l(a) { var b; if (!a) return; a.ownerDocument ? (this.srcEl = a, this.classAttr = a.className.split(" ")) : (this.srcOb = a, this.classAttr = []), b = this.params(), this.id = o(), this.setLanguage(), this.related = b.related || this.dataAttr("related"), this.partner = b.partner || this.dataAttr("partner"), this.dnt = b.dnt || this.dataAttr("dnt") || "", this.styleAttr = [] } function m(a) { if (!a) return; return a.lang ? a.lang : m(a.parentNode) } function n(a) { var b = i.widgets, c, e, f, g, h, k; a = a || document; for (f in b) { f.match(/\./) ? (g = f.split("."), c = d.all(g[1], a, g[0])) : c = a.getElementsByTagName(f); for (h = 0; k = c[h]; h++) { if (k.getAttribute("data-twttr-rendered")) continue; k.setAttribute("data-twttr-rendered", "true"), e = new b[f](k), j.list.push(e), j.byId[e.id] = e, e.render(i) } } } function o() { return this.srcEl && this.srcEl.id || "twitter-widget-" + g++ } function p(a) { i = a } function q(a) { return a && j.byId[a] ? j.byId[a].element : null } var g = 0, h, i, j = { list: [], byId: {} }, k = { hi: { "%{followers_count} followers": "%{followers_count} फ़ॉलोअर्स", "100K+": "1 लाख+", "10k unit": "10 हजार इकाईयां", Follow: "फ़ॉलो", "Follow %{screen_name}": "%{screen_name} को फ़ॉलो करें", K: "हजार", M: "मिलियन", Tweet: "ट्वीट", "Tweet %{hashtag}": "ट्वीट %{hashtag}", "Tweet to %{name}": "%{name} को ट्वीट करें", "Twitter Stream": "ट्विटर स्ट्रीम" }, "zh-cn": { "%{followers_count} followers": "%{followers_count} 关注者", "100K+": "10万+", "10k unit": "1万单元", Follow: "关注", "Follow %{screen_name}": "关注 %{screen_name}", K: "千", M: "百万", Tweet: "发推", "Tweet %{hashtag}": "以 %{hashtag} 发推", "Tweet to %{name}": "发推给 %{name}", "Twitter Stream": "Twitter 信息流" }, fr: { "%{followers_count} followers": "%{followers_count} abonnés", "100K+": "100K+", "10k unit": "unité de 10k", Follow: "Suivre", "Follow %{screen_name}": "Suivre %{screen_name}", K: "K", M: "M", Tweet: "Tweeter", "Tweet %{hashtag}": "Tweeter %{hashtag}", "Tweet to %{name}": "Tweeter à %{name}", "Twitter Stream": "Flux Twitter" }, "zh-tw": { "%{followers_count} followers": "%{followers_count} 位跟隨者", "100K+": "超過十萬", "10k unit": "1萬 單位", Follow: "跟隨", "Follow %{screen_name}": "跟隨 %{screen_name}", K: "千", M: "百萬", Tweet: "推文", "Tweet %{hashtag}": "推文%{hashtag}", "Tweet to %{name}": "推文給%{name}" }, msa: { "%{followers_count} followers": "%{followers_count} pengikut", "100K+": "100 ribu+", "10k unit": "10 ribu unit", Follow: "Ikut", "Follow %{screen_name}": "Ikut %{screen_name}", K: "ribu", M: "juta", Tweet: "Tweet", "Tweet %{hashtag}": "Tweet %{hashtag}", "Tweet to %{name}": "Tweet kepada %{name}", "Twitter Stream": "Strim Twitter" }, fil: { "%{followers_count} followers": "%{followers_count} mga tagasunod", "100K+": "100K+", "10k unit": "10k yunit", Follow: "Sundan", "Follow %{screen_name}": "Sundan si %{screen_name}", K: "K", M: "M", Tweet: "I-tweet", "Tweet %{hashtag}": "I-tweet ang %{hashtag}", "Tweet to %{name}": "Mag-Tweet kay %{name}", "Twitter Stream": "Stream ng Twitter" }, sv: { "%{followers_count} followers": "%{followers_count} följare", "100K+": "100K+", "10k unit": "10k", Follow: "Följ", "Follow %{screen_name}": "Följ %{screen_name}", K: "K", M: "M", Tweet: "Tweeta", "Tweet %{hashtag}": "Tweeta %{hashtag}", "Tweet to %{name}": "Tweeta till %{name}", "Twitter Stream": "Twitterflöde" }, fi: { "%{followers_count} followers": "%{followers_count} seuraajaa", "100K+": "100 000+", "10k unit": "10 000 yksikköä", Follow: "Seuraa", "Follow %{screen_name}": "Seuraa käyttäjää %{screen_name}", K: "tuhatta", M: "milj.", Tweet: "Twiittaa", "Tweet %{hashtag}": "Twiittaa %{hashtag}", "Tweet to %{name}": "Twiittaa käyttäjälle %{name}", "Twitter Stream": "Twitter-virta" }, pl: { "%{followers_count} followers": "%{followers_count} obserwujących", "100K+": "100 tys.+", "10k unit": "10 tys.", Follow: "Obserwuj", "Follow %{screen_name}": "Obserwuj %{screen_name}", K: "tys.", M: "mln", Tweet: "Tweetnij", "Tweet %{hashtag}": "Tweetnij %{hashtag}", "Tweet to %{name}": "Tweetnij do %{name}", "Twitter Stream": "Strumień Twittera" }, ja: { "%{followers_count} followers": "%{followers_count}人のフォロワー", "100K+": "100K以上", "10k unit": "万", Follow: "フォローする", "Follow %{screen_name}": "%{screen_name}さんをフォロー", K: "K", M: "M", Tweet: "ツイート", "Tweet %{hashtag}": "%{hashtag} をツイートする", "Tweet to %{name}": "%{name}さんへツイートする", "Twitter Stream": "Twitterストリーム" }, ko: { "%{followers_count} followers": "%{followers_count}명의 팔로워", "100K+": "100만 이상", "10k unit": "만 단위", Follow: "팔로우", "Follow %{screen_name}": "%{screen_name} 팔로우하기", K: "천", M: "백만", Tweet: "트윗", "Tweet %{hashtag}": "%{hashtag} 관련 트윗하기", "Tweet to %{name}": "%{name}님에게 트윗하기", "Twitter Stream": "트위터 스트림" }, de: { "%{followers_count} followers": "%{followers_count} Follower", "100K+": "100Tsd+", "10k unit": "10tsd-Einheit", Follow: "Folgen", "Follow %{screen_name}": "%{screen_name} folgen", K: "Tsd", M: "M", Tweet: "Twittern", "Tweet %{hashtag}": "Tweet %{hashtag}", "Tweet to %{name}": "Tweet an %{name}", "Twitter Stream": "Twitter Stream" }, it: { "%{followers_count} followers": "%{followers_count} follower", "100K+": "100K+", "10k unit": "10k unità", Follow: "Segui", "Follow %{screen_name}": "Segui %{screen_name}", K: "K", M: "M", Tweet: "Tweet", "Tweet %{hashtag}": "Twitta %{hashtag}", "Tweet to %{name}": "Twitta a %{name}", "Twitter Stream": "Twitter Stream" }, ru: { "%{followers_count} followers": "Читатели: %{followers_count} ", "100K+": "100 тыс.+", "10k unit": "блок 10k", Follow: "Читать", "Follow %{screen_name}": "Читать %{screen_name}", K: "тыс.", M: "млн.", Tweet: "Твитнуть", "Tweet %{hashtag}": "Твитнуть %{hashtag}", "Tweet to %{name}": "Твитнуть %{name}", "Twitter Stream": "Поток в Твиттере" }, pt: { "%{followers_count} followers": "%{followers_count} seguidores", "100K+": "+100 mil", "10k unit": "10 mil unidades", Follow: "Seguir", "Follow %{screen_name}": "Seguir %{screen_name}", K: "Mil", M: "M", Tweet: "Tweetar", "Tweet %{hashtag}": "Tweetar %{hashtag}", "Tweet to %{name}": "Tweetar para %{name}", "Twitter Stream": "Transmissões do Twitter" }, es: { "%{followers_count} followers": "%{followers_count} seguidores", "100K+": "100K+", "10k unit": "10k unidad", Follow: "Seguir", "Follow %{screen_name}": "Seguir a %{screen_name}", K: "K", M: "M", Tweet: "Twittear", "Tweet %{hashtag}": "Twittear %{hashtag}", "Tweet to %{name}": "Twittear a %{name}", "Twitter Stream": "Cronología de Twitter" }, id: { "%{followers_count} followers": "%{followers_count} pengikut", "100K+": "100 ribu+", "10k unit": "10 ribu unit", Follow: "Ikuti", "Follow %{screen_name}": "Ikuti %{screen_name}", K: " ribu", M: " juta", Tweet: "Tweet", "Tweet %{hashtag}": "Tweet %{hashtag}", "Tweet to %{name}": "Tweet ke %{name}", "Twitter Stream": "Aliran Twitter" }, tr: { "%{followers_count} followers": "%{followers_count} takipçi", "100K+": "+100 bin", "10k unit": "10 bin birim", Follow: "Takip et", "Follow %{screen_name}": "Takip et: %{screen_name}", K: "bin", M: "milyon", Tweet: "Tweetle", "Tweet %{hashtag}": "Tweetle: %{hashtag}", "Tweet to %{name}": "Tweetle: %{name}", "Twitter Stream": "Twitter Akışı" }, no: { "%{followers_count} followers": "%{followers_count} følgere", "100K+": "100K+", "10k unit": "10k ", Follow: "Følg", "Follow %{screen_name}": "Følg %{screen_name}", K: "K", M: "M", Tweet: "Tweet", "Tweet %{hashtag}": "Tweet %{hashtag}", "Tweet to %{name}": "Send tweet til %{name}", "Twitter Stream": "Twitter-strøm" }, nl: { "%{followers_count} followers": "%{followers_count} volgers", "100K+": "100k+", "10k unit": "10k-eenheid", Follow: "Volgen", "Follow %{screen_name}": "%{screen_name} volgen", K: "k", M: " mln.", Tweet: "Tweeten", "Tweet %{hashtag}": "%{hashtag} tweeten", "Tweet to %{name}": "Tweeten naar %{name}", "Twitter Stream": "Twitter Stream" }, da: { "%{followers_count} followers": "%{followers_count} følgere", "100K+": "100K+", "10k unit": "10k enhed", Follow: "Følg", "Follow %{screen_name}": "Følg %{screen_name}", K: "K", M: "M", Tweet: "Tweet", "Tweet %{hashtag}": "Tweet %{hashtag}", "Tweet to %{name}": "Tweet til %{name}", "Twitter Stream": "Twitter-strøm" }, hu: { "%{followers_count} followers": "%{followers_count} követő", "100K+": "100E+", "10k unit": "10E+", Follow: "Követés", "Follow %{screen_name}": "%{screen_name} követése", K: "E", M: "M", Tweet: "Tweet", "Tweet %{hashtag}": "%{hashtag} tweetelése", "Tweet to %{name}": "Tweet küldése neki: %{name}", "Twitter Stream": "Twitter Hírfolyam" }, ar: { "%{followers_count} followers": "عدد المتابعين %{followers_count}", "100K+": "+100 ألف", "10k unit": "10 آلاف وحدة", Follow: "تابِع", "Follow %{screen_name}": "تابِع %{screen_name}", K: "ألف", M: "مليون", Tweet: "غرِّد", "Tweet %{hashtag}": "غرِّد %{hashtag}", "Tweet to %{name}": "غرِّد لـ %{name}", "Twitter Stream": "خطّ تويتر الزمنيّ" }, fa: { "%{followers_count} followers": "%{followers_count} دنبالکننده", "100K+": ">۱۰۰هزار", "10k unit": "۱۰هزار واحد", Follow: "دنبال کردن", "Follow %{screen_name}": "دنبال کردن %{screen_name}", K: "هزار", M: "میلیون", Tweet: "توییت", "Tweet %{hashtag}": "توییت کردن %{hashtag}", "Tweet to %{name}": "به %{name} توییت کنید", "Twitter Stream": "جریان توییتها" }, ur: { "%{followers_count} followers": "%{followers_count} فالورز", "100K+": "1 لاکھ+", "10k unit": "دس ہزار یونٹ", Follow: "فالو کریں", "Follow %{screen_name}": "%{screen_name} کو فالو کریں", K: "ہزار", M: "ملین", Tweet: "ٹویٹ کریں", "Tweet %{hashtag}": "ٹویٹ کریں %{hashtag}", "Tweet to %{name}": "%{name} کو ٹویٹ کریں", "Twitter Stream": "ٹوئٹر سٹریم" }, th: { "%{followers_count} followers": "%{followers_count} ผู้ติดตาม", "100K+": "100พัน+", "10k unit": "หน่วย 10พัน", Follow: "ติดตาม", "Follow %{screen_name}": "ติดตาม %{screen_name}", K: "พัน", M: "ล้าน", Tweet: "ทวีต", "Tweet %{hashtag}": "ทวีต %{hashtag}", "Tweet to %{name}": "ทวีตถึง %{name}" }, he: { "%{followers_count} followers": "%{followers_count} עוקבים", "100K+": "מאות אלפים", "10k unit": "עשרות אלפים", Follow: "מעקב", "Follow %{screen_name}": "לעקוב אחר %{screen_name}", K: "אלף", M: "מיליון", Tweet: "ציוץ", "Tweet %{hashtag}": "צייצו %{hashtag}", "Tweet to %{name}": "ציוץ אל %{name}", "Twitter Stream": "התזרים של טוויטר" } }; b.aug(l.prototype, { setLanguage: function (a) { var b; a || (a = this.params().lang || this.dataAttr("lang") || m(this.srcEl)), a = a && a.toLowerCase(); if (!a) return this.lang = "en"; if (k[a]) return this.lang = a; b = a.replace(/[\-_].*/, ""); if (k[b]) return this.lang = b; this.lang = "en" }, _: function (a, b) { var c = this.lang; b = b || {}; if (!c || !k.hasOwnProperty(c)) c = this.lang = "en"; return a = k[c] && k[c][a] || a, this.ringo(a, b, /%\{([\w_]+)\}/g) }, ringo: function (a, b, c) { return c = c || /\{\{([\w_]+)\}\}/g, a.replace(c, function (a, c) { return b[c] !== undefined ? b[c] : a }) }, add: function (a) { j.list.push(this), j.byId[this.id] = a }, create: function (a, b, c, d) { return d["data-twttr-rendered"] = !0, f({ url: a, css: c, className: b, id: this.id, attributes: d, replace: this.srcEl }) }, params: function () { var a, b; return this.srcOb ? b = this.srcOb : (a = this.srcEl && this.srcEl.href && this.srcEl.href.split("?")[1], b = a ? e.decode(a) : {}), this.params = function () { return b }, b }, dataAttr: function (a) { return this.srcEl && this.srcEl.getAttribute("data-" + a) }, attr: function (a) { return this.srcEl && this.srcEl.getAttribute(a) }, styles: { base: "font: normal normal normal 11px/18px 'Helvetica Neue', Arial, sans-serif; margin: 0; padding: 0; white-space: nowrap;", button: "font-weight: bold; text-shadow: 0 1px 0 rgba(255,255,255,.5);", large: "font-size: 13px; line-height: 26px;", vbubble: "font-size: 16px;" }, width: function () { throw new Error(name + " not implemented") }, height: function () { return this.size == "m" ? 20 : 28 }, minWidth: function () {}, maxWidth: function () {}, minHeight: function () {}, maxHeight: function () {}, dimensions: function () { function a(a) { switch (typeof a) { case "string": return a; case "undefined": return; default: return a + "px" } } var b, c = { width: this.width(), height: this.height() }; this.minWidth() && (c["min-width"] = this.minWidth()), this.maxWidth() && (c["max-width"] = this.maxWidth()), this.minHeight() && (c["min-height"] = this.minHeight()), this.maxHeight() && (c["max-height"] = this.maxHeight()); for (b in c) c[b] = a(c[b]); return c }, generateId: o }), a({ Base: l, init: p, embed: n, find: q }) }) }); provide("util/events", function (a) { using("util/util", function (b) { function d() { this.completed = !1, this.callbacks = [] } var c = { bind: function (a, b) { return this._handlers = this._handlers || {}, this._handlers[a] = this._handlers[a] || [], this._handlers[a].push(b) }, unbind: function (a, c) { if (!this._handlers[a]) return; if (c) { var d = b.indexOf(this._handlers[a], c); d >= 0 && this._handlers[a].splice(d, 1) } else this._handlers[a] = [] }, trigger: function (a, b) { var c = this._handlers && this._handlers[a]; b.type = a; if (c) for (var d = 0, e; e = c[d]; d++) e.call(this, b) } }; d.prototype.addCallback = function (a) { this.completed ? a.apply(this, this.results) : this.callbacks.push(a) }, d.prototype.complete = function () { this.results = makeArray(arguments), this.completed = !0; for (var a = 0, b; b = this.callbacks[a]; a++) b.apply(this, this.results) }, a({ Emitter: c, Promise: d }) }) }); provide("util/uri", function (a) { using("util/querystring", "util/util", function (b, c) { function d(a) { var b; return a.match(/^https?:\/\//) ? a : (b = location.host, location.port.length > 0 && (b += ":" + location.port), [location.protocol, "//", b, a].join("")) } function e() { var a = document.getElementsByTagName("link"); for (var b = 0, c; c = a[b]; b++) if (c.getAttribute("rel") == "canonical") return d(c.getAttribute("href")); return null } // get twitter name from any <a> or link rel="me" href="…twitter.com/$me" function getScreenNameFromPage() { var a = document.getElementsByTagName("a"), b = document.getElementsByTagName("link"), d = /\bme\b/, e = /^https?\:\/\/(www\.)?twitter.com\/([a-zA-Z0-9_]+)$/, f = c.array(a).concat(c.array(b)), g, h, i; for (var j = 0, k; k = f[j]; j++) { h = k.getAttribute("rel"), i = k.getAttribute("href"); if (h && i && h.match(d) && (g = i.match(e))) return g[2] } } a({ absolutize: d, getCanonicalURL: e, getScreenNameFromPage: getScreenNameFromPage }) }) }); provide("tfw/widget/intent", function (a) { using("util/util", "tfw/widget/base", "util/querystring", "util/uri", function (b, c, d, e) { function m(a) { var b = Math.round(k / 2 - h / 2), c = 0; j > i && (c = Math.round(j / 2 - i / 2)), window.open(a, "intent", g + ",width=" + h + ",height=" + i + ",left=" + b + ",top=" + c) } function n(a, b) { using("tfw/widget/hubclient", function (c) { c.openIntent(a, b) }) } function o(a) { var b = "original_referer=" + location.href; return [a, b].join(a.indexOf("?") == -1 ? "?" : "&") } function p(a, b) { this.id = a, this.element = this.srcEl = b } function q(a) { a = a || window.event; var b = a.target || a.srcElement, c, d, e; while (b && b.nodeName.toLowerCase() !== "a") b = b.parentNode; b && b.nodeName.toLowerCase() === "a" && b.href && (c = b.href.match(f), c && (e = o(b.href), e = e.replace(/^http[:]/, "https:"), e = e.replace(/^\/\//, "https://"), r(e, b), a.returnValue = !1, a.preventDefault && a.preventDefault())) } function r(a, b) { if (twttr.events.hub && b) { var c = new p(l.generateId(), b); l.add(c), n(a, b), twttr.events.trigger("click", { target: b, region: "intent", type: "click", data: {} }) } else m(a) } function s(a) { this.srcEl = [], this.element = a } var f = /twitter\.com(\:\d{2,4})?\/intent\/(\w+)/, g = "scrollbars=yes,resizable=yes,toolbar=no,location=yes", h = 550, i = 520, j = screen.height, k = screen.width, l; s.prototype = new c.Base, b.aug(s.prototype, { render: function (a) { l = this, window.__twitterIntentHandler || (document.addEventListener ? document.addEventListener("click", q, !1) : document.attachEvent && document.attachEvent("onclick", q), window.__twitterIntentHandler = !0) } }), a({ Listener: s, open: r }) }) }); provide("dom/sandbox", function (a) { using("util/domready", function (b) { function d(a, b) { var c, d, e; if (a.name) { try { e = document.createElement('<iframe name="' + a.name + '"></iframe>') } catch (f) { e = document.createElement("iframe"), e.name = a.name } delete a.name } else e = document.createElement("iframe"); a.id && (e.id = a.id, delete a.id); for (c in a) a.hasOwnProperty(c) && e.setAttribute(c, a[c]); e.allowtransparency = "true", e.scrolling = "no", e.setAttribute("frameBorder", 0), e.setAttribute("allowTransparency", !0); for (d in b || {}) b.hasOwnProperty(d) && (e.style[d] = b[d]); return e } function e(a, b, c, e) { var f; this.attrs = b || {}, this.styles = c || {}, this.appender = e, this.onReady = a, this.sandbox = {}, f = d(this.attrs, this.styles), f.onreadystatechange = f.onload = this.getCallback(this.onLoad), this.sandbox.frame = f, e ? e(f) : document.body.appendChild(f) } function f(a, c, d, f) { b(function () { new e(a, c, d, f) }) } var c = 0; window.twttr || (window.twttr = {}), window.twttr.sandbox || (window.twttr.sandbox = {}), e.prototype.getCallback = function (a) { var b = this, c = !1; return function () { c || (c = !0, a.call(b)) } }, e.prototype.registerCallback = function (a) { var b = "cb" + c++; return window.twttr.sandbox[b] = a, b }, e.prototype.onLoad = function () { try { this.sandbox.frame.contentWindow.document } catch (a) { this.setDocDomain(); return } this.sandbox.win = this.sandbox.frame.contentWindow, this.sandbox.doc = this.sandbox.frame.contentWindow.document, this.writeStandardsDoc(), this.sandbox.body = this.sandbox.frame.contentWindow.document.body, this.onReady(this.sandbox) }, e.prototype.setDocDomain = function () { var a, b = this.registerCallback(this.getCallback(this.onLoad)); a = ["javascript:", 'document.write("");', "try { window.parent.document; }", "catch (e) {", 'document.domain="' + document.domain + '";', "}", 'window.parent.twttr.sandbox["' + b + '"]();'].join(""), this.sandbox.frame.parentNode.removeChild(this.sandbox.frame), this.sandbox.frame = null, this.sandbox.frame = d(this.attrs, this.styles), this.sandbox.frame.src = a, this.appender ? this.appender(this.sandbox.frame) : document.body.appendChild(this.sandbox.frame) }, e.prototype.writeStandardsDoc = function () { var a = ["<!DOCTYPE html>", "<html>", "<head>", "<scr", "ipt>", "try { window.parent.document; }", 'catch (e) {document.domain="' + document.domain + '";}', "</scr", "ipt>", "</head>", "<body></body>", "</html>"].join(""); this.sandbox.doc.write(a), this.sandbox.doc.close() }, a(f) }) }); provide("dom/classname", function (a) { function b(a, b) { a.classList ? a.classList.add(b) : f(b).test(a.className) || (a.className += " " + b) } function c(a, b) { a.classList ? a.classList.remove(b) : a.className = a.className.replace(f(b), " ") } function d(a, d, g) { a.classList && e(a, d) ? (c(a, d), b(a, g)) : a.className = a.className.replace(f(d), g) } function e(a, b) { return a.classList ? a.classList.contains(b) : f(b).test(a.className) } function f(a) { return new RegExp("\\b" + a + "\\b", "g") } a({ add: b, remove: c, replace: d, present: e }) }); provide("util/env", function (a) { var b = window.navigator.userAgent; a({ retina: function () { return (window.devicePixelRatio || 1) > 1 }, ie6: function () { return /MSIE 6/.test(b) }, ie7: function () { return /MSIE 7/.test(b) }, touch: function () { return "ontouchstart" in window || /Opera Mini/.test(b) }, cssTransitions: function () { var a = document.body.style; return a.transition !== undefined || a.webkitTransition !== undefined || a.mozTransition !== undefined || a.oTransition !== undefined || a.msTransition !== undefined } }) }); provide("dom/delegate", function (a) { using("util/env", function (b) { function e(a) { var b = a.getAttribute("data-twitter-event-id"); return b ? b : (a.setAttribute("data-twitter-event-id", ++d), d) } function f(a, b, c) { var d = 0, e = a && a.length || 0; for (d = 0; d < e; d++) a[d].call(b, c) } function g(a, b, c) { var d = c || a.target || a.srcElement, e = d.className.split(" "), h = 0, i, j = e.length; for (; h < j; h++) f(b["." + e[h]], d, a); f(b[d.tagName], d, a); if (a.cease) return; d !== this && g.call(this, a, b, d.parentElement || d.parentNode) } function addEventListener(a, b, c) { if (a.addEventListener) { a.addEventListener(b, function (d) { g.call(a, d, c[b]) }, !1); return } a.attachEvent && a.attachEvent("on" + b, function () { g.call(a, a.ownerDocument.parentWindow.event, c[b]) }) } function i(a, b, d, f) { var g = e(a); c[g] = c[g] || {}; if (!c[g][b]) { c[g][b] = {}; addEventListener(a, b, c[g]); } c[g][b][d] = c[g][b][d] || []; c[g][b][d].push(f); } function j(a, b, d) { var f = e(b), h = c[f] && c[f]; g.call(b, { target: d }, h[a]) } function k(a) { return m(a), l(a), !1 } function l(a) { a && a.preventDefault ? a.preventDefault() : a.returnValue = !1 } function m(a) { a && (a.cease = !0) && a.stopPropagation ? a.stopPropagation() : a.cancelBubble = !0 } var c = {}, d = -1; a({ stop: k, stopPropagation: m, preventDefault: l, delegate: i, simulate: j }) }) }); provide("util/twitter", function (a) { using("util/querystring", function (b) { function f(a) { return typeof a == "string" && c.test(a) && RegExp.$1.length <= 20 } function g(a) { return f(a) && RegExp.$1 } function h(a) { var c = b.decodeURL(a); c.screen_name = g(a); if (c.screen_name) return b.url("https://twitter.com/intent/user", c) } function i(a) { return typeof a == "string" && !/\W/.test(a) } function j(a) { return i(a) ? "#" + a : "" } function k(a) { return typeof a == "string" && d.test(a) } function l(a) { return k(a) && RegExp.$1 } function m(a) { return e.test(a) } var c = /(?:^|(?:https?\:)?\/\/(?:www\.)?twitter\.com(?:\:\d+)?(?:\/intent\/(?:follow|user)\/?\?screen_name=|(?:\/#!)?\/))@?([\w]+)(?:\?|&|$)/i, d = /(?:^|(?:https?\:)?\/\/(?:www\.)?twitter\.com(?:\:\d+)?\/(?:#!\/)?[\w_]+\/status(?:es)?\/)(\d+)/i, e = /^http(s?):\/\/((www\.)?)twitter.com\//; a({ isHashTag: i, hashTag: j, isScreenName: f, screenName: g, isStatus: k, status: l, intentForProfileURL: h, isTwitterURL: m, regexen: { profile: c } }) }) }); provide("util/insert", function (a) { a(function (a, b) { if (b) { if (!b.parentNode) return b; b.parentNode.replaceChild(a, b), delete b } else document.body.insertBefore(a, document.body.firstChild); return a }) }); provide("util/datetime", function (a) { using("util/util", function (b) { function n(a) { var e = a || "", h = e.toString(), i, j; return i = function () { var a; if (f.test(h)) return parseInt(h, 10); if (a = h.match(d)) return Date.UTC(a[7], b.indexOf(g, a[1]), a[2], a[3], a[4], a[5]); if (a = h.match(c)) return Date.UTC(a[1], a[2] - 1, a[3], a[4], a[5], a[6]) }(), i ? (j = new Date(i), !isNaN(j.getTime()) && j) : !1 } function o(a, b) { function q(a, b) { return p && p[a] && (a = p[a]), a.replace(/%\{([\w_]+)\}/g, function (a, c) { return b[c] !== undefined ? b[c] : a }) } var c = n(a), d = +(new Date), e = d - c, f, l = b && b.months || g, o = b && b.formats || { abbr: "%{number}%{symbol}", shortdate: "%{day} %{month}", longdate: "%{day} %{month} %{year}" }, p = b && b.phrases; return c ? isNaN(e) || e < h * 2 ? q("now") : e < i ? (f = Math.floor(e / h), q(o.abbr, { number: f, symbol: q(m, { abbr: q("s"), expanded: f > 1 ? q("seconds") : q("second") }) })) : e < j ? (f = Math.floor(e / i), q(o.abbr, { number: f, symbol: q(m, { abbr: q("m"), expanded: f > 1 ? q("minutes") : q("minute") }) })) : e < k ? (f = Math.floor(e / j), q(o.abbr, { number: f, symbol: q(m, { abbr: q("h"), expanded: f > 1 ? q("hours") : q("hour") }) })) : e < k * 365 ? q(o.shortdate, { day: c.getDate(), month: q(l[c.getMonth()]) }) : q(o.longtime, { day: c.getDate(), month: q(l[c.getMonth()]), year: c.getFullYear().toString().slice(2) }) : "" } var c = /(\d{4})-?(\d{2})-?(\d{2})T(\d{2}):?(\d{2}):?(\d{2})(Z|[\+\-]\d{2}:?\d{2})/, d = /[a-z]{3,4} ([a-z]{3}) (\d{1,2}) (\d{1,2}):(\d{2}):(\d{2}) ([\+\-]\d{2}:?\d{2}) (\d{4})/i, e = /[a-z]{3,4}, (\d{1,2}) ([a-z]{3}) (\d{4}) (\d{1,2}):(\d{2}):(\d{2}) ([\+\-]\d{2}:?\d{2})/i, f = /^\d+$/, g = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], h = 1e3, i = h * 60, j = i * 60, k = j * 24, l = k * 7, m = '<abbr title="%{expanded}">%{abbr}</abbr>'; a({ parse: n, timeAgo: o }) }) }); provide("util/css", function (a) { using("util/util", function (b) { a({ sanitize: function (a, c) { var d = /^[\w ,%\/"'\-_#]+$/, e = a && b.map(a.split(";"), function (a) { return b.map(a.split(":").slice(0, 2), function (a) { return b.trim(a) }) }), f = 0, g, h = []; c = c || /^(font\-|text\-|letter\-|color)[\w\-]*$/; for (; e && (g = e[f]); f++) g[0].match(c) && g[1].match(d) && h.push(g.join(":")); return h.join(";") } }) }) }); provide("tfw/widget/params", function (a) { using("util/querystring", "util/twitter", function (b, c) { a(function (a, d) { return function (e) { var f, g = "data-tw-params", h, i = e.innerHTML; if (!e) return; if (!c.isTwitterURL(e.href)) return; if (e.getAttribute(g)) return; e.setAttribute(g, !0); if (typeof d == "function") { f = d.call(this, e); for (h in f) f.hasOwnProperty(h) && (a[h] = f[h]) } e.href = b.url(e.href, a), e.innerHTML = i } }) }) }); provide("$xd/json2.js", function (exports) { window.JSON || (window.JSON = {}), function () { function f(a) { return a < 10 ? "0" + a : a } function quote(a) { return escapable.lastIndex = 0, escapable.test(a) ? '"' + a.replace(escapable, function (a) { var b = meta[a]; return typeof b == "string" ? b : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4) }) + '"' : '"' + a + '"' } function str(a, b) { var c, d, e, f, g = gap, h, i = b[a]; i && typeof i == "object" && typeof i.toJSON == "function" && (i = i.toJSON(a)), typeof rep == "function" && (i = rep.call(b, a, i)); switch (typeof i) { case "string": return quote(i); case "number": return isFinite(i) ? String(i) : "null"; case "boolean": case "null": return String(i); case "object": if (!i) return "null"; gap += indent, h = []; if (Object.prototype.toString.apply(i) === "[object Array]") { f = i.length; for (c = 0; c < f; c += 1) h[c] = str(c, i) || "null"; return e = h.length === 0 ? "[]" : gap ? "[\n" + gap + h.join(",\n" + gap) + "\n" + g + "]" : "[" + h.join(",") + "]", gap = g, e } if (rep && typeof rep == "object") { f = rep.length; for (c = 0; c < f; c += 1) d = rep[c], typeof d == "string" && (e = str(d, i), e && h.push(quote(d) + (gap ? ": " : ":") + e)) } else for (d in i) Object.hasOwnProperty.call(i, d) && (e = str(d, i), e && h.push(quote(d) + (gap ? ": " : ":") + e)); return e = h.length === 0 ? "{}" : gap ? "{\n" + gap + h.join(",\n" + gap) + "\n" + g + "}" : "{" + h.join(",") + "}", gap = g, e } } typeof Date.prototype.toJSON != "function" && (Date.prototype.toJSON = function (a) { return isFinite(this.valueOf()) ? this.getUTCFullYear() + "-" + f(this.getUTCMonth() + 1) + "-" + f(this.getUTCDate()) + "T" + f(this.getUTCHours()) + ":" + f(this.getUTCMinutes()) + ":" + f(this.getUTCSeconds()) + "Z" : null }, String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function (a) { return this.valueOf() }); var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, gap, indent, meta = { "\b": "\\b", "\t": "\\t", "\n": "\\n", "\f": "\\f", "\r": "\\r", '"': '\\"', "\\": "\\\\" }, rep; typeof JSON.stringify != "function" && (JSON.stringify = function (a, b, c) { var d; gap = "", indent = ""; if (typeof c == "number") for (d = 0; d < c; d += 1) indent += " "; else typeof c == "string" && (indent = c); rep = b; if (!b || typeof b == "function" || typeof b == "object" && typeof b.length == "number") return str("", { "": a }); throw new Error("JSON.stringify") }), typeof JSON.parse != "function" && (JSON.parse = function (text, reviver) { function walk(a, b) { var c, d, e = a[b]; if (e && typeof e == "object") for (c in e) Object.hasOwnProperty.call(e, c) && (d = walk(e, c), d !== undefined ? e[c] = d : delete e[c]); return reviver.call(a, b, e) } var j; cx.lastIndex = 0, cx.test(text) && (text = text.replace(cx, function (a) { return "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4) })); if (/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return j = eval("(" + text + ")"), typeof reviver == "function" ? walk({ "": j }, "") : j; throw new SyntaxError("JSON.parse") }) }(); exports(); loadrunner.Script.loaded.push("$xd/json2.js") }); provide("util/params", function (a) { using("util/querystring", function (b) { var c = function (a) { var c = a.search.substr(1); return b.decode(c) }, d = function (a) { var c = a.href, d = c.indexOf("#"), e = d < 0 ? "" : c.substring(d + 1); return b.decode(e) }, e = function (a) { var b = {}, e = c(a), f = d(a); for (var g in e) e.hasOwnProperty(g) && (b[g] = e[g]); for (var g in f) f.hasOwnProperty(g) && (b[g] = f[g]); return b }; a({ combined: e, fromQuery: c, fromFragment: d }) }) }); provide("tfw/widget/env", function (a) { using("util/params", function (b) { function d() { var a = 36e5, d = b.combined(document.location)._; return c !== undefined ? c : (c = !1, d && /^\d+$/.test(d) && (c = +(new Date) - parseInt(d) < a), c) } var c; a({ isDynamicWidget: d }) }) }); provide("util/decider", function (a) { function c(a) { var c = b[a] || !1; if (!c) return !1; if (c === !0 || c === 100) return !0; var d = Math.random() * 100, e = c >= d; return b[a] = e, e } var b = { force_new_cookie: 100, rufous_pixel: 100, decider_fixture: 12.34 }; a({ isAvailable: c }) }); provide("dom/cookie", function (a) { using("util/util", function (b) { a(function (a, c, d) { var e = b.aug({}, d); if (arguments.length > 1 && String(c) !== "[object Object]") { if (c === null || c === undefined) e.expires = -1; if (typeof e.expires == "number") { var f = e.expires, g = new Date((new Date).getTime() + f * 60 * 1e3); e.expires = g } return c = String(c), document.cookie = [encodeURIComponent(a), "=", e.raw ? c : encodeURIComponent(c), e.expires ? "; expires=" + e.expires.toUTCString() : "", e.path ? "; path=" + e.path : "", e.domain ? "; domain=" + e.domain : "", e.secure ? "; secure" : ""].join("") } e = c || {}; var h, i = e.raw ? function (a) { return a } : decodeURIComponent; return (h = (new RegExp("(?:^|; )" + encodeURIComponent(a) + "=([^;]*)")).exec(document.cookie)) ? i(h[1]) : null }) }) }); provide("util/donottrack", function (a) { using("dom/cookie", function (b) { a(function (a) { var c = /\.(gov|mil)(:\d+)?$/i, d = /https?:\/\/([^\/]+).*/i; return a = a || document.referrer, a = d.test(a) && d.exec(a)[1], b("dnt") ? !0 : c.test(document.location.host) ? !0 : a && c.test(a) ? !0 : document.navigator ? document.navigator["doNotTrack"] == 1 : navigator ? navigator["doNotTrack"] == 1 || navigator["msDoNotTrack"] == 1 : !1 }) }) }); provide("tfw/widget/guest_cookie", function (a) { using("dom/cookie", "util/donottrack", "util/decider", function (b, c, d) { function f() { var a = b(e) || !1; if (!a) return; a.match(/^v3\:/) || g() } function g() { b(e) && b(e, null, { domain: ".twitter.com", path: "/" }) } function h() { c() && g() } var e = "pid"; a({ set: h, destroy: g, forceNewCookie: f, guest_id_cookie: e }) }) }); provide("tfw/widget/tracking", function (a) { using("dom/cookie", "dom/sandbox", "util/donottrack", "tfw/widget/guest_cookie", "tfw/widget/env", "util/util", "$xd/json2.js", function (b, c, d, e, f, g, h) { function u() { function a(a) { s = a.frame, r = a.doc, q = a.doc.body, m = F(), n = G(); while (o[0]) z.apply(this, o.shift()); p && A() } s = document.getElementById("rufous-sandbox"), s ? (r = s.contentWindow.document, q = r.body) : c(a, { id: "rufous-sandbox" }, { display: "none" }) } function v(a, b, c, d) { var e = !g.isObject(a), f = b ? !g.isObject(b) : !1, h, i; if (e || f) return; if (/Firefox/.test(navigator.userAgent)) return; h = C(a), i = D(b, !! c, !! d), y(h, i, !0) } function w(a, c, h, i) { var k = j[c], l, m, n = e.guest_id_cookie; if (!k) return; a = a || {}, i = !! i, h = !! h, m = a.original_redirect_referrer || document.referrer, i = i || d(m), l = g.aug({}, a), h || (x(l, "referrer", m), x(l, "widget", +f.isDynamicWidget()), x(l, "hask", + !! b("k")), x(l, "li", + !! b("twid")), x(l, n, b(n) || "")), i && (x(l, "dnt", 1), I(l)), H(k + "?" + E(l)) } function x(a, b, c) { var d = i + b; if (!a) return; return a[d] = c, a } function y(a, b, c) { var d, e, f, h, i, j = "https://twitter.com/i/jot?"; if (!g.isObject(a) || !g.isObject(b)) return; if (Math.random() > t) return; f = g.aug({}, b, { event_namespace: a }), c ? (j += E({ l: J(f) }), H(j)) : (d = m.firstChild, d.value = +d.value || +f.dnt, h = J(f), e = r.createElement("input"), e.type = "hidden", e.name = "l", e.value = h, m.appendChild(e)) } function z(a, b, c, d) { var e = !g.isObject(a), f = b ? !g.isObject(b) : !1, h, i; if (e || f) return; if (!q) { o.push([a, b, c, d]); return } h = C(a), i = D(b, !! c, !! d), y(h, i) } function A() { if (!m) { p = !0; return } if (m.children.length <= 1) return; q.appendChild(m), q.appendChild(n), m.submit(), window.setTimeout(B(m, n), 6e4), m = F(), n = G() } function B(a, b) { return function () { var c = a.parentNode; c.removeChild(a), c.removeChild(b) } } function C(a) { var b = { client: "tfw" }, c, d; return c = g.aug(b, a || {}), c } function D(a, b, c) { var e = { _category_: "tfw_client_event" }, f, h, i; return b = !! b, c = !! c, f = g.aug(e, a || {}), h = f.widget_origin || document.referrer, f.format_version = 1, f.dnt = c = c || d(h), f.triggered_on = f.triggered_on || +(new Date), b || (f.widget_origin = h), c && I(f), f } function E(a) { var b = [], c, d, e; for (c in a) a.hasOwnProperty(c) && (d = encodeURIComponent(c), e = encodeURIComponent(a[c]), e = e.replace(/'/g, "%27"), b.push(d + "=" + e)); return b.join("&") } function F() { var a = r.createElement("form"), b = r.createElement("input"); return l++, a.action = "https://twitter.com/i/jot", a.method = "POST", a.target = "rufous-frame-" + l, a.id = "rufous-form-" + l, b.type = "hidden", b.name = "dnt", b.value = 0, a.appendChild(b), a } function G() { var a, b = "rufous-frame-" + l, c = 0; try { a = r.createElement("<iframe name=" + b + ">") } catch (d) { a = r.createElement("iframe"), a.name = b } return a.id = b, a.style.display = "none", a.width = 0, a.height = 0, a.border = 0, a } function H(a) { var b = document.createElement("img"); b.src = a, b.alt = "", b.style.position = "absolute", b.style.height = "1px", b.style.width = "1px", b.style.top = "-9999px", b.style.left = "-9999px", document.body.appendChild(b) } function I(a) { var b; for (b in a)~g.indexOf(k, b) && delete a[b] } function J(a) { var b = Array.prototype.toJSON, c; return delete Array.prototype.toJSON, c = JSON.stringify(a), Array.prototype.toJSON = b, c } var i = "twttr_", j = { tweetbutton: "//p.twitter.com/t.gif", followbutton: "//p.twitter.com/f.gif", tweetembed: "//p.twitter.com/e.gif" }, k = ["hask", "li", "logged_in", "pid", "user_id", e.guest_id_cookie, i + "hask", i + "li", i + e.guest_id_cookie], l = 0, m, n, o = [], p, q, r, s, t = .25; e.forceNewCookie(), a({ enqueue: z, flush: A, initPostLogging: u, addPixel: v, addLegacyPixel: w, addVar: x }) }) }); provide("tfw/assets", function (a) { using("util/env", function (b) { function d(a, d) { var e = c[a], f; return b.retina() ? f = "2x" : b.ie6() || b.ie7() ? f = "gif" : f = "default", d && (f += ".rtl"), e[f] } var c = { "embed/timeline.css": { "default": "embed/timeline.5eb08074ccff40735cf576352c81c1e1.default.css", "2x": "embed/timeline.5eb08074ccff40735cf576352c81c1e1.2x.css", gif: "embed/timeline.5eb08074ccff40735cf576352c81c1e1.gif.css", "default.rtl": "embed/timeline.5eb08074ccff40735cf576352c81c1e1.default.rtl.css", "2x.rtl": "embed/timeline.5eb08074ccff40735cf576352c81c1e1.2x.rtl.css", "gif.rtl": "embed/timeline.5eb08074ccff40735cf576352c81c1e1.gif.rtl.css" }, "embed/embed.ff268cb1fe83dd17c1ba606826968a3a.css": { "default": "embed/embed.default.css", "2x": "embed/embed.2x.css", gif: "embed/embed.gif.css", "default.rtl": "embed/embed.default.rtl.css", "2x.rtl": "embed/embed.2x.rtl.css", "gif.rtl": "embed/embed.gif.rtl.css" } }; a(d) }) }); provide("util/logger", function (a) { function c(a) { window[b] && window[b].log && window[b].log(a) } function d(a) { window[b] && window[b].warn && window[b].warn(a) } function e(a) { window[b] && window[b].error && window[b].error(a) } var b = ["con", "sole"].join(""); a({ info: c, warn: d, error: e }) }); provide("tfw/data", function (a) { using("util/logger", "util/util", "util/querystring", function (b, c, d) { function l(a, b) { return a == {}.toString.call(b).match(/\s([a-zA-Z]+)/)[1].toLowerCase() } function m(a) { return function (c) { c.error ? a.error && a.error(c) : c.headers && c.headers.status != 200 ? (a.error && a.error(c), b.warn(c.headers.message)) : a.success && a.success(c), a.complete && a.complete(c), n(a) } } function n(a) { var b = a.script; b && (b.onload = b.onreadystatechange = null, b.parentNode && b.parentNode.removeChild(b), a.script = undefined, b = undefined), a.callbackName && twttr.tfw.callbacks[a.callbackName] && delete twttr.tfw.callbacks[a.callbackName] } function o(a) { var b = {}; return a.success && l("function", a.success) && (b.success = a.success), a.error && l("function", a.error) && (b.error = a.error), a.complete && l("function", a.complete) && (b.complete = a.complete), b } function p(a, b, c) { var d = a.length, e = [], f = {}, g = 0; return function (e) { var h, i = [], j = [], k = [], l, m; h = c(e), f[h] = e; if (++g === d) { for (l = 0; l < d; l++) m = f[a[l]], i.push(m), m.error ? k.push(m) : j.push(m); b.error && k.length > 0 && b.error(k), b.success && j.length > 0 && b.success(j), b.complete && b.complete(i) } } } twttr = twttr || {}, twttr.tfw = twttr.tfw || {}, twttr.tfw.callbacks = twttr.tfw.callbacks || {}; var e = "twttr.tfw.callbacks", f = twttr.tfw.callbacks, g = "cb", h = 0, i = !1, j = {}, k = { userLookup: "//api.twitter.com/1/users/lookup.json", userShow: "//cdn.api.twitter.com/1/users/show.json", status: "//cdn.api.twitter.com/1/statuses/show.json", count: "//cdn.api.twitter.com/1/urls/count.json", friendship: "//cdn.api.twitter.com/1/friendships/exists.json", timeline: "//cdn.syndication.twimg.com/widgets/timelines/", timelinePoll: "//syndication.twimg.com/widgets/timelines/paged/", timelinePreview: "//syndication.twimg.com/widgets/timelines/preview/" }; twttr.widgets && twttr.widgets.endpoints && c.aug(k, twttr.widgets.endpoints), j.jsonp = function (a, b, c) { var j = c || g + h, k = e + "." + j, l = document.createElement("script"), n = { callback: k, suppress_response_codes: !0 }; f[j] = m(b); if (i || !/^https?\:$/.test(window.location.protocol)) a = a.replace(/^\/\//, "https://"); l.src = d.url(a, n), l.async = "async", document.body.appendChild(l), b.script = l, b.callbackName = j, c || h++ }, j.config = function (a) { if (a.forceSSL === !0 || a.forceSSL === !1) i = a.forceSSL }, j.user = function () { var a, b = {}, c, e, f; arguments.length === 1 ? (a = arguments[0].screenName, b = o(arguments[0])) : (a = arguments[0], b.success = arguments[1]), c = l("array", a) ? k.userLookup : k.userShow, a = l("array", a) ? a.join(",") : a, e = { screen_name: a }, f = d.url(c, e), this.jsonp(f, b) }, j.userById = function (a) { var b, c = {}, e, f, g; arguments.length === 1 ? (b = arguments[0].ids, c = o(arguments[0])) : (b = arguments[0], c.success = arguments[1]), e = l("array", b) ? k.userLookup : k.userShow, b = l("array", b) ? b.join(",") : b, f = { user_id: b }, g = d.url(e, f), this.jsonp(g, c) }, j.status = function () { var a, b = {}, c, e, f, g; arguments.length === 1 ? (a = arguments[0].id, b = o(arguments[0])) : (a = arguments[0], b.success = arguments[1]); if (!l("array", a)) c = { id: a, include_entities: !0 }, e = d.url(k.status, c), this.jsonp(e, b); else { f = p(a, b, function (a) { return a.error ? a.request.split("id=")[1].split("&")[0] : a.id_str }); for (g = 0; g < a.length; g++) c = { id: a[g], include_entities: !0 }, e = d.url(k.status, c), this.jsonp(e, { success: f, error: f }) } }, j.tweet = j.status, j.count = function () { var a = "", b, c, e = {}; arguments.length === 1 ? (a = arguments[0].url, e = o(arguments[0])) : arguments.length === 2 && (a = arguments[0], e.success = arguments[1]), c = { url: a }, b = d.url(k.count, c), this.jsonp(b, e) }, j.friendshipExists = function (a) { var b = arguments[0], c = o(arguments[0]), e = { screen_name_a: a.screenNameA, screen_name_b: a.screenNameB }, f = d.url(k.friendship, e); this.jsonp(f, c) }, j.timeline = function (a) { var b = arguments[0], c = o(b), e, f = 9e5, g = Math.floor(+(new Date) / f), h = { lang: a.lang, t: g, domain: window.location.host }; a.dnt && (h.dnt = a.dnt), a.screenName && (h.screen_name = a.screenName), a.userId && (h.user_id = a.userId), a.withReplies && (h.with_replies = a.withReplies), e = d.url(k.timeline + a.id, h), this.jsonp(e, c, "tl_" + a.id) }, j.timelinePoll = function (a) { var b = arguments[0], c = o(b), e = { lang: a.lang, since_id: a.sinceId, max_id: a.maxId, domain: window.location.host }, f; a.dnt && (e.dnt = a.dnt), a.screenName && (e.screen_name = a.screenName), a.userId && (e.user_id = a.userId), a.withReplies && (e.with_replies = a.withReplies), f = d.url(k.timelinePoll + a.id, e), this.jsonp(f, c, "tlPoll_" + a.id + "_" + (a.sinceId || a.maxId)) }, j.timelinePreview = function (a) { var b = arguments[0], c = o(b), e = a.params, f = d.url(k.timelinePreview, e); this.jsonp(f, c) }, a(j) }) }); provide("anim/transition", function (a) { function b(a, b) { var c; return b = b || window, c = b.requestAnimationFrame || b.webkitRequestAnimationFrame || b.mozRequestAnimationFrame || b.msRequestAnimationFrame || b.oRequestAnimationFrame || function (c) { b.setTimeout(function () { a(+(new Date)) }, 1e3 / 60) }, c(a) } function c(a, b) { return Math.sin(Math.PI / 2 * b) * a } function d(a, c, d, e, f) { function i(h) { var j = h - g, k = Math.min(j / d, 1), l = e ? e(c, k) : c * k; a(l); if (k == 1) return; b(i, f) } var g = +(new Date), h; b(i) } a({ animate: d, requestAnimationFrame: b, easeOut: c }) }); provide("tfw/widget/timeline", function (a) { using("anim/transition", "tfw/widget/base", "tfw/widget/intent", "tfw/data", "tfw/assets", "tfw/widget/tracking", "tfw/widget/params", "util/css", "util/datetime", "util/env", "util/iframe", "util/insert", "util/twitter", "util/querystring", "util/util", "dom/delegate", "dom/classname", "dom/get", "dom/sandbox", function (b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) { function ba(a, b, c) { var d; c = c || document; if (c.getElementById(a)) return; d = c.createElement("link"), d.id = a, d.rel = "stylesheet", d.type = "text/css", d.href = twttr.widgets.config.assetUrl() + "/" + b, c.getElementsByTagName("head")[0].appendChild(d) } function bb(a) { if (!a) return; var b, d, e, f, g = this; c.Base.apply(this, [a]), b = this.params(), this.preview = b.previewParams, this.widgetId = b.widgetId || this.dataAttr("widget-id"), this.widgetScreenName = b.screenName || this.dataAttr("screen-name"), this.widgetUserId = b.userId || this.dataAttr("user-id"); if (b.showReplies === !0 || this.dataAttr("show-replies") == "true") this.widgetShowReplies = "true"; this.targetEl = this.srcEl && this.srcEl.parentNode || b.targetEl || document.body, e = this.targetEl && this.targetEl.offsetWidth, d = b.width || this.attr("width") || e, this.height = v.test(b.height || this.attr("height")) && RegExp.$1, this.width = Math.max(A, Math.min(v.test(d) ? RegExp.$1 : y, y)), this.narrow = b.narrow || this.width <= z, this.chromeless = (b.chrome || this.dataAttr("chrome")) == "none", this.headingStyle = i.sanitize(b.headingStyle || this.dataAttr("heading-style")), this.linkColor = w.test(b.linkColor || this.dataAttr("link-color")) && RegExp.$1, this.theme = b.theme || this.attr("data-theme"), this.theme = /(dark|light)/.test(this.theme) ? this.theme : "", this.classAttr.push("twitter-timeline-rendered"), this.classAttr.push(k.touch() ? "is-touch" : "not-touch"), this.ariaPolite = b.ariaPolite || this.dataAttr("aria-polite"), t(function (a) { g.sandboxReady = !0, g.setupSandbox.call(g, a) }, { "class": "twitter-timeline twitter-timeline-rendered", id: this.id }, { width: "1px", height: "1px", border: "none", position: "absolute" }, function (a) { g.srcEl ? g.targetEl.insertBefore(a, g.srcEl) : g.targetEl.appendChild(a) }) } function bc(a, b) { var c = a.ownerDocument, d = s.one(Q, a, "DIV"), e = d.children[0], f = e.getAttribute("data-expanded-media"), g, h = 0, i = s.one(R, a, "A"), j = i && i.getElementsByTagName("B")[0], k = j && (j.innerText || j.textContent), l; if (!j) return; j.innerHTML = i.getAttribute("data-toggled-text"), i.setAttribute("data-toggled-text", k); if (r.present(a, P)) { r.remove(a, P), d.style.cssText = ""; return } f && (g = c.createElement("DIV"), g.innerHTML = f, bd(g), h = bf(g, b), e.removeAttribute("data-expanded-media"), e.appendChild(g)), l = Math.max(e.offsetHeight, h), d.style.cssText = "height:" + l + "px", r.add(a, P) } function bd(a) { if (!k.retina()) return; var b = a.getElementsByTagName("IMG"), c, d, e = 0, f = b.length; for (; e < f; e++) c = b[e], d = c.getAttribute("data-src-2x"), d && (c.src = d) } function be(a, b, c, d) { return b > a && b > d ? (a *= d / b, b = d) : a > c && (b *= c / a, a = c), { width: Math.ceil(a), height: Math.ceil(b) } } function bf(a, b) { var c = a.getElementsByTagName("IMG"), d = a.getElementsByTagName("IFRAME"), e, f, g, h = 0, i = 0, j; for (; e = [c, d][i]; i++) if (e.length) for (j = 0; f = e[j]; j++) g = be(f.getAttribute("width") || f.width, f.getAttribute("height") || f.height, b, f.getAttribute("height") || f.height), g.width > 0 && (f.width = g.width), g.height > 0 && (f.height = g.height), h = g.height > h ? g.height : h; return h } var u = "1.0", v = /^([0-9]+)( ?px)?$/, w = /^(#(?:[0-9a-f]{3}|[0-9a-f]{6}))$/i, x = "600", y = "520", z = "320", A = "180", B = "250", C = 81, D = 16, E = { CLIENT_SIDE_USER: 0, CLIENT_SIDE_APP: 2 }, F = [".customisable", ".customisable:link", ".customisable:visited", ".customisable:hover", ".customisable:active", ".customisable-highlight:hover", "a:hover .customisable-highlight", "a:focus .customisable-highlight"], G = ["a:hover .ic-mask", "a:focus .ic-mask"], H = [".timeline-header h1.summary", ".timeline-header h1.summary a:link", ".timeline-header h1.summary a:visited"], I = "timeline", J = "new-tweets-bar", K = "timeline-header", L = "timeline-footer", M = "stream", N = "h-feed", O = "tweet", P = "expanded", Q = "detail-expander", R = "expand", S = "permalink", T = "twitter-tweet-box", U = "tweet-box-button", V = "twitter-follow-button", W = "no-more-pane", X = "pending-scroll-in", Y = "pending-new-tweet", Z = "show-new-tweet", $ = "show-tweet-box", _ = "web-intent"; bb.prototype = new c.Base, p.aug(bb.prototype, { create: function (a) { var b = this.sandbox.doc.createElement("div"), c, d = this, e, f, h, i = [], j, k; b.innerHTML = a.body, c = b.children[0] || !1; if (!c) return; this.reconfigure(a.config), this.augmentWidgets(c), bd(c), bf(c, this.contentWidth()), this.searchQuery = c.getAttribute("data-search-query"), this.profileId = c.getAttribute("data-profile-id"), j = this.getTweetDetails(b); for (k in j) j.hasOwnProperty(k) && i.push(k); return g.enqueue({ page: "timeline", component: "timeline", element: "initial", action: i.length ? "results" : "no_results" }, { widget_id: this.widgetId, item_ids: i, item_details: j, client_version: u, message: this.partner, query: this.searchQuery, profile_id: this.profileId }, !0, this.dnt), g.flush(), this.ariaPolite == "assertive" && (f = s.one(J, c, "DIV"), f.setAttribute("aria-polite", "assertive")), c.id = this.id, c.className += " " + this.classAttr.join(" "), c.lang = this.lang, twttr.widgets.load(c), h = function () { d.sandbox.body.appendChild(c), d.sandbox.win.setTimeout(function () { var a = s.one(K, c, "DIV"), b = s.one(L, c, "DIV"), f = s.one(M, c, "DIV"); b ? e = a.offsetHeight + b.offsetHeight : e = a.offsetHeight, f.style.cssText = "height:" + (d.height - e - 2) + "px" }, 500), d.sandbox.frame.style.cssText = "", d.sandbox.frame.width = d.width, d.sandbox.frame.height = d.height, d.sandbox.frame.style.border = "none" }, this.frameIsReady ? h() : this.onFrameReady = h, this.srcEl && this.srcEl.parentNode.removeChild(this.srcEl), c }, render: function (a, b) { function j() { d.success = function (a) { c.element = c.create(a), c.readTranslations(), c.bindEvents(), b && b(c.sandbox.frame); return }, d.error = function (a) { a && a.headers && b && b(a.headers.status) }, d.params = c.preview, e.timelinePreview(d); return } function k() { g.initPostLogging(), e.timeline({ id: c.widgetId, screenName: c.widgetScreenName, userId: c.widgetUserId, withReplies: c.widgetShowReplies, dnt: c.dnt, lang: c.lang, success: function (a) { c.element = c.create(a), c.readTranslations(), c.bindEvents(), a.headers.xPolling && /\d/.test(a.headers.xPolling) && (c.pollInterval = a.headers.xPolling * 1e3), c.updateTimeStamps(), c.schedulePolling(), b && b(c.sandbox.frame); return }, error: function (a) { a && a.headers && b && b(a.headers.status) } }) } var c = this, d = {}, f, h, i; if (!this.preview && !this.widgetId) { b && b(400); return } i = this.preview ? j : k, this.sandboxReady ? i() : window.setTimeout(i, 0) }, reconfigure: function (a) { this.lang = a.lang, this.theme || (this.theme = a.theme), this.theme == "dark" && this.classAttr.push("thm-dark"), this.chromeless && this.classAttr.push("var-chromeless"), !this.linkColor && a.linkColor && w.test(a.linkColor) && (this.linkColor = RegExp.$1), this.linkColor && this.addLinkColorStyle(this.linkColor), !this.height && v.test(a.height) && (this.height = RegExp.$1), this.height = Math.max(B, this.height ? this.height : x), this.preview && this.classAttr.push("var-preview"), this.narrow = this.width <= z, this.narrow && this.classAttr.push("var-narrow") }, getTweetDetails: function (a) { var b = s.all(O, a, "LI"), c = {}, d, e, f, g, h = { TWEET: 0, RETWEET: 10 }, i = 0; for (; d = b[i]; i++) e = s.one(S, d, "A"), f = n.status(e.href), g = d.getAttribute("data-tweet-id"), f === g ? c[f] = { item_type: h.TWEET } : c[f] = { item_type: h.RETWEET, target_type: h.TWEET, target_id: g }; return c }, addLinkColorStyle: function (a) { var b = this, c = this.sandbox.doc, d = this.id + "-styles", e, f = 0, g = function (a) { return (b.theme == "dark" ? ".thm-dark " : "") + a }, h, i, j = ""; if (c.getElementById(d)) return; this.headingStyle && (j = p.map(H, g).join(",") + "{" + this.headingStyle + "}"), h = p.map(F, g).join(",") + "{color:" + a + "}", i = p.map(G, g).join(",") + "{background-color:" + a + "}", e = c.createElement("style"), e.id = d, e.type = "text/css", e.styleSheet ? e.styleSheet.cssText = h + i + j : (e.appendChild(c.createTextNode(h)), e.appendChild(c.createTextNode(i)), e.appendChild(c.createTextNode(j))), c.getElementsByTagName("head")[0].appendChild(e) }, bindEvents: function () { var a = this, b = this.element, c = !0; q.delegate(b, "click", ".profile", function (b) { var c; a.addUrlParams(this), c = n.intentForProfileURL(this.href), c && (d.open(c), q.preventDefault(b)) }), q.delegate(b, "click", "." + _, function (b) { a.addUrlParams(this), d.open(this.href), q.preventDefault(b) }), q.delegate(b, "click", "." + R, function (c) { bc(s.ancestor("." + O, this, b), a.contentWidth()), q.stop(c) }), q.delegate(b, "click", "A", function (a) { q.stopPropagation(a) }), q.delegate(b, "click", ".with-expansion", function (b) { bc(this, a.contentWidth()), q.stop(b) }), q.delegate(b, "click", ".load-more", function (b) { a.loadMore() }), q.delegate(b, "click", "." + J, function (b) { a.scrollToTop(), a.hideNewTweetNotifier(!0) }), q.delegate(b, "click", ".load-tweets", function (b) { c && (c = !1, a.forceLoad(), q.stop(b)) }), q.delegate(b, "click", ".display-sensitive-image", function (c) { a.showNSFW(s.ancestor("." + O, this, b)), q.stop(c) }), q.delegate(b, "mouseover", "." + I, function (b) { a.mouseOver = !0 }), q.delegate(b, "mouseout", "." + I, function (b) { a.mouseOver = !1 }), q.delegate(b, "mouseover", "." + J, function (b) { a.mouseOverNotifier = !0 }), q.delegate(b, "mouseout", "." + J, function (b) { a.mouseOverNotifier = !1, window.setTimeout(function () { a.hideNewTweetNotifier() }, 3e3) }) }, scrollToTop: function () { var a = s.one(M, this.element, "DIV"); a.scrollTop = 0, a.focus() }, update: function () { var a = this, b = s.one(O, this.element, "LI"), c = b && b.getAttribute("data-tweet-id"); this.updateTimeStamps(), this.requestTweets(c, !0, function (b) { b.childNodes.length > 0 && a.insertNewTweets(b) }) }, loadMore: function () { var a = this, b = s.all(O, this.element, "LI").pop(), c = b && b.getAttribute("data-tweet-id"); this.requestTweets(c, !1, function (b) { var d = s.one(W, a.element, "P"), e = b.childNodes[0]; d.style.cssText = "", e && e.getAttribute("data-tweet-id") == c && b.removeChild(e); if (b.childNodes.length > 0) { a.appendTweets(b); return } r.add(a.element, "no-more"), d.focus() }) }, forceLoad: function () { var a = this, b = !! s.all(N, this.element, "OL").length; this.requestTweets(1, !0, function (c) { c.childNodes.length && (a[b ? "insertNewTweets" : "appendTweets"](c), r.add(a.element, "has-tweets")) }) }, schedulePolling: function (a) { var b = this; if (this.pollInterval === null) return; a = twttr.widgets.poll || a || this.pollInterval || 1e4, a > -1 && window.setTimeout(function () { this.isUpdating || b.update(), b.schedulePolling() }, a) }, requestTweets: function (a, b, c) { var d = this, f = { id: this.widgetId, screenName: this.widgetScreenName, userId: this.widgetUserId, withReplies: this.widgetShowReplies, dnt: this.dnt, lang: this.lang }; f[b ? "sinceId" : "maxId"] = a, f.complete = function () { this.isUpdating = !1 }, f.error = function (a) { if (a && a.headers) { if (a.headers.status == "404") { d.pollInterval = null; return } if (a.headers.status == "503") { d.pollInterval *= 1.5; return } } }, f.success = function (a) { var e = d.sandbox.doc.createDocumentFragment(), f = d.sandbox.doc.createElement("div"), h = [], i, j; a && a.headers && a.headers.xPolling && /\d+/.test(a.headers.xPolling) && (d.pollInterval = a.headers.xPolling * 1e3); if (a && a.body !== undefined) { f.innerHTML = a.body; if (f.children[0] && f.children[0].tagName != "LI") return; i = d.getTweetDetails(f); for (j in i) i.hasOwnProperty(j) && h.push(j); h.length && (g.enqueue({ page: "timeline", component: "timeline", element: b ? "newer" : "older", action: "results" }, { widget_id: d.widgetId, item_ids: h, item_details: i, client_version: u, message: d.partner, query: d.searchQuery, profile_id: d.profileId, event_initiator: b ? E.CLIENT_SIDE_APP : E.CLIENT_SIDE_USER }, !0, d.dnt), g.flush()), bd(f), bf(f, d.contentWidth()); while (f.children[0]) e.appendChild(f.children[0]); c(e) } }, e.timelinePoll(f) }, insertNewTweets: function (a) { var c = this, d = s.one(M, this.element, "DIV"), e = s.one(N, d, "OL"), f = e.offsetHeight, g; this.updateTimeStamps(), e.insertBefore(a, e.firstChild), g = e.offsetHeight - f; if (d.scrollTop > 40 || this.mouseIsOver()) { d.scrollTop = d.scrollTop + g, this.showNewTweetNotifier(); return } r.remove(this.element, X), e.style.cssText = "margin-top: -" + g + "px", window.setTimeout(function () { d.scrollTop = 0, r.add(c.element, X), k.cssTransitions() ? e.style.cssText = "" : b.animate(function (a) { a < g ? e.style.cssText = "margin-top: -" + (g - a) + "px" : e.style.cssText = "" }, g, 500, b.easeOut) }, 500), this.gcTweets(50) }, appendTweets: function (a) { var b = s.one(M, this.element, "DIV"), c = s.one(N, b, "OL"); this.updateTimeStamps(), c.appendChild(a) }, gcTweets: function (a) { var b = s.one(N, this.element, "OL"), c = b.children.length, d; a = a || 50; for (; c > a && (d = b.children[c - 1]); c--) b.removeChild(d) }, showNewTweetNotifier: function () { var a = this, b = s.one(J, this.element, "DIV"), c = b.children[0]; b.style.cssText = "", r.add(this.element, Y), b.removeChild(c), b.appendChild(c), r.replace(this.element, Y, Z), this.newNoticeDisplayTime = +(new Date), window.setTimeout(function () { a.hideNewTweetNotifier() }, 5e3) }, hideNewTweetNotifier: function (a) { var b = this, c = s.one(J, this.element, "DIV"); if (!a && this.mouseOverNotifier) return; r.replace(this.element, Z, Y), window.setTimeout(function () { r.remove(b.element, Y) }, 500) }, augmentWidgets: function (a) { var b = s.all(V, a, "A"), c = s.one(T, a, "A"), d = s.one(U, a, "BUTTON"), e = 0, f = b.concat([c]), g; for (; g = f[e]; e++) g.setAttribute("data-related", this.related), g.setAttribute("data-partner", this.partner), g.setAttribute("data-dnt", this.dnt), g.setAttribute("data-autofocus", "true"), g.setAttribute("data-search-query", this.searchQuery), g.setAttribute("data-profile-id", this.profileId); if (this.width < 250) for (e = 0; g = b[e]; e++) g.setAttribute("data-show-screen-name", "false"); c && (d && d.parentNode.removeChild(d), c.className = [U, _].join(" ")) }, readTranslations: function () { var a = this.element, b = "data-dt-"; this.i18n = { phrases: { now: a.getAttribute(b + "now"), s: a.getAttribute(b + "s"), m: a.getAttribute(b + "m"), h: a.getAttribute(b + "h"), second: a.getAttribute(b + "second"), seconds: a.getAttribute(b + "seconds"), minute: a.getAttribute(b + "minute"), minutes: a.getAttribute(b + "minutes"), hour: a.getAttribute(b + "hour"), hours: a.getAttribute(b + "hours") }, months: a.getAttribute(b + "months").split("|"), formats: { abbr: a.getAttribute(b + "abbr"), shortdate: a.getAttribute(b + "short"), longdate: a.getAttribute(b + "long") } } }, updateTimeStamps: function () { var a = s.all(S, this.element, "A"), b, c, d = 0, e, f; for (; a[d] && (b = a[d]); d++) { e = a[d].getAttribute("data-datetime"), f = j.timeAgo(e, this.i18n), c = b.getElementsByTagName("TIME")[0]; if (c && c.innerHTML) { c.innerHTML = f; continue } b.innerHTML = f } }, mouseIsOver: function () { return this.mouseOver }, addStyleSheet: function () { var a = r.present(document.documentElement, "twitter-dev") ? "/components/syndication-templates/lib/css/index.css" : f("embed/timeline.css"); ba("twitter-timeline-css", a, this.sandbox.doc) }, setupSandbox: function (a) { var b = a.doc, c = b.createElement("base"), d = b.createElement("style"), e = b.getElementsByTagName("head")[0], f = "body{display:none}"; this.sandbox = a, d.type = "text/css", this.addStyleSheet(), c.target = "_blank", e.appendChild(c), d.styleSheet ? d.styleSheet.cssText = f : d.appendChild(b.createTextNode(f)), e.appendChild(d), this.frameIsReady = !0, this.onFrameReady && (this.onFrameReady(), this.onFrameReady = null) }, addUrlParams: function (a) { var b = this, c = { tw_w: this.widgetId, related: this.related, partner: this.partner, query: this.searchQuery, profile_id: this.profileId, tw_p: "embeddedtimeline" }; return this.addUrlParams = h(c, function (a) { var c = s.ancestor("." + O, a, b.element); return c && { tw_i: c.getAttribute("data-tweet-id") } }), this.addUrlParams(a) }, contentWidth: function () { return this.width - (this.narrow ? D : C) }, showNSFW: function (a) { var b = s.one("nsfw", a, "DIV"), c, d, e = 0, f, g, h, i; if (!b) return; d = be(b.getAttribute("data-width"), b.getAttribute("data-height"), this.contentWidth(), b.getAttribute("data-height")), c = !! (g = b.getAttribute("data-player")), c ? h = this.sandbox.doc.createElement("iframe") : (h = this.sandbox.doc.createElement("img"), g = b.getAttribute(k.retina() ? "data-image-2x" : "data-image"), h.alt = b.getAttribute("data-alt"), i = this.sandbox.doc.createElement("a"), i.href = b.getAttribute("data-href"), i.appendChild(h)), h.title = b.getAttribute("data-title"), h.src = g, h.width = d.width, h.height = d.height, f = s.ancestor("." + Q, b, a), e = d.height - b.offsetHeight, b.parentNode.replaceChild(c ? h : i, b), f.style.cssText = "height:" + (f.offsetHeight + e) + "px" } }), a({ Embeddable: bb }) }) }); provide("lib/twt", function (a) { a(function (a, b) { var c = a != "en" ? a + "." : ""; using("$vendor/twt/dist/twt." + c + "min.js", function () { twt.settings.lang = a, b(twt) }) }) }); provide("util/tweetparser", function (a) { using("util/util", function (b) { function g(a, c) { var d = document.getElementsByTagName(a), e = b.filter(d, function (a) { return b.containsElement(c, a) }); return e || [] } function h(a) { return a && c.test(a) && RegExp.$1 } function i(a) { if (!a || !a.nodeName || !/blockquote/i.test(a.nodeName)) return; var b = {}, c = g("p", a).shift(), d = g("a", a).pop(); if (!c && g("br", a).length) { c = document.createElement("p"); for (var e = 0, f; f = a.childNodes[e]; e++) { if (f.nodeType === 1 && /^br$/i.test(f.nodeName)) break; c.appendChild(f) } } return c && (b.text = c.textContent || c.innerText || "", b.rendered_text = c.innerHTML || ""), d && (d.getAttribute("data-datetime") ? b.created_at = d.getAttribute("data-datetime") : b.time = d.textContent || d.innerText), b.user = j(a), b.id = b.id_str = h(d.href), b.id_str && b.text && b.user && b } function j(a) { var b = {}, c = 0, d = a.childNodes.length, h, i; for (; c < d; c++) { h = a.childNodes[c], h.nodeType === 1 && /^p$/i.test(h.nodeName) && (h = h.childNodes[0]); if (h && h.nodeType === 3 && e.test(h.nodeValue)) { b.name = RegExp.$1.split(" ").slice(1).join(" "), b.screen_name = RegExp.$2; break } } if (b.screen_name) return b; i = g("a", a).pop(); if (i && f.test(i.href)) return b.name = "", b.screen_name = RegExp.$2, b } var c = /\/(\d+)\/?$/, d = /^https?:\/\/(?:www\.)?twitter\.com\/(?:#!\/)?[\w_]+\/status(?:es)?\/(\d+)\/?/, e = /^\s*(.+)\s+\(@([\w_]{1,20})\)\s*$/, f = /^https?:\/\/(?:www\.)?twitter\.com\/(#!\/)?([\w_]{1,20})/; a({ parseTweet: i, parseId: h, parseAuthor: j }) }) }); provide("i18n/i18n", function (a) { function b() { twttr.i18n_missing_interval || (twttr.i18n_missing_interval = window.setInterval(function () { twttr.i18n_missing && twttr.i18n_missing.length > 0 && ($.ajax({ type: "POST", data: $.param({ authenticity_token: twttr.form_authenticity_token, location: window.location.href, "strings[]": twttr.i18n_missing }), url: "/translate/untranslated_javascript" }), twttr.i18n_missing = new Array) }, 1e4)) } function c(a) { twttr.i18n_missing || (twttr.i18n_missing = new Array), twttr.i18n_missing_reported || (twttr.i18n_missing_reported = {}), twttr.i18n_missing_reported[a] || (twttr.i18n_missing.push(encodeURIComponent(a)), twttr.i18n_missing_reported[a] = !0) } function d(a, b) { if (b) for (var c in b) a = a.replace(new RegExp("\\%\\{" + c + "\\}", "gi"), b[c]); return a } window.setupTranslationCallback = b, a({ _: function (a, b) { if (twttr.i18n) { var e = twttr.i18n[a]; e ? a = e : c(a) } return d(a, b) }, setupTranslationCallback: b }) }); provide("tfw/widget/tweetembed", function (a) { using("util/util", "tfw/widget/base", "tfw/assets", "util/uri", "util/insert", "tfw/data", "i18n/i18n", "util/tweetparser", "tfw/widget/tracking", function (b, c, d, e, f, g, h, i, j) { function p(a) { var b = document.createElement("link"); b.rel = "stylesheet", b.type = "text/css", b.href = twttr.widgets.config.assetUrl() + "/" + a, document.getElementsByTagName("head")[0].appendChild(b) } function q() { if (l) return; p("embed/embed.ff268cb1fe83dd17c1ba606826968a3a.css"), l = !0 } function r(a, b) { var c = { status_id: a.id_str, tweet_ids: [a.id_str], context: n }, d = {}, e = {}, f = { TWEET: 0 }; j.addVar(c, "variant", k), j.addVar(c, "referrer", document.location.href), j.addLegacyPixel(c, "tweetembed", !0), d[a.id_str] = { item_type: f.TWEET }, j.addPixel({ page: "tweet", section: "subject", component: "tweet", action: "results" }, { client_version: k, widget_origin: document.location.href, message: this.partner, item_ids: [a.id_str], item_details: d }, !0), b && a._wjs_reply && (c.status_id = a._wjs_reply.id_str, c.tweet_ids = [a._wjs_reply.id_str], c.context = o, j.addLegacyPixel(c, "tweetembed", !0), e[a._wjs_reply.id_str] = { item_type: f.TWEET }, j.addPixel({ page: "tweet", section: "conversation", component: "tweet", action: "results" }, { client_version: k, widget_origin: document.location.href, message: this.partner, item_ids: [a._wjs_reply.id_str], item_details: e }, !0)) } function s(a) { if (!a) return; var d, e; c.Base.apply(this, [a]), d = this.params(), e = d.width || this.attr("width"), this.classNames = b.filter(this.classAttr, function (a) { return a != "twitter-tweet" }), this.classNames.push("twitter-tweet-rendered"), this.styleAttr = [], this.styleAttr.push(this.attr("style") || ""); if (m.test(e)) this.explicitWidth = RegExp.$1; else if (~b.indexOf(this.classNames, "tw-align-l") || ~b.indexOf(this.classNames, "tw-align-r")) this.explicitWidth = "350"; this.explicitWidth && this.styleAttr.push("width:" + this.explicitWidth + "px!important"), this.showThread = d.hideThread !== !0 && !~b.indexOf(this.classNames, "tw-hide-thread"), this.showMedia = d.hideMedia !== !0 && !~b.indexOf(this.classNames, "tw-hide-media"), this.data = i.parseTweet(this.srcEl), this.inReplyTo = d.inReplyTo || this.dataAttr("data-in-reply-to") || "" } var k = "1.0", l, m = /^([0-9]+)( ?px)?$/, n = "subject", o = "thread"; s.prototype = new c.Base, b.aug(s.prototype, { create: function (a, b) { var c = this, d, e = !! a._wjs_stub_data; return !e && r(a, c.showThread), using("lib/twt", function (g) { g(c.lang, function (g) { var h = document.createElement("div"), i = g.autoFormat(c.explicitWidth || c.element), j = g(a, { format: i, popupWebIntents: !1, tweetElement: "blockquote", showMedia: c.showMedia, showErrors: !1, showFollowButton: !e, renderActions: !e, product: "tweetembed", partner: c.partner, related: c.related }), k = '<div id="{{id}}" class="{{classNames}}" lang="{{lang}}" style="{{style}}">{{twt}}</div>', l = { id: c.id, classNames: b || "", style: c.styleAttr.join(";"), lang: c.lang, twt: c.data._wjs_reply ? j.inReplyTo(a._wjs_reply).html() : j.html() }; h.innerHTML = c.ringo(k, l), d = f(h.firstChild, c.element) }) }), d }, render: function (a) { var b = this, c, d; if (!b.data) return; q(), using("lib/twt", function (a) { a(b.lang, function () { c = b.classNames.join(" "), b.data._wjs_stub_data = !0, b.element = b.srcEl, b.element = b.create(b.data, c), d = [b.data.id_str], b.inReplyTo && b.showThread && d.push(b.inReplyTo), g.status({ id: d, complete: function (a) { var d = a[0], e = a[1]; if (d.error) return; b.data = d; if (b.showThread && d.in_reply_to_status_id_str && (!e || d.in_reply_to_status_id_str != e.id_str)) { g.status({ id: d.in_reply_to_status_id_str, complete: function (a) { a && !a.error && (b.data._wjs_reply = a), b.element = b.create(b.data, c) } }); return } d.in_reply_to_status_id_str && e && !e.error && (b.data._wjs_reply = e), b.element = b.create(b.data, c) } }) }) }) } }), a({ Embeddable: s }) }) }); provide("dom/textsize", function (a) { function c(a, b, c) { return a + b + c } var b = {}; a(function (a, d, e) { var f = document.createElement("span"), g = {}, h; return e = e || "", d = d || "", h = c(a, d, e), b[h] ? b[h] : (f.className = d + " twitter-measurement", f.setAttribute("style", e), f.innerHTML = a, document.body.appendChild(f), g.width = f.clientWidth || f.offsetWidth, g.height = f.clientHeight || f.offsetHeight, document.body.removeChild(f), delete f, b[h] = g) }) }); provide("tfw/widget/tweetbase", function (a) { using("util/util", "tfw/widget/base", "util/querystring", "util/uri", function (b, c, d, e) { function h(a) { if (!a) return; var b; c.Base.apply(this, [a]), b = this.params(), this.text = b.text || this.dataAttr("text"), this.align = b.align || this.dataAttr("align") || "", this.via = b.via || this.dataAttr("via"), this.placeid = b.placeid || this.dataAttr("placeid"), this.hashtags = b.hashtags || this.dataAttr("hashtags"), this.screen_name = b.screen_name || this.dataAttr("button-screen-name"), this.url = b.url || this.dataAttr("url") } var f = document.title, g = encodeURI(location.href); h.prototype = new c.Base, b.aug(h.prototype, { parameters: function () { var a = { text: this.text, url: this.url, related: this.related, lang: this.lang, placeid: this.placeid, original_referer: location.href, id: this.id, screen_name: this.screen_name, hashtags: this.hashtags, dnt: this.dnt, _: +(new Date) }; return b.compact(a), d.encode(a) } }), a({ TweetBase: h }) }) }); provide("tfw/widget/tweetbutton", function (a) { using("util/util", "tfw/widget/tweetbase", "util/querystring", "util/uri", "dom/textsize", function (b, c, d, e, f) { var g = document.title, h = encodeURI(location.href), i = ["vertical", "horizontal", "none"], j = function (a) { c.TweetBase.apply(this, [a]); var d = this.params(), f = d.count || this.dataAttr("count"), j = d.size || this.dataAttr("size"), k = e.getScreenNameFromPage();~b.indexOf(this.classAttr, "twitter-hashtag-button") ? this.type = "hashtag" : ~b.indexOf(this.classAttr, "twitter-mention-button") && (this.type = "mention"), this.text = d.text || this.dataAttr("text"), this.align = d.align || this.dataAttr("align") || "", this.via = d.via || this.dataAttr("via"), this.related = d.related || this.dataAttr("related"), this.counturl = d.counturl || this.dataAttr("counturl"), this.searchlink = d.searchlink || this.dataAttr("searchlink"), this.placeid = d.placeid || this.dataAttr("placeid"), this.hashtags = d.hashtags || this.dataAttr("hashtags"), this.screen_name = d.screen_name || this.dataAttr("button-screen-name"), this.button_hashtag = d.button_hashtag || this.dataAttr("button-hashtag"), this.url = d.url || this.dataAttr("url"), this.size = j == "large" ? "l" : "m", this.dnt = d.dnt || this.dataAttr("dnt") || "", this.type ? (this.count = "none", k && (this.related = this.related ? k + "," + this.related : k)) : (this.text = this.text || g, this.url = this.url || e.getCanonicalURL() || h, this.count = ~b.indexOf(i, f) ? f : "horizontal", this.count = this.count == "vertical" && this.size == "l" ? "none" : this.count, this.via = this.via || k) }; j.prototype = new c.TweetBase, b.aug(j.prototype, { parameters: function () { var a = { text: this.text, url: this.url, via: this.via, related: this.related, count: this.count, lang: this.lang, counturl: this.counturl, searchlink: this.searchlink, placeid: this.placeid, original_referer: location.href, id: this.id, size: this.size, type: this.type, screen_name: this.screen_name, button_hashtag: this.button_hashtag, hashtags: this.hashtags, align: this.align, dnt: this.dnt, _: +(new Date) }; return b.compact(a), d.encode(a) }, height: function () { return this.count == "vertical" ? 62 : this.size == "m" ? 20 : 28 }, width: function () { var a = { ver: 8, cnt: 14, btn: 24, xlcnt: 18, xlbtn: 38 }, c = this.count == "vertical", d = this.type == "hashtag" ? "Tweet %{hashtag}" : this.type == "mention" ? "Tweet to %{name}" : "Tweet", e = this._(d, { name: "@" + this.screen_name, hashtag: "#" + this.button_hashtag }), g = this._("K"), h = this._("100K+"), i = (c ? "8888" : "88888") + g, j = 0, k = 0, l = 0, m = 0, n = this.styles.base, o = n; return~b.indexOf(["ja", "ko"], this.lang) ? i += this._("10k unit") : i = i.length > h.length ? i : h, c ? (o = n + this.styles.vbubble, m = a.ver, l = a.btn) : this.size == "l" ? (n = o = n + this.styles.large, l = a.xlbtn, m = a.xlcnt) : (l = a.btn, m = a.cnt), this.count != "none" && (k = f(i, "", o).width + m), j = f(e, "", n + this.styles.button).width + l, c ? j > k ? j : k : this.calculatedWidth = j + k }, render: function () { var a = twttr.widgets.config.assetUrl() + "/widgets/tweet_button.1357323348.html#" + this.parameters(); this.count && (this.srcEl.className += " twitter-count-" + this.count), this.element = this.create(a, this.srcEl.className, this.dimensions(), { title: this._("Twitter Tweet Button") }) } }), a({ Embeddable: j }) }) }); provide("tfw/widget/follow", function (a) { using("util/util", "tfw/widget/base", "util/querystring", "util/uri", "util/twitter", "dom/textsize", function (b, c, d, e, f, g) { function h(a) { if (!a) return; var b, d, e, g; c.Base.apply(this, [a]), b = this.params(), d = b.size || this.dataAttr("size"), e = b.show_screen_name || this.dataAttr("show-screen-name"), g = b.show_count || this.dataAttr("show-count"), this.showScreenName = e != "false", this.showCount = g != "false", this.explicitWidth = b.width || this.dataAttr("width") || "", this.screenName = b.screenName || f.screenName(this.attr("href")), this.preview = b.preview || this.dataAttr("preview") || "", this.align = b.align || this.dataAttr("align") || "", this.size = d == "large" ? "l" : "m" } h.prototype = new c.Base, b.aug(h.prototype, { parameters: function () { var a = { screen_name: this.screenName, lang: this.lang, show_count: this.showCount, show_screen_name: this.showScreenName, align: this.align, id: this.id, preview: this.preview, size: this.size, dnt: this.dnt, _: +(new Date) }; return b.compact(a), d.encode(a) }, render: function () { if (!this.screenName) return; var a = twttr.widgets.config.assetUrl() + "/widgets/follow_button.1357323348.html#" + this.parameters(); this.element = this.create(a, "twitter-follow-button", this.dimensions(), { title: this._("Twitter Follow Button") }) }, width: function () { if (this.calculatedWidth) return this.calculatedWidth; if (this.explicitWidth) return this.explicitWidth; var a = { cnt: 13, btn: 24, xlcnt: 22, xlbtn: 38 }, c = this.showScreenName ? "Follow %{screen_name}" : "Follow", d = this._(c, { screen_name: "@" + this.screenName }), e = ~b.indexOf(["ja", "ko"], this.lang) ? this._("10k unit") : this._("M"), f = this._("%{followers_count} followers", { followers_count: "88888" + e }), h = 0, i = 0, j, k, l = this.styles.base; return this.size == "l" ? (l += this.styles.large, j = a.xlbtn, k = a.xlcnt) : (j = a.btn, k = a.cnt), this.showCount && (i = g(f, "", l).width + k), h = g(d, "", l + this.styles.button).width + j, this.calculatedWidth = h + i } }), a({ Embeddable: h }) }) }); ! function () { function a(a) { return (a || !/^http\:$/.test(window.location.protocol)) && !twttr.ignoreSSL ? "https" : "http" } window.twttr = window.twttr || {}, twttr.host = twttr.host || "platform.twitter.com"; if (twttr.widgets && twttr.widgets.loaded) return twttr.widgets.load(), !1; if (twttr.init) return !1; twttr.init = !0, twttr._e = twttr._e || [], twttr.ready = twttr.ready || function (a) { twttr.widgets && twttr.widgets.loaded ? a(twttr) : twttr._e.push(a) }, using.path.length || (using.path = a() + "://" + twttr.host + "/js"), twttr.ignoreSSL = twttr.ignoreSSL || !1; var b = []; twttr.events = { bind: function (a, c) { return b.push([a, c]) } }, using("util/domready", function (c) { c(function () { using("util/util", "tfw/widget/follow", "tfw/widget/tweetbutton", "tfw/widget/tweetembed", "tfw/widget/timeline", "tfw/widget/intent", "util/events", "tfw/widget/base", function (c, d, e, f, g, h, i, j) { function p(b) { var c = twttr.host; return a(b) == "https" && twttr.secureHost && (c = twttr.secureHost), a(b) + "://" + c } function q() { using("tfw/widget/hubclient", function (a) { twttr.events.hub = a.init(m), a.init(m, !0) }) } var k, l, m = { widgets: { "a.twitter-share-button": e.Embeddable, "a.twitter-mention-button": e.Embeddable, "a.twitter-hashtag-button": e.Embeddable, "a.twitter-follow-button": d.Embeddable, "blockquote.twitter-tweet": f.Embeddable, "a.twitter-timeline": g.Embeddable, body: h.Listener } }, n = twttr.events && twttr.events.hub ? twttr.events : {}, o; m.assetUrl = p, c.aug(twttr.events, n, i.Emitter), o = twttr.events.bind, twttr.events.bind = function (a, b) { q(), this.bind = o, this.bind(a, b) }; for (k = 0; l = b[k]; k++) twttr.events.bind(l[0], l[1]); for (k = 0; l = twttr._e[k]; k++) l(twttr); twttr.ready = function (a) { a(twttr) }, twttr.widgets = twttr.widgets || {}, c.aug(twttr.widgets, { config: { assetUrl: p }, load: function (a) { j.init(m), j.embed(a), twttr.widgets.loaded = !0 } }), /twitter\.com(\:\d+)?$/.test(document.location.host) && (twttr.widgets.createTimelinePreview = function (a, b, c) { (new g.Embeddable({ previewParams: a, targetEl: b, linkColor: a.link_color, theme: a.theme, height: a.height })).render(m, c) }), twttr.widgets.load() }) }) }) }() });