PageRenderTime 32ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 1ms

/client/js/lib/socket.io.min.js

https://github.com/ngokevin/underthegun
JavaScript | 1150 lines | 1001 code | 149 blank | 0 comment | 9 complexity | 85dd25a3bd4a92246a7e114a1544878c MD5 | raw file
Possible License(s): GPL-2.0
  1. <!DOCTYPE html>
  2. <html>
  3. <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# githubog: http://ogp.me/ns/fb/githubog#">
  4. <meta charset='utf-8'>
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <title>socket.io-client/dist/socket.io.min.js at master · LearnBoost/socket.io-client · GitHub</title>
  7. <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub" />
  8. <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub" />
  9. <link rel="apple-touch-icon-precomposed" sizes="57x57" href="apple-touch-icon-114.png" />
  10. <link rel="apple-touch-icon-precomposed" sizes="114x114" href="apple-touch-icon-114.png" />
  11. <link rel="apple-touch-icon-precomposed" sizes="72x72" href="apple-touch-icon-144.png" />
  12. <link rel="apple-touch-icon-precomposed" sizes="144x144" href="apple-touch-icon-144.png" />
  13. <meta name="msapplication-TileImage" content="/windows-tile.png">
  14. <meta name="msapplication-TileColor" content="#ffffff">
  15. <link rel="icon" type="image/x-icon" href="/favicon.ico" />
  16. <meta content="authenticity_token" name="csrf-param" />
  17. <meta content="xHiO45dYz79MZ4nKURRmu0uY6GJ9GU2uBG/VcupfJZI=" name="csrf-token" />
  18. <link href="https://a248.e.akamai.net/assets.github.com/assets/github-136f905f03a0a6ce0292d2e017a31c4fe548e2d0.css" media="screen" rel="stylesheet" type="text/css" />
  19. <link href="https://a248.e.akamai.net/assets.github.com/assets/github2-6fb37f4beb26b76fec8bcd25a34a112492a75cd5.css" media="screen" rel="stylesheet" type="text/css" />
  20. <script src="https://a248.e.akamai.net/assets.github.com/assets/frameworks-eee761b9d5e06efb064aaaf528c44ef8e1601e71.js" type="text/javascript"></script>
  21. <script src="https://a248.e.akamai.net/assets.github.com/assets/github-2de398324ee782e389eecdcbf255684912028c83.js" type="text/javascript"></script>
  22. <link rel='permalink' href='/LearnBoost/socket.io-client/blob/63f18383647e83ea0fcab4fbac53c25ff95db508/dist/socket.io.min.js'>
  23. <meta property="og:title" content="socket.io-client"/>
  24. <meta property="og:type" content="githubog:gitrepository"/>
  25. <meta property="og:url" content="https://github.com/LearnBoost/socket.io-client"/>
  26. <meta property="og:image" content="https://secure.gravatar.com/avatar/07100ee5e8dedd7c96195b2aa422dbb5?s=420&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png"/>
  27. <meta property="og:site_name" content="GitHub"/>
  28. <meta property="og:description" content="Sockets for the rest of us. Contribute to socket.io-client development by creating an account on GitHub."/>
  29. <meta name="description" content="Sockets for the rest of us. Contribute to socket.io-client development by creating an account on GitHub." />
  30. <link href="https://github.com/LearnBoost/socket.io-client/commits/master.atom" rel="alternate" title="Recent Commits to socket.io-client:master" type="application/atom+xml" />
  31. </head>
  32. <body class="logged_out page-blob vis-public env-production ">
  33. <div id="wrapper">
  34. <div class="header header-logged-out">
  35. <div class="container clearfix">
  36. <a class="header-logo-wordmark" href="https://github.com/">
  37. <img alt="GitHub" class="github-logo-4x" height="30" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7@4x.png?1338956357" />
  38. <img alt="GitHub" class="github-logo-4x-hover" height="30" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7@4x-hover.png?1338956357" />
  39. </a>
  40. <ul class="top-nav">
  41. <li class="explore"><a href="https://github.com/explore">Explore GitHub</a></li>
  42. <li class="search"><a href="https://github.com/search">Search</a></li>
  43. <li class="features"><a href="https://github.com/features">Features</a></li>
  44. <li class="blog"><a href="https://github.com/blog">Blog</a></li>
  45. </ul>
  46. <div class="header-actions">
  47. <a class="button primary classy" href="https://github.com/signup">Sign up for free</a>
  48. <a class="button classy" href="https://github.com/login?return_to=%2FLearnBoost%2Fsocket.io-client%2Fblob%2Fmaster%2Fdist%2Fsocket.io.min.js">Sign in</a>
  49. </div>
  50. </div>
  51. </div>
  52. <div class="site hfeed" itemscope itemtype="http://schema.org/WebPage">
  53. <div class="hentry">
  54. <div class="pagehead repohead instapaper_ignore readability-menu">
  55. <div class="container">
  56. <div class="title-actions-bar">
  57. <ul class="pagehead-actions">
  58. <li>
  59. <span class="star-button"><a href="/login?return_to=%2FLearnBoost%2Fsocket.io-client" class="minibutton js-toggler-target entice tooltipped leftwards" title="You must be signed in to use this feature" rel="nofollow"><span class="mini-icon mini-icon-star"></span>Star</a><a class="social-count js-social-count" href="/LearnBoost/socket.io-client/stargazers">1,833</a></span>
  60. </li>
  61. <li>
  62. <a href="/login?return_to=%2FLearnBoost%2Fsocket.io-client" class="minibutton js-toggler-target fork-button entice tooltipped leftwards" title="You must be signed in to fork a repository" rel="nofollow"><span class="mini-icon mini-icon-fork"></span>Fork</a><a href="/LearnBoost/socket.io-client/network" class="social-count">317</a>
  63. </li>
  64. </ul>
  65. <h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title public">
  66. <span class="repo-label"><span>public</span></span>
  67. <span class="mega-icon mega-icon-public-repo"></span>
  68. <span class="author vcard">
  69. <a href="/LearnBoost" class="url fn" itemprop="url" rel="author">
  70. <span itemprop="title">LearnBoost</span>
  71. </a></span> /
  72. <strong><a href="/LearnBoost/socket.io-client" class="js-current-repository">socket.io-client</a></strong>
  73. </h1>
  74. </div>
  75. <ul class="tabs">
  76. <li><a href="/LearnBoost/socket.io-client" class="selected" highlight="repo_sourcerepo_downloadsrepo_commitsrepo_tagsrepo_branches">Code</a></li>
  77. <li><a href="/LearnBoost/socket.io-client/network" highlight="repo_network">Network</a></li>
  78. <li><a href="/LearnBoost/socket.io-client/pulls" highlight="repo_pulls">Pull Requests <span class='counter'>43</span></a></li>
  79. <li><a href="/LearnBoost/socket.io-client/issues" highlight="repo_issues">Issues <span class='counter'>164</span></a></li>
  80. <li><a href="/LearnBoost/socket.io-client/wiki" highlight="repo_wiki">Wiki</a></li>
  81. <li><a href="/LearnBoost/socket.io-client/graphs" highlight="repo_graphsrepo_contributors">Graphs</a></li>
  82. </ul>
  83. <div class="tabnav">
  84. <span class="tabnav-right">
  85. <ul class="tabnav-tabs">
  86. <li><a href="/LearnBoost/socket.io-client/tags" class="tabnav-tab" highlight="repo_tags">Tags <span class="counter ">52</span></a></li>
  87. </ul>
  88. </span>
  89. <div class="tabnav-widget scope">
  90. <div class="context-menu-container js-menu-container js-context-menu">
  91. <a href="#"
  92. class="minibutton bigger switcher js-menu-target js-commitish-button btn-branch repo-tree"
  93. data-hotkey="w"
  94. data-ref="master">
  95. <span><em class="mini-icon mini-icon-branch"></em><i>branch:</i> master</span>
  96. </a>
  97. <div class="context-pane commitish-context js-menu-content">
  98. <a href="#" class="close js-menu-close"><span class="mini-icon mini-icon-remove-close"></span></a>
  99. <div class="context-title">Switch branches/tags</div>
  100. <div class="context-body pane-selector commitish-selector js-navigation-container">
  101. <div class="filterbar">
  102. <input type="text" id="context-commitish-filter-field" class="js-navigation-enable js-filterable-field js-ref-filter-field" placeholder="Filter branches/tags">
  103. <ul class="tabs">
  104. <li><a href="#" data-filter="branches" class="selected">Branches</a></li>
  105. <li><a href="#" data-filter="tags">Tags</a></li>
  106. </ul>
  107. </div>
  108. <div class="js-filter-tab js-filter-branches">
  109. <div data-filterable-for="context-commitish-filter-field" data-filterable-type=substring>
  110. <div class="commitish-item branch-commitish selector-item js-navigation-item js-navigation-target ">
  111. <span class="mini-icon mini-icon-confirm"></span>
  112. <h4>
  113. <a href="/LearnBoost/socket.io-client/blob/06/dist/socket.io.min.js" class="js-navigation-open" data-name="06" rel="nofollow">06</a>
  114. </h4>
  115. </div>
  116. <div class="commitish-item branch-commitish selector-item js-navigation-item js-navigation-target ">
  117. <span class="mini-icon mini-icon-confirm"></span>
  118. <h4>
  119. <a href="/LearnBoost/socket.io-client/blob/1.0/dist/socket.io.min.js" class="js-navigation-open" data-name="1.0" rel="nofollow">1.0</a>
  120. </h4>
  121. </div>
  122. <div class="commitish-item branch-commitish selector-item js-navigation-item js-navigation-target ">
  123. <span class="mini-icon mini-icon-confirm"></span>
  124. <h4>
  125. <a href="/LearnBoost/socket.io-client/blob/develop/dist/socket.io.min.js" class="js-navigation-open" data-name="develop" rel="nofollow">develop</a>
  126. </h4>
  127. </div>
  128. <div class="commitish-item branch-commitish selector-item js-navigation-item js-navigation-target selected">
  129. <span class="mini-icon mini-icon-confirm"></span>
  130. <h4>
  131. <a href="/LearnBoost/socket.io-client/blob/master/dist/socket.io.min.js" class="js-navigation-open" data-name="master" rel="nofollow">master</a>
  132. </h4>
  133. </div>
  134. <div class="commitish-item branch-commitish selector-item js-navigation-item js-navigation-target ">
  135. <span class="mini-icon mini-icon-confirm"></span>
  136. <h4>
  137. <a href="/LearnBoost/socket.io-client/blob/webworker/dist/socket.io.min.js" class="js-navigation-open" data-name="webworker" rel="nofollow">webworker</a>
  138. </h4>
  139. </div>
  140. </div>
  141. <div class="no-results">Nothing to show</div>
  142. </div>
  143. <div class="js-filter-tab js-filter-tags " style="display:none">
  144. <div data-filterable-for="context-commitish-filter-field" data-filterable-type=substring>
  145. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  146. <span class="mini-icon mini-icon-confirm"></span>
  147. <h4>
  148. <a href="/LearnBoost/socket.io-client/blob/0.9.11/dist/socket.io.min.js" class="js-navigation-open" data-name="0.9.11" rel="nofollow">0.9.11</a>
  149. </h4>
  150. </div>
  151. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  152. <span class="mini-icon mini-icon-confirm"></span>
  153. <h4>
  154. <a href="/LearnBoost/socket.io-client/blob/0.9.10/dist/socket.io.min.js" class="js-navigation-open" data-name="0.9.10" rel="nofollow">0.9.10</a>
  155. </h4>
  156. </div>
  157. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  158. <span class="mini-icon mini-icon-confirm"></span>
  159. <h4>
  160. <a href="/LearnBoost/socket.io-client/blob/0.9.9/dist/socket.io.min.js" class="js-navigation-open" data-name="0.9.9" rel="nofollow">0.9.9</a>
  161. </h4>
  162. </div>
  163. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  164. <span class="mini-icon mini-icon-confirm"></span>
  165. <h4>
  166. <a href="/LearnBoost/socket.io-client/blob/0.9.8/dist/socket.io.min.js" class="js-navigation-open" data-name="0.9.8" rel="nofollow">0.9.8</a>
  167. </h4>
  168. </div>
  169. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  170. <span class="mini-icon mini-icon-confirm"></span>
  171. <h4>
  172. <a href="/LearnBoost/socket.io-client/blob/0.9.7/dist/socket.io.min.js" class="js-navigation-open" data-name="0.9.7" rel="nofollow">0.9.7</a>
  173. </h4>
  174. </div>
  175. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  176. <span class="mini-icon mini-icon-confirm"></span>
  177. <h4>
  178. <a href="/LearnBoost/socket.io-client/blob/0.9.6/dist/socket.io.min.js" class="js-navigation-open" data-name="0.9.6" rel="nofollow">0.9.6</a>
  179. </h4>
  180. </div>
  181. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  182. <span class="mini-icon mini-icon-confirm"></span>
  183. <h4>
  184. <a href="/LearnBoost/socket.io-client/blob/0.9.5/dist/socket.io.min.js" class="js-navigation-open" data-name="0.9.5" rel="nofollow">0.9.5</a>
  185. </h4>
  186. </div>
  187. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  188. <span class="mini-icon mini-icon-confirm"></span>
  189. <h4>
  190. <a href="/LearnBoost/socket.io-client/blob/0.9.4/dist/socket.io.min.js" class="js-navigation-open" data-name="0.9.4" rel="nofollow">0.9.4</a>
  191. </h4>
  192. </div>
  193. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  194. <span class="mini-icon mini-icon-confirm"></span>
  195. <h4>
  196. <a href="/LearnBoost/socket.io-client/blob/0.9.3/dist/socket.io.min.js" class="js-navigation-open" data-name="0.9.3" rel="nofollow">0.9.3</a>
  197. </h4>
  198. </div>
  199. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  200. <span class="mini-icon mini-icon-confirm"></span>
  201. <h4>
  202. <a href="/LearnBoost/socket.io-client/blob/0.9.2/dist/socket.io.min.js" class="js-navigation-open" data-name="0.9.2" rel="nofollow">0.9.2</a>
  203. </h4>
  204. </div>
  205. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  206. <span class="mini-icon mini-icon-confirm"></span>
  207. <h4>
  208. <a href="/LearnBoost/socket.io-client/blob/0.9.1-1/dist/socket.io.min.js" class="js-navigation-open" data-name="0.9.1-1" rel="nofollow">0.9.1-1</a>
  209. </h4>
  210. </div>
  211. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  212. <span class="mini-icon mini-icon-confirm"></span>
  213. <h4>
  214. <a href="/LearnBoost/socket.io-client/blob/0.9.1/dist/socket.io.min.js" class="js-navigation-open" data-name="0.9.1" rel="nofollow">0.9.1</a>
  215. </h4>
  216. </div>
  217. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  218. <span class="mini-icon mini-icon-confirm"></span>
  219. <h4>
  220. <a href="/LearnBoost/socket.io-client/blob/0.9.0/dist/socket.io.min.js" class="js-navigation-open" data-name="0.9.0" rel="nofollow">0.9.0</a>
  221. </h4>
  222. </div>
  223. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  224. <span class="mini-icon mini-icon-confirm"></span>
  225. <h4>
  226. <a href="/LearnBoost/socket.io-client/blob/0.8.7/dist/socket.io.min.js" class="js-navigation-open" data-name="0.8.7" rel="nofollow">0.8.7</a>
  227. </h4>
  228. </div>
  229. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  230. <span class="mini-icon mini-icon-confirm"></span>
  231. <h4>
  232. <a href="/LearnBoost/socket.io-client/blob/0.8.6/dist/socket.io.min.js" class="js-navigation-open" data-name="0.8.6" rel="nofollow">0.8.6</a>
  233. </h4>
  234. </div>
  235. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  236. <span class="mini-icon mini-icon-confirm"></span>
  237. <h4>
  238. <a href="/LearnBoost/socket.io-client/blob/0.8.5/dist/socket.io.min.js" class="js-navigation-open" data-name="0.8.5" rel="nofollow">0.8.5</a>
  239. </h4>
  240. </div>
  241. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  242. <span class="mini-icon mini-icon-confirm"></span>
  243. <h4>
  244. <a href="/LearnBoost/socket.io-client/blob/0.8.4/dist/socket.io.min.js" class="js-navigation-open" data-name="0.8.4" rel="nofollow">0.8.4</a>
  245. </h4>
  246. </div>
  247. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  248. <span class="mini-icon mini-icon-confirm"></span>
  249. <h4>
  250. <a href="/LearnBoost/socket.io-client/blob/0.8.3/dist/socket.io.min.js" class="js-navigation-open" data-name="0.8.3" rel="nofollow">0.8.3</a>
  251. </h4>
  252. </div>
  253. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  254. <span class="mini-icon mini-icon-confirm"></span>
  255. <h4>
  256. <a href="/LearnBoost/socket.io-client/blob/0.8.2/dist/socket.io.min.js" class="js-navigation-open" data-name="0.8.2" rel="nofollow">0.8.2</a>
  257. </h4>
  258. </div>
  259. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  260. <span class="mini-icon mini-icon-confirm"></span>
  261. <h4>
  262. <a href="/LearnBoost/socket.io-client/blob/0.8.1/dist/socket.io.min.js" class="js-navigation-open" data-name="0.8.1" rel="nofollow">0.8.1</a>
  263. </h4>
  264. </div>
  265. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  266. <span class="mini-icon mini-icon-confirm"></span>
  267. <h4>
  268. <a href="/LearnBoost/socket.io-client/blob/0.8.0/dist/socket.io.min.js" class="js-navigation-open" data-name="0.8.0" rel="nofollow">0.8.0</a>
  269. </h4>
  270. </div>
  271. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  272. <span class="mini-icon mini-icon-confirm"></span>
  273. <h4>
  274. <a href="/LearnBoost/socket.io-client/blob/0.7.11/dist/socket.io.min.js" class="js-navigation-open" data-name="0.7.11" rel="nofollow">0.7.11</a>
  275. </h4>
  276. </div>
  277. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  278. <span class="mini-icon mini-icon-confirm"></span>
  279. <h4>
  280. <a href="/LearnBoost/socket.io-client/blob/0.7.10/dist/socket.io.min.js" class="js-navigation-open" data-name="0.7.10" rel="nofollow">0.7.10</a>
  281. </h4>
  282. </div>
  283. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  284. <span class="mini-icon mini-icon-confirm"></span>
  285. <h4>
  286. <a href="/LearnBoost/socket.io-client/blob/0.7.9/dist/socket.io.min.js" class="js-navigation-open" data-name="0.7.9" rel="nofollow">0.7.9</a>
  287. </h4>
  288. </div>
  289. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  290. <span class="mini-icon mini-icon-confirm"></span>
  291. <h4>
  292. <a href="/LearnBoost/socket.io-client/blob/0.7.5/dist/socket.io.min.js" class="js-navigation-open" data-name="0.7.5" rel="nofollow">0.7.5</a>
  293. </h4>
  294. </div>
  295. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  296. <span class="mini-icon mini-icon-confirm"></span>
  297. <h4>
  298. <a href="/LearnBoost/socket.io-client/blob/0.7.4/dist/socket.io.min.js" class="js-navigation-open" data-name="0.7.4" rel="nofollow">0.7.4</a>
  299. </h4>
  300. </div>
  301. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  302. <span class="mini-icon mini-icon-confirm"></span>
  303. <h4>
  304. <a href="/LearnBoost/socket.io-client/blob/0.7.3/dist/socket.io.min.js" class="js-navigation-open" data-name="0.7.3" rel="nofollow">0.7.3</a>
  305. </h4>
  306. </div>
  307. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  308. <span class="mini-icon mini-icon-confirm"></span>
  309. <h4>
  310. <a href="/LearnBoost/socket.io-client/blob/0.7.2/dist/socket.io.min.js" class="js-navigation-open" data-name="0.7.2" rel="nofollow">0.7.2</a>
  311. </h4>
  312. </div>
  313. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  314. <span class="mini-icon mini-icon-confirm"></span>
  315. <h4>
  316. <a href="/LearnBoost/socket.io-client/blob/0.7.1/dist/socket.io.min.js" class="js-navigation-open" data-name="0.7.1" rel="nofollow">0.7.1</a>
  317. </h4>
  318. </div>
  319. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  320. <span class="mini-icon mini-icon-confirm"></span>
  321. <h4>
  322. <a href="/LearnBoost/socket.io-client/blob/0.7.0/dist/socket.io.min.js" class="js-navigation-open" data-name="0.7.0" rel="nofollow">0.7.0</a>
  323. </h4>
  324. </div>
  325. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  326. <span class="mini-icon mini-icon-confirm"></span>
  327. <h4>
  328. <a href="/LearnBoost/socket.io-client/blob/0.6.3/dist/socket.io.min.js" class="js-navigation-open" data-name="0.6.3" rel="nofollow">0.6.3</a>
  329. </h4>
  330. </div>
  331. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  332. <span class="mini-icon mini-icon-confirm"></span>
  333. <h4>
  334. <a href="/LearnBoost/socket.io-client/blob/0.6.2/dist/socket.io.min.js" class="js-navigation-open" data-name="0.6.2" rel="nofollow">0.6.2</a>
  335. </h4>
  336. </div>
  337. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  338. <span class="mini-icon mini-icon-confirm"></span>
  339. <h4>
  340. <a href="/LearnBoost/socket.io-client/blob/0.6.1/dist/socket.io.min.js" class="js-navigation-open" data-name="0.6.1" rel="nofollow">0.6.1</a>
  341. </h4>
  342. </div>
  343. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  344. <span class="mini-icon mini-icon-confirm"></span>
  345. <h4>
  346. <a href="/LearnBoost/socket.io-client/blob/0.6/dist/socket.io.min.js" class="js-navigation-open" data-name="0.6" rel="nofollow">0.6</a>
  347. </h4>
  348. </div>
  349. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  350. <span class="mini-icon mini-icon-confirm"></span>
  351. <h4>
  352. <a href="/LearnBoost/socket.io-client/blob/0.5.3/dist/socket.io.min.js" class="js-navigation-open" data-name="0.5.3" rel="nofollow">0.5.3</a>
  353. </h4>
  354. </div>
  355. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  356. <span class="mini-icon mini-icon-confirm"></span>
  357. <h4>
  358. <a href="/LearnBoost/socket.io-client/blob/0.5.2/dist/socket.io.min.js" class="js-navigation-open" data-name="0.5.2" rel="nofollow">0.5.2</a>
  359. </h4>
  360. </div>
  361. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  362. <span class="mini-icon mini-icon-confirm"></span>
  363. <h4>
  364. <a href="/LearnBoost/socket.io-client/blob/0.5.1/dist/socket.io.min.js" class="js-navigation-open" data-name="0.5.1" rel="nofollow">0.5.1</a>
  365. </h4>
  366. </div>
  367. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  368. <span class="mini-icon mini-icon-confirm"></span>
  369. <h4>
  370. <a href="/LearnBoost/socket.io-client/blob/0.5/dist/socket.io.min.js" class="js-navigation-open" data-name="0.5" rel="nofollow">0.5</a>
  371. </h4>
  372. </div>
  373. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  374. <span class="mini-icon mini-icon-confirm"></span>
  375. <h4>
  376. <a href="/LearnBoost/socket.io-client/blob/0.2.4/dist/socket.io.min.js" class="js-navigation-open" data-name="0.2.4" rel="nofollow">0.2.4</a>
  377. </h4>
  378. </div>
  379. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  380. <span class="mini-icon mini-icon-confirm"></span>
  381. <h4>
  382. <a href="/LearnBoost/socket.io-client/blob/0.2.3/dist/socket.io.min.js" class="js-navigation-open" data-name="0.2.3" rel="nofollow">0.2.3</a>
  383. </h4>
  384. </div>
  385. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  386. <span class="mini-icon mini-icon-confirm"></span>
  387. <h4>
  388. <a href="/LearnBoost/socket.io-client/blob/0.2.2/dist/socket.io.min.js" class="js-navigation-open" data-name="0.2.2" rel="nofollow">0.2.2</a>
  389. </h4>
  390. </div>
  391. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  392. <span class="mini-icon mini-icon-confirm"></span>
  393. <h4>
  394. <a href="/LearnBoost/socket.io-client/blob/0.2.1/dist/socket.io.min.js" class="js-navigation-open" data-name="0.2.1" rel="nofollow">0.2.1</a>
  395. </h4>
  396. </div>
  397. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  398. <span class="mini-icon mini-icon-confirm"></span>
  399. <h4>
  400. <a href="/LearnBoost/socket.io-client/blob/0.2.0/dist/socket.io.min.js" class="js-navigation-open" data-name="0.2.0" rel="nofollow">0.2.0</a>
  401. </h4>
  402. </div>
  403. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  404. <span class="mini-icon mini-icon-confirm"></span>
  405. <h4>
  406. <a href="/LearnBoost/socket.io-client/blob/0.1.8/dist/socket.io.min.js" class="js-navigation-open" data-name="0.1.8" rel="nofollow">0.1.8</a>
  407. </h4>
  408. </div>
  409. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  410. <span class="mini-icon mini-icon-confirm"></span>
  411. <h4>
  412. <a href="/LearnBoost/socket.io-client/blob/0.1.7/dist/socket.io.min.js" class="js-navigation-open" data-name="0.1.7" rel="nofollow">0.1.7</a>
  413. </h4>
  414. </div>
  415. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  416. <span class="mini-icon mini-icon-confirm"></span>
  417. <h4>
  418. <a href="/LearnBoost/socket.io-client/blob/0.1.6/dist/socket.io.min.js" class="js-navigation-open" data-name="0.1.6" rel="nofollow">0.1.6</a>
  419. </h4>
  420. </div>
  421. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  422. <span class="mini-icon mini-icon-confirm"></span>
  423. <h4>
  424. <a href="/LearnBoost/socket.io-client/blob/0.1.5/dist/socket.io.min.js" class="js-navigation-open" data-name="0.1.5" rel="nofollow">0.1.5</a>
  425. </h4>
  426. </div>
  427. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  428. <span class="mini-icon mini-icon-confirm"></span>
  429. <h4>
  430. <a href="/LearnBoost/socket.io-client/blob/0.1.4/dist/socket.io.min.js" class="js-navigation-open" data-name="0.1.4" rel="nofollow">0.1.4</a>
  431. </h4>
  432. </div>
  433. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  434. <span class="mini-icon mini-icon-confirm"></span>
  435. <h4>
  436. <a href="/LearnBoost/socket.io-client/blob/0.1.3/dist/socket.io.min.js" class="js-navigation-open" data-name="0.1.3" rel="nofollow">0.1.3</a>
  437. </h4>
  438. </div>
  439. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  440. <span class="mini-icon mini-icon-confirm"></span>
  441. <h4>
  442. <a href="/LearnBoost/socket.io-client/blob/0.1.2/dist/socket.io.min.js" class="js-navigation-open" data-name="0.1.2" rel="nofollow">0.1.2</a>
  443. </h4>
  444. </div>
  445. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  446. <span class="mini-icon mini-icon-confirm"></span>
  447. <h4>
  448. <a href="/LearnBoost/socket.io-client/blob/0.1.1/dist/socket.io.min.js" class="js-navigation-open" data-name="0.1.1" rel="nofollow">0.1.1</a>
  449. </h4>
  450. </div>
  451. <div class="commitish-item tag-commitish selector-item js-navigation-item js-navigation-target ">
  452. <span class="mini-icon mini-icon-confirm"></span>
  453. <h4>
  454. <a href="/LearnBoost/socket.io-client/blob/0.1/dist/socket.io.min.js" class="js-navigation-open" data-name="0.1" rel="nofollow">0.1</a>
  455. </h4>
  456. </div>
  457. </div>
  458. <div class="no-results">Nothing to show</div>
  459. </div>
  460. </div>
  461. </div><!-- /.commitish-context-context -->
  462. </div>
  463. </div> <!-- /.scope -->
  464. <ul class="tabnav-tabs">
  465. <li><a href="/LearnBoost/socket.io-client" class="selected tabnav-tab" highlight="repo_source">Files</a></li>
  466. <li><a href="/LearnBoost/socket.io-client/commits/master" class="tabnav-tab" highlight="repo_commits">Commits</a></li>
  467. <li><a href="/LearnBoost/socket.io-client/branches" class="tabnav-tab" highlight="repo_branches" rel="nofollow">Branches <span class="counter ">5</span></a></li>
  468. </ul>
  469. </div>
  470. </div>
  471. </div><!-- /.repohead -->
  472. <div id="js-repo-pjax-container" class="container context-loader-container" data-pjax-container>
  473. <!-- blob contrib key: blob_contributors:v21:e60b5c86ca9e9afb70f2b1740f7a490c -->
  474. <!-- blob contrib frag key: views10/v8/blob_contributors:v21:e60b5c86ca9e9afb70f2b1740f7a490c -->
  475. <div id="slider">
  476. <div class="frame-meta">
  477. <p title="This is a placeholder element" class="js-history-link-replace hidden"></p>
  478. <div class="breadcrumb">
  479. <span class='bold'><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/LearnBoost/socket.io-client" class="js-slide-to" data-direction="back" itemscope="url"><span itemprop="title">socket.io-client</span></a></span></span> / <span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/LearnBoost/socket.io-client/tree/master/dist" class="js-slide-to" data-direction="back" itemscope="url"><span itemprop="title">dist</span></a></span> / <strong class="final-path">socket.io.min.js</strong> <span class="js-clippy mini-icon mini-icon-clippy " data-clipboard-text="dist/socket.io.min.js" data-copied-hint="copied!" data-copy-hint="copy to clipboard"></span>
  480. </div>
  481. <a href="/LearnBoost/socket.io-client/find/master" class="js-slide-to" data-hotkey="t" style="display:none">Show File Finder</a>
  482. <div class="commit file-history-tease">
  483. <img class="main-avatar" height="24" src="https://secure.gravatar.com/avatar/486e20e16ef676a02ac0299d2f92b813?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="24" />
  484. <span class="author"><a href="/guille" rel="author">guille</a></span>
  485. <time class="js-relative-date" datetime="2012-11-02T08:02:52-07:00" title="2012-11-02 08:02:52">November 02, 2012</time>
  486. <div class="commit-title">
  487. <a href="/LearnBoost/socket.io-client/commit/4bf6f14a51e6fa46bc65ddb73d25f950d537c9a1" class="message">Release 0.9.11</a>
  488. </div>
  489. <div class="participation">
  490. <p class="quickstat"><a href="#blob_contributors_box" rel="facebox"><strong>8</strong> contributors</a></p>
  491. <a class="avatar tooltipped downwards" title="guille" href="/LearnBoost/socket.io-client/commits/master/dist/socket.io.min.js?author=guille"><img height="20" src="https://secure.gravatar.com/avatar/486e20e16ef676a02ac0299d2f92b813?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="20" /></a>
  492. <a class="avatar tooltipped downwards" title="einaros" href="/LearnBoost/socket.io-client/commits/master/dist/socket.io.min.js?author=einaros"><img height="20" src="https://secure.gravatar.com/avatar/23b827c76b7eebbb1936f905a7ba2e24?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="20" /></a>
  493. <a class="avatar tooltipped downwards" title="ycarmel" href="/LearnBoost/socket.io-client/commits/master/dist/socket.io.min.js?author=ycarmel"><img height="20" src="https://secure.gravatar.com/avatar/4d05f63772292b4a1e4026aa2e9c24f5?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="20" /></a>
  494. <a class="avatar tooltipped downwards" title="jdahlq" href="/LearnBoost/socket.io-client/commits/master/dist/socket.io.min.js?author=jdahlq"><img height="20" src="https://secure.gravatar.com/avatar/86e4a55f6b604d7f5edfd2662accf2e4?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="20" /></a>
  495. <a class="avatar tooltipped downwards" title="dvv" href="/LearnBoost/socket.io-client/commits/master/dist/socket.io.min.js?author=dvv"><img height="20" src="https://secure.gravatar.com/avatar/8ba6cca99f430db0e2d69d57485d0e70?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="20" /></a>
  496. <a class="avatar tooltipped downwards" title="fat" href="/LearnBoost/socket.io-client/commits/master/dist/socket.io.min.js?author=fat"><img height="20" src="https://secure.gravatar.com/avatar/a98244cbdacaf1c0b55499466002f7a8?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="20" /></a>
  497. <a class="avatar tooltipped downwards" title="mreinsch" href="/LearnBoost/socket.io-client/commits/master/dist/socket.io.min.js?author=mreinsch"><img height="20" src="https://secure.gravatar.com/avatar/c7915a424cbb28fdd6c1cce270be6b58?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="20" /></a>
  498. <a class="avatar tooltipped downwards" title="3rd-Eden" href="/LearnBoost/socket.io-client/commits/master/dist/socket.io.min.js?author=3rd-Eden"><img height="20" src="https://secure.gravatar.com/avatar/21f4971707a00270b92e2ae791d5633d?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="20" /></a>
  499. </div>
  500. <div id="blob_contributors_box" style="display:none">
  501. <h2>Users on GitHub who have contributed to this file</h2>
  502. <ul class="facebox-user-list">
  503. <li>
  504. <img height="24" src="https://secure.gravatar.com/avatar/486e20e16ef676a02ac0299d2f92b813?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="24" />
  505. <a href="/guille">guille</a>
  506. </li>
  507. <li>
  508. <img height="24" src="https://secure.gravatar.com/avatar/23b827c76b7eebbb1936f905a7ba2e24?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="24" />
  509. <a href="/einaros">einaros</a>
  510. </li>
  511. <li>
  512. <img height="24" src="https://secure.gravatar.com/avatar/4d05f63772292b4a1e4026aa2e9c24f5?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="24" />
  513. <a href="/ycarmel">ycarmel</a>
  514. </li>
  515. <li>
  516. <img height="24" src="https://secure.gravatar.com/avatar/86e4a55f6b604d7f5edfd2662accf2e4?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="24" />
  517. <a href="/jdahlq">jdahlq</a>
  518. </li>
  519. <li>
  520. <img height="24" src="https://secure.gravatar.com/avatar/8ba6cca99f430db0e2d69d57485d0e70?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="24" />
  521. <a href="/dvv">dvv</a>
  522. </li>
  523. <li>
  524. <img height="24" src="https://secure.gravatar.com/avatar/a98244cbdacaf1c0b55499466002f7a8?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="24" />
  525. <a href="/fat">fat</a>
  526. </li>
  527. <li>
  528. <img height="24" src="https://secure.gravatar.com/avatar/c7915a424cbb28fdd6c1cce270be6b58?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="24" />
  529. <a href="/mreinsch">mreinsch</a>
  530. </li>
  531. <li>
  532. <img height="24" src="https://secure.gravatar.com/avatar/21f4971707a00270b92e2ae791d5633d?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="24" />
  533. <a href="/3rd-Eden">3rd-Eden</a>
  534. </li>
  535. </ul>
  536. </div>
  537. </div>
  538. </div><!-- ./.frame-meta -->
  539. <div class="frames">
  540. <div class="frame" data-permalink-url="/LearnBoost/socket.io-client/blob/63f18383647e83ea0fcab4fbac53c25ff95db508/dist/socket.io.min.js" data-title="socket.io-client/dist/socket.io.min.js at master · LearnBoost/socket.io-client · GitHub" data-type="blob">
  541. <div id="files" class="bubble">
  542. <div class="file">
  543. <div class="meta">
  544. <div class="info">
  545. <span class="icon"><b class="mini-icon mini-icon-text-file"></b></span>
  546. <span class="mode" title="File Mode">file</span>
  547. <span>2 lines (2 sloc)</span>
  548. <span>44.789 kb</span>
  549. </div>
  550. <ul class="button-group actions">
  551. <li>
  552. <a class="grouped-button minibutton bigger lighter js-entice" href=""
  553. data-entice="You must be signed in and on a branch to make or propose changes">Edit</a>
  554. </li>
  555. <li><a href="/LearnBoost/socket.io-client/raw/master/dist/socket.io.min.js" class="minibutton grouped-button bigger lighter" id="raw-url">Raw</a></li>
  556. <li><a href="/LearnBoost/socket.io-client/blame/master/dist/socket.io.min.js" class="minibutton grouped-button bigger lighter">Blame</a></li>
  557. <li><a href="/LearnBoost/socket.io-client/commits/master/dist/socket.io.min.js" class="minibutton grouped-button bigger lighter" rel="nofollow">History</a></li>
  558. </ul>
  559. </div>
  560. <div class="data type-javascript">
  561. <table cellpadding="0" cellspacing="0" class="lines">
  562. <tr>
  563. <td>
  564. <pre class="line_numbers"><span id="L1" rel="#L1">1</span>
  565. <span id="L2" rel="#L2">2</span>
  566. </pre>
  567. </td>
  568. <td width="100%">
  569. <div class="highlight"><pre><div class='line' id='LC1'>/*! Socket.IO.min.js build:0.9.11, production. Copyright(c) 2011 LearnBoost &lt;dev@learnboost.com&gt; MIT Licensed */</div><div class='line' id='LC2'>var io=&quot;undefined&quot;==typeof module?{}:module.exports;(function(){(function(a,b){var c=a;c.version=&quot;0.9.11&quot;,c.protocol=1,c.transports=[],c.j=[],c.sockets={},c.connect=function(a,d){var e=c.util.parseUri(a),f,g;b&amp;&amp;b.location&amp;&amp;(e.protocol=e.protocol||b.location.protocol.slice(0,-1),e.host=e.host||(b.document?b.document.domain:b.location.hostname),e.port=e.port||b.location.port),f=c.util.uniqueUri(e);var h={host:e.host,secure:&quot;https&quot;==e.protocol,port:e.port||(&quot;https&quot;==e.protocol?443:80),query:e.query||&quot;&quot;};c.util.merge(h,d);if(h[&quot;force new connection&quot;]||!c.sockets[f])g=new c.Socket(h);return!h[&quot;force new connection&quot;]&amp;&amp;g&amp;&amp;(c.sockets[f]=g),g=g||c.sockets[f],g.of(e.path.length&gt;1?e.path:&quot;&quot;)}})(&quot;object&quot;==typeof module?module.exports:this.io={},this),function(a,b){var c=a.util={},d=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,e=[&quot;source&quot;,&quot;protocol&quot;,&quot;authority&quot;,&quot;userInfo&quot;,&quot;user&quot;,&quot;password&quot;,&quot;host&quot;,&quot;port&quot;,&quot;relative&quot;,&quot;path&quot;,&quot;directory&quot;,&quot;file&quot;,&quot;query&quot;,&quot;anchor&quot;];c.parseUri=function(a){var b=d.exec(a||&quot;&quot;),c={},f=14;while(f--)c[e[f]]=b[f]||&quot;&quot;;return c},c.uniqueUri=function(a){var c=a.protocol,d=a.host,e=a.port;return&quot;document&quot;in b?(d=d||document.domain,e=e||(c==&quot;https&quot;&amp;&amp;document.location.protocol!==&quot;https:&quot;?443:document.location.port)):(d=d||&quot;localhost&quot;,!e&amp;&amp;c==&quot;https&quot;&amp;&amp;(e=443)),(c||&quot;http&quot;)+&quot;://&quot;+d+&quot;:&quot;+(e||80)},c.query=function(a,b){var d=c.chunkQuery(a||&quot;&quot;),e=[];c.merge(d,c.chunkQuery(b||&quot;&quot;));for(var f in d)d.hasOwnProperty(f)&amp;&amp;e.push(f+&quot;=&quot;+d[f]);return e.length?&quot;?&quot;+e.join(&quot;&amp;&quot;):&quot;&quot;},c.chunkQuery=function(a){var b={},c=a.split(&quot;&amp;&quot;),d=0,e=c.length,f;for(;d&lt;e;++d)f=c[d].split(&quot;=&quot;),f[0]&amp;&amp;(b[f[0]]=f[1]);return b};var f=!1;c.load=function(a){if(&quot;document&quot;in b&amp;&amp;document.readyState===&quot;complete&quot;||f)return a();c.on(b,&quot;load&quot;,a,!1)},c.on=function(a,b,c,d){a.attachEvent?a.attachEvent(&quot;on&quot;+b,c):a.addEventListener&amp;&amp;a.addEventListener(b,c,d)},c.request=function(a){if(a&amp;&amp;&quot;undefined&quot;!=typeof XDomainRequest&amp;&amp;!c.ua.hasCORS)return new XDomainRequest;if(&quot;undefined&quot;!=typeof XMLHttpRequest&amp;&amp;(!a||c.ua.hasCORS))return new XMLHttpRequest;if(!a)try{return new(window[[&quot;Active&quot;].concat(&quot;Object&quot;).join(&quot;X&quot;)])(&quot;Microsoft.XMLHTTP&quot;)}catch(b){}return null},&quot;undefined&quot;!=typeof window&amp;&amp;c.load(function(){f=!0}),c.defer=function(a){if(!c.ua.webkit||&quot;undefined&quot;!=typeof importScripts)return a();c.load(function(){setTimeout(a,100)})},c.merge=function(b,d,e,f){var g=f||[],h=typeof e==&quot;undefined&quot;?2:e,i;for(i in d)d.hasOwnProperty(i)&amp;&amp;c.indexOf(g,i)&lt;0&amp;&amp;(typeof b[i]!=&quot;object&quot;||!h?(b[i]=d[i],g.push(d[i])):c.merge(b[i],d[i],h-1,g));return b},c.mixin=function(a,b){c.merge(a.prototype,b.prototype)},c.inherit=function(a,b){function c(){}c.prototype=b.prototype,a.prototype=new c},c.isArray=Array.isArray||function(a){return Object.prototype.toString.call(a)===&quot;[object Array]&quot;},c.intersect=function(a,b){var d=[],e=a.length&gt;b.length?a:b,f=a.length&gt;b.length?b:a;for(var g=0,h=f.length;g&lt;h;g++)~c.indexOf(e,f[g])&amp;&amp;d.push(f[g]);return d},c.indexOf=function(a,b,c){for(var d=a.length,c=c&lt;0?c+d&lt;0?0:c+d:c||0;c&lt;d&amp;&amp;a[c]!==b;c++);return d&lt;=c?-1:c},c.toArray=function(a){var b=[];for(var c=0,d=a.length;c&lt;d;c++)b.push(a[c]);return b},c.ua={},c.ua.hasCORS=&quot;undefined&quot;!=typeof XMLHttpRequest&amp;&amp;function(){try{var a=new XMLHttpRequest}catch(b){return!1}return a.withCredentials!=undefined}(),c.ua.webkit=&quot;undefined&quot;!=typeof navigator&amp;&amp;/webkit/i.test(navigator.userAgent),c.ua.iDevice=&quot;undefined&quot;!=typeof navigator&amp;&amp;/iPad|iPhone|iPod/i.test(navigator.userAgent)}(&quot;undefined&quot;!=typeof io?io:module.exports,this),function(a,b){function c(){}a.EventEmitter=c,c.prototype.on=function(a,c){return this.$events||(this.$events={}),this.$events[a]?b.util.isArray(this.$events[a])?this.$events[a].push(c):this.$events[a]=[this.$events[a],c]:this.$events[a]=c,this},c.prototype.addListener=c.prototype.on,c.prototype.once=function(a,b){function d(){c.removeListener(a,d),b.apply(this,arguments)}var c=this;return d.listener=b,this.on(a,d),this},c.prototype.removeListener=function(a,c){if(this.$events&amp;&amp;this.$events[a]){var d=this.$events[a];if(b.util.isArray(d)){var e=-1;for(var f=0,g=d.length;f&lt;g;f++)if(d[f]===c||d[f].listener&amp;&amp;d[f].listener===c){e=f;break}if(e&lt;0)return this;d.splice(e,1),d.length||delete this.$events[a]}else(d===c||d.listener&amp;&amp;d.listener===c)&amp;&amp;delete this.$events[a]}return this},c.prototype.removeAllListeners=function(a){return a===undefined?(this.$events={},this):(this.$events&amp;&amp;this.$events[a]&amp;&amp;(this.$events[a]=null),this)},c.prototype.listeners=function(a){return this.$events||(this.$events={}),this.$events[a]||(this.$events[a]=[]),b.util.isArray(this.$events[a])||(this.$events[a]=[this.$events[a]]),this.$events[a]},c.prototype.emit=function(a){if(!this.$events)return!1;var c=this.$events[a];if(!c)return!1;var d=Array.prototype.slice.call(arguments,1);if(&quot;function&quot;==typeof c)c.apply(this,d);else{if(!b.util.isArray(c))return!1;var e=c.slice();for(var f=0,g=e.length;f&lt;g;f++)e[f].apply(this,d)}return!0}}(&quot;undefined&quot;!=typeof io?io:module.exports,&quot;undefined&quot;!=typeof io?io:module.parent.exports),function(exports,nativeJSON){function f(a){return a&lt;10?&quot;0&quot;+a:a}function date(a,b){return isFinite(a.valueOf())?a.getUTCFullYear()+&quot;-&quot;+f(a.getUTCMonth()+1)+&quot;-&quot;+f(a.getUTCDate())+&quot;T&quot;+f(a.getUTCHours())+&quot;:&quot;+f(a.getUTCMinutes())+&quot;:&quot;+f(a.getUTCSeconds())+&quot;Z&quot;:null}function quote(a){return escapable.lastIndex=0,escapable.test(a)?'&quot;'+a.replace(escapable,function(a){var b=meta[a];return typeof b==&quot;string&quot;?b:&quot;\\u&quot;+(&quot;0000&quot;+a.charCodeAt(0).toString(16)).slice(-4)})+'&quot;':'&quot;'+a+'&quot;'}function str(a,b){var c,d,e,f,g=gap,h,i=b[a];i instanceof Date&amp;&amp;(i=date(a)),typeof rep==&quot;function&quot;&amp;&amp;(i=rep.call(b,a,i));switch(typeof i){case&quot;string&quot;:return quote(i);case&quot;number&quot;:return isFinite(i)?String(i):&quot;null&quot;;case&quot;boolean&quot;:case&quot;null&quot;:return String(i);case&quot;object&quot;:if(!i)return&quot;null&quot;;gap+=indent,h=[];if(Object.prototype.toString.apply(i)===&quot;[object Array]&quot;){f=i.length;for(c=0;c&lt;f;c+=1)h[c]=str(c,i)||&quot;null&quot;;return e=h.length===0?&quot;[]&quot;:gap?&quot;[\n&quot;+gap+h.join(&quot;,\n&quot;+gap)+&quot;\n&quot;+g+&quot;]&quot;:&quot;[&quot;+h.join(&quot;,&quot;)+&quot;]&quot;,gap=g,e}if(rep&amp;&amp;typeof rep==&quot;object&quot;){f=rep.length;for(c=0;c&lt;f;c+=1)typeof rep[c]==&quot;string&quot;&amp;&amp;(d=rep[c],e=str(d,i),e&amp;&amp;h.push(quote(d)+(gap?&quot;: &quot;:&quot;:&quot;)+e))}else for(d in i)Object.prototype.hasOwnProperty.call(i,d)&amp;&amp;(e=str(d,i),e&amp;&amp;h.push(quote(d)+(gap?&quot;: &quot;:&quot;:&quot;)+e));return e=h.length===0?&quot;{}&quot;:gap?&quot;{\n&quot;+gap+h.join(&quot;,\n&quot;+gap)+&quot;\n&quot;+g+&quot;}&quot;:&quot;{&quot;+h.join(&quot;,&quot;)+&quot;}&quot;,gap=g,e}}&quot;use strict&quot;;if(nativeJSON&amp;&amp;nativeJSON.parse)return exports.JSON={parse:nativeJSON.parse,stringify:nativeJSON.stringify};var JSON=exports.JSON={},cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\&quot;\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={&quot;\b&quot;:&quot;\\b&quot;,&quot;\t&quot;:&quot;\\t&quot;,&quot;\n&quot;:&quot;\\n&quot;,&quot;\f&quot;:&quot;\\f&quot;,&quot;\r&quot;:&quot;\\r&quot;,'&quot;':'\\&quot;',&quot;\\&quot;:&quot;\\\\&quot;},rep;JSON.stringify=function(a,b,c){var d;gap=&quot;&quot;,indent=&quot;&quot;;if(typeof c==&quot;number&quot;)for(d=0;d&lt;c;d+=1)indent+=&quot; &quot;;else typeof c==&quot;string&quot;&amp;&amp;(indent=c);rep=b;if(!b||typeof b==&quot;function&quot;||typeof b==&quot;object&quot;&amp;&amp;typeof b.length==&quot;number&quot;)return str(&quot;&quot;,{&quot;&quot;:a});throw new Error(&quot;JSON.stringify&quot;)},JSON.parse=function(text,reviver){function walk(a,b){var c,d,e=a[b];if(e&amp;&amp;typeof e==&quot;object&quot;)for(c in e)Object.prototype.hasOwnProperty.call(e,c)&amp;&amp;(d=walk(e,c),d!==undefined?e[c]=d:delete e[c]);return reviver.call(a,b,e)}var j;text=String(text),cx.lastIndex=0,cx.test(text)&amp;&amp;(text=text.replace(cx,function(a){return&quot;\\u&quot;+(&quot;0000&quot;+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:[&quot;\\\/bfnrt]|u[0-9a-fA-F]{4})/g,&quot;@&quot;).replace(/&quot;[^&quot;\\\n\r]*&quot;|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,&quot;]&quot;).replace(/(?:^|:|,)(?:\s*\[)+/g,&quot;&quot;)))return j=eval(&quot;(&quot;+text+&quot;)&quot;),typeof reviver==&quot;function&quot;?walk({&quot;&quot;:j},&quot;&quot;):j;throw new SyntaxError(&quot;JSON.parse&quot;)}}(&quot;undefined&quot;!=typeof io?io:module.exports,typeof JSON!=&quot;undefined&quot;?JSON:undefined),function(a,b){var c=a.parser={},d=c.packets=[&quot;disconnect&quot;,&quot;connect&quot;,&quot;heartbeat&quot;,&quot;message&quot;,&quot;json&quot;,&quot;event&quot;,&quot;ack&quot;,&quot;error&quot;,&quot;noop&quot;],e=c.reasons=[&quot;transport not supported&quot;,&quot;client not handshaken&quot;,&quot;unauthorized&quot;],f=c.advice=[&quot;reconnect&quot;],g=b.JSON,h=b.util.indexOf;c.encodePacket=function(a){var b=h(d,a.type),c=a.id||&quot;&quot;,i=a.endpoint||&quot;&quot;,j=a.ack,k=null;switch(a.type){case&quot;error&quot;:var l=a.reason?h(e,a.reason):&quot;&quot;,m=a.advice?h(f,a.advice):&quot;&quot;;if(l!==&quot;&quot;||m!==&quot;&quot;)k=l+(m!==&quot;&quot;?&quot;+&quot;+m:&quot;&quot;);break;case&quot;message&quot;:a.data!==&quot;&quot;&amp;&amp;(k=a.data);break;case&quot;event&quot;:var n={name:a.name};a.args&amp;&amp;a.args.length&amp;&amp;(n.args=a.args),k=g.stringify(n);break;case&quot;json&quot;:k=g.stringify(a.data);break;case&quot;connect&quot;:a.qs&amp;&amp;(k=a.qs);break;case&quot;ack&quot;:k=a.ackId+(a.args&amp;&amp;a.args.length?&quot;+&quot;+g.stringify(a.args):&quot;&quot;)}var o=[b,c+(j==&quot;data&quot;?&quot;+&quot;:&quot;&quot;),i];return k!==null&amp;&amp;k!==undefined&amp;&amp;o.push(k),o.join(&quot;:&quot;)},c.encodePayload=function(a){var b=&quot;&quot;;if(a.length==1)return a[0];for(var c=0,d=a.length;c&lt;d;c++){var e=a[c];b+=&quot;\ufffd&quot;+e.length+&quot;\ufffd&quot;+a[c]}return b};var i=/([^:]+):([0-9]+)?(\+)?:([^:]+)?:?([\s\S]*)?/;c.decodePacket=function(a){var b=a.match(i);if(!b)return{};var c=b[2]||&quot;&quot;,a=b[5]||&quot;&quot;,h={type:d[b[1]],endpoint:b[4]||&quot;&quot;};c&amp;&amp;(h.id=c,b[3]?h.ack=&quot;data&quot;:h.ack=!0);switch(h.type){case&quot;error&quot;:var b=a.split(&quot;+&quot;);h.reason=e[b[0]]||&quot;&quot;,h.advice=f[b[1]]||&quot;&quot;;break;case&quot;message&quot;:h.data=a||&quot;&quot;;break;case&quot;event&quot;:try{var j=g.parse(a);h.name=j.name,h.args=j.args}catch(k){}h.args=h.args||[];break;case&quot;json&quot;:try{h.data=g.parse(a)}catch(k){}break;case&quot;connect&quot;:h.qs=a||&quot;&quot;;break;case&quot;ack&quot;:var b=a.match(/^([0-9]+)(\+)?(.*)/);if(b){h.ackId=b[1],h.args=[];if(b[3])try{h.args=b[3]?g.parse(b[3]):[]}catch(k){}}break;case&quot;disconnect&quot;:case&quot;heartbeat&quot;:}return h},c.decodePayload=function(a){if(a.charAt(0)==&quot;\ufffd&quot;){var b=[];for(var d=1,e=&quot;&quot;;d&lt;a.length;d++)a.charAt(d)==&quot;\ufffd&quot;?(b.push(c.decodePacket(a.substr(d+1).substr(0,e))),d+=Number(e)+1,e=&quot;&quot;):e+=a.charAt(d);return b}return[c.decodePacket(a)]}}(&quot;undefined&quot;!=typeof io?io:module.exports,&quot;undefined&quot;!=typeof io?io:module.parent.exports),function(a,b){function c(a,b){this.socket=a,this.sessid=b}a.Transport=c,b.util.mixin(c,b.EventEmitter),c.prototype.heartbeats=function(){return!0},c.prototype.onData=function(a){this.clearCloseTimeout(),(this.socket.connected||this.socket.connecting||this.socket.reconnecting)&amp;&amp;this.setCloseTimeout();if(a!==&quot;&quot;){var c=b.parser.decodePayload(a);if(c&amp;&amp;c.length)for(var d=0,e=c.length;d&lt;e;d++)this.onPacket(c[d])}return this},c.prototype.onPacket=function(a){return this.socket.setHeartbeatTimeout(),a.type==&quot;heartbeat&quot;?this.onHeartbeat():(a.type==&quot;connect&quot;&amp;&amp;a.endpoint==&quot;&quot;&amp;&amp;this.onConnect(),a.type==&quot;error&quot;&amp;&amp;a.advice==&quot;reconnect&quot;&amp;&amp;(this.isOpen=!1),this.socket.onPacket(a),this)},c.prototype.setCloseTimeout=function(){if(!this.closeTimeout){var a=this;this.closeTimeout=setTimeout(function(){a.onDisconnect()},this.socket.closeTimeout)}},c.prototype.onDisconnect=function(){return this.isOpen&amp;&amp;this.close(),this.clearTimeouts(),this.socket.onDisconnect(),this},c.prototype.onConnect=function(){return this.socket.onConnect(),this},c.prototype.clearCloseTimeout=function(){this.closeTimeout&amp;&amp;(clearTimeout(this.closeTimeout),this.closeTimeout=null)},c.prototype.clearTimeouts=function(){this.clearCloseTimeout(),this.reopenTimeout&amp;&amp;clearTimeout(this.reopenTimeout)},c.prototype.packet=function(a){this.send(b.parser.encodePacket(a))},c.prototype.onHeartbeat=function(a){this.packet({type:&quot;heartbeat&quot;})},c.prototype.onOpen=function(){this.isOpen=!0,this.clearCloseTimeout(),this.socket.onOpen()},c.prototype.onClose=function(){var a=this;this.isOpen=!1,this.socket.onClose(),this.onDisconnect()},c.prototype.prepareUrl=function(){var a=this.socket.options;return this.scheme()+&quot;://&quot;+a.host+&quot;:&quot;+a.port+&quot;/&quot;+a.resource+&quot;/&quot;+b.protocol+&quot;/&quot;+this.name+&quot;/&quot;+this.sessid},c.prototype.ready=function(a,b){b.call(this)}}(&quot;undefined&quot;!=typeof io?io:module.exports,&quot;undefined&quot;!=typeof io?io:module.parent.exports),function(a,b,c){function d(a){this.options={port:80,secure:!1,document:&quot;document&quot;in c?document:!1,resource:&quot;socket.io&quot;,transports:b.transports,&quot;connect timeout&quot;:1e4,&quot;try multiple transports&quot;:!0,reconnect:!0,&quot;reconnection delay&quot;:500,&quot;reconnection limit&quot;:Infinity,&quot;reopen delay&quot;:3e3,&quot;max reconnection attempts&quot;:10,&quot;sync disconnect on unload&quot;:!1,&quot;auto connect&quot;:!0,&quot;flash policy port&quot;:10843,manualFlush:!1},b.util.merge(this.options,a),this.connected=!1,this.open=!1,this.connecting=!1,this.reconnecting=!1,this.namespaces={},this.buffer=[],this.doBuffer=!1;if(this.options[&quot;sync disconnect on unload&quot;]&amp;&amp;(!this.isXDomain()||b.util.ua.hasCORS)){var d=this;b.util.on(c,&quot;beforeunload&quot;,function(){d.disconnectSync()},!1)}this.options[&quot;auto connect&quot;]&amp;&amp;this.connect()}function e(){}a.Socket=d,b.util.mixin(d,b.EventEmitter),d.prototype.of=function(a){return this.namespaces[a]||(this.namespaces[a]=new b.SocketNamespace(this,a),a!==&quot;&quot;&amp;&amp;this.namespaces[a].packet({type:&quot;connect&quot;})),this.namespaces[a]},d.prototype.publish=function(){this.emit.apply(this,arguments);var a;for(var b in this.namespaces)this.namespaces.hasOwnProperty(b)&amp;&amp;(a=this.of(b),a.$emit.apply(a,arguments))},d.prototype.handshake=function(a){function f(b){b instanceof Error?(c.connecting=!1,c.onError(b.message)):a.apply(null,b.split(&quot;:&quot;))}var c=this,d=this.options,g=[&quot;http&quot;+(d.secure?&quot;s&quot;:&quot;&quot;)+&quot;:/&quot;,d.host+&quot;:&quot;+d.port,d.resource,b.protocol,b.util.query(this.options.query,&quot;t=&quot;+ +(new Date))].join(&quot;/&quot;);if(this.isXDomain()&amp;&amp;!b.util.ua.hasCORS){var h=document.getElementsByTagName(&quot;script&quot;)[0],i=document.createElement(&quot;script&quot;);i.src=g+&quot;&amp;jsonp=&quot;+b.j.length,h.parentNode.insertBefore(i,h),b.j.push(function(a){f(a),i.parentNode.removeChild(i)})}else{var j=b.util.request();j.open(&quot;GET&quot;,g,!0),this.isXDomain()&amp;&amp;(j.withCredentials=!0),j.onreadystatechange=function(){j.readyState==4&amp;&amp;(j.onreadystatechange=e,j.status==200?f(j.responseText):j.status==403?c.onError(j.responseText):(c.connecting=!1,!c.reconnecting&amp;&amp;c.onError(j.responseText)))},j.send(null)}},d.prototype.getTransport=function(a){var c=a||this.transports,d;for(var e=0,f;f=c[e];e++)if(b.Transport[f]&amp;&amp;b.Transport[f].check(this)&amp;&amp;(!this.isXDomain()||b.Transport[f].xdomainCheck(this)))return new b.Transport[f](this,this.sessionid);return null},d.prototype.connect=function(a){if(this.connecting)return this;var c=this;return c.connecting=!0,this.handshake(function(d,e,f,g){function h(a){c.transport&amp;&amp;c.transport.clearTimeouts(),c.transport=c.getTransport(a);if(!c.transport)return c.publish(&quot;connect_failed&quot;);c.transport.ready(c,function(){c.connecting=!0,c.publish(&quot;connecting&quot;,c.transport.name),c.transport.open(),c.options[&quot;connect timeout&quot;]&amp;&amp;(c.connectTimeoutTimer=setTimeout(function(){if(!c.connected){c.connecting=!1;if(c.options[&quot;try multiple transports&quot;]){var a=c.transports;while(a.length&gt;0&amp;&amp;a.splice(0,1)[0]!=c.transport.name);a.length?h(a):c.publish(&quot;connect_failed&quot;)}}},c.options[&quot;connect timeout&quot;]))})}c.sessionid=d,c.closeTimeout=f*1e3,c.heartbeatTimeout=e*1e3,c.transports||(c.transports=c.origTransports=g?b.util.intersect(g.split(&quot;,&quot;),c.options.transports):c.options.transports),c.setHeartbeatTimeout(),h(c.transports),c.once(&quot;connect&quot;,function(){clearTimeout(c.connectTimeoutTimer),a&amp;&amp;typeof a==&quot;function&quot;&amp;&amp;a()})}),this},d.prototype.setHeartbeatTimeout=function(){clearTimeout(this.heartbeatTimeoutTimer);if(this.transport&amp;&amp;!this.transport.heartbeats())return;var a=this;this.heartbeatTimeoutTimer=setTimeout(function(){a.transport.onClose()},this.heartbeatTimeout)},d.prototype.packet=function(a){return this.connected&amp;&amp;!this.doBuffer?this.transport.packet(a):this.buffer.push(a),this},d.prototype.setBuffer=function(a){this.doBuffer=a,!a&amp;&amp;this.connected&amp;&amp;this.buffer.length&amp;&amp;(this.options.manualFlush||this.flushBuffer())},d.prototype.flushBuffer=function(){this.transport.payload(this.buffer),this.buffer=[]},d.prototype.disconnect=function(){if(this.connected||this.connecting)this.open&amp;&amp;this.of(&quot;&quot;).packet({type:&quot;disconnect&quot;}),this.onDisconnect(&quot;booted&quot;);return this},d.prototype.disconnectSync=function(){var a=b.util.request(),c=[&quot;http&quot;+(this.options.secure?&quot;s&quot;:&quot;&quot;)+&quot;:/&quot;,this.options.host+&quot;:&quot;+this.options.port,this.options.resource,b.protocol,&quot;&quot;,this.sessionid].join(&quot;/&quot;)+&quot;/?disconnect=1&quot;;a.open(&quot;GET&quot;,c,!1),a.send(null),this.onDisconnect(&quot;booted&quot;)},d.prototype.isXDomain=function(){var a=c.location.port||(&quot;https:&quot;==c.location.protocol?443:80);return this.options.host!==c.location.hostname||this.options.port!=a},d.prototype.onConnect=function(){this.connected||(this.connected=!0,this.connecting=!1,this.doBuffer||this.setBuffer(!1),this.emit(&quot;connect&quot;))},d.prototype.onOpen=function(){this.open=!0},d.prototype.onClose=function(){this.open=!1,clearTimeout(this.heartbeatTimeoutTimer)},d.prototype.onPacket=function(a){this.of(a.endpoint).onPacket(a)},d.prototype.onError=function(a){a&amp;&amp;a.advice&amp;&amp;a.advice===&quot;reconnect&quot;&amp;&amp;(this.connected||this.connecting)&amp;&amp;(this.disconnect(),this.options.reconnect&amp;&amp;this.reconnect()),this.publish(&quot;error&quot;,a&amp;&amp;a.reason?a.reason:a)},d.prototype.onDisconnect=function(a){var b=this.connected,c=this.connecting;this.connected=!1,this.connecting=!1,this.open=!1;if(b||c)this.transport.close(),this.transport.clearTimeouts(),b&amp;&amp;(this.publish(&quot;disconnect&quot;,a),&quot;booted&quot;!=a&amp;&amp;this.options.reconnect&amp;&amp;!this.reconnecting&amp;&amp;this.reconnect())},d.prototype.reconnect=function(){function e(){if(a.connected){for(var b in a.namespaces)a.namespaces.hasOwnProperty(b)&amp;&amp;&quot;&quot;!==b&amp;&amp;a.namespaces[b].packet({type:&quot;connect&quot;});a.publish(&quot;reconnect&quot;,a.transport.name,a.reconnectionAttempts)}clearTimeout(a.reconnectionTimer),a.removeListener(&quot;connect_failed&quot;,f),a.removeListener(&quot;connect&quot;,f),a.reconnecting=!1,delete a.reconnectionAttempts,delete a.reconnectionDelay,delete a.reconnectionTimer,delete a.redoTransports,a.options[&quot;try multiple transports&quot;]=c}function f(){if(!a.reconnecting)return;if(a.connected)return e();if(a.connecting&amp;&amp;a.reconnecting)return a.reconnectionTimer=setTimeout(f,1e3);a.reconnectionAttempts++&gt;=b?a.redoTransports?(a.publish(&quot;reconnect_failed&quot;),e()):(a.on(&quot;connect_failed&quot;,f),a.options[&quot;try multiple transports&quot;]=!0,a.transports=a.origTransports,a.transport=a.getTransport(),a.redoTransports=!0,a.connect()):(a.reconnectionDelay&lt;d&amp;&amp;(a.reconnectionDelay*=2),a.connect(),a.publish(&quot;reconnecting&quot;,a.reconnectionDelay,a.reconnectionAttempts),a.reconnectionTimer=setTimeout(f,a.reconnectionDelay))}this.reconnecting=!0,this.reconnectionAttempts=0,this.reconnectionDelay=this.options[&quot;reconnection delay&quot;];var a=this,b=this.options[&quot;max reconnection attempts&quot;],c=this.options[&quot;try multiple transports&quot;],d=this.options[&quot;reconnection limit&quot;];this.options[&quot;try multiple transports&quot;]=!1,this.reconnectionTimer=setTimeout(f,this.reconnectionDelay),this.on(&quot;connect&quot;,f)}}(&quot;undefined&quot;!=typeof io?io:module.exports,&quot;undefined&quot;!=typeof io?io:module.parent.exports,this),function(a,b){function c(a,b){this.socket=a,this.name=b||&quot;&quot;,this.flags={},this.json=new d(this,&quot;json&quot;),this.ackPackets=0,this.acks={}}function d(a,b){this.namespace=a,this.name=b}a.SocketNamespace=c,b.util.mixin(c,b.EventEmitter),c.prototype.$emit=b.EventEmitter.prototype.emit,c.prototype.of=function(){return this.socket.of.apply(this.socket,arguments)},c.prototype.packet=function(a){return a.endpoint=this.name,this.socket.packet(a),this.flags={},this},c.prototype.send=function(a,b){var c={type:this.flags.json?&quot;json&quot;:&quot;message&quot;,data:a};return&quot;function&quot;==typeof b&amp;&amp;(c.id=++this.ackPackets,c.ack=!0,this.acks[c.id]=b),this.packet(c)},c.prototype.emit=function(a){var b=Array.prototype.slice.call(arguments,1),c=b[b.length-1],d={type:&quot;event&quot;,name:a};return&quot;function&quot;==typeof c&amp;&amp;(d.id=++this.ackPackets,d.ack=&quot;data&quot;,this.acks[d.id]=c,b=b.slice(0,b.length-1)),d.args=b,this.packet(d)},c.prototype.disconnect=function(){return this.name===&quot;&quot;?this.socket.disconnect():(this.packet({type:&quot;disconnect&quot;}),this.$emit(&quot;disconnect&quot;)),this},c.prototype.onPacket=function(a){function d(){c.packet({type:&quot;ack&quot;,args:b.util.toArray(arguments),ackId:a.id})}var c=this;switch(a.type){case&quot;connect&quot;:this.$emit(&quot;connect&quot;);break;case&quot;disconnect&quot;:this.name===&quot;&quot;?this.socket.onDisconnect(a.reason||&quot;booted&quot;):this.$emit(&quot;disconnect&quot;,a.reason);break;case&quot;message&quot;:case&quot;json&quot;:var e=[&quot;message&quot;,a.data];a.ack==&quot;data&quot;?e.push(d):a.ack&amp;&amp;this.packet({type:&quot;ack&quot;,ackId:a.id}),this.$emit.apply(this,e);break;case&quot;event&quot;:var e=[a.name].concat(a.args);a.ack==&quot;data&quot;&amp;&amp;e.push(d),this.$emit.apply(this,e);break;case&quot;ack&quot;:this.acks[a.ackId]&amp;&amp;(this.acks[a.ackId].apply(this,a.args),delete this.acks[a.ackId]);break;case&quot;error&quot;:a.advice?this.socket.onError(a):a.reason==&quot;unauthorized&quot;?this.$emit(&quot;connect_failed&quot;,a.reason):this.$emit(&quot;error&quot;,a.reason)}},d.prototype.send=function(){this.namespace.flags[this.name]=!0,this.namespace.send.apply(this.namespace,arguments)},d.prototype.emit=function(){this.namespace.flags[this.name]=!0,this.namespace.emit.apply(this.namespace,arguments)}}(&quot;undefined&quot;!=typeof io?io:module.exports,&quot;undefined&quot;!=typeof io?io:module.parent.exports),function(a,b,c){function d(a){b.Transport.apply(this,arguments)}a.websocket=d,b.util.inherit(d,b.Transport),d.prototype.name=&quot;websocket&quot;,d.prototype.open=function(){var a=b.util.query(this.socket.options.query),d=this,e;return e||(e=c.MozWebSocket||c.WebSocket),this.websocket=new e(this.prepareUrl()+a),this.websocket.onopen=function(){d.onOpen(),d.socket.setBuffer(!1)},this.websocket.onmessage=function(a){d.onData(a.data)},this.websocket.onclose=function(){d.onClose(),d.socket.setBuffer(!0)},this.websocket.onerror=function(a){d.onError(a)},this},b.util.ua.iDevice?d.prototype.send=function(a){var b=this;return setTimeout(function(){b.websocket.send(a)},0),this}:d.prototype.send=function(a){return this.websocket.send(a),this},d.prototype.payload=function(a){for(var b=0,c=a.length;b&lt;c;b++)this.packet(a[b]);return this},d.prototype.close=function(){return this.websocket.close(),this},d.prototype.onError=function(a){this.socket.onError(a)},d.prototype.scheme=function(){return this.socket.options.secure?&quot;wss&quot;:&quot;ws&quot;},d.check=function(){return&quot;WebSocket&quot;in c&amp;&amp;!(&quot;__addTask&quot;in WebSocket)||&quot;MozWebSocket&quot;in c},d.xdomainCheck=function(){return!0},b.transports.push(&quot;websocket&quot;)}(&quot;undefined&quot;!=typeof io?io.Transport:module.exports,&quot;undefined&quot;!=typeof io?io:module.parent.exports,this),function(a,b){function c(){b.Transport.websocket.apply(this,arguments)}a.flashsocket=c,b.util.inherit(c,b.Transport.websocket),c.prototype.name=&quot;flashsocket&quot;,c.prototype.open=function(){var a=this,c=arguments;return WebSocket.__addTask(function(){b.Transport.websocket.prototype.open.apply(a,c)}),this},c.prototype.send=function(){var a=this,c=arguments;return WebSocket.__addTask(function(){b.Transport.websocket.prototype.send.apply(a,c)}),this},c.prototype.close=function(){return WebSocket.__tasks.length=0,b.Transport.websocket.prototype.close.call(this),this},c.prototype.ready=function(a,d){function e(){var b=a.options,e=b[&quot;flash policy port&quot;],g=[&quot;http&quot;+(b.secure?&quot;s&quot;:&quot;&quot;)+&quot;:/&quot;,b.host+&quot;:&quot;+b.port,b.resource,&quot;static/flashsocket&quot;,&quot;WebSocketMain&quot;+(a.isXDomain()?&quot;Insecure&quot;:&quot;&quot;)+&quot;.swf&quot;];c.loaded||(typeof WEB_SOCKET_SWF_LOCATION==&quot;undefined&quot;&amp;&amp;(WEB_SOCKET_SWF_LOCATION=g.join(&quot;/&quot;)),e!==843&amp;&amp;WebSocket.loadFlashPolicyFile(&quot;xmlsocket://&quot;+b.host+&quot;:&quot;+e),WebSocket.__initialize(),c.loaded=!0),d.call(f)}var f=this;if(document.body)return e();b.util.load(e)},c.check=function(){return typeof WebSocket!=&quot;undefined&quot;&amp;&amp;&quot;__initialize&quot;in WebSocket&amp;&amp;!!swfobject?swfobject.getFlashPlayerVersion().major&gt;=10:!1},c.xdomainCheck=function(){return!0},typeof window!=&quot;undefined&quot;&amp;&amp;(WEB_SOCKET_DISABLE_AUTO_INITIALIZATION=!0),b.transports.push(&quot;flashsocket&quot;)}(&quot;undefined&quot;!=typeof io?io.Transport:module.exports,&quot;undefined&quot;!=typeof io?io:module.parent.exports);if(&quot;undefined&quot;!=typeof window)var swfobject=function(){function A(){if(t)return;try{var a=i.getElementsByTagName(&quot;body&quot;)[0].appendChild(Q(&quot;span&quot;));a.parentNode.removeChild(a)}catch(b){return}t=!0;var c=l.length;for(var d=0;d&lt;c;d++)l[d]()}function B(a){t?a():l[l.length]=a}function C(b){if(typeof h.addEventListener!=a)h.addEventListener(&quot;load&quot;,b,!1);else if(typeof i.addEventListener!=a)i.addEventListener(&quot;load&quot;,b,!1);else if(typeof h.attachEvent!=a)R(h,&quot;onload&quot;,b);else if(typeof h.onload==&quot;function&quot;){var c=h.onload;h.onload=function(){c(),b()}}else h.onload=b}function D(){k?E():F()}function E(){var c=i.getElementsByTagName(&quot;body&quot;)[0],d=Q(b);d.setAttribute(&quot;type&quot;,e);var f=c.appendChild(d);if(f){var g=0;(function(){if(typeof f.GetVariable!=a){var b=f.GetVariable(&quot;$version&quot;);b&amp;&amp;(b=b.split(&quot; &quot;)[1].split(&quot;,&quot;),y.pv=[parseInt(b[0],10),parseInt(b[1],10),parseInt(b[2],10)])}else if(g&lt;10){g++,setTimeout(arguments.callee,10);return}c.removeChild(d),f=null,F()})()}else F()}function F(){var b=m.length;if(b&gt;0)for(var c=0;c&lt;b;c++){var d=m[c].id,e=m[c].callbackFn,f={success:!1,id:d};if(y.pv[0]&gt;0){var g=P(d);if(g)if(S(m[c].swfVersion)&amp;&amp;!(y.wk&amp;&amp;y.wk&lt;312))U(d,!0),e&amp;&amp;(f.success=!0,f.ref=G(d),e(f));else if(m[c].expressInstall&amp;&amp;H()){var h={};h.data=m[c].expressInstall,h.width=g.getAttribute(&quot;width&quot;)||&quot;0&quot;,h.height=g.getAttribute(&quot;height&quot;)||&quot;0&quot;,g.getAttribute(&quot;class&quot;)&amp;&amp;(h.styleclass=g.getAttribute(&quot;class&quot;)),g.getAttribute(&quot;align&quot;)&amp;&amp;(h.align=g.getAttribute(&quot;align&quot;));var i={},j=g.getElementsByTagName(&quot;param&quot;),k=j.length;for(var l=0;l&lt;k;l++)j[l].getAttribute(&quot;name&quot;).toLowerCase()!=&quot;movie&quot;&amp;&amp;(i[j[l].getAttribute(&quot;name&quot;)]=j[l].getAttribute(&quot;value&quot;));I(h,i,d,e)}else J(g),e&amp;&amp;e(f)}else{U(d,!0);if(e){var n=G(d);n&amp;&amp;typeof n.SetVariable!=a&amp;&amp;(f.success=!0,f.ref=n),e(f)}}}}function G(c){var d=null,e=P(c);if(e&amp;&amp;e.nodeName==&quot;OBJECT&quot;)if(typeof e.SetVariable!=a)d=e;else{var f=e.getElementsByTagName(b)[0];f&amp;&amp;(d=f)}return d}function H(){return!u&amp;&amp;S(&quot;6.0.65&quot;)&amp;&amp;(y.win||y.mac)&amp;&amp;!(y.wk&amp;&amp;y.wk&lt;312)}function I(b,c,d,e){u=!0,r=e||null,s={success:!1,id:d};var g=P(d);if(g){g.nodeName==&quot;OBJECT&quot;?(p=K(g),q=null):(p=g,q=d),b.id=f;if(typeof b.width==a||!/%$/.test(b.width)&amp;&amp;parseInt(b.width,10)&lt;310)b.width=&quot;310&quot;;if(typeof b.height==a||!/%$/.test(b.height)&amp;&amp;parseInt(b.height,10)&lt;137)b.height=&quot;137&quot;;i.title=i.title.slice(0,47)+&quot; - Flash Player Installation&quot;;var j=y.ie&amp;&amp;y.win?[&quot;Active&quot;].concat(&quot;&quot;).join(&quot;X&quot;):&quot;PlugIn&quot;,k=&quot;MMredirectURL=&quot;+h.location.toString().replace(/&amp;/g,&quot;%26&quot;)+&quot;&amp;MMplayerType=&quot;+j+&quot;&amp;MMdoctitle=&quot;+i.title;typeof c.flashvars!=a?c.flashvars+=&quot;&amp;&quot;+k:c.flashvars=k;if(y.ie&amp;&amp;y.win&amp;&amp;g.readyState!=4){var l=Q(&quot;div&quot;);d+=&quot;SWFObjectNew&quot;,l.setAttribute(&quot;id&quot;,d),g.parentNode.insertBefore(l,g),g.style.display=&quot;none&quot;,function(){g.readyState==4?g.parentNode.removeChild(g):setTimeout(arguments.callee,10)}()}L(b,c,d)}}function J(a){if(y.ie&amp;&amp;y.win&amp;&amp;a.readyState!=4){var b=Q(&quot;div&quot;);a.parentNode.insertBefore(b,a),b.parentNode.replaceChild(K(a),b),a.style.display=&quot;none&quot;,function(){a.readyState==4?a.parentNode.removeChild(a):setTimeout(arguments.callee,10)}()}else a.parentNode.replaceChild(K(a),a)}function K(a){var c=Q(&quot;div&quot;);if(y.win&amp;&amp;y.ie)c.innerHTML=a.innerHTML;else{var d=a.getElementsByTagName(b)[0];if(d){var e=d.childNodes;if(e){var f=e.length;for(var g=0;g&lt;f;g++)(e[g].nodeType!=1||e[g].nodeName!=&quot;PARAM&quot;)&amp;&amp;e[g].nodeType!=8&amp;&amp;c.appendChild(e[g].cloneNode(!0))}}}return c}function L(c,d,f){var g,h=P(f);if(y.wk&amp;&amp;y.wk&lt;312)return g;if(h){typeof c.id==a&amp;&amp;(c.id=f);if(y.ie&amp;&amp;y.win){var i=&quot;&quot;;for(var j in c)c[j]!=Object.prototype[j]&amp;&amp;(j.toLowerCase()==&quot;data&quot;?d.movie=c[j]:j.toLowerCase()==&quot;styleclass&quot;?i+=' class=&quot;'+c[j]+'&quot;':j.toLowerCase()!=&quot;classid&quot;&amp;&amp;(i+=&quot; &quot;+j+'=&quot;'+c[j]+'&quot;'));var k=&quot;&quot;;for(var l in d)d[l]!=Object.prototype[l]&amp;&amp;(k+='&lt;param name=&quot;'+l+'&quot; value=&quot;'+d[l]+'&quot; /&gt;');h.outerHTML='&lt;object classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot;'+i+&quot;&gt;&quot;+k+&quot;&lt;/object&gt;&quot;,n[n.length]=c.id,g=P(c.id)}else{var m=Q(b);m.setAttribute(&quot;type&quot;,e);for(var o in c)c[o]!=Object.prototype[o]&amp;&amp;(o.toLowerCase()==&quot;styleclass&quot;?m.setAttribute(&quot;class&quot;,c[o]):o.toLowerCase()!=&quot;classid&quot;&amp;&amp;m.setAttribute(o,c[o]));for(var p in d)d[p]!=Object.prototype[p]&amp;&amp;p.toLowerCase()!=&quot;movie&quot;&amp;&amp;M(m,p,d[p]);h.parentNode.replaceChild(m,h),g=m}}return g}function M(a,b,c){var d=Q(&quot;param&quot;);d.setAttribute(&quot;name&quot;,b),d.setAttribute(&quot;value&quot;,c),a.appendChild(d)}function N(a){var b=P(a);b&amp;&amp;b.nodeName==&quot;OBJECT&quot;&amp;&amp;(y.ie&amp;&amp;y.win?(b.style.display=&quot;none&quot;,function(){b.readyState==4?O(a):setTimeout(arguments.callee,10)}()):b.parentNode.removeChild(b))}function O(a){var b=P(a);if(b){for(var c in b)typeof b[c]==&quot;function&quot;&amp;&amp;(b[c]=null);b.parentNode.removeChild(b)}}function P(a){var b=null;try{b=i.getElementById(a)}catch(c){}return b}function Q(a){return i.createElement(a)}function R(a,b,c){a.attachEvent(b,c),o[o.length]=[a,b,c]}function S(a){var b=y.pv,c=a.split(&quot;.&quot;);return c[0]=parseInt(c[0],10),c[1]=parseInt(c[1],10)||0,c[2]=parseInt(c[2],10)||0,b[0]&gt;c[0]||b[0]==c[0]&amp;&amp;b[1]&gt;c[1]||b[0]==c[0]&amp;&amp;b[1]==c[1]&amp;&amp;b[2]&gt;=c[2]?!0:!1}function T(c,d,e,f){if(y.ie&amp;&amp;y.mac)return;var g=i.getElementsByTagName(&quot;head&quot;)[0];if(!g)return;var h=e&amp;&amp;typeof e==&quot;string&quot;?e:&quot;screen&quot;;f&amp;&amp;(v=null,w=null);if(!v||w!=h){var j=Q(&quot;style&quot;);j.setAttribute(&quot;type&quot;,&quot;text/css&quot;),j.setAttribute(&quot;media&quot;,h),v=g.appendChild(j),y.ie&amp;&amp;y.win&amp;&amp;typeof i.styleSheets!=a&amp;&amp;i.styleSheets.length&gt;0&amp;&amp;(v=i.styleSheets[i.styleSheets.length-1]),w=h}y.ie&amp;&amp;y.win?v&amp;&amp;typeof v.addRule==b&amp;&amp;v.addRule(c,d):v&amp;&amp;typeof i.createTextNode!=a&amp;&amp;v.appendChild(i.createTextNode(c+&quot; {&quot;+d+&quot;}&quot;))}function U(a,b){if(!x)return;var c=b?&quot;visible&quot;:&quot;hidden&quot;;t&amp;&amp;P(a)?P(a).style.visibility=c:T(&quot;#&quot;+a,&quot;visibility:&quot;+c)}function V(b){var c=/[\\\&quot;&lt;&gt;\.;]/,d=c.exec(b)!=null;return d&amp;&amp;typeof encodeURIComponent!=a?encodeURIComponent(b):b}var a=&quot;undefined&quot;,b=&quot;object&quot;,c=&quot;Shockwave Flash&quot;,d=&quot;ShockwaveFlash.ShockwaveFlash&quot;,e=&quot;application/x-shockwave-flash&quot;,f=&quot;SWFObjectExprInst&quot;,g=&quot;onreadystatechange&quot;,h=window,i=document,j=navigator,k=!1,l=[D],m=[],n=[],o=[],p,q,r,s,t=!1,u=!1,v,w,x=!0,y=function(){var f=typeof i.getElementById!=a&amp;&amp;typeof i.getElementsByTagName!=a&amp;&amp;typeof i.createElement!=a,g=j.userAgent.toLowerCase(),l=j.platform.toLowerCase(),m=l?/win/.test(l):/win/.test(g),n=l?/mac/.test(l):/mac/.test(g),o=/webkit/.test(g)?parseFloat(g.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,&quot;$1&quot;)):!1,p=!1,q=[0,0,0],r=null;if(typeof j.plugins!=a&amp;&amp;typeof j.plugins[c]==b)r=j.plugins[c].description,r&amp;&amp;(typeof j.mimeTypes==a||!j.mimeTypes[e]||!!j.mimeTypes[e].enabledPlugin)&amp;&amp;(k=!0,p=!1,r=r.replace(/^.*\s+(\S+\s+\S+$)/,&quot;$1&quot;),q[0]=parseInt(r.replace(/^(.*)\..*$/,&quot;$1&quot;),10),q[1]=parseInt(r.replace(/^.*\.(.*)\s.*$/,&quot;$1&quot;),10),q[2]=/[a-zA-Z]/.test(r)?parseInt(r.replace(/^.*[a-zA-Z]+(.*)$/,&quot;$1&quot;),10):0);else if(typeof h[[&quot;Active&quot;].concat(&quot;Object&quot;).join(&quot;X&quot;)]!=a)try{var s=new(window[[&quot;Active&quot;].concat(&quot;Object&quot;).join(&quot;X&quot;)])(d);s&amp;&amp;(r=s.GetVariable(&quot;$version&quot;),r&amp;&amp;(p=!0,r=r.split(&quot; &quot;)[1].split(&quot;,&quot;),q=[parseInt(r[0],10),parseInt(r[1],10),parseInt(r[2],10)]))}catch(t){}return{w3:f,pv:q,wk:o,ie:p,win:m,mac:n}}(),z=function(){if(!y.w3)return;(typeof i.readyState!=a&amp;&amp;i.readyState==&quot;complete&quot;||typeof i.readyState==a&amp;&amp;(i.getElementsByTagName(&quot;body&quot;)[0]||i.body))&amp;&amp;A(),t||(typeof i.addEventListener!=a&amp;&amp;i.addEventListener(&quot;DOMContentLoaded&quot;,A,!1),y.ie&amp;&amp;y.win&amp;&amp;(i.attachEvent(g,function(){i.readyState==&quot;complete&quot;&amp;&amp;(i.detachEvent(g,arguments.callee),A())}),h==top&amp;&amp;function(){if(t)return;try{i.documentElement.doScroll(&quot;left&quot;)}catch(a){setTimeout(arguments.callee,0);return}A()}()),y.wk&amp;&amp;function(){if(t)return;if(!/loaded|complete/.test(i.readyState)){setTimeout(arguments.callee,0);return}A()}(),C(A))}(),W=function(){y.ie&amp;&amp;y.win&amp;&amp;window.attachEvent(&quot;onunload&quot;,function(){var a=o.length;for(var b=0;b&lt;a;b++)o[b][0].detachEvent(o[b][1],o[b][2]);var c=n.length;for(var d=0;d&lt;c;d++)N(n[d]);for(var e in y)y[e]=null;y=null;for(var f in swfobject)swfobject[f]=null;swfobject=null})}();return{registerObject:function(a,b,c,d){if(y.w3&amp;&amp;a&amp;&amp;b){var e={};e.id=a,e.swfVersion=b,e.expressInstall=c,e.callbackFn=d,m[m.length]=e,U(a,!1)}else d&amp;&amp;d({success:!1,id:a})},getObjectById:function(a){if(y.w3)return G(a)},embedSWF:function(c,d,e,f,g,h,i,j,k,l){var m={success:!1,id:d};y.w3&amp;&amp;!(y.wk&amp;&amp;y.wk&lt;312)&amp;&amp;c&amp;&amp;d&amp;&amp;e&amp;&amp;f&amp;&amp;g?(U(d,!1),B(function(){e+=&quot;&quot;,f+=&quot;&quot;;var n={};if(k&amp;&amp;typeof k===b)for(var o in k)n[o]=k[o];n.data=c,n.width=e,n.height=f;var p={};if(j&amp;&amp;typeof j===b)for(var q in j)p[q]=j[q];if(i&amp;&amp;typeof i===b)for(var r in i)typeof p.flashvars!=a?p.flashvars+=&quot;&amp;&quot;+r+&quot;=&quot;+i[r]:p.flashvars=r+&quot;=&quot;+i[r];if(S(g)){var s=L(n,p,d);n.id==d&amp;&amp;U(d,!0),m.success=!0,m.ref=s}else{if(h&amp;&amp;H()){n.data=h,I(n,p,d,l);return}U(d,!0)}l&amp;&amp;l(m)})):l&amp;&amp;l(m)},switchOffAutoHideShow:function(){x=!1},ua:y,getFlashPlayerVersion:function(){return{major:y.pv[0],minor:y.pv[1],release:y.pv[2]}},hasFlashPlayerVersion:S,createSWF:function(a,b,c){return y.w3?L(a,b,c):undefined},showExpressInstall:function(a,b,c,d){y.w3&amp;&amp;H()&amp;&amp;I(a,b,c,d)},removeSWF:function(a){y.w3&amp;&amp;N(a)},createCSS:function(a,b,c,d){y.w3&amp;&amp;T(a,b,c,d)},addDomLoadEvent:B,addLoadEvent:C,getQueryParamValue:function(a){var b=i.location.search||i.location.hash;if(b){/\?/.test(b)&amp;&amp;(b=b.split(&quot;?&quot;)[1]);if(a==null)return V(b);var c=b.split(&quot;&amp;&quot;);for(var d=0;d&lt;c.length;d++)if(c[d].substring(0,c[d].indexOf(&quot;=&quot;))==a)return V(c[d].substring(c[d].indexOf(&quot;=&quot;)+1))}return&quot;&quot;},expressInstallCallback:function(){if(u){var a=P(f);a&amp;&amp;p&amp;&amp;(a.parentNode.replaceChild(p,a),q&amp;&amp;(U(q,!0),y.ie&amp;&amp;y.win&amp;&amp;(p.style.display=&quot;block&quot;)),r&amp;&amp;r(s)),u=!1}}}}();(function(){if(&quot;undefined&quot;==typeof window||window.WebSocket)return;var a=window.console;if(!a||!a.log||!a.error)a={log:function(){},error:function(){}};if(!swfobject.hasFlashPlayerVersion(&quot;10.0.0&quot;)){a.error(&quot;Flash Player &gt;= 10.0.0 is required.&quot;);return}location.protocol==&quot;file:&quot;&amp;&amp;a.error(&quot;WARNING: web-socket-js doesn't work in file:///... URL unless you set Flash Security Settings properly. Open the page via Web server i.e. http://...&quot;),WebSocket=function(a,b,c,d,e){var f=this;f.__id=WebSocket.__nextId++,WebSocket.__instances[f.__id]=f,f.readyState=WebSocket.CONNECTING,f.bufferedAmount=0,f.__events={},b?typeof b==&quot;string&quot;&amp;&amp;(b=[b]):b=[],setTimeout(function(){WebSocket.__addTask(function(){WebSocket.__flash.create(f.__id,a,b,c||null,d||0,e||null)})},0)},WebSocket.prototype.send=function(a){if(this.readyState==WebSocket.CONNECTING)throw&quot;INVALID_STATE_ERR: Web Socket connection has not been established&quot;;var b=WebSocket.__flash.send(this.__id,encodeURIComponent(a));return b&lt;0?!0:(this.bufferedAmount+=b,!1)},WebSocket.prototype.close=function(){if(this.readyState==WebSocket.CLOSED||this.readyState==WebSocket.CLOSING)return;this.readyState=WebSocket.CLOSING,WebSocket.__flash.close(this.__id)},WebSocket.prototype.addEventListener=function(a,b,c){a in this.__events||(this.__events[a]=[]),this.__events[a].push(b)},WebSocket.prototype.removeEventListener=function(a,b,c){if(!(a in this.__events))return;var d=this.__events[a];for(var e=d.length-1;e&gt;=0;--e)if(d[e]===b){d.splice(e,1);break}},WebSocket.prototype.dispatchEvent=function(a){var b=this.__events[a.type]||[];for(var c=0;c&lt;b.length;++c)b[c](a);var d=this[&quot;on&quot;+a.type];d&amp;&amp;d(a)},WebSocket.prototype.__handleEvent=function(a){&quot;readyState&quot;in a&amp;&amp;(this.readyState=a.readyState),&quot;protocol&quot;in a&amp;&amp;(this.protocol=a.protocol);var b;if(a.type==&quot;open&quot;||a.type==&quot;error&quot;)b=this.__createSimpleEvent(a.type);else if(a.type==&quot;close&quot;)b=this.__createSimpleEvent(&quot;close&quot;);else{if(a.type!=&quot;message&quot;)throw&quot;unknown event type: &quot;+a.type;var c=decodeURIComponent(a.message);b=this.__createMessageEvent(&quot;message&quot;,c)}this.dispatchEvent(b)},WebSocket.prototype.__createSimpleEvent=function(a){if(document.createEvent&amp;&amp;window.Event){var b=document.createEvent(&quot;Event&quot;);return b.initEvent(a,!1,!1),b}return{type:a,bubbles:!1,cancelable:!1}},WebSocket.prototype.__createMessageEvent=function(a,b){if(document.createEvent&amp;&amp;window.MessageEvent&amp;&amp;!window.opera){var c=document.createEvent(&quot;MessageEvent&quot;);return c.initMessageEvent(&quot;message&quot;,!1,!1,b,null,null,window,null),c}return{type:a,data:b,bubbles:!1,cancelable:!1}},WebSocket.CONNECTING=0,WebSocket.OPEN=1,WebSocket.CLOSING=2,WebSocket.CLOSED=3,WebSocket.__flash=null,WebSocket.__instances={},WebSocket.__tasks=[],WebSocket.__nextId=0,WebSocket.loadFlashPolicyFile=function(a){WebSocket.__addTask(function(){WebSocket.__flash.loadManualPolicyFile(a)})},WebSocket.__initialize=function(){if(WebSocket.__flash)return;WebSocket.__swfLocation&amp;&amp;(window.WEB_SOCKET_SWF_LOCATION=WebSocket.__swfLocation);if(!window.WEB_SOCKET_SWF_LOCATION){a.error(&quot;[WebSocket] set WEB_SOCKET_SWF_LOCATION to location of WebSocketMain.swf&quot;);return}var b=document.createElement(&quot;div&quot;);b.id=&quot;webSocketContainer&quot;,b.style.position=&quot;absolute&quot;,WebSocket.__isFlashLite()?(b.style.left=&quot;0px&quot;,b.style.top=&quot;0px&quot;):(b.style.left=&quot;-100px&quot;,b.style.top=&quot;-100px&quot;);var c=document.createElement(&quot;div&quot;);c.id=&quot;webSocketFlash&quot;,b.appendChild(c),document.body.appendChild(b),swfobject.embedSWF(WEB_SOCKET_SWF_LOCATION,&quot;webSocketFlash&quot;,&quot;1&quot;,&quot;1&quot;,&quot;10.0.0&quot;,null,null,{hasPriority:!0,swliveconnect:!0,allowScriptAccess:&quot;always&quot;},null,function(b){b.success||a.error(&quot;[WebSocket] swfobject.embedSWF failed&quot;)})},WebSocket.__onFlashInitialized=function(){setTimeout(function(){WebSocket.__flash=document.getElementById(&quot;webSocketFlash&quot;),WebSocket.__flash.setCallerUrl(location.href),WebSocket.__flash.setDebug(!!window.WEB_SOCKET_DEBUG);for(var a=0;a&lt;WebSocket.__tasks.length;++a)WebSocket.__tasks[a]();WebSocket.__tasks=[]},0)},WebSocket.__onFlashEvent=function(){return setTimeout(function(){try{var b=WebSocket.__flash.receiveEvents();for(var c=0;c&lt;b.length;++c)WebSocket.__instances[b[c].webSocketId].__handleEvent(b[c])}catch(d){a.error(d)}},0),!0},WebSocket.__log=function(b){a.log(decodeURIComponent(b))},WebSocket.__error=function(b){a.error(decodeURIComponent(b))},WebSocket.__addTask=function(a){WebSocket.__flash?a():WebSocket.__tasks.push(a)},WebSocket.__isFlashLite=function(){if(!window.navigator||!window.navigator.mimeTypes)return!1;var a=window.navigator.mimeTypes[&quot;application/x-shockwave-flash&quot;];return!a||!a.enabledPlugin||!a.enabledPlugin.filename?!1:a.enabledPlugin.filename.match(/flashlite/i)?!0:!1},window.WEB_SOCKET_DISABLE_AUTO_INITIALIZATION||(window.addEventListener?window.addEventListener(&quot;load&quot;,function(){WebSocket.__initialize()},!1):window.attachEvent(&quot;onload&quot;,function(){WebSocket.__initialize()}))})(),function(a,b,c){function d(a){if(!a)return;b.Transport.apply(this,arguments),this.sendBuffer=[]}function e(){}a.XHR=d,b.util.inherit(d,b.Transport),d.prototype.open=function(){return this.socket.setBuffer(!1),this.onOpen(),this.get(),this.setCloseTimeout(),this},d.prototype.payload=function(a){var c=[];for(var d=0,e=a.length;d&lt;e;d++)c.push(b.parser.encodePacket(a[d]));this.send(b.parser.encodePayload(c))},d.prototype.send=function(a){return this.post(a),this},d.prototype.post=function(a){function d(){this.readyState==4&amp;&amp;(this.onreadystatechange=e,b.posting=!1,this.status==200?b.socket.setBuffer(!1):b.onClose())}function f(){this.onload=e,b.socket.setBuffer(!1)}var b=this;this.socket.setBuffer(!0),this.sendXHR=this.request(&quot;POST&quot;),c.XDomainRequest&amp;&amp;this.sendXHR instanceof XDomainRequest?this.sendXHR.onload=this.sendXHR.onerror=f:this.sendXHR.onreadystatechange=d,this.sendXHR.send(a)},d.prototype.close=function(){return this.onClose(),this},d.prototype.request=function(a){var c=b.util.request(this.socket.isXDomain()),d=b.util.query(this.socket.options.query,&quot;t=&quot;+ +(new Date));c.open(a||&quot;GET&quot;,this.prepareUrl()+d,!0);if(a==&quot;POST&quot;)try{c.setRequestHeader?c.setRequestHeader(&quot;Content-type&quot;,&quot;text/plain;charset=UTF-8&quot;):c.contentType=&quot;text/plain&quot;}catch(e){}return c},d.prototype.scheme=function(){return this.socket.options.secure?&quot;https&quot;:&quot;http&quot;},d.check=function(a,d){try{var e=b.util.request(d),f=c.XDomainRequest&amp;&amp;e instanceof XDomainRequest,g=a&amp;&amp;a.options&amp;&amp;a.options.secure?&quot;https:&quot;:&quot;http:&quot;,h=c.location&amp;&amp;g!=c.location.protocol;if(e&amp;&amp;(!f||!h))return!0}catch(i){}return!1},d.xdomainCheck=function(a){return d.check(a,!0)}}(&quot;undefined&quot;!=typeof io?io.Transport:module.exports,&quot;undefined&quot;!=typeof io?io:module.parent.exports,this),function(a,b){function c(a){b.Transport.XHR.apply(this,arguments)}a.htmlfile=c,b.util.inherit(c,b.Transport.XHR),c.prototype.name=&quot;htmlfile&quot;,c.prototype.get=function(){this.doc=new(window[[&quot;Active&quot;].concat(&quot;Object&quot;).join(&quot;X&quot;)])(&quot;htmlfile&quot;),this.doc.open(),this.doc.write(&quot;&lt;html&gt;&lt;/html&gt;&quot;),this.doc.close(),this.doc.parentWindow.s=this;var a=this.doc.createElement(&quot;div&quot;);a.className=&quot;socketio&quot;,this.doc.body.appendChild(a),this.iframe=this.doc.createElement(&quot;iframe&quot;),a.appendChild(this.iframe);var c=this,d=b.util.query(this.socket.options.query,&quot;t=&quot;+ +(new Date));this.iframe.src=this.prepareUrl()+d,b.util.on(window,&quot;unload&quot;,function(){c.destroy()})},c.prototype._=function(a,b){this.onData(a);try{var c=b.getElementsByTagName(&quot;script&quot;)[0];c.parentNode.removeChild(c)}catch(d){}},c.prototype.destroy=function(){if(this.iframe){try{this.iframe.src=&quot;about:blank&quot;}catch(a){}this.doc=null,this.iframe.parentNode.removeChild(this.iframe),this.iframe=null,CollectGarbage()}},c.prototype.close=function(){return this.destroy(),b.Transport.XHR.prototype.close.call(this)},c.check=function(a){if(typeof window!=&quot;undefined&quot;&amp;&amp;[&quot;Active&quot;].concat(&quot;Object&quot;).join(&quot;X&quot;)in window)try{var c=new(window[[&quot;Active&quot;].concat(&quot;Object&quot;).join(&quot;X&quot;)])(&quot;htmlfile&quot;);return c&amp;&amp;b.Transport.XHR.check(a)}catch(d){}return!1},c.xdomainCheck=function(){return!1},b.transports.push(&quot;htmlfile&quot;)}(&quot;undefined&quot;!=typeof io?io.Transport:module.exports,&quot;undefined&quot;!=typeof io?io:module.parent.exports),function(a,b,c){function d(){b.Transport.XHR.apply(this,arguments)}function e(){}a[&quot;xhr-polling&quot;]=d,b.util.inherit(d,b.Transport.XHR),b.util.merge(d,b.Transport.XHR),d.prototype.name=&quot;xhr-polling&quot;,d.prototype.heartbeats=function(){return!1},d.prototype.open=function(){var a=this;return b.Transport.XHR.prototype.open.call(a),!1},d.prototype.get=function(){function b(){this.readyState==4&amp;&amp;(this.onreadystatechange=e,this.status==200?(a.onData(this.responseText),a.get()):a.onClose())}function d(){this.onload=e,this.onerror=e,a.retryCounter=1,a.onData(this.responseText),a.get()}function f(){a.retryCounter++,!a.retryCounter||a.retryCounter&gt;3?a.onClose():a.get()}if(!this.isOpen)return;var a=this;this.xhr=this.request(),c.XDomainRequest&amp;&amp;this.xhr instanceof XDomainRequest?(this.xhr.onload=d,this.xhr.onerror=f):this.xhr.onreadystatechange=b,this.xhr.send(null)},d.prototype.onClose=function(){b.Transport.XHR.prototype.onClose.call(this);if(this.xhr){this.xhr.onreadystatechange=this.xhr.onload=this.xhr.onerror=e;try{this.xhr.abort()}catch(a){}this.xhr=null}},d.prototype.ready=function(a,c){var d=this;b.util.defer(function(){c.call(d)})},b.transports.push(&quot;xhr-polling&quot;)}(&quot;undefined&quot;!=typeof io?io.Transport:module.exports,&quot;undefined&quot;!=typeof io?io:module.parent.exports,this),function(a,b,c){function e(a){b.Transport[&quot;xhr-polling&quot;].apply(this,arguments),this.index=b.j.length;var c=this;b.j.push(function(a){c._(a)})}var d=c.document&amp;&amp;&quot;MozAppearance&quot;in c.document.documentElement.style;a[&quot;jsonp-polling&quot;]=e,b.util.inherit(e,b.Transport[&quot;xhr-polling&quot;]),e.prototype.name=&quot;jsonp-polling&quot;,e.prototype.post=function(a){function i(){j(),c.socket.setBuffer(!1)}function j(){c.iframe&amp;&amp;c.form.removeChild(c.iframe);try{h=document.createElement('&lt;iframe name=&quot;'+c.iframeId+'&quot;&gt;')}catch(a){h=document.createElement(&quot;iframe&quot;),h.name=c.iframeId}h.id=c.iframeId,c.form.appendChild(h),c.iframe=h}var c=this,d=b.util.query(this.socket.options.query,&quot;t=&quot;+ +(new Date)+&quot;&amp;i=&quot;+this.index);if(!this.form){var e=document.createElement(&quot;form&quot;),f=document.createElement(&quot;textarea&quot;),g=this.iframeId=&quot;socketio_iframe_&quot;+this.index,h;e.className=&quot;socketio&quot;,e.style.position=&quot;absolute&quot;,e.style.top=&quot;0px&quot;,e.style.left=&quot;0px&quot;,e.style.display=&quot;none&quot;,e.target=g,e.method=&quot;POST&quot;,e.setAttribute(&quot;accept-charset&quot;,&quot;utf-8&quot;),f.name=&quot;d&quot;,e.appendChild(f),document.body.appendChild(e),this.form=e,this.area=f}this.form.action=this.prepareUrl()+d,j(),this.area.value=b.JSON.stringify(a);try{this.form.submit()}catch(k){}this.iframe.attachEvent?h.onreadystatechange=function(){c.iframe.readyState==&quot;complete&quot;&amp;&amp;i()}:this.iframe.onload=i,this.socket.setBuffer(!0)},e.prototype.get=function(){var a=this,c=document.createElement(&quot;script&quot;),e=b.util.query(this.socket.options.query,&quot;t=&quot;+ +(new Date)+&quot;&amp;i=&quot;+this.index);this.script&amp;&amp;(this.script.parentNode.removeChild(this.script),this.script=null),c.async=!0,c.src=this.prepareUrl()+e,c.onerror=function(){a.onClose()};var f=document.getElementsByTagName(&quot;script&quot;)[0];f.parentNode.insertBefore(c,f),this.script=c,d&amp;&amp;setTimeout(function(){var a=document.createElement(&quot;iframe&quot;);document.body.appendChild(a),document.body.removeChild(a)},100)},e.prototype._=function(a){return this.onData(a),this.isOpen&amp;&amp;this.get(),this},e.prototype.ready=function(a,c){var e=this;if(!d)return c.call(this);b.util.load(function(){c.call(e)})},e.check=function(){return&quot;document&quot;in c},e.xdomainCheck=function(){return!0},b.transports.push(&quot;jsonp-polling&quot;)}(&quot;undefined&quot;!=typeof io?io.Transport:module.exports,&quot;undefined&quot;!=typeof io?io:module.parent.exports,this),typeof define==&quot;function&quot;&amp;&amp;define.amd&amp;&amp;define([],function(){return io})})()</div></pre></div>
  570. </td>
  571. </tr>
  572. </table>
  573. </div>
  574. </div>
  575. </div>
  576. </div>
  577. <a href="#jump-to-line" rel="facebox" data-hotkey="l" class="js-jump-to-line" style="display:none">Jump to Line</a>
  578. <div id="jump-to-line" style="display:none">
  579. <h2>Jump to Line</h2>
  580. <form accept-charset="UTF-8" class="js-jump-to-line-form">
  581. <input class="textfield js-jump-to-line-field" type="text">
  582. <div class="full-button">
  583. <button type="submit" class="classy">
  584. Go
  585. </button>
  586. </div>
  587. </form>
  588. </div>
  589. </div>
  590. </div>
  591. <div id="js-frame-loading-template" class="frame frame-loading large-loading-area" style="display:none;">
  592. <img class="js-frame-loading-spinner" src="https://a248.e.akamai.net/assets.github.com/images/spinners/octocat-spinner-128.gif?1347543528" height="64" width="64">
  593. </div>
  594. </div>
  595. </div>
  596. <div class="context-overlay"></div>
  597. </div>
  598. <div id="footer-push"></div><!-- hack for sticky footer -->
  599. </div><!-- end of wrapper - hack for sticky footer -->
  600. <!-- footer -->
  601. <div id="footer">
  602. <div class="container clearfix">
  603. <dl class="footer_nav">
  604. <dt>GitHub</dt>
  605. <dd><a href="https://github.com/about">About us</a></dd>
  606. <dd><a href="https://github.com/blog">Blog</a></dd>
  607. <dd><a href="https://github.com/contact">Contact &amp; support</a></dd>
  608. <dd><a href="http://enterprise.github.com/">GitHub Enterprise</a></dd>
  609. <dd><a href="http://status.github.com/">Site status</a></dd>
  610. </dl>
  611. <dl class="footer_nav">
  612. <dt>Applications</dt>
  613. <dd><a href="http://mac.github.com/">GitHub for Mac</a></dd>
  614. <dd><a href="http://windows.github.com/">GitHub for Windows</a></dd>
  615. <dd><a href="http://eclipse.github.com/">GitHub for Eclipse</a></dd>
  616. <dd><a href="http://mobile.github.com/">GitHub mobile apps</a></dd>
  617. </dl>
  618. <dl class="footer_nav">
  619. <dt>Services</dt>
  620. <dd><a href="http://get.gaug.es/">Gauges: Web analytics</a></dd>
  621. <dd><a href="http://speakerdeck.com">Speaker Deck: Presentations</a></dd>
  622. <dd><a href="https://gist.github.com">Gist: Code snippets</a></dd>
  623. <dd><a href="http://jobs.github.com/">Job board</a></dd>
  624. </dl>
  625. <dl class="footer_nav">
  626. <dt>Documentation</dt>
  627. <dd><a href="http://help.github.com/">GitHub Help</a></dd>
  628. <dd><a href="http://developer.github.com/">Developer API</a></dd>
  629. <dd><a href="http://github.github.com/github-flavored-markdown/">GitHub Flavored Markdown</a></dd>
  630. <dd><a href="http://pages.github.com/">GitHub Pages</a></dd>
  631. </dl>
  632. <dl class="footer_nav">
  633. <dt>More</dt>
  634. <dd><a href="http://training.github.com/">Training</a></dd>
  635. <dd><a href="https://github.com/edu">Students &amp; teachers</a></dd>
  636. <dd><a href="http://shop.github.com">The Shop</a></dd>
  637. <dd><a href="/plans">Plans &amp; pricing</a></dd>
  638. <dd><a href="http://octodex.github.com/">The Octodex</a></dd>
  639. </dl>
  640. <hr class="footer-divider">
  641. <p class="right">&copy; 2012 <span title="0.07882s from fe1.rs.github.com">GitHub</span> Inc. All rights reserved.</p>
  642. <a class="left" href="https://github.com/">
  643. <span class="mega-icon mega-icon-invertocat"></span>
  644. </a>
  645. <ul id="legal">
  646. <li><a href="https://github.com/site/terms">Terms of Service</a></li>
  647. <li><a href="https://github.com/site/privacy">Privacy</a></li>
  648. <li><a href="https://github.com/security">Security</a></li>
  649. </ul>
  650. </div><!-- /.container -->
  651. </div><!-- /.#footer -->
  652. <div id="keyboard_shortcuts_pane" class="instapaper_ignore readability-extra" style="display:none">
  653. <h2>Keyboard Shortcuts <small><a href="#" class="js-see-all-keyboard-shortcuts">(see all)</a></small></h2>
  654. <div class="columns threecols">
  655. <div class="column first">
  656. <h3>Site wide shortcuts</h3>
  657. <dl class="keyboard-mappings">
  658. <dt>s</dt>
  659. <dd>Focus command bar</dd>
  660. </dl>
  661. <dl class="keyboard-mappings">
  662. <dt>?</dt>
  663. <dd>Bring up this help dialog</dd>
  664. </dl>
  665. </div><!-- /.column.first -->
  666. <div class="column middle" style='display:none'>
  667. <h3>Commit list</h3>
  668. <dl class="keyboard-mappings">
  669. <dt>j</dt>
  670. <dd>Move selection down</dd>
  671. </dl>
  672. <dl class="keyboard-mappings">
  673. <dt>k</dt>
  674. <dd>Move selection up</dd>
  675. </dl>
  676. <dl class="keyboard-mappings">
  677. <dt>c <em>or</em> o <em>or</em> enter</dt>
  678. <dd>Open commit</dd>
  679. </dl>
  680. <dl class="keyboard-mappings">
  681. <dt>y</dt>
  682. <dd>Expand URL to its canonical form</dd>
  683. </dl>
  684. </div><!-- /.column.first -->
  685. <div class="column last js-hidden-pane" style='display:none'>
  686. <h3>Pull request list</h3>
  687. <dl class="keyboard-mappings">
  688. <dt>j</dt>
  689. <dd>Move selection down</dd>
  690. </dl>
  691. <dl class="keyboard-mappings">
  692. <dt>k</dt>
  693. <dd>Move selection up</dd>
  694. </dl>
  695. <dl class="keyboard-mappings">
  696. <dt>o <em>or</em> enter</dt>
  697. <dd>Open issue</dd>
  698. </dl>
  699. <dl class="keyboard-mappings">
  700. <dt><span class="platform-mac"></span><span class="platform-other">ctrl</span> <em>+</em> enter</dt>
  701. <dd>Submit comment</dd>
  702. </dl>
  703. <dl class="keyboard-mappings">
  704. <dt><span class="platform-mac"></span><span class="platform-other">ctrl</span> <em>+</em> shift p</dt>
  705. <dd>Preview comment</dd>
  706. </dl>
  707. </div><!-- /.columns.last -->
  708. </div><!-- /.columns.equacols -->
  709. <div class="js-hidden-pane" style='display:none'>
  710. <div class="rule"></div>
  711. <h3>Issues</h3>
  712. <div class="columns threecols">
  713. <div class="column first">
  714. <dl class="keyboard-mappings">
  715. <dt>j</dt>
  716. <dd>Move selection down</dd>
  717. </dl>
  718. <dl class="keyboard-mappings">
  719. <dt>k</dt>
  720. <dd>Move selection up</dd>
  721. </dl>
  722. <dl class="keyboard-mappings">
  723. <dt>x</dt>
  724. <dd>Toggle selection</dd>
  725. </dl>
  726. <dl class="keyboard-mappings">
  727. <dt>o <em>or</em> enter</dt>
  728. <dd>Open issue</dd>
  729. </dl>
  730. <dl class="keyboard-mappings">
  731. <dt><span class="platform-mac"></span><span class="platform-other">ctrl</span> <em>+</em> enter</dt>
  732. <dd>Submit comment</dd>
  733. </dl>
  734. <dl class="keyboard-mappings">
  735. <dt><span class="platform-mac"></span><span class="platform-other">ctrl</span> <em>+</em> shift p</dt>
  736. <dd>Preview comment</dd>
  737. </dl>
  738. </div><!-- /.column.first -->
  739. <div class="column last">
  740. <dl class="keyboard-mappings">
  741. <dt>c</dt>
  742. <dd>Create issue</dd>
  743. </dl>
  744. <dl class="keyboard-mappings">
  745. <dt>l</dt>
  746. <dd>Create label</dd>
  747. </dl>
  748. <dl class="keyboard-mappings">
  749. <dt>i</dt>
  750. <dd>Back to inbox</dd>
  751. </dl>
  752. <dl class="keyboard-mappings">
  753. <dt>u</dt>
  754. <dd>Back to issues</dd>
  755. </dl>
  756. <dl class="keyboard-mappings">
  757. <dt>/</dt>
  758. <dd>Focus issues search</dd>
  759. </dl>
  760. </div>
  761. </div>
  762. </div>
  763. <div class="js-hidden-pane" style='display:none'>
  764. <div class="rule"></div>
  765. <h3>Issues Dashboard</h3>
  766. <div class="columns threecols">
  767. <div class="column first">
  768. <dl class="keyboard-mappings">
  769. <dt>j</dt>
  770. <dd>Move selection down</dd>
  771. </dl>
  772. <dl class="keyboard-mappings">
  773. <dt>k</dt>
  774. <dd>Move selection up</dd>
  775. </dl>
  776. <dl class="keyboard-mappings">
  777. <dt>o <em>or</em> enter</dt>
  778. <dd>Open issue</dd>
  779. </dl>
  780. </div><!-- /.column.first -->
  781. </div>
  782. </div>
  783. <div class="js-hidden-pane" style='display:none'>
  784. <div class="rule"></div>
  785. <h3>Network Graph</h3>
  786. <div class="columns equacols">
  787. <div class="column first">
  788. <dl class="keyboard-mappings">
  789. <dt><span class="badmono"></span> <em>or</em> h</dt>
  790. <dd>Scroll left</dd>
  791. </dl>
  792. <dl class="keyboard-mappings">
  793. <dt><span class="badmono"></span> <em>or</em> l</dt>
  794. <dd>Scroll right</dd>
  795. </dl>
  796. <dl class="keyboard-mappings">
  797. <dt><span class="badmono"></span> <em>or</em> k</dt>
  798. <dd>Scroll up</dd>
  799. </dl>
  800. <dl class="keyboard-mappings">
  801. <dt><span class="badmono"></span> <em>or</em> j</dt>
  802. <dd>Scroll down</dd>
  803. </dl>
  804. <dl class="keyboard-mappings">
  805. <dt>t</dt>
  806. <dd>Toggle visibility of head labels</dd>
  807. </dl>
  808. </div><!-- /.column.first -->
  809. <div class="column last">
  810. <dl class="keyboard-mappings">
  811. <dt>shift <span class="badmono"></span> <em>or</em> shift h</dt>
  812. <dd>Scroll all the way left</dd>
  813. </dl>
  814. <dl class="keyboard-mappings">
  815. <dt>shift <span class="badmono"></span> <em>or</em> shift l</dt>
  816. <dd>Scroll all the way right</dd>
  817. </dl>
  818. <dl class="keyboard-mappings">
  819. <dt>shift <span class="badmono"></span> <em>or</em> shift k</dt>
  820. <dd>Scroll all the way up</dd>
  821. </dl>
  822. <dl class="keyboard-mappings">
  823. <dt>shift <span class="badmono"></span> <em>or</em> shift j</dt>
  824. <dd>Scroll all the way down</dd>
  825. </dl>
  826. </div><!-- /.column.last -->
  827. </div>
  828. </div>
  829. <div class="js-hidden-pane" >
  830. <div class="rule"></div>
  831. <div class="columns threecols">
  832. <div class="column first js-hidden-pane" >
  833. <h3>Source Code Browsing</h3>
  834. <dl class="keyboard-mappings">
  835. <dt>t</dt>
  836. <dd>Activates the file finder</dd>
  837. </dl>
  838. <dl class="keyboard-mappings">
  839. <dt>l</dt>
  840. <dd>Jump to line</dd>
  841. </dl>
  842. <dl class="keyboard-mappings">
  843. <dt>w</dt>
  844. <dd>Switch branch/tag</dd>
  845. </dl>
  846. <dl class="keyboard-mappings">
  847. <dt>y</dt>
  848. <dd>Expand URL to its canonical form</dd>
  849. </dl>
  850. </div>
  851. </div>
  852. </div>
  853. <div class="js-hidden-pane" style='display:none'>
  854. <div class="rule"></div>
  855. <div class="columns threecols">
  856. <div class="column first">
  857. <h3>Browsing Commits</h3>
  858. <dl class="keyboard-mappings">
  859. <dt><span class="platform-mac"></span><span class="platform-other">ctrl</span> <em>+</em> enter</dt>
  860. <dd>Submit comment</dd>
  861. </dl>
  862. <dl class="keyboard-mappings">
  863. <dt>escape</dt>
  864. <dd>Close form</dd>
  865. </dl>
  866. <dl class="keyboard-mappings">
  867. <dt>p</dt>
  868. <dd>Parent commit</dd>
  869. </dl>
  870. <dl class="keyboard-mappings">
  871. <dt>o</dt>
  872. <dd>Other parent commit</dd>
  873. </dl>
  874. </div>
  875. </div>
  876. </div>
  877. <div class="js-hidden-pane" style='display:none'>
  878. <div class="rule"></div>
  879. <h3>Notifications</h3>
  880. <div class="columns threecols">
  881. <div class="column first">
  882. <dl class="keyboard-mappings">
  883. <dt>j</dt>
  884. <dd>Move selection down</dd>
  885. </dl>
  886. <dl class="keyboard-mappings">
  887. <dt>k</dt>
  888. <dd>Move selection up</dd>
  889. </dl>
  890. <dl class="keyboard-mappings">
  891. <dt>o <em>or</em> enter</dt>
  892. <dd>Open notification</dd>
  893. </dl>
  894. </div><!-- /.column.first -->
  895. <div class="column second">
  896. <dl class="keyboard-mappings">
  897. <dt>e <em>or</em> shift i <em>or</em> y</dt>
  898. <dd>Mark as read</dd>
  899. </dl>
  900. <dl class="keyboard-mappings">
  901. <dt>shift m</dt>
  902. <dd>Mute thread</dd>
  903. </dl>
  904. </div><!-- /.column.first -->
  905. </div>
  906. </div>
  907. </div>
  908. <div id="markdown-help" class="instapaper_ignore readability-extra">
  909. <h2>Markdown Cheat Sheet</h2>
  910. <div class="cheatsheet-content">
  911. <div class="mod">
  912. <div class="col">
  913. <h3>Format Text</h3>
  914. <p>Headers</p>
  915. <pre>
  916. # This is an &lt;h1&gt; tag
  917. ## This is an &lt;h2&gt; tag
  918. ###### This is an &lt;h6&gt; tag</pre>
  919. <p>Text styles</p>
  920. <pre>
  921. *This text will be italic*
  922. _This will also be italic_
  923. **This text will be bold**
  924. __This will also be bold__
  925. *You **can** combine them*
  926. </pre>
  927. </div>
  928. <div class="col">
  929. <h3>Lists</h3>
  930. <p>Unordered</p>
  931. <pre>
  932. * Item 1
  933. * Item 2
  934. * Item 2a
  935. * Item 2b</pre>
  936. <p>Ordered</p>
  937. <pre>
  938. 1. Item 1
  939. 2. Item 2
  940. 3. Item 3
  941. * Item 3a
  942. * Item 3b</pre>
  943. </div>
  944. <div class="col">
  945. <h3>Miscellaneous</h3>
  946. <p>Images</p>
  947. <pre>
  948. ![GitHub Logo](/images/logo.png)
  949. Format: ![Alt Text](url)
  950. </pre>
  951. <p>Links</p>
  952. <pre>
  953. http://github.com - automatic!
  954. [GitHub](http://github.com)</pre>
  955. <p>Blockquotes</p>
  956. <pre>
  957. As Kanye West said:
  958. > We're living the future so
  959. > the present is our past.
  960. </pre>
  961. </div>
  962. </div>
  963. <div class="rule"></div>
  964. <h3>Code Examples in Markdown</h3>
  965. <div class="col">
  966. <p>Syntax highlighting with <a href="http://github.github.com/github-flavored-markdown/" title="GitHub Flavored Markdown" target="_blank">GFM</a></p>
  967. <pre>
  968. ```javascript
  969. function fancyAlert(arg) {
  970. if(arg) {
  971. $.facebox({div:'#foo'})
  972. }
  973. }
  974. ```</pre>
  975. </div>
  976. <div class="col">
  977. <p>Or, indent your code 4 spaces</p>
  978. <pre>
  979. Here is a Python code example
  980. without syntax highlighting:
  981. def foo:
  982. if not bar:
  983. return true</pre>
  984. </div>
  985. <div class="col">
  986. <p>Inline code for comments</p>
  987. <pre>
  988. I think you should use an
  989. `&lt;addr&gt;` element here instead.</pre>
  990. </div>
  991. </div>
  992. </div>
  993. </div>
  994. <div id="ajax-error-message" class="flash flash-error">
  995. <span class="mini-icon mini-icon-exclamation"></span>
  996. Something went wrong with that request. Please try again.
  997. <a href="#" class="mini-icon mini-icon-remove-close ajax-error-dismiss"></a>
  998. </div>
  999. <span id='server_response_time' data-time='0.08007' data-host='fe1'></span>
  1000. </body>
  1001. </html>