Men /
16 |Laid Back Loafers —
17 |Summer-ready slip-ons for office and weekend wear.
18 | 19 |41 |
├── .gitignore ├── README ├── aldo ├── index.css └── index.html ├── book-covers ├── index.css ├── index.html └── index.js ├── explainer ├── diagrams.html ├── index.css └── index.html ├── football ├── index.css └── index.html ├── img ├── alan_beige-taupe_36_main_rc_nt_1000x1270.jpg ├── alan_black_97_main_rc_nt_1000x1270.jpg ├── areawen_beige-taupe_38_main_rc_nt_1000x1270.jpg ├── areawen_blue_1_main_rc_nt_1000x1270.jpg ├── beyonce.jpg ├── boniver.jpg ├── book-covers.png ├── celebration.jpg ├── clamscasino.jpg ├── colouranything.jpg ├── dannybrown.jpg ├── flume.jpg ├── football.png ├── freinia_beige-taupe_36_look-full_rc_nt_1000x1270.jpg ├── freinia_brown_22_look-full_rc_nt_1000x1270.jpg ├── full-time.jpg ├── glassanimals.jpg ├── goal.jpg ├── goldpanda.jpg ├── humanenergy.jpg ├── justice.jpg ├── kaytranada.jpg ├── magazine-style-asymmetric.png ├── mccrery_beige-taupe_36_main_rc_nt_1000x1270.jpg ├── mccrery_black_98_main_rc_nt_1000x1270.jpg ├── moodyman.jpg ├── moonshapedpool.jpg ├── paak.jpg ├── pogba.jpg ├── product-grid-l.png ├── product-grid-m.png ├── product-grid-sm.png ├── product-grid.png ├── shearer.jpg ├── solange.jpg ├── strangerthings.jpg ├── trophy.jpg ├── united.jpg ├── untitledunmastered.jpg ├── vinyl.png ├── wyanet_beige-taupe_36_main_rc_nt_1000x1270.jpg ├── wyanet_black_97_main_rc_nt_1000x1270.jpg ├── wyanet_blue_2_main_rc_nt_1000x1270.jpg └── zlatan.jpg ├── index.html ├── magazine-style-asymmetric ├── index.css └── index.html ├── package.json ├── vinyl ├── index.css └── index.html └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (http://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # Typescript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | To Do 2 | 3 | - https://dribbble.com/shots/2361822-Wireframe-Continuation 4 | - http://www.bbc.com/sport/live/football/38322056 5 | 6 | - https://drafts.csswg.org/css-grid/#auto-repeat 7 | -------------------------------------------------------------------------------- /aldo/index.css: -------------------------------------------------------------------------------- 1 | .grid { display: grid; } 2 | 3 | /** 4 | * Grid Layout 5 | * Width = (width_of_grid - (gutters + padding)) / no_of_cols 6 | * Height = 1270 * width / 1000 7 | */ 8 | :root { 9 | --width: calc((100vw - 3rem) / 2); 10 | --height: calc(1270 * var(--width) / 1000); 11 | } 12 | 13 | .layout { 14 | grid-gap: 1rem; 15 | grid-auto-flow: dense; 16 | grid-template-columns: repeat(2, var(--width)); 17 | grid-auto-rows: var(--height); 18 | } 19 | 20 | @media screen and (min-width: 30em) and (max-width: 60em) { 21 | :root { --width: calc((100vw - 4rem) / 3); } 22 | .layout { grid-template-columns: repeat(3, var(--width)); } 23 | } 24 | 25 | @media screen and (min-width: 60em) { 26 | :root { --width: calc((60em - 5rem) / 4); } 27 | .layout { grid-template-columns: repeat(4, var(--width)); } 28 | } 29 | 30 | /** 31 | * Col and row spans 32 | */ 33 | .wide-1 { grid-column-end: span 1; } 34 | .wide-2 { grid-column-end: span 2; } 35 | 36 | .tall-1 { grid-row-end: span 1; } 37 | .tall-2 { grid-row-end: span 2; } 38 | 39 | @media screen and (min-width: 30em) { 40 | .wide-1-ns { grid-column-end: span 1; } 41 | .wide-2-ns { grid-column-end: span 2; } 42 | .wide-3-ns { grid-column-end: span 3; } 43 | } 44 | 45 | @media screen and (min-width: 30em) and (max-width: 60em) { 46 | .wide-1-m { grid-column-end: span 1; } 47 | .wide-2-m { grid-column-end: span 2; } 48 | .wide-3-m { grid-column-end: span 3; } 49 | } 50 | 51 | @media screen and (min-width: 60em) { 52 | .wide-1-l { grid-column-end: span 1; } 53 | .wide-2-l { grid-column-end: span 2; } 54 | .wide-3-l { grid-column-end: span 3; } 55 | } 56 | 57 | 58 | .zoom { 59 | -moz-osx-font-smoothing: grayscale; 60 | backface-visibility: hidden; 61 | transform: translateZ(0); 62 | transition: transform 0.3s ease-out; 63 | } 64 | .zoom:hover, 65 | .zoom:focus { transform: scale(1.05); } 66 | .zoom:active { transform: scale(1); } 67 | -------------------------------------------------------------------------------- /aldo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 |Summer-ready slip-ons for office and weekend wear.
18 | 19 |14 | Grid Lines 15 | 16 | 17 | +---+---+---+---+---+---+ 1 18 | | | | | | | | 19 | | | | | | | | 20 | | | | | | | | 21 | +-------+---+-----------+ 2 22 | | |xxx| | | | | 23 | | |xxx|<-- Grid Cell | 24 | | |xxx| | | | | 25 | +-----------------------+ 3 26 | | | | | | | | 27 | | | | | | | | 28 | | | | | | | | 29 | +---+---+---+---+---+---+ 4 30 | 1 2 3 4 5 6 731 | 32 |
33 | Row Tracks 34 | 35 | 36 | +---+---+---+---+---+---+ 37 | |xxxxxxxxxxxxxxxxxxxxxxx| 38 | |xxxxxxxxxxxxxxxxxxxxxxx| 39 | |xxxxxxxxxxxxxxxxxxxxxxx| 40 | +-----------------------+ 41 | | | | | | | | 42 | | | | | | | | 43 | | | | | | | | 44 | +-----------------------+ 45 | | | | | | | | 46 | | | | | | | | 47 | | | | | | | | 48 | +---+---+---+---+---+---+49 |
50 | Column Tracks 51 | 52 | 53 | +---+---+---+---+---+---+ 54 | |xxx| | | | | | 55 | |xxx| | | | | | 56 | |xxx| | | | | | 57 | +xxx--------------------+ 58 | |xxx| | | | | | 59 | |xxx| | | | | | 60 | |xxx| | | | | | 61 | +xxx--------------------+ 62 | |xxx| | | | | | 63 | |xxx| | | | | | 64 | |xxx| | | | | | 65 | +---+---+---+---+---+---+66 |
71 | Grid Area 72 | 73 | 74 | +---+---+---+---+---+---+ 75 | | | | | | | | 76 | | | | | | | | 77 | | | | | | | | 78 | +---+---+-----------+---+ 79 | | | |xxxxxxxxxxx| | 80 | | | |xxxxxxxxxxx| | 81 | | | |xxxxxxxxxxx| | 82 | +---+---+xxxxxxxxxxx+---+ 83 | | | |xxxxxxxxxxx| | 84 | | | |xxxxxxxxxxx| | 85 | | | |xxxxxxxxxxx| | 86 | +---+---+---+---+---+---+87 |
91 | Named Areas 92 | 93 | 94 | +---+---+---+---+---+---+ 95 | |░░░░░░░░░░░░░░░░░░░░░░░| 96 | |░░░░░░░ Header ░░░░░░░░| 97 | |░░░░░░░░░░░░░░░░░░░░░░░| 98 | +-------------------+---+ 99 | |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒|░░░| 100 | |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒|░A░| 101 | |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒|░s░| 102 | |▒▒▒▒▒ Content ▒▒▒▒▒|░i░| 103 | |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒|░d░| 104 | |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒|░e░| 105 | |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒|░░░| 106 | +-------------------+---+ 107 | |░░░░░░░░░░░░░░░░░░░░░░░| 108 | |░░░░░░░ Footer ░░░░░░░░| 109 | |░░░░░░░░░░░░░░░░░░░░░░░| 110 | +-----------------------+111 |
116 | +-- grid-column-start 117 | | 118 | +-- grid-column +--+ 119 | | | 120 | | +-- grid-column-end 121 | grid-area +--+ 122 | | +-- grid-row-start 123 | | | 124 | +-- grid-row +-----+ 125 | | 126 | +-- grid-row-end127 |
132 | Gutters 133 | 134 | 135 | +----+ +----+ +----+ +----+ 136 | | | | | | | | | 137 | | | | | | | | | 138 | +----+ +----+ +----+ +----+ 139 | +----+ +----+ +----+ +----+ 140 | | | | | | | | | 141 | | | | | | | | | 142 | +----+ +----+ +----+ +----+ 143 | +----+ +----+ +----+ +----+ 144 | | | | | | | | | 145 | | | | | | | | | 146 | +----+ +----+ +----+ +----+147 |
152 | Large-Breakpoint 153 | (4 columns) 154 | 155 | 156 | +-----------+ +-----------+ 157 | | span 2 | | | 158 | | | | | 159 | +-----------+ | span 2 | 160 | +----+ +----+ | tall 2 | 161 | | | | | | | 162 | | | | | | | 163 | +----+ +----+ +-----------+ 164 | +----+ +----+ +----+ +----+ 165 | | | | | | | | | 166 | | | | | | | | | 167 | +----+ +----+ +----+ +----+ 168 | +-----------+ +----+ +----+ 169 | | | | | | | 170 | | | | | | | 171 | | span 2 | +----+ +----+ 172 | | tall 2 | +----+ +----+ 173 | | | | | | | 174 | | | | | | | 175 | +-----------+ +----+ +----+176 | 177 |
178 | Medium-Breakpoint 179 | (3 columns) 180 | 181 | 182 | +------------------+ 183 | | span 3 | 184 | | | 185 | +------------------+ 186 | +-----------+ +----+ 187 | | | | | 188 | | | | | 189 | | span 2 | +----+ 190 | | tall 2 | +----+ 191 | | | | | 192 | | | | | 193 | +-----------+ +----+ 194 | +----+ +----+ +----+ 195 | | | | | | | 196 | | | | | | | 197 | +----+ +----+ +----+ 198 | +-----------+ +----+ 199 | | | | | 200 | | | | | 201 | | span 2 | +----+ 202 | | tall 2 | +----+ 203 | | | | | 204 | | | | | 205 | +-----------+ +----+ 206 | +----+ +----+ +----+ 207 | | | | | | | 208 | | | | | | | 209 | +----+ +----+ +----+210 |
211 | Small-Breakpoint 212 | (2 columns) 213 | 214 | 215 | +-----------+ 216 | | span 2 | 217 | | | 218 | +-----------+ 219 | +-----------+ 220 | | | 221 | | | 222 | | span 2 | 223 | | tall 2 | 224 | | | 225 | | | 226 | +-----------+ 227 | +----+ +----+ 228 | | | | | 229 | | | | | 230 | +----+ +----+ 231 | +----+ +----+ 232 | | | | | 233 | | | | | 234 | +----+ +----+ 235 | +----+ +----+ 236 | | | | | 237 | | | | | 238 | +----+ +----+ 239 | +-----------+ 240 | | | 241 | | | 242 | | span 2 | 243 | | tall 2 | 244 | | | 245 | | | 246 | +-----------+ 247 | +----+ +----+ 248 | | | | | 249 | | | | | 250 | +----+ +----+ 251 | +----+ +----+ 252 | | | | | 253 | | | | | 254 | +----+ +----+255 |
By Shamoon Hafez 151 | 152 | 153 |
154 |Man Utd 3-2 Southampton
166 |One of THE great cup finals.
169 | 170 |But it is Zlatan Ibrahimovic's name which will be at the top of the headlines after the Swede scored twice, including a late winner, to give United victory over Southampton.
176 | 177 |Have a read of Phil McNulty's match report from Wembley
178 | 179 |We are back on Monday for Premier League action as champions Leicester take on Liverpool.
180 | 181 |Until then.
182 |Manchester United win EFL Cup
193 |A dab from Paul Pogba with the trophy. Of course.
195 |Man Utd 3-2 Southampton
207 |Alan Shearer
212 |Ex-Southampton striker on BBC Radio 5 live
213 |Zlatan made all the difference. It was a stunning free kick.
216 |The way he used all of his experience - not just in his two goals but everywhere on the pitch, he deserves that Man of the Match trophy.
217 |Manchester United win EFL Cup
234 |🏆🏆🏆
237 |Wayne Rooney lifts the trophy.
238 |Manchester United are the EFL Cup champions.
239 |Jose Mouriho becomes the first United manager to win a trophy in his first season at the club.
240 |Manchester United win EFL Cup
252 |Zlatan Ibrahimovic is named the man of the match.
254 |Surprise, surprise.
255 |Manchester United win EFL Cup
266 |They signed him on a free, but Zlatan Ibrahimovic has been a priceless acquisition for Manchester United.
268 |26 goals for the season now, including two in the EFL Cup final against Southampton.
269 |It is the 19th major trophy of his illustrious career and first for United.
270 |"This is what I came for, I came to win," he tells Sky Sports.
271 |Big game player.
272 |Man Utd 3-2 Southampton
284 |It's four in four for Jose Mourinho, as Manchester United beat Southampton in an epic EFL Cup final.
286 |Zlatan Ibrahimovic with the winning goal three minutes from time.
287 |Man Utd 3-2 Southampton
298 |Match-winner Zlatan Ibrahimovic earns a free-kick deep in the attacking half.
300 |Time is up.
301 |Man Utd 3-2 Southampton
311 |Pumped into the Manchester United area...
313 |...it falls to Ryan Bertrand...
314 |...but the left-backs shot is blocked by a red shirt.
315 |United almost there.
316 |Man Utd 3-2 Southampton
326 |Can Southampton take it into extra time???
328 |Man Utd 3-2 Southampton
338 |INTO THE LAST MINUTE.
340 |Man Utd 3-2 Southampton
350 |Clever from Paul Pogba, goes down under a challenge from a Southampton man.
352 |Eats away a few more seconds.
353 |Man Utd 3-2 Southampton
363 |"We'll never die, we'll never die, we'll keep the red flag flying high," sing the United fans at Wembley.
365 |120 seconds left.
366 |Southampton need to get the ball forward.
367 |Man Utd 3-2 Southampton
377 |Is there a twist left in this match? Can Southampton reply as they did early in the match?
379 |Man Utd 3-2 Southampton
389 |The 90 minutes are up.
391 |FOUR ADDED ON.
392 |Man Utd 3-2 Southampton
403 |Wayne Rooney was getting ready to come on, his tracksuit was off and he celebrated the goal wildly but he won't be making his entrance anymore.
405 |On comes Marouane Fellaini instead, replacing Anthony Martial.
406 |Southampton have to go for it and send on striker Jay Rodriguez for Steven Davies.
407 |One minute left.
408 |Man Utd 3-2 Southampton
419 |Alan Shearer
424 |Ex-Southampton striker on BBC Radio 5 live
425 |What a ball that was into Ibrahimovic and no way was he going to miss that.
428 |
429 |
430 |
Zlatan Ibrahimovic
445 |It is him again, who else!!
449 |From getting away at one end, United score at the other.
450 |Ander Herrera's cross is pin-point onto the head of Zlatan Ibrahimovic, who heads home from six yards out.
451 |No way he was missing that.
452 |Heartbreak for the Saints.
453 |
454 |
455 |
457 |
458 |
Man Utd 2-2 Southampton
469 |United break to the other end...
471 |Man Utd 2-2 Southampton
482 |Oh so close for Southampton.
484 |Ryan Bertrand puts a brilliant ball into the area, not for the first time, but Shane Long cannot prod it home.
485 |From the resulting corner, Zlatan Ibrahimovic heads Jack Stephens's effort off the line.
486 |Man Utd 2-2 Southampton
496 |Wayne Rooney taking instructions from assistant manager Rui Faria.
498 |The bib is off.
499 |It was a Thursday at around 10 p.m., and the weekly League of Legends tournament was underway at PC Gamerz, a gaming cafe in Honolulu, Hawaii. The store was cool and dark inside, lit by the glow of monitors and a neon-green Monster energy drink sign plugged into the wall. Most of the patrons — almost all young men — were fixated on their screens, but occasionally something would happen in a game, and a corner of the room would break out into raucous commentary.
66 | 67 |This tournament was just for fun, but some of the players seemed to harbor quiet ambition to get more serious about the game. League of Legends is the most watched, most played competitive video game in the world, with professional leagues sponsored by the likes of Intel, Geico, and Monster Energy. According to esportsearnings.com, League of Legends tournaments have awarded $38 million since the game started in 2009. One player attending the weekly tournament, Blaise Lum (handle: Too Tilted), said he plays around 50 hours a week. I asked if he had considered going pro. “I’m nowhere near that good,” he demurred. “Maybe one day, you never know.”
68 | 69 |If Lum wanted to become professional, he’d face an obstacle that’s merely an inconvenience for most League players in Hawaii, but a significant disadvantage for the serious ones. The game’s server is in Chicago. That means if you live in the Midwest, your computer can communicate with it almost instantaneously. If you’re in L.A., it can take roughly 60 milliseconds. But if you’re in Hawaii, it can take 120 milliseconds, with some players reporting as long as 200 milliseconds. And at the highest echelons of competitive video gaming, milliseconds matter.
70 | 71 |We rarely think about the physicality of the internet. In 2006, former Senator Ted Stevens of Alaska was ridiculed for saying the internet was “not a big truck” but rather “a series of tubes.” While Stevens clearly had a limited understanding of the internet, he was right in one sense: The internet is mostly a series of fiberoptic tubes, wrapped in protective layers of steel and plastic, that run above ground and under the sea.
72 | 73 |There are some very specific situations in which the physical limitations of the internet come to the fore. Probably the best-known example is high-frequency trading, in which traders set up shop as close to stock exchanges as possible. These limitations are also a big concern for the emerging field of remote surgery, in which a doctor in the U.S. might operate on a patient in France.
74 | 75 |76 |80 | 81 |
77 | We rarely think about the physicality of the internet 78 |
79 |
High frequency traders, remote surgeons, and competitive eSports players are all worried about the same thing: latency, which is the lag time between when users at different ends of a connection register a piece of data. Another word for this is ping, which refers to a test in which a machine sends a small data packet to another machine and calculates how long it takes to come back. Low ping will make a connection seem faster. High ping will make it seem slower. In reality, the data is traveling at the same speed, it’s just going farther, or making more stops that add small delays along the way.
82 |In League and other eSports games, playing on a high ping is a big disadvantage. The goal of the game is to set up defenses to protect your base while pushing forward to capture the enemy’s base, and there are typically lightning bolts and fireballs and slime-spitting dragons shooting across the screen. Playing on a high ping means players may not see all of the action that happens in a game. “It's harder for us to dodge them,” said Devin Wolery, the owner of PC Gamerz. “Or when we attack, they they can dodge it easier.” Or as Lum said, “Those extra seconds, even like milliseconds, they just make you feel really off.”
86 | 87 |In 2015, Riot Games, which publishes League of Legends, moved the game’s servers from Los Angeles to Chicago in order to “improve connection quality for the vast majority of [North American] players.”
88 | 89 |The change evened out latency for players on the east and west coasts, but it doubled latency for Hawaii players overnight.
90 | 91 |Latency can really screw things up for a young eSports scene, said Zack Johnson, who runs gg Circuit, a global tournament provider for gaming centers like PC Gamerz. Players on the mainland sometimes say they don’t want to compete against Hawaii players, he said, because the high ping throws things off.
92 | 93 |“It really is that they’re out on an island all by themselves,” Johnson said. “In basketball, the hoop is always 10 feet. Every field is always the same. In eSports, there is so much difference in latency, it’s very hard to make that playing field even.”
94 | 95 |That’s partly why all the big tournaments — the ones where the winning team gets cash prizes of over $1 million — happen in big stadiums, and in person. It’s not just for the spectacle; it’s because otherwise it would be difficult to guarantee a fair game. “We haven't had any professional players come out of Hawaii since the server change,” Wolery said.
96 | 97 |That doesn’t mean no professional players have come out of Hawaii. Dyrus, birth name Marcus Hill, played for multiple pro League teams before retiring in 2015 at the ripe age of 23. Matthew Elento, 19, who played as MattLife and now Matt, is a starter for Team Liquid, a well-known eSports organization based in the Netherlands and L.A. that fields teams in multiple games.
98 |113 | “Any kid playing video games in Hawaii would know the struggles of playing from Hawaii.” 114 |115 |
“Any kid playing video games in Hawaii would know the struggles of playing from Hawaii,” Elento, who now lives in L.A., said. “You have latency for everything.”
120 | 121 |Latency doesn’t really matter until you get to the highest levels of competition, Elento added, because top players have extremely quick reaction times. It takes years of training to get good enough to go pro, and for 95 percent of that time, he said, ping wasn’t a factor. But in that last stretch, when he was playing against expert players, it really hurt.
122 | 123 |He had to learn how to “see into the future,” he said, and predict and input moves in advance. Elento likens the scenario to that of a football player, but “instead of being a regular football player, he has to close his eyes for a quarter of a second for every second, and he has to judge all of his decisions based on information he knew before, and he has to just plug in the information for the last quarter of a second.”
124 | 125 |Gamers playing on high latency develop a “sixth sense” for how to do this, Elento said. When he was growing up in Honolulu, he had an online friend in Australia whose latency was even worse. Yet they both made it to the pro level. “It’s honestly just annoying,” he said. “It’s an obvious competitive disadvantage, but it’s not like it’s unplayable.”
126 | 127 |Riot Games has a League of Legends server in Australia now. It also has servers in Japan, Turkey, Russia, and Brazil. It has two servers for Europe and two for Latin America in addition to the Chicago server for North America. It does not have any servers in Africa, even though they are frequently requested, according to the fan-maintained League of Legends wiki.
128 | 129 |Elento and Wolery said that if Riot could add some kind of server in Hawaii — a small server, perhaps, or a so-called tournament realm server, which is the type of server Riot uses when pros play remote games — it would make a world of difference.
130 | 131 |132 |136 | 137 |
133 | Gamers playing on high latency develop a sixth sense for anticipating moves 134 |
135 |
“I would hope Riot would help out Hawaii and give them a tournament realm that they could play in,” Elento said. “I’m not sure how feasible that is... But that’s definitely something that would help out the competitive Hawaiian scene.”
138 | 139 |Riot Games declined to comment when asked about latency in Hawaii, saying it was too busy with ongoing Spring Finals playoff series to answer questions. In the meantime, players like Lum will just have to practice clairvoyance.
140 | 141 |“A lot of it is for fun. But I know there's like a certain amount of people who are very competitive. I guess I'm one of them,” Lum said. “That ping hurts sometimes, but it’s something you can power through.”
142 |