unfluff
Version:
A web page content extractor
1,594 lines (1,122 loc) • 199 kB
HTML
<!DOCTYPE html>
<!--[if IE 8]><html class="lt-ie10 ie8" lang="en" data-scribe-reduced-action-queue="true"><![endif]-->
<!--[if IE 9]><html class="lt-ie10 ie9" lang="en" data-scribe-reduced-action-queue="true"><![endif]-->
<!--[if gt IE 9]><!--><html lang="en" data-scribe-reduced-action-queue="true"><!--<![endif]-->
<head>
<meta charset="utf-8">
<script id="swift_action_queue" nonce="Hl/anQUQToJr2+QlkMXBOw==">
(function(){function m(a){a||(a=window.event);if(!a)return!1;a.timestamp=(new Date).getTime();!a.target&&a.srcElement&&(a.target=a.srcElement);if(document.documentElement.getAttribute("data-scribe-reduced-action-queue")){var b=a.target;while(b&&b!=document
.body){if(b.tagName=="A")return;b=b.parentNode}}r("all",s(a));if(!q(a)){r("direct",a);return!0}document.addEventListener||(a=s(a));a.preventDefault=a.stopPropagation=a.stopImmediatePropagation=function(){};if(i){f.push(a);r("captured",a)}else r("ignored",a
);return!1}function n($){p();for(var a=0,b;b=f[a];a++){var d=$(b.target),e=d.closest("a")[0];if(b.type=="click"&&e){var g=$.data(e,"events"),i=g&&g.click,j=!e.hostname.match(c)||!e.href.match(/#$/);if(!i&&j){window.location=e.href;continue}}d.trigger($.event
.fix(b))}window.swiftActionQueue.wasFlushed=!0}function o(){for(var a in j){if(a=="all")continue;var b=j[a];for(var c=0;c<b.length;c++)console.log("actionQueue",u(b[c]))}}function p(){clearTimeout(g);for(var a=0,b;b=e[a];a++)document["on"+b]=null}function q
(a){if(!a.target)return!1;var b=a.target,e=(b.tagName||"").toLowerCase();if(a.metaKey)return!1;if(a.shiftKey&&e=="a")return!1;if(b.hostname&&!b.hostname.match(c))return!1;if(a.type.match(d)&&w(b))return!1;if(e=="label"){var f=b.getAttribute("for");if(f){var g=
document.getElementById(f);if(g&&v(g))return!1}else for(var i=0,j;j=b.childNodes[i];i++)if(v(j))return!1}return!0}function r(a,b){b.bucket=a;j[a].push(b)}function s(a){var b={};for(var c in a)b[c]=a[c];return b}function t(a){while(a&&a!=document.body){if(a
.tagName=="A")return a;a=a.parentNode}}function u(b){var c=[];b.bucket&&c.push("["+b.bucket+"]");c.push(b.type);var d=b.target,e=t(d),f="",g,i,j=b.timestamp&&b.timestamp-a;if(b.type==="click"&&e){g=e.className.trim().replace(/\s+/g,".");i=e.id.trim();f=/[^#]$/
.test(e.href)?" ("+e.href+")":"";d='"'+e.innerText.replace(/\n+/g," ").trim()+'"'}else{g=d.className.trim().replace(/\s+/g,".");i=d.id.trim();d=d.tagName.toLowerCase();b.keyCode&&(d=String.fromCharCode(b.keyCode)+" : "+d)}c.push(d+f+(i&&"#"+i)+(!i&&g?"."+g
:""));j&&c.push(j);return c.join(" ")}function v(a){var b=(a.tagName||"").toLowerCase();return b=="input"&&a.getAttribute("type")=="checkbox"}function w(a){var b=(a.tagName||"").toLowerCase();return b=="textarea"||b=="input"&&a.getAttribute("type")=="text"||
a.getAttribute("contenteditable")=="true"}var a=(new Date).getTime(),b=1e4,c=/^([^\.]+\.)*twitter\.com$/,d=/^key/,e=["click","keydown","keypress","keyup"],f=[],g=null,i=!0,j={captured:[],ignored:[],direct:[],all:[]};for(var k=0,l;l=e[k];k++)document["on"+l
]=m;g=setTimeout(function(){i=!1},b);window.swiftActionQueue={buckets:j,flush:n,logActions:o,wasFlushed:!1}})();
</script>
<script id="composition_state" nonce="Hl/anQUQToJr2+QlkMXBOw==">
(function(){function a(a){a.target.setAttribute("data-in-composition","true")}function b(a){a.target.removeAttribute("data-in-composition")}if(document.addEventListener){document.addEventListener("compositionstart",a,!1);document.addEventListener("compositionend"
,b,!1)}})();
</script>
<link rel="stylesheet" href="https://abs.twimg.com/a/1434379534/css/t1/twitter_core.bundle.css">
<title>GitHub on Twitter: "Check out the full list of @codeconf sessions and grab your ticket now! See you in Nashville in 2 weeks: http://t.co/9mynYt0VPc"</title>
<meta name="msapplication-TileImage" content="//abs.twimg.com/favicons/win8-tile-144.png"/>
<meta name="msapplication-TileColor" content="#00aced"/>
<link rel="icon" sizes="any" mask href="https://abs.twimg.com/a/1434379534/img/t1/favicon.svg">
<meta name="theme-color" content="#55acee">
<link href="//abs.twimg.com/favicons/favicon.ico" rel="shortcut icon" type="image/x-icon">
<meta name="swift-page-name" id="swift-page-name" content="permalink">
<link rel="canonical" href="https://twitter.com/github/status/609116267891580928">
<link rel="alternate" type="application/json+oembed" href="https://api.twitter.com/1/statuses/oembed.json?id=609116267891580928" title="GitHub on Twitter: "Check out the full list of @codeconf sessions and grab your ticket now! See you in Nashville in 2 weeks: http://t.co/9mynYt0VPc"">
<link rel="alternate" type="text/xml+oembed" href="https://api.twitter.com/1/statuses/oembed.xml?id=609116267891580928" title="GitHub on Twitter: "Check out the full list of @codeconf sessions and grab your ticket now! See you in Nashville in 2 weeks: http://t.co/9mynYt0VPc"">
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="Twitter">
<link rel="stylesheet" href="https://abs.twimg.com/a/1434379534/css/t1/twitter_more_1.bundle.css">
<link rel="stylesheet" href="https://abs.twimg.com/a/1434379534/css/t1/twitter_more_2.bundle.css">
<style id="user-style-github">
a,
a:hover,
a:focus,
a:active {
color: #0084B4;
}
.u-textUserColor,
.u-textUserColorHover:hover,
.u-textUserColorHover:focus {
color: #0084B4 !important;
}
.u-borderUserColor,
.u-borderUserColorHover:hover,
.u-borderUserColorHover:focus {
border-color: #0084B4 !important;
}
.u-bgUserColor,
.u-bgUserColorHover:hover,
.u-bgUserColorHover:focus {
background-color: #0084B4 !important;
}
.u-boxShadowInsetUserColorHover:hover,
.u-boxShadowInsetUserColorHover:focus {
box-shadow: inset 0 0 0 5px #0084B4 !important;
}
.u-textUserColorLight {
color: #99CDE1 !important;
}
.u-borderUserColorLight,
.u-borderUserColorLightFocus:focus,
.u-borderUserColorLightHover:hover,
.u-borderUserColorLightHover:focus {
border-color: #99CDE1 !important;
}
.u-bgUserColorLight {
background-color: #99CDE1 !important;
}
.u-boxShadowUserColorLighterFocus:focus {
box-shadow: 0 0 8px rgba(0, 0, 0, 0.05), inset 0 1px 2px rgba(0,132,180,0.25) !important;
}
.u-textUserColorLightest {
color: #E5F2F7 !important;
}
.u-borderUserColorLightest {
border-color: #E5F2F7 !important;
}
.u-bgUserColorLightest {
background-color: #E5F2F7 !important;
}
.u-textUserColorLighter {
color: #BFE0EC !important;
}
.u-borderUserColorLighter {
border-color: #BFE0EC !important;
}
.u-bgUserColorLighter {
background-color: #BFE0EC !important;
}
.u-bgUserColorDarkHover:hover {
background-color: #006990 !important;
}
.u-borderUserColorDark {
border-color: #006990 !important;
}
.u-bgUserColorDarkerActive:active {
background-color: #004F6C !important;
}
a,
.btn-link,
.btn-link:focus,
.icon-btn,
.pretty-link b,
.pretty-link:hover s,
.pretty-link:hover b,
.pretty-link:focus s,
.pretty-link:focus b,
/* Account Group */
.metadata a:hover,
.metadata a:focus,
.account-group:hover .fullname,
.account-group:focus .fullname,
.account-summary:focus .fullname,
.message .message-text a,
.stats a strong,
.plain-btn:hover,
.plain-btn:focus,
.dropdown.open .user-dropdown.plain-btn,
.open > .plain-btn,
#global-actions .new:before,
.module .list-link:hover,
.module .list-link:focus,
.UserCompletion-step:hover,
.stats a:hover,
.stats a:hover strong,
.stats a:focus,
.stats a:focus strong,
.profile-modal-header .fullname a:hover,
.profile-modal-header .username a:hover,
.profile-modal-header .fullname a:focus,
.profile-modal-header .username a:focus,
.story-article:hover .metadata,
.story-article .metadata a:focus,
.find-friends-sources li:hover .source,
.stream-item a:hover .fullname,
.stream-item a:focus .fullname,
.stream-item .view-all-supplements:hover,
.stream-item .view-all-supplements:focus,
.tweet .time a:hover,
.tweet .time a:focus,
.tweet .details.with-icn b,
.tweet .details.with-icn .Icon,
.tweet .tweet-geo-text a:hover,
.stream-item:hover .original-tweet .details b,
.stream-item .original-tweet.focus .details b,
.stream-item.open .original-tweet .details b,
.simple-tweet:hover .details b,
.simple-tweet.focus .details b,
.simple-tweet.open .details b,
.simple-tweet:hover .details .simple-details-link,
.simple-tweet.focus .details .simple-details-link,
.client-and-actions a:hover,
.client-and-actions a:focus,
.dismiss-promoted:hover b,
.tweet .context .pretty-link:hover s,
.tweet .context .pretty-link:hover b,
.tweet .context .pretty-link:focus s,
.tweet .context .pretty-link:focus b,
.list .username a:hover,
.list .username a:focus,
.list-membership-container .create-a-list,
.list-membership-container .create-a-list:hover,
.story-header:hover .view-tweets,
.card .list-details a:hover,
.card .list-details a:focus,
.card .card-body:hover .attribution,
.card .card-body .attribution:focus,
.events-card .card-body:hover .attribution,
.events-card .card-body .attribution:focus,
.new-tweets-bar,
.onebox .soccer ul.ticker a:hover,
.onebox .soccer ul.ticker a:focus,
.discover-item-actions a,
.remove-background-btn,
.stream-item-activity-notification .latest-tweet .tweet-row a:hover,
.stream-item-activity-notification .latest-tweet .tweet-row a:focus,
.stream-item-activity-notification .latest-tweet .tweet-row a:hover b,
.stream-item-activity-notification .latest-tweet .tweet-row a:focus b {
color: #0084B4;
}
#global-actions > li > a {
border-bottom-color: #0084B4;
}
#global-actions > li:hover > a,
#global-actions > li > a:focus,
.nav.right-actions > li > a:hover,
.nav.right-actions > li > button:hover,
.nav.right-actions > li > a:focus,
.nav.right-actions > li > button:focus {
color: #0084B4;
}
/* Surpress the new connect glow if in experiment. */
#global-actions .people.new:before {
content: none;
}
/* hover state for photo select button*/
.photo-selector:hover .btn,
.icon-btn:hover,
.icon-btn:active,
.icon-btn.active,
.icon-btn.enabled {
border-color: #0084B4;
border-color: rgba(0,132,180,.5);
color: #0084B4;
}
/* hover state for photo select button*/
.photo-selector:hover .btn,
.icon-btn:hover {
background-image: linear-gradient(rgba(255,255,255,0), rgba(0,132,180,.1));
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00FFFFFF', endColorstr='#190084B4'); /* IE8-9 */
}
.icon-btn.disabled,
.icon-btn.disabled:hover,
.icon-btn[disabled],
.icon-btn[aria-disabled=true] {
color: #0084B4;
}
/* tweet-btn can have primary-btn class as well so the following rules ensure that the correct background color is applied */
.tweet-btn,
.tweet-btn:focus {
background-color: #0084B4;
background: rgba(0,132,180,.8);
}
.tweet-btn:hover,
.tweet-btn:active,
.tweet-btn.active {
background-color: #0084B4;
}
.tweet-btn.btn.disabled,
.tweet-btn.btn.disabled:hover,
.tweet-btn.btn[disabled],
.tweet-btn.btn[aria-disabled=true] {
background: #0084B4;
}
.btn:focus,
.btn.focus,
.Button:focus {
box-shadow:
0 0 0 1px #fff,
0 0 0 3px rgba(0, 132, 180, 0.5);
}
.selected-stream-item:focus {
box-shadow: 0 0 0 3px rgba(0, 132, 180, 0.5);
}
/* highlighting when navigate through timeline stream table view with j & k. */
.js-navigable-stream.stream-table-view .selected-stream-item[tabindex="-1"]:focus {
outline: 3px solid rgba(0, 132, 180, 0.5) !important;
}
/* box-shadow does not work with table tr element */
.js-navigable-stream.stream-table-view .selected-stream-item:focus {
box-shadow: none;
}
/**
* 1. Bring actionable tweet to top when active to ensure border
* highlighting wraps entire tweet. Value must be at least at if not
* higher than the z-index value of ProfileHeading to ensure first
* tweet in timeline receives border on all four sides.
* NOTE: z-index should be 2 to avoid conflicts with .ProfileCanopy and .ProfileCard-avatarLink
*/
.ProfileTweet.is-actionable,
.js-stream-item.is-selected:focus .ProfileTweet,
.js-stream-item.is-selected:focus .ProfileCard,
.QuoteTweet:hover,
.QuoteTweet:focus,
.QuoteTweet:active {
border-color: rgba(0, 132, 180, 0.5);
z-index: 2; /* 1 */
}
.global-dm-nav.new.with-count .dm-new {
background: #fff;
}
.global-dm-nav.new.with-count .dm-new .count-inner {
background: #0084B4;
}
.global-nav .people .count .count-inner {
background: #0084B4;
}
.dropdown-menu li > a:hover,
.dropdown-menu li > a:focus,
.dropdown-menu .dropdown-link:hover,
.dropdown-menu .dropdown-link:focus,
.dropdown-menu .dropdown-link.is-focused,
.dropdown-menu li:hover .dropdown-link,
.dropdown-menu li:focus .dropdown-link,
.dropdown-menu .typeahead-recent-search-item.selected,
.dropdown-menu .typeahead-saved-search-item.selected,
.dropdown-menu .selected a,
.dropdown-menu .dropdown-link.selected {
background-color: #0084B4 !important;
}
/* give tweet boxes 10% of the users link color as background */
.home-tweet-box,
.dm-tweetbox,
.RetweetDialog-commentBox,
.WebToast-box--altColor,
.content-main .conversations-enabled .expansion-container .inline-reply-tweetbox {
background-color: #E5F2F7;
}
.conversations-enabled .inline-reply-caret .caret-inner {
border-bottom-color: #E5F2F7;
}
.top-timeline-tweetbox .timeline-tweet-box .tweet-form.condensed .tweet-box {
color: #0084B4;
}
/* give tweet box containers an outline using the users link color */
.home-tweet-box,
.top-timeline-tweetbox .timeline-tweet-box {
border-color: #BFE0EC !important;
}
/* give tweet boxes an outline using the users link color */
.tweet-box[contenteditable="true"] {
border-color: rgba(0,132,180,0.25);
}
input:focus,
textarea:focus,
div[contenteditable="true"]:focus,
div[contenteditable="true"].fake-focus {
border-color: #66B5D2;
box-shadow: inset 0 0 0 1px rgba(0, 132, 180, 0.7);
}
.currently-dragging.modal-enabled .modal .tweet-box,
.currently-dragging:not(.modal-enabled) .tweet-content .tweet-box,
.tweet-box[contenteditable="true"]:focus {
border-color: #99CDE1;
box-shadow: none;
}
s,
.pretty-link:hover s,
.pretty-link:focus s,
.stream-item-activity-notification .latest-tweet .tweet-row a:hover s,
.stream-item-activity-notification .latest-tweet .tweet-row a:focus s {
color: #66B5D2;
}
.vellip,
.vellip:before,
.vellip:after,
.conversation-module > li:after,
.conversation-module > li:before,
.ThreadedConversation-tweet ~ .ThreadedConversation-tweet:before,
.ThreadedConversation-tweet:after,
.ThreadedConversation-viewOther:before,
.ThreadedConversation-unavailableTweet:before,
.ThreadedConversation-unavailableTweet:after {
background-color: #66B5D2;
}
.tweet .sm-reply,
.tweet .sm-rt,
.tweet .sm-fav,
.tweet .sm-image,
.tweet .sm-video,
.tweet .sm-audio,
.tweet .sm-geo,
.tweet .sm-in,
.tweet .sm-trash,
.tweet .sm-more,
.tweet .sm-page,
.tweet .sm-embed,
.tweet .sm-summary,
.tweet .sm-chat,
.timelines-navigation .active .profile-nav-icon,
.timelines-navigation .profile-nav-icon:hover,
.timelines-navigation .profile-nav-link:focus .profile-nav-icon,
.sm-top-tweet,
.metadata a.tweet-geo-text:hover .sm-geo,
.discover-item .js-action-card-search:hover .sm-search,
.discover-item .js-action-card-search:focus .sm-search {
background-color: #0084B4;
}
.enhanced-mini-profile .mini-profile .profile-summary {
background-image: url(https://pbs.twimg.com/profile_banners/8515852/1387499636/mobile);
}
.wrapper-profile .profile-card.profile-header .profile-header-inner {
background-image: url(https://pbs.twimg.com/profile_banners/8515852/1387499636/web);
}
#global-tweet-dialog .modal-header {
border-bottom: solid 1px rgba(0, 132, 180, .25);
}
#global-tweet-dialog .modal-tweet-form-container {
background-color: #0084B4;
background: rgba(0, 132, 180, .1);
}
.inline-reply-tweetbox {
background-color: #E5F2F7;
}
</style>
<style id="user-style-ageitgey-bg-img" class="js-user-style-bg-img">
body.user-style-ageitgey {
background-image: url(https://abs.twimg.com/images/themes/theme1/bg.png);
background-position: left 46px;
background-attachment: fixed;
background-repeat: repeat;
background-repeat: no-repeat;
background-color: #C0DEED;
}
</style>
<style id="user-style-ageitgey-header-img" class="js-user-style-header-img">
body.user-style-ageitgey .enhanced-mini-profile .mini-profile .profile-summary {
background-image: url(https://pbs.twimg.com/profile_banners/8515852/1387499636/web);
}
body.user-style-ageitgey .wrapper-profile .profile-card.profile-header .profile-header-inner {
background-image: url(https://pbs.twimg.com/profile_banners/8515852/1387499636/web);
}
.DashboardProfileCard-bg {
background-image: url(https://pbs.twimg.com/profile_banners/8515852/1387499636/600x200);
}
body.user-style-ageitgey .profile-canopy .bg-img {
background-image: url(https://pbs.twimg.com/profile_banners/8515852/1387499636/web_retina);
}
</style>
<meta property="og:type" content="article">
<meta property="og:url" content="https://twitter.com/github/status/609116267891580928">
<meta property="og:title" content="GitHub on Twitter">
<meta property="og:image" content="https://pbs.twimg.com/profile_images/426158315781881856/sBsvBbjY_400x400.png">
<meta property="og:description" content="“Check out the full list of @codeconf sessions and grab your ticket now! See you in Nashville in 2 weeks: http://t.co/9mynYt0VPc”">
<meta property="og:site_name" content="Twitter">
<meta property="fb:app_id" content="2231777543">
</head>
<body class="three-col logged-in user-style-github"
data-fouc-class-names="swift-loading"
dir="ltr">
<script id="swift_loading_indicator" nonce="Hl/anQUQToJr2+QlkMXBOw==">
document.body.className=document.body.className+" "+document.body.getAttribute("data-fouc-class-names");
</script>
<div id="doc" class="route-permalink">
<div class="topbar js-topbar">
<div class="ProfilePage-editingOverlay"></div>
<div class="global-nav" data-section-term="top_nav">
<div class="global-nav-inner">
<div class="container">
<h1 class="Icon Icon--bird bird-topbar-etched" style="display: inline-block; width: 24px; height: 21px;">
<span class="visuallyhidden">Twitter</span>
</h1>
<div role="navigation" style="display: inline-block;"><ul class="nav js-global-actions" id="global-actions"><li id="global-nav-home" class="home" data-global-action="home">
<a class="js-nav js-tooltip js-dynamic-tooltip" data-placement="bottom" href="/" data-component-term="home_nav" data-nav="home">
<span class="Icon Icon--home Icon--large"></span>
<span class="text">Home</span>
</a>
</li><li class="people notifications" data-global-action="connect">
<a class="js-nav js-tooltip js-dynamic-tooltip" data-placement="bottom" href="/i/notifications" data-component-term="connect_nav" data-nav="connect">
<span class="Icon Icon--notifications Icon--large"></span>
<span class="text">Notifications</span>
<span class="count">
<span class="count-inner">0</span>
</span>
</a>
</li><li class="dm-nav">
<a role="button" href="#" class="js-tooltip js-dynamic-tooltip global-dm-nav" data-placement="bottom">
<span class="Icon Icon--dm Icon--large"></span>
<span class="text">Messages</span>
<span class="dm-new"><span class="count-inner"></span></span>
</a>
</li></ul>
</div>
<div class="pull-right" style="display: inline-block;"><div role="search">
<form class="t1-form form-search js-search-form" action="/search" id="global-nav-search">
<label class="visuallyhidden" for="search-query">Search query</label>
<input class="search-input" type="text" id="search-query" placeholder="Search Twitter" name="q" autocomplete="off" spellcheck="false">
<span class="search-icon js-search-action">
<button type="submit" class="Icon Icon--search nav-search">
<span class="visuallyhidden">Search Twitter</span>
</button>
</span>
<div role="listbox" class="dropdown-menu typeahead">
<div aria-hidden="true" class="dropdown-caret">
<div class="caret-outer"></div>
<div class="caret-inner"></div>
</div>
<div role="presentation" class="dropdown-inner js-typeahead-results">
<div role="presentation" class="typeahead-recent-searches">
<h3 id="recent-searches-heading" class="typeahead-category-title recent-searches-title">Recent searches</h3><button type="button" tabindex="-1" class="btn-link clear-recent-searches">Clear All</button>
<ul role="presentation" class="typeahead-items recent-searches-list">
<li role="presentation" class="typeahead-item typeahead-recent-search-item">
<span class="Icon Icon--close" aria-hidden="true"><span class="visuallyhidden">Remove</span></span>
<a role="option" aria-describedby="recent-searches-heading" class="js-nav" href="" data-search-query="" data-query-source="" data-ds="recent_search" tabindex="-1"></a>
</li>
</ul>
</div>
<div role="presentation" class="typeahead-saved-searches">
<h3 id="saved-searches-heading" class="typeahead-category-title saved-searches-title">Saved searches</h3>
<ul role="presentation" class="typeahead-items saved-searches-list">
<li role="presentation" class="typeahead-item typeahead-saved-search-item">
<span class="Icon Icon--close" aria-hidden="true"><span class="visuallyhidden">Remove</span></span>
<a role="option" aria-describedby="saved-searches-heading" class="js-nav" href="" data-search-query="" data-query-source="" data-ds="saved_search" tabindex="-1"></a>
</li>
</ul>
</div>
<ul role="presentation" class="typeahead-items typeahead-topics">
<li role="presentation" class="typeahead-item typeahead-topic-item">
<a role="option" class="js-nav" href="" data-search-query="" data-query-source="typeahead_click" data-ds="topics" tabindex="-1">
</a>
</li>
</ul>
<ul role="presentation" class="typeahead-items typeahead-accounts social-context js-typeahead-accounts">
<li role="presentation" data-user-id="" data-user-screenname="" data-remote="true" data-score="" class="typeahead-item typeahead-account-item js-selectable">
<a role="option" class="js-nav" data-query-source="typeahead_click" data-search-query="" data-ds="account">
<img class="avatar size32" alt="">
<span class="typeahead-user-item-info">
<span class="fullname"></span>
<span class="js-verified hidden"><span class="verifiedContainer"><span class="Icon Icon--verifiedFill Icon--small"></span><span class="Icon Icon--verified Icon--small"></span><span class="u-hiddenVisually">Verified account</span></span>
</span>
<span class="username"><s>@</s><b></b></span>
</span>
<span class="typeahead-social-context"></span>
</a>
</li>
<li role="presentation" class="js-selectable typeahead-accounts-shortcut js-shortcut"><a role="option" class="js-nav" href="" data-search-query="" data-query-source="typeahead_click" data-shortcut="true" data-ds="account_search"></a></li>
</ul>
<ul role="presentation" class="typeahead-items typeahead-trend-locations-list">
<li role="presentation" class="typeahead-item typeahead-trend-locations-item"><a role="option" class="js-nav" href="" data-ds="trend_location" data-search-query="" tabindex="-1"></a></li>
</ul>
</div>
</div>
</form>
</div>
<ul class="nav right-actions"><li class="me dropdown session js-session" data-global-action="t1me" id="user-dropdown">
<a href="/settings/account" class="btn js-tooltip settings dropdown-toggle js-dropdown-toggle" id="user-dropdown-toggle" title="Profile and settings" data-placement="bottom"><img class="avatar size32" src="https://pbs.twimg.com/profile_images/413830060559192064/uty4rN6J_normal.jpeg" alt="Profile and settings" data-user-id="8515852"></a>
<div class="dropdown-menu">
<div class="dropdown-caret">
<span class="caret-outer"></span>
<span class="caret-inner"></span>
</div>
<ul>
<li class="current-user" data-name="profile">
<a href="/ageitgey"
class="account-summary account-summary-small js-nav"
data-nav="view_profile"><div class="content"><div class="account-group js-mini-current-user" data-user-id="8515852" data-screen-name="ageitgey"><b class="fullname">Adam Geitgey</b><span class="screen-name hidden" dir="ltr">@ageitgey</span><small class="metadata">View profile</small></div></div></a>
</li>
<li class="dropdown-divider"></li>
<li data-name="lists"><a href="/ageitgey/lists" data-nav="all_lists">Lists</a></li>
<li class="dropdown-divider"></li>
<li><a href="//support.twitter.com" data-nav="help_center">Help</a></li>
<li class="js-keyboard-shortcut-trigger" data-nav="shortcuts">
<button type="button" class="dropdown-link">Keyboard shortcuts</button>
</li>
<li><a href="https://ads.twitter.com/start?ref=gl-tw-tw-twitter-ads" target="_blank" data-nav="ads">Twitter Ads</a></li>
<li><a class="user-dropdown-analytics" href="https://analytics.twitter.com/" target="_blank" data-nav="user_dropdown_analytics">Analytics</a></li>
<li class="dropdown-divider"></li>
<li><a href="/settings/account" data-nav="settings" class="js-nav">Settings</a></li>
<li class="js-signout-button" id="signout-button" data-nav="logout">
<button type="button" class="dropdown-link">Log out</button>
<form class="t1-form dropdown-link-form signout-form" id="signout-form" action="/logout" method="POST">
<input type="hidden" value="bb7b40c8404c096f5ad906965277f21b059ba91a" name="authenticity_token" class="authenticity_token">
<input type="hidden" name="reliability_event" class="js-reliability-event">
<input type="hidden" name="scribe_log">
</form>
</li>
</ul>
</div>
</li><li role="complementary" aria-labelledby="global-new-tweet-button" class="topbar-tweet-btn">
<button id="global-new-tweet-button" type="button" class="js-global-new-tweet js-tooltip btn primary-btn tweet-btn js-dynamic-tooltip" data-placement="bottom" data-component-term="new_tweet_button">
<span class="Icon Icon--tweet Icon--large"></span>
<span class="text">Tweet</span>
</button>
</li></ul></div>
</div>
</div>
</div>
</div>
<div id="page-outer">
<div id="page-container" class="AppContent wrapper wrapper-permalink">
<style id="user-style-github">
a,
a:hover,
a:focus,
a:active {
color: #0000FF;
}
.u-textUserColor,
.u-textUserColorHover:hover,
.u-textUserColorHover:focus {
color: #0000FF !important;
}
.u-borderUserColor,
.u-borderUserColorHover:hover,
.u-borderUserColorHover:focus {
border-color: #0000FF !important;
}
.u-bgUserColor,
.u-bgUserColorHover:hover,
.u-bgUserColorHover:focus {
background-color: #0000FF !important;
}
.u-boxShadowInsetUserColorHover:hover,
.u-boxShadowInsetUserColorHover:focus {
box-shadow: inset 0 0 0 5px #0000FF !important;
}
.u-textUserColorLight {
color: #9999FF !important;
}
.u-borderUserColorLight,
.u-borderUserColorLightFocus:focus,
.u-borderUserColorLightHover:hover,
.u-borderUserColorLightHover:focus {
border-color: #9999FF !important;
}
.u-bgUserColorLight {
background-color: #9999FF !important;
}
.u-boxShadowUserColorLighterFocus:focus {
box-shadow: 0 0 8px rgba(0, 0, 0, 0.05), inset 0 1px 2px rgba(0,0,255,0.25) !important;
}
.u-textUserColorLightest {
color: #E5E5FF !important;
}
.u-borderUserColorLightest {
border-color: #E5E5FF !important;
}
.u-bgUserColorLightest {
background-color: #E5E5FF !important;
}
.u-textUserColorLighter {
color: #BFBFFF !important;
}
.u-borderUserColorLighter {
border-color: #BFBFFF !important;
}
.u-bgUserColorLighter {
background-color: #BFBFFF !important;
}
.u-bgUserColorDarkHover:hover {
background-color: #0000CC !important;
}
.u-borderUserColorDark {
border-color: #0000CC !important;
}
.u-bgUserColorDarkerActive:active {
background-color: #000099 !important;
}
a,
.btn-link,
.btn-link:focus,
.icon-btn,
.pretty-link b,
.pretty-link:hover s,
.pretty-link:hover b,
.pretty-link:focus s,
.pretty-link:focus b,
/* Account Group */
.metadata a:hover,
.metadata a:focus,
.account-group:hover .fullname,
.account-group:focus .fullname,
.account-summary:focus .fullname,
.message .message-text a,
.stats a strong,
.plain-btn:hover,
.plain-btn:focus,
.dropdown.open .user-dropdown.plain-btn,
.open > .plain-btn,
#global-actions .new:before,
.module .list-link:hover,
.module .list-link:focus,
.UserCompletion-step:hover,
.stats a:hover,
.stats a:hover strong,
.stats a:focus,
.stats a:focus strong,
.profile-modal-header .fullname a:hover,
.profile-modal-header .username a:hover,
.profile-modal-header .fullname a:focus,
.profile-modal-header .username a:focus,
.story-article:hover .metadata,
.story-article .metadata a:focus,
.find-friends-sources li:hover .source,
.stream-item a:hover .fullname,
.stream-item a:focus .fullname,
.stream-item .view-all-supplements:hover,
.stream-item .view-all-supplements:focus,
.tweet .time a:hover,
.tweet .time a:focus,
.tweet .details.with-icn b,
.tweet .details.with-icn .Icon,
.tweet .tweet-geo-text a:hover,
.stream-item:hover .original-tweet .details b,
.stream-item .original-tweet.focus .details b,
.stream-item.open .original-tweet .details b,
.simple-tweet:hover .details b,
.simple-tweet.focus .details b,
.simple-tweet.open .details b,
.simple-tweet:hover .details .simple-details-link,
.simple-tweet.focus .details .simple-details-link,
.client-and-actions a:hover,
.client-and-actions a:focus,
.dismiss-promoted:hover b,
.tweet .context .pretty-link:hover s,
.tweet .context .pretty-link:hover b,
.tweet .context .pretty-link:focus s,
.tweet .context .pretty-link:focus b,
.list .username a:hover,
.list .username a:focus,
.list-membership-container .create-a-list,
.list-membership-container .create-a-list:hover,
.story-header:hover .view-tweets,
.card .list-details a:hover,
.card .list-details a:focus,
.card .card-body:hover .attribution,
.card .card-body .attribution:focus,
.events-card .card-body:hover .attribution,
.events-card .card-body .attribution:focus,
.new-tweets-bar,
.onebox .soccer ul.ticker a:hover,
.onebox .soccer ul.ticker a:focus,
.discover-item-actions a,
.remove-background-btn,
.stream-item-activity-notification .latest-tweet .tweet-row a:hover,
.stream-item-activity-notification .latest-tweet .tweet-row a:focus,
.stream-item-activity-notification .latest-tweet .tweet-row a:hover b,
.stream-item-activity-notification .latest-tweet .tweet-row a:focus b {
color: #0000FF;
}
#global-actions > li > a {
border-bottom-color: #0000FF;
}
#global-actions > li:hover > a,
#global-actions > li > a:focus,
.nav.right-actions > li > a:hover,
.nav.right-actions > li > button:hover,
.nav.right-actions > li > a:focus,
.nav.right-actions > li > button:focus {
color: #0000FF;
}
/* hover state for photo select button*/
.photo-selector:hover .btn,
.icon-btn:hover,
.icon-btn:active,
.icon-btn.active,
.icon-btn.enabled {
border-color: #0000FF;
border-color: rgba(0,0,255,.5);
color: #0000FF;
}
/* hover state for photo select button*/
.photo-selector:hover .btn,
.icon-btn:hover {
background-image: linear-gradient(rgba(255,255,255,0), rgba(0,0,255,.1));
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00FFFFFF', endColorstr='#190000FF'); /* IE8-9 */
}
.icon-btn.disabled,
.icon-btn.disabled:hover,
.icon-btn[disabled],
.icon-btn[aria-disabled=true] {
color: #0000FF;
}
/* tweet-btn can have primary-btn class as well so the following rules ensure that the correct background color is applied */
.tweet-btn,
.tweet-btn:focus {
background-color: #0000FF;
background: rgba(0,0,255,.8);
}
.tweet-btn:hover,
.tweet-btn:active,
.tweet-btn.active {
background-color: #0000FF;
}
.tweet-btn.btn.disabled,
.tweet-btn.btn.disabled:hover,
.tweet-btn.btn[disabled],
.tweet-btn.btn[aria-disabled=true] {
background: #0000FF;
}
.btn:focus,
.btn.focus,
.Button:focus {
box-shadow:
0 0 0 1px #fff,
0 0 0 3px rgba(0, 0, 255, 0.5);
}
.selected-stream-item:focus {
box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.5);
}
/* highlighting when navigate through timeline stream table view with j & k. */
.js-navigable-stream.stream-table-view .selected-stream-item[tabindex="-1"]:focus {
outline: 3px solid rgba(0, 0, 255, 0.5) !important;
}
/* box-shadow does not work with table tr element */
.js-navigable-stream.stream-table-view .selected-stream-item:focus {
box-shadow: none;
}
/**
* 1. Bring actionable tweet to top when active to ensure border
* highlighting wraps entire tweet. Value must be at least at if not
* higher than the z-index value of ProfileHeading to ensure first
* tweet in timeline receives border on all four sides.
* NOTE: z-index should be 2 to avoid conflicts with .ProfileCanopy and .ProfileCard-avatarLink
*/
.ProfileTweet.is-actionable,
.js-stream-item.is-selected:focus .ProfileTweet,
.js-stream-item.is-selected:focus .ProfileCard,
.QuoteTweet:hover,
.QuoteTweet:focus,
.QuoteTweet:active {
border-color: rgba(0, 0, 255, 0.5);
z-index: 2; /* 1 */
}
.global-dm-nav.new.with-count .dm-new {
background: #fff;
}
.global-dm-nav.new.with-count .dm-new .count-inner {
background: #0000FF;
}
.global-nav .people .count .count-inner {
background: #0000FF;
}
.dropdown-menu li > a:hover,
.dropdown-menu li > a:focus,
.dropdown-menu .dropdown-link:hover,
.dropdown-menu .dropdown-link:focus,
.dropdown-menu .dropdown-link.is-focused,
.dropdown-menu li:hover .dropdown-link,
.dropdown-menu li:focus .dropdown-link,
.dropdown-menu .typeahead-recent-search-item.selected,
.dropdown-menu .typeahead-saved-search-item.selected,
.dropdown-menu .selected a,
.dropdown-menu .dropdown-link.selected {
background-color: #0000FF !important;
}
/* give tweet boxes 10% of the users link color as background */
.home-tweet-box,
.dm-tweetbox,
.RetweetDialog-commentBox,
.WebToast-box--altColor,
.content-main .conversations-enabled .expansion-container .inline-reply-tweetbox {
background-color: #E5E5FF;
}
.conversations-enabled .inline-reply-caret .caret-inner {
border-bottom-color: #E5E5FF;
}
.top-timeline-tweetbox .timeline-tweet-box .tweet-form.condensed .tweet-box {
color: #0000FF;
}
/* give tweet box containers an outline using the users link color */
.home-tweet-box,
.top-timeline-tweetbox .timeline-tweet-box {
border-color: #BFBFFF !important;
}
/* give tweet boxes an outline using the users link color */
.tweet-box[contenteditable="true"] {
border-color: rgba(0,0,255,0.25);
}
input:focus,
textarea:focus,
div[contenteditable="true"]:focus,
div[contenteditable="true"].fake-focus {
border-color: #6666FF;
box-shadow: inset 0 0 0 1px rgba(0, 0, 255, 0.7);
}
.currently-dragging.modal-enabled .modal .tweet-box,
.currently-dragging:not(.modal-enabled) .tweet-content .tweet-box,
.tweet-box[contenteditable="true"]:focus {
border-color: #9999FF;
box-shadow: none;
}
s,
.pretty-link:hover s,
.pretty-link:focus s,
.stream-item-activity-notification .latest-tweet .tweet-row a:hover s,
.stream-item-activity-notification .latest-tweet .tweet-row a:focus s {
color: #6666FF;
}
.vellip,
.vellip:before,
.vellip:after,
.conversation-module > li:after,
.conversation-module > li:before,
.ThreadedConversation-tweet ~ .ThreadedConversation-tweet:before,
.ThreadedConversation-tweet:after,
.ThreadedConversation-viewOther:before,
.ThreadedConversation-unavailableTweet:before,
.ThreadedConversation-unavailableTweet:after {
background-color: #6666FF;
}
.tweet .sm-reply,
.tweet .sm-rt,
.tweet .sm-fav,
.tweet .sm-image,
.tweet .sm-video,
.tweet .sm-audio,
.tweet .sm-geo,
.tweet .sm-in,
.tweet .sm-trash,
.tweet .sm-more,
.tweet .sm-page,
.tweet .sm-embed,
.tweet .sm-summary,
.tweet .sm-chat,
.timelines-navigation .active .profile-nav-icon,
.timelines-navigation .profile-nav-icon:hover,
.timelines-navigation .profile-nav-link:focus .profile-nav-icon,
.sm-top-tweet,
.metadata a.tweet-geo-text:hover .sm-geo,
.discover-item .js-action-card-search:hover .sm-search,
.discover-item .js-action-card-search:focus .sm-search {
background-color: #0000FF;
}
.enhanced-mini-profile .mini-profile .profile-summary {
background-image: url(https://pbs.twimg.com/profile_banners/13334762/1415719104/mobile);
}
.wrapper-profile .profile-card.profile-header .profile-header-inner {
background-image: url(https://pbs.twimg.com/profile_banners/13334762/1415719104/web);
}
#global-tweet-dialog .modal-header {
border-bottom: solid 1px rgba(0, 0, 255, .25);
}
#global-tweet-dialog .modal-tweet-form-container {
background-color: #0000FF;
background: rgba(0, 0, 255, .1);
}
.inline-reply-tweetbox {
background-color: #E5E5FF;
}
</style>
<style id="user-style-github-bg-img" class="js-user-style-bg-img">
body.user-style-github {
background-color: #EEEEEE;
}
</style>
<style id="user-style-github-header-img" class="js-user-style-header-img">
body.user-style-github .enhanced-mini-profile .mini-profile .profile-summary {
background-image: url(https://pbs.twimg.com/profile_banners/13334762/1415719104/web);
}
body.user-style-github .wrapper-profile .profile-card.profile-header .profile-header-inner {
background-image: url(https://pbs.twimg.com/profile_banners/13334762/1415719104/web);
}
.DashboardProfileCard-bg {
background-image: url(https://pbs.twimg.com/profile_banners/13334762/1415719104/600x200);
}
body.user-style-github .profile-canopy .bg-img {
background-image: url(https://pbs.twimg.com/profile_banners/13334762/1415719104/web_retina);
}
</style>
<div class="permalink-container">
<div role="main" class="permalink light-inline-actions stream-uncapped">
<div class="permalink-inner permalink-tweet-container">
<div class="tweet permalink-tweet js-actionable-user js-actionable-tweet js-original-tweet
opened-tweet
has-cards
with-social-proof
with-user-actions
logged-in
preexpanded" data-associated-tweet-id="609116267891580928"
data-tweet-id="609116267891580928"
data-disclosure-type=""
data-item-id="609116267891580928"
data-permalink-path="/github/status/609116267891580928"
data-screen-name="github" data-name="GitHub" data-user-id="13334762"
data-has-cards="true"
data-card2-type="summary_large_image"
data-mentions="codeconf"
data-you-follow="false"
data-follows-you="false"
data-you-block="false"
>
<div class="content clearfix">
<div class="permalink-header">
<div class="follow-bar">
<div class="user-actions btn-group not-following not-muting " data-user-id="13334762"
data-screen-name="github" data-name="GitHub" data-protected="false">
<div class="dropdown ">
<button type="button" class="user-dropdown dropdown-toggle js-dropdown-toggle js-link js-tooltip btn plain-btn" title="More user actions">
<span class="user-dropdown-icon Icon Icon--cog Icon--medium"><span class="visuallyhidden">User Actions</span></span>
</button>
<div class="dropdown-menu">
<div class="dropdown-caret">
<span class="caret-outer"></span>
<span class="caret-inner"></span>
</div>
<ul>
<li class="mention-text pretty-link not-blocked"><button type="button" class="dropdown-link">Tweet to <span class="u-dir" dir="ltr">@github</span></button></li>
<li class="dm-text"><button type="button" class="dropdown-link">Send a Direct Message</button></li>
<li class="list-text pretty-link not-blocked"><button type="button" class="dropdown-link">Add or remove from lists…</button></li>
<li class="dropdown-divider not-blocked"></li>
<li class="mute-user-item pretty-link"><button type="button" class="dropdown-link">Mute</button></li>
<li class="unmute-user-item pretty-link"><button type="button" class="dropdown-link">Unmute</button></li>
<li class="block-text pretty-link not-blocked"><button type="button" class="dropdown-link">Block</button></li>
<li class="unblock-text pretty-link"><button type="button" class="dropdown-link">Unblock</button></li>
<li class="report-text pretty-link"><button type="button" class="dropdown-link">Report</button></li>
<li class="hide-suggestion-text"><button type="button" class="dropdown-link">Hide this suggestion</button></li>
<li class="dropdown-divider is-following"></li>
<li class="retweet-on-text"><button type="button" class="dropdown-link">Turn on Retweets</button></li>
<li class="retweet-off-text"><button type="button" class="dropdown-link">Turn off Retweets</button></li>
<li class="device-notifications-on-text"><button type="button" class="dropdown-link">Turn on mobile notifications</button></li>
<li class="device-notifications-off-text"><button type="button" class="dropdown-link">Turn off mobile notifications</button></li>
<li class="dropdown-divider is-embeddable"></li>
<li class="embed-profile"><button type="button" class="dropdown-link">Embed this Profile</button></li>
</ul>
</div>
</div>
<button class="user-actions-follow-button js-follow-btn follow-button btn" type="button">
<span class="button-text follow-text">
<span class="Icon Icon--follow"></span> Follow
</span>
<span class="button-text following-text">
Following
</span>
<span class="button-text unfollow-text">
Unfollow
</span>
<span class="button-text blocked-text">Blocked</span>
<span class="button-text unblock-text">Unblock</span>
<span class="button-text pending-text">Pending</span>
<span class="button-text cancel-text">Cancel</span>
</button>
</div>
</div>
<a class="account-group js-account-group js-action-profile js-user-profile-link js-nav" href="/github" data-user-id="13334762">
<img class="avatar js-action-profile-avatar" src="https://pbs.twimg.com/profile_images/426158315781881856/sBsvBbjY_bigger.png" alt="">
<strong class="fullname js-action-profile-name show-popup-with-id" data-aria-label-part>GitHub<span class="verifiedContainer"><span class="Icon Icon--verifiedFill Icon--small"></span><span class="Icon Icon--verified Icon--small"></span><span class="u-hiddenVisually">Verified account</span></span>
</strong>
<span>‏</span><span class="username js-action-profile-name" data-aria-label-part><s>@</s><b>github</b></span>
</a>
<small class="time">
<a href="/github/status/609116267891580928" class="tweet-timestamp js-permalink js-nav js-tooltip" title="5:53 PM - 11 Jun 2015" ><span class="_timestamp js-short-timestamp " data-aria-label-part="last" data-time="1434059609" data-time-ms="1434059609000" data-long-form="true">Jun 11</span></a>
</small>
</div>
</div>
<p class="TweetTextSize TweetTextSize--28px js-tweet-text tweet-text" lang="en" data-aria-label-part="0">Check out the full list of <a href="/codeconf" class="twitter-atreply pretty-link js-nav" dir="ltr" ><s>@</s><b>codeconf</b></a> sessions and grab your ticket now! See you in Nashville in 2 weeks: <a href="http://t.co/9mynYt0VPc" rel="nofollow" dir="ltr" data-expanded-url="http://codeconf.com/" class="twitter-timeline-link" target="_blank" title="http://codeconf.com/" ><span class="tco-ellipsis"></span><span class="invisible">http://</span><span class="js-display-url">codeconf.com</span><span class="invisible">/</span><span class="tco-ellipsis"><span class="invisible"> </span></span></a></p>
<div class="stream-item-footer">
<span class="ProfileTweet-action--reply u-hiddenVisually"></span>
<span class="ProfileTweet-action--retweet u-hiddenVisually">
<span class="ProfileTweet-actionCount" data-tweet-stat-count="27">
<span class="ProfileTweet-actionCountForAria" data-aria-label-part>27 retweets</span>
</span>
</span>
<span class="ProfileTweet-action--favorite u-hiddenVisually">
<span class="ProfileTweet-actionCount" data-tweet-stat-count="27">
<span class="ProfileTweet-actionCountForAria" data-aria-label-part>27 favorites</span>
</span>
</span>
<div role="group" aria-label="Tweet actions" class="ProfileTweet-actionList u-cf js-actions">
<div class="ProfileTweet-action ProfileTweet-action--reply">
<button class="ProfileTweet-actionButton u-textUserColorHover js-actionButton js-actionReply js-tooltip"
data-modal="ProfileTweet-reply"
type="button"
title="Reply">
<span class="Icon Icon--reply"></span>
<span class="u-hiddenVisually">Reply</span>
</button>
</div>
<div class="ProfileTweet-action ProfileTweet-action--retweet js-toggleState js-toggleRt">
<button class="ProfileTweet-actionButton js-actionButton js-actionRetweet js-tooltip"
title="Retweet"
data-modal="ProfileTweet-retweet"
type="button">
<span class="Icon Icon--retweet"></span>
<span class="u-hiddenVisually">Retweet</span>
<span class="ProfileTweet-actionCount">
<span class="ProfileTweet-actionCountForPresentation" aria-hidden="true">27</span>
</span>
</button><button class="ProfileTweet-actionButtonUndo js-actionButton js-actionRetweet js-tooltip"
data-modal="ProfileTweet-retweet"
title="Undo retweet"
type="button">
<span class="Icon Icon--retweet"></span>
<span class="u-hiddenVisually">Retweeted</span>
<span class="ProfileTweet-actionCount">
<span class="ProfileTweet-actionCountForPresentation" aria-hidden="true">27</span>
</span>
</button>
</div>
<div class="ProfileTweet-action ProfileTweet-action--favorite js-toggleState">
<button class="ProfileTweet-actionButton js-actionButton js-actionFavorite js-tooltip"
title="Favorite"
type="button">
<span class="Icon Icon--favorite"></span>
<span class="u-hiddenVisually">Favorite</span>
<span class="ProfileTweet-actionCount">
<span class="ProfileTweet-actionCountForPresentation" aria-hidden="true">27</span>
</span>
</button><button class="ProfileTweet-actionButtonUndo u-linkClean js-actionButton js-actionFavorite js-tooltip"
title="Undo favorite"
type="button">
<span class="Icon Icon--favorite"></span>
<span class="u-hiddenVisually">Favorited</span>
<span class="ProfileTweet-actionCount">
<span class="ProfileTweet-actionCountForPresentation" aria-hidden="true">27</span>
</span>
</button>
</div>
<div class="ProfileTweet-action ProfileTweet-action--follow user-actions not-following not-muting"
data-user-id="13334762" >
<button class="ProfileTweet-actionButton ProfileTweet-follow-button js-tooltip"
title="Follow"
data-modal="ProfileTweet-follow"
type="button">
<span class="Icon Icon--follow"></span>
<span class="u-hiddenVisually">Follow</span>
</button><button class="ProfileTweet-actionButtonUndo ProfileTweet-follow-button js-tooltip"
data-modal="ProfileTweet-follow"
title="Undo follow"
type="button">
<span class="Icon Icon--following"></span>
<span class="u-hiddenVisually">Followed</span>
</button>
</div>
<div class="ProfileTweet-action ProfileTweet-action--more js-more-ProfileTweet-actions">
<div class="dropdown">
<button class="ProfileTweet-actionButton u-textUserColorHover dropdown-toggle js-tooltip js-dropdown-toggle"
type="button"
title="More">
<span class="Icon Icon--dots"></span>
<span class="u-hiddenVisually">More</span>
</button>
<div class="dropdown-menu">
<div class="dropdown-caret">
<div class="caret-outer"></div>
<div class="caret-inner"></div>
</div>
<ul>
<li class="share-via-dm js-actionShareViaDM" data-nav="share_tweet_dm">
<button type="button" class="dropdown-link">Share via Direct Message</button>
</li>
<li class="copy-link-to-tweet js-actionCopyLinkToTweet">
<button type="button" class="dropdown-link">Copy link to Tweet</button>
</li>
<li class="embed-link js-actionEmbedTweet" data-nav=