1*b50261e2SCy Schubert<p align="center"> 2*b50261e2SCy Schubert <img src="https://strcpy.net/libevent3.png" alt="libevent logo"/> 3*b50261e2SCy Schubert</p> 4*b50261e2SCy Schubert 5*b50261e2SCy Schubert 6*b50261e2SCy Schubert 7*b50261e2SCy Schubert[![Appveyor Win32 Build Status](https://ci.appveyor.com/api/projects/status/ng3jg0uhy44mp7ik?svg=true)](https://ci.appveyor.com/project/libevent/libevent) 8*b50261e2SCy Schubert[![Travis Build Status](https://travis-ci.org/libevent/libevent.svg?branch=master)](https://travis-ci.org/libevent/libevent) 9*b50261e2SCy Schubert[![Coverage Status](https://coveralls.io/repos/github/libevent/libevent/badge.svg)](https://coveralls.io/github/libevent/libevent) 10*b50261e2SCy Schubert[![Join the chat at https://gitter.im/libevent/libevent](https://badges.gitter.im/libevent/libevent.svg)](https://gitter.im/libevent/libevent?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 11*b50261e2SCy Schubert 12*b50261e2SCy Schubert 13*b50261e2SCy Schubert 14*b50261e2SCy Schubert# 0. BUILDING AND INSTALLATION (Briefly) 15*b50261e2SCy Schubert 16*b50261e2SCy Schubert## Autoconf 17*b50261e2SCy Schubert 18*b50261e2SCy Schubert $ ./configure 19*b50261e2SCy Schubert $ make 20*b50261e2SCy Schubert $ make verify # (optional) 21*b50261e2SCy Schubert $ sudo make install 22*b50261e2SCy Schubert 23*b50261e2SCy Schubert## CMake (General) 24*b50261e2SCy Schubert 25*b50261e2SCy Schubert 26*b50261e2SCy SchubertThe following Libevent specific CMake variables are as follows (the values being 27*b50261e2SCy Schubertthe default). 28*b50261e2SCy Schubert 29*b50261e2SCy Schubert``` 30*b50261e2SCy Schubert# Type of the library to build (SHARED or STATIC) 31*b50261e2SCy Schubert# Default is: SHARED for MSVC, otherwise BOTH 32*b50261e2SCy SchubertEVENT__LIBRARY_TYPE:STRING=DEFAULT 33*b50261e2SCy Schubert 34*b50261e2SCy Schubert# Installation directory for CMake files 35*b50261e2SCy SchubertEVENT_INSTALL_CMAKE_DIR:PATH=lib/cmake/libevent 36*b50261e2SCy Schubert 37*b50261e2SCy Schubert# Enable running gcov to get a test coverage report (only works with 38*b50261e2SCy Schubert# GCC/CLang). Make sure to enable -DCMAKE_BUILD_TYPE=Debug as well. 39*b50261e2SCy SchubertEVENT__COVERAGE:BOOL=OFF 40*b50261e2SCy Schubert 41*b50261e2SCy Schubert# Defines if Libevent should build without the benchmark executables 42*b50261e2SCy SchubertEVENT__DISABLE_BENCHMARK:BOOL=OFF 43*b50261e2SCy Schubert 44*b50261e2SCy Schubert# Define if Libevent should build without support for a debug mode 45*b50261e2SCy SchubertEVENT__DISABLE_DEBUG_MODE:BOOL=OFF 46*b50261e2SCy Schubert 47*b50261e2SCy Schubert# Define if Libevent should not allow replacing the mm functions 48*b50261e2SCy SchubertEVENT__DISABLE_MM_REPLACEMENT:BOOL=OFF 49*b50261e2SCy Schubert 50*b50261e2SCy Schubert# Define if Libevent should build without support for OpenSSL encryption 51*b50261e2SCy SchubertEVENT__DISABLE_OPENSSL:BOOL=OFF 52*b50261e2SCy Schubert 53*b50261e2SCy Schubert# Disable the regress tests 54*b50261e2SCy SchubertEVENT__DISABLE_REGRESS:BOOL=OFF 55*b50261e2SCy Schubert 56*b50261e2SCy Schubert# Disable sample files 57*b50261e2SCy SchubertEVENT__DISABLE_SAMPLES:BOOL=OFF 58*b50261e2SCy Schubert 59*b50261e2SCy Schubert# If tests should be compiled or not 60*b50261e2SCy SchubertEVENT__DISABLE_TESTS:BOOL=OFF 61*b50261e2SCy Schubert 62*b50261e2SCy Schubert# Define if Libevent should not be compiled with thread support 63*b50261e2SCy SchubertEVENT__DISABLE_THREAD_SUPPORT:BOOL=OFF 64*b50261e2SCy Schubert 65*b50261e2SCy Schubert# Enables verbose debugging 66*b50261e2SCy SchubertEVENT__ENABLE_VERBOSE_DEBUG:BOOL=OFF 67*b50261e2SCy Schubert 68*b50261e2SCy Schubert# When cross compiling, forces running a test program that verifies that Kqueue 69*b50261e2SCy Schubert# works with pipes. Note that this requires you to manually run the test program 70*b50261e2SCy Schubert# on the the cross compilation target to verify that it works. See CMake 71*b50261e2SCy Schubert# documentation for try_run for more details 72*b50261e2SCy SchubertEVENT__FORCE_KQUEUE_CHECK:BOOL=OFF 73*b50261e2SCy Schubert``` 74*b50261e2SCy Schubert 75*b50261e2SCy Schubert__More variables can be found by running `cmake -LAH <sourcedir_path>`__ 76*b50261e2SCy Schubert 77*b50261e2SCy Schubert 78*b50261e2SCy Schubert## CMake (Windows) 79*b50261e2SCy Schubert 80*b50261e2SCy SchubertInstall CMake: <https://www.cmake.org> 81*b50261e2SCy Schubert 82*b50261e2SCy Schubert 83*b50261e2SCy Schubert $ md build && cd build 84*b50261e2SCy Schubert $ cmake -G "Visual Studio 10" .. # Or whatever generator you want to use cmake --help for a list. 85*b50261e2SCy Schubert $ start libevent.sln 86*b50261e2SCy Schubert 87*b50261e2SCy Schubert## CMake (Unix) 88*b50261e2SCy Schubert 89*b50261e2SCy Schubert $ mkdir build && cd build 90*b50261e2SCy Schubert $ cmake .. # Default to Unix Makefiles. 91*b50261e2SCy Schubert $ make 92*b50261e2SCy Schubert $ make verify # (optional) 93*b50261e2SCy Schubert 94*b50261e2SCy Schubert 95*b50261e2SCy Schubert# 1. BUILDING AND INSTALLATION (In Depth) 96*b50261e2SCy Schubert 97*b50261e2SCy Schubert## Autoconf 98*b50261e2SCy Schubert 99*b50261e2SCy SchubertTo build Libevent, type 100*b50261e2SCy Schubert 101*b50261e2SCy Schubert $ ./configure && make 102*b50261e2SCy Schubert 103*b50261e2SCy Schubert 104*b50261e2SCy Schubert (If you got Libevent from the git repository, you will 105*b50261e2SCy Schubert first need to run the included "autogen.sh" script in order to 106*b50261e2SCy Schubert generate the configure script.) 107*b50261e2SCy Schubert 108*b50261e2SCy SchubertYou can run the regression tests by running 109*b50261e2SCy Schubert 110*b50261e2SCy Schubert $ make verify 111*b50261e2SCy Schubert 112*b50261e2SCy SchubertInstall as root via 113*b50261e2SCy Schubert 114*b50261e2SCy Schubert $ make install 115*b50261e2SCy Schubert 116*b50261e2SCy SchubertBefore reporting any problems, please run the regression tests. 117*b50261e2SCy Schubert 118*b50261e2SCy SchubertTo enable low-level tracing, build the library as: 119*b50261e2SCy Schubert 120*b50261e2SCy Schubert $ CFLAGS=-DUSE_DEBUG ./configure [...] 121*b50261e2SCy Schubert 122*b50261e2SCy SchubertStandard configure flags should work. In particular, see: 123*b50261e2SCy Schubert 124*b50261e2SCy Schubert --disable-shared Only build static libraries. 125*b50261e2SCy Schubert --prefix Install all files relative to this directory. 126*b50261e2SCy Schubert 127*b50261e2SCy Schubert 128*b50261e2SCy SchubertThe configure script also supports the following flags: 129*b50261e2SCy Schubert 130*b50261e2SCy Schubert --enable-gcc-warnings Enable extra compiler checking with GCC. 131*b50261e2SCy Schubert --disable-malloc-replacement 132*b50261e2SCy Schubert Don't let applications replace our memory 133*b50261e2SCy Schubert management functions. 134*b50261e2SCy Schubert --disable-openssl Disable support for OpenSSL encryption. 135*b50261e2SCy Schubert --disable-thread-support Don't support multithreaded environments. 136*b50261e2SCy Schubert 137*b50261e2SCy Schubert## CMake (Windows) 138*b50261e2SCy Schubert 139*b50261e2SCy Schubert(Note that autoconf is currently the most mature and supported build 140*b50261e2SCy Schubertenvironment for Libevent; the CMake instructions here are new and 141*b50261e2SCy Schubertexperimental, though they _should_ be solid. We hope that CMake will 142*b50261e2SCy Schubertstill be supported in future versions of Libevent, and will try to 143*b50261e2SCy Schubertmake sure that happens.) 144*b50261e2SCy Schubert 145*b50261e2SCy SchubertFirst of all install <https://www.cmake.org>. 146*b50261e2SCy Schubert 147*b50261e2SCy SchubertTo build Libevent using Microsoft Visual studio open the "Visual Studio Command prompt" and type: 148*b50261e2SCy Schubert 149*b50261e2SCy Schubert``` 150*b50261e2SCy Schubert$ cd <libevent source dir> 151*b50261e2SCy Schubert$ mkdir build && cd build 152*b50261e2SCy Schubert$ cmake -G "Visual Studio 10" .. # Or whatever generator you want to use cmake --help for a list. 153*b50261e2SCy Schubert$ start libevent.sln 154*b50261e2SCy Schubert``` 155*b50261e2SCy Schubert 156*b50261e2SCy SchubertIn the above, the ".." refers to the dir containing the Libevent source code. 157*b50261e2SCy SchubertYou can build multiple versions (with different compile time settings) from the same source tree 158*b50261e2SCy Schubertby creating other build directories. 159*b50261e2SCy Schubert 160*b50261e2SCy SchubertIt is highly recommended to build "out of source" when using 161*b50261e2SCy SchubertCMake instead of "in source" like the normal behaviour of autoconf for this reason. 162*b50261e2SCy Schubert 163*b50261e2SCy SchubertThe "NMake Makefiles" CMake generator can be used to build entirely via the command line. 164*b50261e2SCy Schubert 165*b50261e2SCy SchubertTo get a list of settings available for the project you can type: 166*b50261e2SCy Schubert 167*b50261e2SCy Schubert``` 168*b50261e2SCy Schubert$ cmake -LH .. 169*b50261e2SCy Schubert``` 170*b50261e2SCy Schubert 171*b50261e2SCy Schubert### GUI 172*b50261e2SCy Schubert 173*b50261e2SCy SchubertCMake also provides a GUI that lets you specify the source directory and output (binary) directory 174*b50261e2SCy Schubertthat the build should be placed in. 175*b50261e2SCy Schubert 176*b50261e2SCy Schubert# 2. USEFUL LINKS: 177*b50261e2SCy Schubert 178*b50261e2SCy SchubertFor the latest released version of Libevent, see the official website at 179*b50261e2SCy Schubert<http://libevent.org/> . 180*b50261e2SCy Schubert 181*b50261e2SCy SchubertThere's a pretty good work-in-progress manual up at 182*b50261e2SCy Schubert <http://www.wangafu.net/~nickm/libevent-book/> . 183*b50261e2SCy Schubert 184*b50261e2SCy SchubertFor the latest development versions of Libevent, access our Git repository 185*b50261e2SCy Schubertvia 186*b50261e2SCy Schubert 187*b50261e2SCy Schubert``` 188*b50261e2SCy Schubert$ git clone https://github.com/libevent/libevent.git 189*b50261e2SCy Schubert``` 190*b50261e2SCy Schubert 191*b50261e2SCy SchubertYou can browse the git repository online at: 192*b50261e2SCy Schubert 193*b50261e2SCy Schubert<https://github.com/libevent/libevent> 194*b50261e2SCy Schubert 195*b50261e2SCy SchubertTo report bugs, issues, or ask for new features: 196*b50261e2SCy Schubert 197*b50261e2SCy Schubert__Patches__: https://github.com/libevent/libevent/pulls 198*b50261e2SCy Schubert> OK, those are not really _patches_. You fork, modify, and hit the "Create Pull Request" button. 199*b50261e2SCy Schubert> You can still submit normal git patches via the mailing list. 200*b50261e2SCy Schubert 201*b50261e2SCy Schubert__Bugs, Features [RFC], and Issues__: https://github.com/libevent/libevent/issues 202*b50261e2SCy Schubert> Or you can do it via the mailing list. 203*b50261e2SCy Schubert 204*b50261e2SCy SchubertThere's also a libevent-users mailing list for talking about Libevent 205*b50261e2SCy Schubertuse and development: 206*b50261e2SCy Schubert 207*b50261e2SCy Schubert<http://archives.seul.org/libevent/users/> 208*b50261e2SCy Schubert 209*b50261e2SCy Schubert# 3. ACKNOWLEDGMENTS 210*b50261e2SCy Schubert 211*b50261e2SCy SchubertThe following people have helped with suggestions, ideas, code or 212*b50261e2SCy Schubertfixing bugs: 213*b50261e2SCy Schubert 214*b50261e2SCy Schubert * Samy Al Bahra 215*b50261e2SCy Schubert * Antony Antony 216*b50261e2SCy Schubert * Jacob Appelbaum 217*b50261e2SCy Schubert * Arno Bakker 218*b50261e2SCy Schubert * Weston Andros Adamson 219*b50261e2SCy Schubert * William Ahern 220*b50261e2SCy Schubert * Ivan Andropov 221*b50261e2SCy Schubert * Sergey Avseyev 222*b50261e2SCy Schubert * Avi Bab 223*b50261e2SCy Schubert * Joachim Bauch 224*b50261e2SCy Schubert * Andrey Belobrov 225*b50261e2SCy Schubert * Gilad Benjamini 226*b50261e2SCy Schubert * Stas Bekman 227*b50261e2SCy Schubert * Denis Bilenko 228*b50261e2SCy Schubert * Julien Blache 229*b50261e2SCy Schubert * Kevin Bowling 230*b50261e2SCy Schubert * Tomash Brechko 231*b50261e2SCy Schubert * Kelly Brock 232*b50261e2SCy Schubert * Ralph Castain 233*b50261e2SCy Schubert * Adrian Chadd 234*b50261e2SCy Schubert * Lawnstein Chan 235*b50261e2SCy Schubert * Shuo Chen 236*b50261e2SCy Schubert * Ka-Hing Cheung 237*b50261e2SCy Schubert * Andrew Cox 238*b50261e2SCy Schubert * Paul Croome 239*b50261e2SCy Schubert * George Danchev 240*b50261e2SCy Schubert * Andrew Danforth 241*b50261e2SCy Schubert * Ed Day 242*b50261e2SCy Schubert * Christopher Davis 243*b50261e2SCy Schubert * Mike Davis 244*b50261e2SCy Schubert * Frank Denis 245*b50261e2SCy Schubert * Antony Dovgal 246*b50261e2SCy Schubert * Mihai Draghicioiu 247*b50261e2SCy Schubert * Alexander Drozdov 248*b50261e2SCy Schubert * Mark Ellzey 249*b50261e2SCy Schubert * Shie Erlich 250*b50261e2SCy Schubert * Leonid Evdokimov 251*b50261e2SCy Schubert * Juan Pablo Fernandez 252*b50261e2SCy Schubert * Christophe Fillot 253*b50261e2SCy Schubert * Mike Frysinger 254*b50261e2SCy Schubert * Remi Gacogne 255*b50261e2SCy Schubert * Artem Germanov 256*b50261e2SCy Schubert * Alexander von Gernler 257*b50261e2SCy Schubert * Diego Giagio 258*b50261e2SCy Schubert * Artur Grabowski 259*b50261e2SCy Schubert * Diwaker Gupta 260*b50261e2SCy Schubert * Kuldeep Gupta 261*b50261e2SCy Schubert * Sebastian Hahn 262*b50261e2SCy Schubert * Dave Hart 263*b50261e2SCy Schubert * Greg Hazel 264*b50261e2SCy Schubert * Nicholas Heath 265*b50261e2SCy Schubert * Michael Herf 266*b50261e2SCy Schubert * Savg He 267*b50261e2SCy Schubert * Mark Heily 268*b50261e2SCy Schubert * Maxime Henrion 269*b50261e2SCy Schubert * Michael Herf 270*b50261e2SCy Schubert * Greg Hewgill 271*b50261e2SCy Schubert * Andrew Hochhaus 272*b50261e2SCy Schubert * Aaron Hopkins 273*b50261e2SCy Schubert * Tani Hosokawa 274*b50261e2SCy Schubert * Jamie Iles 275*b50261e2SCy Schubert * Xiuqiang Jiang 276*b50261e2SCy Schubert * Claudio Jeker 277*b50261e2SCy Schubert * Evan Jones 278*b50261e2SCy Schubert * Marcin Juszkiewicz 279*b50261e2SCy Schubert * George Kadianakis 280*b50261e2SCy Schubert * Makoto Kato 281*b50261e2SCy Schubert * Phua Keat 282*b50261e2SCy Schubert * Azat Khuzhin 283*b50261e2SCy Schubert * Alexander Klauer 284*b50261e2SCy Schubert * Kevin Ko 285*b50261e2SCy Schubert * Brian Koehmstedt 286*b50261e2SCy Schubert * Marko Kreen 287*b50261e2SCy Schubert * Ondřej Kuzník 288*b50261e2SCy Schubert * Valery Kyholodov 289*b50261e2SCy Schubert * Ross Lagerwall 290*b50261e2SCy Schubert * Scott Lamb 291*b50261e2SCy Schubert * Christopher Layne 292*b50261e2SCy Schubert * Adam Langley 293*b50261e2SCy Schubert * Graham Leggett 294*b50261e2SCy Schubert * Volker Lendecke 295*b50261e2SCy Schubert * Philip Lewis 296*b50261e2SCy Schubert * Zhou Li 297*b50261e2SCy Schubert * David Libenzi 298*b50261e2SCy Schubert * Yan Lin 299*b50261e2SCy Schubert * Moshe Litvin 300*b50261e2SCy Schubert * Simon Liu 301*b50261e2SCy Schubert * Mitchell Livingston 302*b50261e2SCy Schubert * Hagne Mahre 303*b50261e2SCy Schubert * Lubomir Marinov 304*b50261e2SCy Schubert * Abilio Marques 305*b50261e2SCy Schubert * Nicolas Martyanoff 306*b50261e2SCy Schubert * Abel Mathew 307*b50261e2SCy Schubert * Nick Mathewson 308*b50261e2SCy Schubert * James Mansion 309*b50261e2SCy Schubert * Nicholas Marriott 310*b50261e2SCy Schubert * Andrey Matveev 311*b50261e2SCy Schubert * Caitlin Mercer 312*b50261e2SCy Schubert * Dagobert Michelsen 313*b50261e2SCy Schubert * Andrea Montefusco 314*b50261e2SCy Schubert * Mansour Moufid 315*b50261e2SCy Schubert * Mina Naguib 316*b50261e2SCy Schubert * Felix Nawothnig 317*b50261e2SCy Schubert * Trond Norbye 318*b50261e2SCy Schubert * Linus Nordberg 319*b50261e2SCy Schubert * Richard Nyberg 320*b50261e2SCy Schubert * Jon Oberheide 321*b50261e2SCy Schubert * John Ohl 322*b50261e2SCy Schubert * Phil Oleson 323*b50261e2SCy Schubert * Alexey Ozeritsky 324*b50261e2SCy Schubert * Dave Pacheco 325*b50261e2SCy Schubert * Derrick Pallas 326*b50261e2SCy Schubert * Tassilo von Parseval 327*b50261e2SCy Schubert * Catalin Patulea 328*b50261e2SCy Schubert * Patrick Pelletier 329*b50261e2SCy Schubert * Simon Perreault 330*b50261e2SCy Schubert * Dan Petro 331*b50261e2SCy Schubert * Pierre Phaneuf 332*b50261e2SCy Schubert * Amarin Phaosawasdi 333*b50261e2SCy Schubert * Ryan Phillips 334*b50261e2SCy Schubert * Dimitre Piskyulev 335*b50261e2SCy Schubert * Pavel Plesov 336*b50261e2SCy Schubert * Jon Poland 337*b50261e2SCy Schubert * Roman Puls 338*b50261e2SCy Schubert * Nate R 339*b50261e2SCy Schubert * Robert Ransom 340*b50261e2SCy Schubert * Balint Reczey 341*b50261e2SCy Schubert * Bert JW Regeer 342*b50261e2SCy Schubert * Nate Rosenblum 343*b50261e2SCy Schubert * Peter Rosin 344*b50261e2SCy Schubert * Maseeb Abdul Qadir 345*b50261e2SCy Schubert * Wang Qin 346*b50261e2SCy Schubert * Alex S 347*b50261e2SCy Schubert * Gyepi Sam 348*b50261e2SCy Schubert * Hanna Schroeter 349*b50261e2SCy Schubert * Ralf Schmitt 350*b50261e2SCy Schubert * Mike Smellie 351*b50261e2SCy Schubert * Steve Snyder 352*b50261e2SCy Schubert * Nir Soffer 353*b50261e2SCy Schubert * Dug Song 354*b50261e2SCy Schubert * Dongsheng Song 355*b50261e2SCy Schubert * Hannes Sowa 356*b50261e2SCy Schubert * Joakim Soderberg 357*b50261e2SCy Schubert * Joseph Spadavecchia 358*b50261e2SCy Schubert * Kevin Springborn 359*b50261e2SCy Schubert * Harlan Stenn 360*b50261e2SCy Schubert * Andrew Sweeney 361*b50261e2SCy Schubert * Ferenc Szalai 362*b50261e2SCy Schubert * Brodie Thiesfield 363*b50261e2SCy Schubert * Jason Toffaletti 364*b50261e2SCy Schubert * Brian Utterback 365*b50261e2SCy Schubert * Gisle Vanem 366*b50261e2SCy Schubert * Bas Verhoeven 367*b50261e2SCy Schubert * Constantine Verutin 368*b50261e2SCy Schubert * Colin Watt 369*b50261e2SCy Schubert * Zack Weinberg 370*b50261e2SCy Schubert * Jardel Weyrich 371*b50261e2SCy Schubert * Jay R. Wren 372*b50261e2SCy Schubert * Zack Weinberg 373*b50261e2SCy Schubert * Mobai Zhang 374*b50261e2SCy Schubert * Alejo 375*b50261e2SCy Schubert * Alex 376*b50261e2SCy Schubert * Taral 377*b50261e2SCy Schubert * propanbutan 378*b50261e2SCy Schubert * masksqwe 379*b50261e2SCy Schubert * mmadia 380*b50261e2SCy Schubert * yangacer 381*b50261e2SCy Schubert * Andrey Skriabin 382*b50261e2SCy Schubert * basavesh.as 383*b50261e2SCy Schubert * billsegall 384*b50261e2SCy Schubert * Bill Vaughan 385*b50261e2SCy Schubert * Christopher Wiley 386*b50261e2SCy Schubert * David Paschich 387*b50261e2SCy Schubert * Ed Schouten 388*b50261e2SCy Schubert * Eduardo Panisset 389*b50261e2SCy Schubert * Jan Heylen 390*b50261e2SCy Schubert * jer-gentoo 391*b50261e2SCy Schubert * Joakim Söderberg 392*b50261e2SCy Schubert * kirillDanshin 393*b50261e2SCy Schubert * lzmths 394*b50261e2SCy Schubert * Marcus Sundberg 395*b50261e2SCy Schubert * Mark Mentovai 396*b50261e2SCy Schubert * Mattes D 397*b50261e2SCy Schubert * Matyas Dolak 398*b50261e2SCy Schubert * Neeraj Badlani 399*b50261e2SCy Schubert * Nick Mathewson 400*b50261e2SCy Schubert * Rainer Keller 401*b50261e2SCy Schubert * Seungmo Koo 402*b50261e2SCy Schubert * Thomas Bernard 403*b50261e2SCy Schubert * Xiao Bao Clark 404*b50261e2SCy Schubert * zeliard 405*b50261e2SCy Schubert * Zonr Chang 406*b50261e2SCy Schubert * Kurt Roeckx 407*b50261e2SCy Schubert * Seven 408*b50261e2SCy Schubert * Simone Basso 409*b50261e2SCy Schubert * Vlad Shcherban 410*b50261e2SCy Schubert * Tim Hentenaar 411*b50261e2SCy Schubert * Breaker 412*b50261e2SCy Schubert * johnsonlee 413*b50261e2SCy Schubert * Philip Prindeville 414*b50261e2SCy Schubert * Vis Virial 415*b50261e2SCy Schubert * Andreas Gustafsson 416*b50261e2SCy Schubert * Andrey Okoshkin 417*b50261e2SCy Schubert * an-tao 418*b50261e2SCy Schubert * baixiangcpp 419*b50261e2SCy Schubert * Bernard Spil 420*b50261e2SCy Schubert * Bogdan Harjoc 421*b50261e2SCy Schubert * Carlo Marcelo Arenas Belón 422*b50261e2SCy Schubert * David Benjamin 423*b50261e2SCy Schubert * David Disseldorp 424*b50261e2SCy Schubert * Dmitry Alimov 425*b50261e2SCy Schubert * Dominic Chen 426*b50261e2SCy Schubert * dpayne 427*b50261e2SCy Schubert * ejurgensen 428*b50261e2SCy Schubert * Fredrik Strupe 429*b50261e2SCy Schubert * Gonçalo Ribeiro 430*b50261e2SCy Schubert * James Synge 431*b50261e2SCy Schubert * Jan Beich 432*b50261e2SCy Schubert * Jesse Fang 433*b50261e2SCy Schubert * Jiri Luznicky 434*b50261e2SCy Schubert * José Luis Millán 435*b50261e2SCy Schubert * Kiyoshi Aman 436*b50261e2SCy Schubert * Leo Zhang 437*b50261e2SCy Schubert * lightningkay 438*b50261e2SCy Schubert * Luke Dashjr 439*b50261e2SCy Schubert * Marcin Szewczyk 440*b50261e2SCy Schubert * Maximilian Brunner 441*b50261e2SCy Schubert * Maya Rashish 442*b50261e2SCy Schubert * Murat Demirten 443*b50261e2SCy Schubert * Nathan French 444*b50261e2SCy Schubert * Nikolay Edigaryev 445*b50261e2SCy Schubert * Philip Herron 446*b50261e2SCy Schubert * Redfoxmoon 447*b50261e2SCy Schubert * stenn 448*b50261e2SCy Schubert * SuckShit 449*b50261e2SCy Schubert * The Gitter Badger 450*b50261e2SCy Schubert * tim-le 451*b50261e2SCy Schubert * Vincent JARDIN 452*b50261e2SCy Schubert * Xiang Zhang 453*b50261e2SCy Schubert * Xiaozhou Liu 454*b50261e2SCy Schubert * yongqing.jiao 455*b50261e2SCy Schubert * Enji Cooper 456*b50261e2SCy Schubert * linxiaohui 457*b50261e2SCy Schubert * Seong-Joong Kim 458*b50261e2SCy Schubert * Tobias Stoeckmann 459*b50261e2SCy Schubert * Yury Korzhetsky 460*b50261e2SCy Schubert * zhuizhuhaomeng 461*b50261e2SCy Schubert * Pierce Lopez 462*b50261e2SCy Schubert * yuangongji 463*b50261e2SCy Schubert * Keith Smiley 464*b50261e2SCy Schubert * jeremyerb 465*b50261e2SCy Schubert * Fabrice Fontaine 466*b50261e2SCy Schubert * wenyg 467*b50261e2SCy Schubert * Aleksandr-Melnikov 468*b50261e2SCy Schubert * ayuseleznev 469*b50261e2SCy Schubert * chenguolong 470*b50261e2SCy Schubert * Dimo Markov 471*b50261e2SCy Schubert * dota17 472*b50261e2SCy Schubert * fanquake 473*b50261e2SCy Schubert * Jan Kasiak 474*b50261e2SCy Schubert * Kamil Rytarowski 475*b50261e2SCy Schubert * Mario Emmenlauer 476*b50261e2SCy Schubert * Michael Davidsaver 477*b50261e2SCy Schubert * mohuang 478*b50261e2SCy Schubert * Nick Grifka 479*b50261e2SCy Schubert * Nicolas J. Bouliane 480*b50261e2SCy Schubert * Paul Osborne 481*b50261e2SCy Schubert * Philip Homburg 482*b50261e2SCy Schubert * Wataru Ashihara 483*b50261e2SCy Schubert * William A Rowe Jr 484*b50261e2SCy Schubert * yangyongsheng 485*b50261e2SCy Schubert 486*b50261e2SCy Schubert 487*b50261e2SCy SchubertIf we have forgotten your name, please contact us. 488