From 8a4219303aa535866507c068452e81a2cd0c2d52 Mon Sep 17 00:00:00 2001 From: RunasSudo Date: Thu, 5 Aug 2021 21:37:06 +1000 Subject: [PATCH] Implement Minneapolis STV --- docs/options.md | 3 +- docs/validation.md | 1 + html/index.html | 1 + html/index.js | 24 + tests/data/Mppls-2009-BOE-full.blt | 1041 ++++++++++++++++++++++++++++ tests/data/Mppls-2009-BOE-full.csv | 479 +++++++++++++ tests/data/Mppls-2009-BOE-full.ods | Bin 0 -> 28111 bytes tests/minneapolis.rs | 35 + 8 files changed, 1583 insertions(+), 1 deletion(-) create mode 100644 tests/data/Mppls-2009-BOE-full.blt create mode 100644 tests/data/Mppls-2009-BOE-full.csv create mode 100644 tests/data/Mppls-2009-BOE-full.ods create mode 100644 tests/minneapolis.rs diff --git a/docs/options.md b/docs/options.md index 7cffdc1..4ee1bd0 100644 --- a/docs/options.md +++ b/docs/options.md @@ -15,7 +15,8 @@ The preset dropdown allows you to choose from a hardcoded list of preloaded STV | Australian Senate STV | Rules from the [*Commonwealth Electoral Act 1918*](https://www.legislation.gov.au/Details/C2020C00400/Html/Text#_Toc59107700), using the unweighted inclusive Gregory method. | [E2] [E3] [E4] | ✓ | | Western Australia STV | Rules from the [*Electoral Act 1907* (WA)](https://www.legislation.wa.gov.au/legislation/prod/filestore.nsf/FileURL/mrdoc_29498.pdf/$FILE/Electoral%20Act%201907%20-%20[17-a0-06].pdf), using the weighted inclusive Gregory method. | [E2] [E3] | | | Australian Capital Territory STV | Rules from the [*Electoral Act 1992* (ACT)](https://www.legislation.act.gov.au/View/a/1992-71/current/PDF/1992-71.PDF), using the exclusive Gregory method. | | ✓ | -| Cambridge STV | Rules in force in Cambridge, Massachusetts. These rules are derived from the [former chapter 54A of the Massachusetts General Laws](https://www.cambridgema.gov/-/media/Files/electioncommission/massachusettsgenerallawschapter54a.pdf), but have by regulation been modified to incorporate the procedures set out in Article IX of the former [1938 Charter of the City of Cincinnati](https://catalog.hathitrust.org/Record/001754258). See also [here](https://web.archive.org/web/20081118104049/http://www.fairvote.org/media/1993countmanual.pdf). | | ✓ | +| Minneapolis STV | Rules from chapter 167 of the [*Minneapolis Code of Ordinances*](https://library.municode.com/mn/minneapolis/codes/code_of_ordinances?nodeId=COOR_TIT8.5EL_CH167MUELRUCO), using the weighted inclusive Gregory method. | | ✓ | +| Cambridge STV | Rules in force in Cambridge, Massachusetts, using random sample transfers. These rules are derived from the [former chapter 54A of the Massachusetts General Laws](https://www.cambridgema.gov/-/media/Files/electioncommission/massachusettsgenerallawschapter54a.pdf), but have by regulation been modified to incorporate the procedures set out in Article IX of the former [1938 Charter of the City of Cincinnati](https://catalog.hathitrust.org/Record/001754258). See also [here](https://web.archive.org/web/20081118104049/http://www.fairvote.org/media/1993countmanual.pdf). | | ✓ | | [Wright STV](https://www.aph.gov.au/Parliamentary_Business/Committees/House_of_Representatives_Committees?url=em/elect07/subs/sub051.1.pdf) | Rules proposed by Anthony van der Craats designed for computer counting, involving reset and re-iteration of the count after each candidate exclusion. | | ✓ | | [PRSA 1977](https://www.prsa.org.au/rule1977.htm) | Simple rules designed for hand counting, using the exclusive Gregory method, with counting performed in thousandths of a vote. | | ✓ | | [ERS97](https://www.electoral-reform.org.uk/latest-news-and-research/publications/how-to-conduct-an-election-by-the-single-transferable-vote-3rd-edition/) | More complex rules designed for hand counting, using the exclusive Gregory method. | | ✓ | diff --git a/docs/validation.md b/docs/validation.md index e558b99..95b5d05 100644 --- a/docs/validation.md +++ b/docs/validation.md @@ -11,6 +11,7 @@ STV-counting software is frequently validated empirically by comparing the resul | Australian Senate STV | [2019 Tasmanian Senate election](https://results.aec.gov.au/24310/Website/SenateDownloadsMenu-24310-Csv.htm) | EasyCount (official) | ✓ | | Australian Senate STV | [2019 NSW Senate election](https://results.aec.gov.au/24310/Website/SenateDownloadsMenu-24310-Csv.htm) | EasyCount (official) | | | Australian Capital Territory STV | [2020 Kurrajong Legislative Assembly election](https://www.elections.act.gov.au/elections_and_voting/2020_legislative_assembly_election/ballot-paper-preference-data-2020-election) | [eVACS 2020](https://www.elections.act.gov.au/elections_and_voting/electronic_voting_and_counting) (official) | ✓ | +| Minneapolis STV | [2009 Minneapolis Board of Estimate and Taxation election](https://vote.minneapolismn.gov/results-data/election-results/2009/bet/) | Results sheet (official) | ✓ | | Cambridge STV | [2003 Cambridge City Council election](https://web.archive.org/web/20070204083508/http://stv.sourceforge.net/) | OpenSTV 1.7, [ChoicePlus Pro 2.1](https://www.votingsolutions.com/cpdetail.htm) (official) | ✓ | | Wright STV | [EVE Online CSM 15 election](https://www.eveonline.com/news/view/meet-the-new-council) | [ccp-wright-stv](https://github.com/ccpgames/ccp-wright-stv) (official) | ✓ | | PRSA 1977 | [*Proportional Representation Manual*](https://www.prsa.org.au/publicat.htm#p2) [example 1](https://www.prsa.org.au/utopiatc.pdf) | [Model result](https://www.prsa.org.au/example1.pdf) (official) | ✓ | diff --git a/html/index.html b/html/index.html index f6ca130..7e9a3d2 100644 --- a/html/index.html +++ b/html/index.html @@ -45,6 +45,7 @@ + diff --git a/html/index.js b/html/index.js index b26e62c..2b63179 100644 --- a/html/index.js +++ b/html/index.js @@ -560,6 +560,30 @@ function changePreset() { document.getElementById('selPapers').value = 'transferable'; document.getElementById('selExclusion').value = 'by_value'; document.getElementById('selTies').value = 'backwards,random'; + } else if (document.getElementById('selPreset').value === 'minneapolis') { + document.getElementById('selQuotaCriterion').value = 'geq'; + document.getElementById('selQuota').value = 'droop'; + document.getElementById('selQuotaMode').value = 'static'; + document.getElementById('chkBulkElection').checked = true; + document.getElementById('chkBulkExclusion').checked = true; + document.getElementById('chkDeferSurpluses').checked = false; + document.getElementById('txtMinThreshold').value = '0'; + document.getElementById('selNumbers').value = 'fixed'; + document.getElementById('txtDP').value = '4'; + document.getElementById('txtPPDP').value = '4'; + document.getElementById('chkNormaliseBallots').checked = false; + document.getElementById('chkRoundQuota').checked = true; + document.getElementById('txtRoundQuota').value = '0'; + document.getElementById('chkRoundVotes').checked = false; + document.getElementById('chkRoundSFs').checked = true; + document.getElementById('txtRoundSFs').value = '4'; + document.getElementById('chkRoundValues').checked = false; + document.getElementById('selSumTransfers').value = 'single_step'; + document.getElementById('selSurplus').value = 'by_size'; + document.getElementById('selMethod').value = 'wig'; + document.getElementById('selPapers').value = 'both'; + document.getElementById('selExclusion').value = 'single_stage'; + document.getElementById('selTies').value = 'backwards,random'; } else if (document.getElementById('selPreset').value === 'cambridge') { document.getElementById('selQuotaCriterion').value = 'geq'; document.getElementById('selQuota').value = 'droop'; diff --git a/tests/data/Mppls-2009-BOE-full.blt b/tests/data/Mppls-2009-BOE-full.blt new file mode 100644 index 0000000..01908dc --- /dev/null +++ b/tests/data/Mppls-2009-BOE-full.blt @@ -0,0 +1,1041 @@ +# Comment: 2009 Minneapolis Board of Estimate and Taxation election - all votes - Minneapolis STV +# Comment: Official results and ballots at https://vote.minneapolismn.gov/results-data/election-results/2009/bet/ +# Source: Jeff O'Neill at https://web.archive.org/web/20130513161706/http://www.openstv.org/ballots +# Contributor: RunasSudo +477 2 +1 8 0 +1 9 404 42 0 +1 17 0 +1 12 0 +1 16 333 367 0 +1 21 0 +1 23 0 +1 27 385 53 0 +1 28 0 +1 29 0 +1 32 428 415 0 +1 1 25 3 0 +1 1 34 271 0 +1 1 37 282 0 +1 1 40 0 +1 1 73 0 +1 1 76 190 0 +1 1 88 0 +1 1 98 4 0 +1 1 106 0 +1 1 118 0 +1 1 125 431 0 +1 1 127 0 +1 1 164 0 +1 1 183 292 0 +1 1 184 60 0 +1 1 209 476 0 +1 1 212 0 +1 1 225 377 0 +1 1 226 0 +1 1 228 0 +1 1 231 84 0 +1 1 259 201 0 +1 1 266 274 0 +1 1 2 61 0 +1 1 2 99 0 +1 1 2 216 0 +1 1 2 238 0 +1 1 2 331 0 +1 1 2 389 0 +100 1 2 3 0 +193 1 2 4 0 +259 1 2 5 0 +136 1 2 6 0 +257 1 2 0 +1 1 269 0 +1 1 276 0 +1 1 277 6 0 +1 1 279 19 0 +1 1 289 4 0 +1 1 311 0 +1 1 329 0 +1 1 335 0 +1 1 360 0 +1 1 368 242 0 +1 1 374 0 +2 1 378 0 +1 1 379 6 0 +1 1 388 5 0 +1 1 394 0 +1 1 396 0 +1 1 401 295 0 +1 1 405 0 +1 1 410 0 +1 1 3 122 0 +1 1 3 182 0 +71 1 3 2 0 +73 1 3 4 0 +172 1 3 5 0 +93 1 3 6 0 +104 1 3 0 +1 1 4 18 0 +1 1 4 140 0 +1 1 4 193 0 +1 1 4 207 0 +1 1 4 222 0 +179 1 4 2 0 +1 1 4 285 0 +1 1 4 291 0 +1 1 4 309 0 +1 1 4 317 0 +1 1 4 337 0 +1 1 4 350 0 +1 1 4 400 0 +1 1 4 416 0 +144 1 4 3 0 +1 1 4 455 0 +524 1 4 5 0 +549 1 4 6 0 +1110 1 4 0 +1 1 459 312 0 +1 1 460 0 +1 1 462 234 0 +1 1 5 17 0 +1 1 5 31 0 +1 1 5 132 0 +1 1 5 165 0 +1 1 5 196 0 +1 1 5 236 0 +1 1 5 306 0 +487 1 5 2 0 +1 1 5 293 0 +1 1 5 349 0 +1 1 5 400 0 +1 1 5 408 0 +1 1 5 420 0 +173 1 5 3 0 +587 1 5 4 0 +11 1 5 5 0 +626 1 5 6 0 +1246 1 5 0 +1 1 6 64 0 +1 1 6 67 0 +1 1 6 90 0 +1 1 6 111 0 +1 1 6 137 0 +1 1 6 162 0 +1 1 6 168 0 +1 1 6 171 0 +1 1 6 246 0 +1 1 6 247 0 +132 1 6 2 0 +99 1 6 3 0 +305 1 6 4 0 +456 1 6 5 0 +1 1 6 467 0 +598 1 6 0 +7953 1 0 +1 35 5 2 0 +1 44 0 +1 45 3 1 0 +1 46 38 0 +1 49 0 +1 50 5 1 0 +1 51 0 +1 57 2 0 +1 58 5 0 +1 62 0 +1 63 0 +1 65 0 +1 68 0 +1 72 0 +1 70 358 0 +1 77 1 5 0 +1 79 0 +1 80 0 +1 85 92 390 0 +1 86 0 +1 87 0 +1 93 0 +1 94 303 398 0 +1 95 0 +1 96 0 +1 101 230 172 0 +1 102 0 +1 103 0 +1 104 0 +1 108 0 +1 109 0 +1 110 0 +1 112 0 +1 115 474 69 0 +1 117 0 +1 114 6 477 0 +2 114 0 +1 113 0 +1 119 0 +1 121 0 +2 123 0 +1 124 457 0 +1 126 0 +1 128 91 473 0 +1 129 0 +1 130 0 +1 133 0 +1 134 258 18 0 +1 139 0 +1 141 0 +1 142 0 +1 144 0 +1 146 0 +1 147 0 +1 148 0 +1 149 136 305 0 +2 150 0 +1 151 0 +1 153 227 411 0 +1 154 373 24 0 +1 155 6 2 0 +1 157 0 +1 160 22 1 0 +1 161 0 +1 163 156 386 0 +1 166 0 +1 169 0 +1 170 0 +1 173 275 192 0 +1 174 0 +1 175 0 +1 176 0 +1 177 0 +1 178 78 30 0 +1 179 382 444 0 +1 181 0 +1 185 0 +1 187 0 +1 188 0 +1 195 0 +1 197 0 +1 200 0 +1 202 0 +1 210 0 +1 206 54 0 +1 206 0 +1 207 1 0 +2 207 0 +1 214 0 +1 215 0 +1 217 450 0 +1 219 0 +1 220 0 +1 221 5 6 0 +1 223 0 +1 224 0 +1 232 0 +1 235 0 +1 237 0 +1 243 0 +1 245 0 +1 244 0 +1 248 0 +1 249 1 2 0 +1 251 0 +1 252 0 +1 253 0 +1 255 451 208 0 +1 256 0 +1 257 287 267 0 +1 258 1 6 0 +1 258 461 352 0 +2 258 0 +1 261 0 +1 262 0 +1 2 10 97 0 +1 2 26 0 +1 2 1 43 0 +1 2 1 290 0 +32 2 1 3 0 +54 2 1 4 0 +101 2 1 5 0 +65 2 1 6 0 +124 2 1 0 +1 2 36 0 +1 2 55 0 +1 2 71 5 0 +1 2 198 315 0 +1 2 203 273 0 +1 2 240 6 0 +1 2 258 5 0 +1 2 263 0 +1 2 268 402 0 +1 2 334 288 0 +1 2 359 435 0 +1 2 366 0 +1 2 384 432 0 +28 2 3 1 0 +1 2 3 41 0 +1 2 3 369 0 +24 2 3 4 0 +28 2 3 5 0 +24 2 3 6 0 +53 2 3 0 +46 2 4 1 0 +1 2 4 145 0 +25 2 4 3 0 +25 2 4 5 0 +9 2 4 6 0 +38 2 4 0 +84 2 5 1 0 +1 2 5 283 0 +1 2 5 313 0 +41 2 5 3 0 +25 2 5 4 0 +1 2 5 464 0 +43 2 5 6 0 +175 2 5 0 +43 2 6 1 0 +22 2 6 3 0 +52 2 6 4 0 +30 2 6 5 0 +59 2 6 0 +1505 2 0 +1 270 0 +1 278 0 +1 280 0 +1 281 0 +1 286 0 +1 294 1 0 +1 295 0 +2 296 0 +1 299 0 +1 300 0 +1 301 414 0 +1 302 1 4 0 +1 304 295 0 +1 307 0 +1 308 0 +1 309 0 +1 310 3 1 0 +1 314 0 +1 316 0 +1 318 0 +1 319 0 +1 327 0 +1 320 0 +2 322 0 +3 324 0 +1 323 0 +1 328 0 +1 330 0 +1 332 0 +1 338 159 339 0 +1 340 0 +1 341 0 +1 342 0 +1 343 0 +1 344 0 +1 345 0 +1 347 0 +1 348 0 +1 351 0 +1 353 0 +1 354 0 +1 356 429 265 0 +1 355 0 +1 357 0 +1 361 0 +1 362 0 +1 365 0 +1 370 0 +1 375 0 +1 376 0 +1 381 4 5 0 +1 387 0 +1 392 0 +1 393 33 138 0 +1 395 0 +2 400 0 +1 403 0 +1 406 0 +1 407 0 +1 409 260 3 0 +1 412 0 +1 413 0 +1 417 0 +1 418 1 2 0 +1 419 6 1 0 +1 422 433 194 0 +1 423 391 272 0 +1 424 0 +1 425 0 +1 426 0 +1 427 4 5 0 +1 430 0 +14 3 1 2 0 +1 3 1 371 0 +23 3 1 4 0 +35 3 1 5 0 +44 3 1 6 0 +32 3 1 0 +18 3 2 1 0 +1 3 2 83 0 +18 3 2 4 0 +22 3 2 5 0 +21 3 2 6 0 +30 3 2 0 +21 3 4 1 0 +1 3 4 75 0 +13 3 4 2 0 +1 3 4 298 0 +1 3 4 324 0 +10 3 4 5 0 +14 3 4 6 0 +18 3 4 0 +1 3 5 11 0 +33 3 5 1 0 +41 3 5 2 0 +15 3 5 4 0 +1 3 5 5 0 +29 3 5 6 0 +28 3 5 0 +41 3 6 1 0 +15 3 6 2 0 +24 3 6 4 0 +19 3 6 5 0 +1 3 6 470 0 +21 3 6 0 +1 3 6 475 0 +367 3 0 +1 436 0 +1 437 0 +1 439 0 +1 440 0 +1 441 1 6 0 +1 443 0 +1 445 0 +1 447 0 +1 449 0 +1 452 1 4 0 +1 454 0 +1 456 0 +1 4 1 47 0 +1 4 1 48 0 +1 4 1 82 0 +1 4 1 89 0 +1 4 1 107 0 +1 4 1 135 0 +1 4 1 258 0 +74 4 1 2 0 +79 4 1 3 0 +184 4 1 5 0 +131 4 1 6 0 +339 4 1 0 +1 4 82 120 0 +1 4 186 0 +36 4 2 1 0 +22 4 2 3 0 +20 4 2 5 0 +16 4 2 6 0 +21 4 2 0 +1 4 325 15 0 +33 4 3 1 0 +30 4 3 2 0 +24 4 3 5 0 +13 4 3 6 0 +14 4 3 0 +1 4 442 336 0 +95 4 5 1 0 +39 4 5 2 0 +1 4 5 326 0 +17 4 5 3 0 +1 4 5 448 0 +49 4 5 6 0 +70 4 5 0 +58 4 6 1 0 +21 4 6 2 0 +1 4 6 284 0 +12 4 6 3 0 +33 4 6 5 0 +35 4 6 0 +844 4 0 +1 458 0 +1 5 13 204 0 +1 5 1 7 0 +1 5 1 14 0 +1 5 1 39 0 +1 5 1 52 0 +1 5 1 66 0 +1 5 1 131 0 +1 5 1 152 0 +1 5 1 189 0 +1 5 1 213 0 +1 5 1 233 0 +202 5 1 2 0 +1 5 1 335 0 +1 5 1 399 0 +94 5 1 3 0 +281 5 1 4 0 +1 5 1 5 0 +350 5 1 6 0 +823 5 1 0 +1 5 199 0 +1 5 211 0 +1 5 258 0 +229 5 2 1 0 +1 5 2 105 0 +1 5 2 116 0 +37 5 2 3 0 +1 5 2 438 0 +53 5 2 4 0 +129 5 2 6 0 +736 5 2 0 +1 5 321 434 0 +1 5 355 346 0 +1 5 364 0 +1 5 372 1 0 +1 5 383 0 +1 5 397 471 0 +1 5 400 0 +37 5 3 1 0 +33 5 3 2 0 +26 5 3 4 0 +1 5 3 5 0 +35 5 3 6 0 +32 5 3 0 +1 5 446 241 0 +129 5 4 1 0 +1 5 4 74 0 +1 5 4 180 0 +48 5 4 2 0 +24 5 4 3 0 +54 5 4 6 0 +73 5 4 0 +196 5 6 1 0 +1 5 6 229 0 +67 5 6 2 0 +63 5 6 3 0 +65 5 6 4 0 +147 5 6 0 +2112 5 0 +1 466 167 465 0 +1 6 20 100 0 +1 6 1 143 0 +1 6 1 258 0 +75 6 1 2 0 +63 6 1 3 0 +118 6 1 4 0 +263 6 1 5 0 +339 6 1 0 +1 6 56 5 0 +1 6 59 297 0 +1 6 191 0 +1 6 205 264 0 +1 6 218 1 0 +1 6 250 0 +31 6 2 1 0 +17 6 2 3 0 +13 6 2 4 0 +44 6 2 5 0 +25 6 2 0 +1 6 295 81 0 +1 6 363 453 0 +1 6 380 254 0 +1 6 421 158 0 +19 6 3 1 0 +15 6 3 2 0 +14 6 3 4 0 +24 6 3 5 0 +23 6 3 0 +94 6 4 1 0 +1 6 4 239 0 +20 6 4 2 0 +1 6 4 408 0 +28 6 4 3 0 +37 6 4 5 0 +45 6 4 0 +1 6 463 1 0 +136 6 5 1 0 +49 6 5 2 0 +36 6 5 3 0 +48 6 5 4 0 +99 6 5 0 +1259 6 0 +1 468 0 +1 469 0 +1 472 0 +13882 0 +0 +"Carol Becker" +"R. Michael Martens" +"James Elliot Swartwood" +"DeWayne Townsend" +"David Wheeler" +"Phil Wilkie" +"A. M. RAHAMAN" +"AARON JANSON" +"ABOLISH THIS BOARD" +"ADAM J. WEIGOLD" +"ADRIAN ROTH" +"ALAN THIEL" +"ALE ANDER MATOOSHIK" +"ALE EATON" +"ALISTER CROWLEY" +"ALLEN BREWER" +"AL FLOWERS" +"AL FRANKEN" +"ANIE URBAN" +"ANITA BONGHT" +"ANN HAUEEJORDE" +"ANN SCHWARZ" +"ANTHONY THOMPSON" +"ANTHONY WINKELS" +"ANTHONY WOCELLO" +"ART CLARK" +"B. BOOTH" +"BARACK OBAMA" +"BARBARA ATLAS" +"BARB DAVIS WHITE" +"BARRY MANOFF" +"BATMAN" +"BENNY HILL" +"BEN JOHNSON" +"BERNIE MADOFF" +"BETSY AKERSON" +"BILL HELGESON" +"BILL SMITH" +"BLAKE JOHNSON" +"BOB ERICKSON" +"BOB FINE" +"BOB HULTEEN" +"BOB HUSS" +"BOB NOBLE" +"BOB SMITH" +"BOB WARER" +"BRENNA BUSSE" +"BRETT FARVE " +"BRETT FAVRE" +"BRIAN STROCK" +"BUGS BUNNY" +"BUTILKA" +"C. CARSON" +"CARL OLSON" +"CAROLYN VAN NELSON" +"CAROL CLARK" +"CAROL NELSON" +"CAROL PASS" +"CARRIE FELDMAN" +"CATHERINE LUCAS" +"CATHERINE PETERS" +"CATHERINE SCHACK" +"CHAD HENDRI " +"CHAD SNYDER" +"CHARLES CARUSO" +"CHARLES VANEK" +"CHARLIE FRAWLEY" +"CHLOE LARSON" +"CHRISTINA YEATER" +"CHRISTOPHER POUL" +"CHRIST PETERSEN" +"CHRIS LIZAMA" +"CHRIS PETROSKAS" +"CHRIS SOLER" +"CJ CAMP" +"CLARE RITTON" +"CLAY LAMBERT" +"CLINTON SCHROEDER JR." +"COLIN BLACK" +"CONSERVATIVE" +"COW " +"CYNTHIA HENDRICKS" +"D. GAY MOLDOA" +"D. JOSEPH CORBIN" +"DALE T NELSON" +"DAMON WARD" +"DANIEL LOMBARD" +"DANIEL SMITH" +"DAN DITTMAN" +"DAN O'BRIEN" +"DAN RENK" +"DAREK ANDERSON" +"DARRELL WASHINGTON" +"DARREN BYRNESY" +"DARTH VADER" +"DAVE SHEGSTAD" +"DAVE WAHLSTEDT" +"DAVID BOCKHATON" +"DAVID BUCKHALTEN" +"DEALER MCDOPE" +"DEAN LAMBRECHT" +"DEB FELLARA" +"DEB PIERCE" +"DENNIS D. HOLMAN" +"DENNIS SHAPIRO" +"DE WAYNE" +"DIANA BUCKANAGA" +"DIANE CHERPIK" +"DIANE HOFSTEDE" +"DICK FRANSON" +"DICK WESTBY" +"DIRK DIGLER" +"DON'T KNOW" +"DONALD DUCK" +"DON BAKKEN" +"DON FRASER" +"DON SAMUELS" +"DOW CONSTANTINE" +"DREW POST" +"DUANE HAYES" +"DUANE TELLE" +"D WRIGHT" +"ELIZABETH JOHNSTON" +"ELIZABETH TEEFY" +"ELLEN YOUNG" +"ELLIOTT BLACK" +"ERICK GRAVATT" +"ERIK CORANT" +"ERNAIEE APPENZELLER" +"EZRA HYLAND" +"FAHREEN AKEEM" +"FELI HAVOC" +"FLOYD OLIVE" +"FLYING SPAGETTI MONSTER" +"FO MCCLEOD" +"FRANKENSCNSE" +"FRANKLIN DELANO ROOSEVELT" +"FRANK ZAPPA" +"FRARESWAN LUSTER" +"FRED MARKUS" +"FRED VAGLE" +"GARY BUSEY" +"GARY L. WOLFE" +"GARY OGREN" +"GARY WINHERDICK" +"GENE OBERPPRILLER" +"GERALD GUSTAFSON" +"GLEN BECK" +"GOLD" +"GORDON NELSON" +"GRANT CERMAK" +"GREG MAZZUCA" +"GREG WHEEMS" +"GREG WINKELS" +"GRETCHEN WIENRICH" +"GREY HOLCOMB" +"GULZAR BABAEVA" +"GUY CARON" +"GUY LOMBARDO" +"HANNAH FAIRMEN" +"HANNAH GARCIA" +"HAVEN'T A CLUE" +"HEIDI GRAVES" +"HENRY" +"HOMELESS COALITION" +"HORVAN DENBERG" +"HUH" +"IAN THOMAS MCNEIL" +"IF ANY" +"INCUMBENT" +"ISABELLE DENNY" +"J.P. BRIDGES" +"JACK MACE" +"JACK NELSON-POLLMEYER" +"JAMES FREID" +"JAMES H. RUCINSKI" +"JAMES MOORE" +"JAMES PATTERSON JR." +"JAMES WHALEN" +"JAN REED" +"JASON BILL" +"JASON BLUMENTHAL" +"JASON HOLDEN" +"JASON LEWIS" +"JASPER FUTUR" +"JAY PIVEC" +"JEFF EDMAN" +"JEFF PETRICH" +"JEROME RITTER" +"JEROME RITTON" +"JERRY LARSEN" +"JERRY SCHOO" +"JERRY SUNDAHL" +"JERRY VAN CLEVE" +"JERRY WHITE" +"JESSICA WARD-DENNISEN" +"JESS SUNDIN" +"JESUS" +"JILL SCHWIMMER" +"JIM GRATHWOL" +"JIM HOWITT" +"JIM MOORE" +"JIM VAN HOUTEN" +"JOANNE KAUFMAN" +"JODY HARMAN" +"JOEL BERGELAND" +"JOEY LOMBARD" +"JOEY LOMBARD BECAUSE ..." +"JOE COOL" +"JOE GOUDREAULT" +"JOE VOYLES" +"JOHN CASE JR." +"JOHN CHARLES WILSON" +"JOHN FENA" +"JOHN HAYES" +"JOHN HOFF" +"JOHN MCKINLEY BRADLEY" +"JOHN MORIARTY" +"JOHN PILARSKI" +"JOHN Q PUBLIC" +"JOHN SATHER" +"JOHN W. BALDWIN" +"JON SCHARBER" +"JOYCE GRIGSBY" +"JOY ANDERSON" +"JUDITH BAKER" +"JULIA KOSTEN" +"JUSTYN SCHAEFER" +"K. MIDDLEBROOK" +"KAREN GUSTAFSON" +"KARL DAVID OLSON" +"KATHY HENDRICKS" +"KATIE JARVI" +"KATIE SHEA" +"KATY RIDDLE TEPLEY" +"KELLY KRIPPS" +"KENNETH ZIMMER" +"KEN R. KIENSE" +"KEVIN BAUMGARTNER" +"KEVIN ERION" +"KEVIN WILLIAMS" +"KIKO MUDLER" +"KILGORE TROUT" +"KRISTIN MALONE" +"KRISTI HILL" +"L. J. KRIEGER" +"LADY GAGA" +"LADY GA GA" +"LARRY BURNS" +"LAUREN BETHELLE STANGA" +"LAVAIL VALENTINES" +"LEE ORMISTON" +"LEFT-LEANING" +"LESLIE PARKS" +"LINDA HATFIELD" +"LINDEN KILLIAM" +"LISA GRAY" +"LIZARD PEOPLE" +"LIZ MCLEMORE" +"LOLA BERG" +"LOREN AANDAHL" +"LOREN PILLER" +"LUKE CARLSON" +"LYNN HARMAN" +"M. MOUSE" +"MACKENZIE TURNER" +"MAGGIE RORKE" +"MARIA HANSON" +"MARK ALLAN FEDOR" +"MARK EPELDING" +"MARTY FUFKIN" +"MARTY LAMBRECHT" +"MARYANN VANHOUTEN" +"MARY CASSIDY" +"MARY JACK" +"MARY JANE MOUSON" +"MARY MOORE" +"MATHEW GROSSEN" +"MATHILDE SULLIVAN" +"MATTHEW CRAIG" +"MATTHEW NESBIT" +"MATT FUGATE" +"MCCLAIN LOONEY" +"ME" +"MICHAEL E KAN" +"MICHAEL GOULD" +"MICHAEL GRAY" +"MICHAEL J KATCH" +"MICHAEL MARTINS" +"MICHAEL MATHEWS" +"MICHAEL STENQUIST" +"MICHAEL TALBOT" +"MICHAEL WALKER" +"MICHELE BACHMANN" +"MICKEY MOUSE" +"MIKE GRIFFIN" +"MIKE NELSON" +"MIKE TEACHOUT" +"MILES DAVIS" +"MJ" +"MONIKA DEINAED DEINAYZ" +"MONIKA DEWARD" +"MORGAN MCCARTEN" +"MR. M. MOUSE" +"MUHR" +"M LYTTLE" +"N.W.S" +"NA" +"NAN MADDEN" +"NATHAN GEURTS" +"NAY" +"NEVE" +"NICK LEGENDRE" +"NICK SKIRVANEK" +"NICOLAS SARKOZY" +"NICOLE LEIMER" +"NICOLE WURDAK" +"NILA R. OUSKA" +"NIRMAL FERNANDO" +"NOLAN WEBER" +"NOLA FOSS" +"NONE OF ABOVE" +"NONE OF THEM" +"NONE OF THE ABOVE" +"NO IRV" +"NO ONE" +"NO PREFERENCE" +"ORLANDO OCHOADA" +"OSMAN SAHARDEED" +"OTTO CLARK" +"OWEN SARTORI" +"PAMELA REIMLER" +"PAM VALTER" +"PAPA JOHN KOLSTAD" +"PATRICK HANSEL" +"PATTY CASEY" +"PAUL D. DICKINSON" +"PAUL REVERE" +"PENELOPE CRUZ" +"PENTEL" +"PERRY PRICE" +"PETER CHRZANAT" +"PETER L. MARTIN" +"PETER LUND" +"PETER TEACHOUT" +"PETER WAGERJUS" +"PHILLIP ESSINGTON" +"PHILLIP MARSHALL" +"PHIL HALLAWAY" +"PHIL KHALAR" +"PHOINE RIGHT" +"PIRATES" +"POP-EYE" +"QUINN WATSON" +"R.T. RYBAK" +"R. NADER" +"RACHEL GRUBBS" +"RACHEL HOLTZEN" +"RALPH WESTCOTT JR." +"RANDY LEE" +"RAY JELLISON" +"REGINALD PETERS" +"REID LYBOW" +"RICARDO REBALLEDO" +"RICHARD ROSENBERG" +"RICH PETERSON" +"RIC STULTZ" +"RINGO STARR" +"ROBERT E. HENDERSON" +"ROBERT E. MURPHY" +"ROBERT HELIG" +"ROBERT REICH" +"ROBERT WINKELS" +"ROBIN NELSON" +"RODNEY LOSSOW" +"RODNEY WILSON" +"RON ANTHONY" +"RON STERBENZ" +"RORY S. WEIS" +"ROSEMARY WILLIAMS" +"ROSEMARY WILLOW" +"RUBEN RAMIREZ" +"RUSSELL LEIGHTON" +"RYAN L GUEEN" +"S. AYRES" +"SAMANTHA GRAVES" +"SAM BUFFINGTON" +"SAM ROBERT SEELY" +"SARAH LOBLEY" +"SARAH SPLEISS" +"SARA HANSON" +"SASHA CONWAY" +"SATAN" +"SAUL PHILPS" +"SCOTT KIRKEBY" +"SCOTT SEEKINS" +"SCOTT SEPPLE" +"SEAMUS MCCARTEN" +"SEAN BLOOM" +"SEAN BROOM" +"SHALA SIFFY" +"SHARON BARKER" +"SHARON KELLY" +"SHARON SAYLES-BELTON" +"SHAWN MCGREEVY" +"SHAWN MICHAELS" +"SHERRI MILLNER" +"SHIRLEY HEYER" +"SID BERG" +"SKIP HUMPHREY" +"SONIA ANDERSON" +"SORRY, I KNOW NONE OF ..." +"SPAGHETTI MONSTER" +"SPENCER DEINAED" +"SPIDERMAN" +"STELLA COLLIER" +"STEPHANIE KORCHIK" +"STEPHANIE RICH" +"STEPHEN COLBERT" +"STEPHEN R. COURY" +"STEVEN C. ANDERSON" +"STEVE BARLAND" +"STEVE FREUND" +"STEVE GOFF" +"STEVE GRISHAM" +"STEVE KOLRUD" +"STUART BONNIWELL" +"SUPERMAN" +"SUPER MAN" +"SUSAN BLACKFORD" +"SUSAN DIEM" +"TED WALDECK" +"TERI BENTSON" +"TERRI PARKER" +"THERESA WESTCOTT" +"THE BANDIT" +"THOMAS KLATT" +"THOMAS MARTIN" +"THOMAS P. MADDEN" +"THOMAS SOCHEIM" +"THOMAS WALCZAK" +"TIM CASEY" +"TIM PAWLWNTY" +"TIM WHALEN" +"TINA HAM-PETERSON" +"TINA SCHAEFFER" +"TINA SCHAUER" +"TITI BEDIAKO" +"TOBLERONE SHINOBE" +"TODD J EBERHARDY" +"TODD SKOJD" +"TOLU ADELEYE" +"TOM ANDERSON" +"TOM BUGBEE" +"TOM HEIDER" +"TOM NORDYKE" +"TRACY MCCLUN" +"TRISH BROCK" +"TUCE" +"V. VANDER WEIDE" +"VAMPIRES" +"VICCI KORMAN" +"VICKY BROCKMAN" +"VIOLET HANSON" +"WHA-HUH" +"WHY" +"WILLIAM BALL" +"WILLIAM EHDORF" +"WILLIAM HANNDIN" +"WILLIAM J. EAGEN" +"WILLIAM SEPPLE" +"WILLIAN H. O'NEIL" +"WILL RENK" +"WYATT YEATER" +"YOR MOM" +"YOUR MOM" +"YUDA" +"2009 Minneapolis Board of Estimate and Taxation Election" diff --git a/tests/data/Mppls-2009-BOE-full.csv b/tests/data/Mppls-2009-BOE-full.csv new file mode 100644 index 0000000..997c892 --- /dev/null +++ b/tests/data/Mppls-2009-BOE-full.csv @@ -0,0 +1,479 @@ +Stage:,1,,2,,3,,4,,5,,6, +Comment:,First preferences,,Surplus of Carol Becker,,,,Exclusion of R. Michael Martens,,"Exclusion of DeWayne Townsend, Phil Wilkie",,Bulk election, +Carol Becker,16728,EL,10696,EL,10696,EL,10696,EL,10696,EL,10696,EL +R. Michael Martens,2778,H,3120.8355,H,3273.431,H,0,EX,0,EX,0,EX +James Elliot Swartwood,975,H,1160.6575,H,0,EX,0,EX,0,EX,0,EX +DeWayne Townsend,2323,H,3231.46,H,3364.4975,H,3674.074,H,0,EX,0,EX +David Wheeler,6107,H,7239.691,H,7490.0575,H,8107.42700000001,H,,H,,EL +Phil Wilkie,2950,H,3527.1605,H,3732.408,H,4098.436,H,0,EX,0,EX +A. M. RAHAMAN,,H,,H,0,EX,0,EX,0,EX,0,EX +AARON JANSON,,H,,H,0,EX,0,EX,0,EX,0,EX +ABOLISH THIS BOARD,,H,,H,0,EX,0,EX,0,EX,0,EX +ADAM J. WEIGOLD,,H,,H,0,EX,0,EX,0,EX,0,EX +ADRIAN ROTH,,H,,H,0,EX,0,EX,0,EX,0,EX +ALAN THIEL,,H,,H,0,EX,0,EX,0,EX,0,EX +ALE ANDER MATOOSHIK,,H,,H,0,EX,0,EX,0,EX,0,EX +ALE EATON,,H,,H,0,EX,0,EX,0,EX,0,EX +ALISTER CROWLEY,,H,,H,0,EX,0,EX,0,EX,0,EX +ALLEN BREWER,,H,,H,0,EX,0,EX,0,EX,0,EX +AL FLOWERS,,H,,H,0,EX,0,EX,0,EX,0,EX +AL FRANKEN,,H,,H,0,EX,0,EX,0,EX,0,EX +ANIE URBAN,,H,,H,0,EX,0,EX,0,EX,0,EX +ANITA BONGHT,,H,,H,0,EX,0,EX,0,EX,0,EX +ANN HAUEEJORDE,,H,,H,0,EX,0,EX,0,EX,0,EX +ANN SCHWARZ,,H,,H,0,EX,0,EX,0,EX,0,EX +ANTHONY THOMPSON,,H,,H,0,EX,0,EX,0,EX,0,EX +ANTHONY WINKELS,,H,,H,0,EX,0,EX,0,EX,0,EX +ANTHONY WOCELLO,,H,,H,0,EX,0,EX,0,EX,0,EX +ART CLARK,,H,,H,0,EX,0,EX,0,EX,0,EX +B. BOOTH,,H,,H,0,EX,0,EX,0,EX,0,EX +BARACK OBAMA,,H,,H,0,EX,0,EX,0,EX,0,EX +BARBARA ATLAS,,H,,H,0,EX,0,EX,0,EX,0,EX +BARB DAVIS WHITE,,H,,H,0,EX,0,EX,0,EX,0,EX +BARRY MANOFF,,H,,H,0,EX,0,EX,0,EX,0,EX +BATMAN,,H,,H,0,EX,0,EX,0,EX,0,EX +BENNY HILL,,H,,H,0,EX,0,EX,0,EX,0,EX +BEN JOHNSON,,H,,H,0,EX,0,EX,0,EX,0,EX +BERNIE MADOFF,,H,,H,0,EX,0,EX,0,EX,0,EX +BETSY AKERSON,,H,,H,0,EX,0,EX,0,EX,0,EX +BILL HELGESON,,H,,H,0,EX,0,EX,0,EX,0,EX +BILL SMITH,,H,,H,0,EX,0,EX,0,EX,0,EX +BLAKE JOHNSON,,H,,H,0,EX,0,EX,0,EX,0,EX +BOB ERICKSON,,H,,H,0,EX,0,EX,0,EX,0,EX +BOB FINE,,H,,H,0,EX,0,EX,0,EX,0,EX +BOB HULTEEN,,H,,H,0,EX,0,EX,0,EX,0,EX +BOB HUSS,,H,,H,0,EX,0,EX,0,EX,0,EX +BOB NOBLE,,H,,H,0,EX,0,EX,0,EX,0,EX +BOB SMITH,,H,,H,0,EX,0,EX,0,EX,0,EX +BOB WARER,,H,,H,0,EX,0,EX,0,EX,0,EX +BRENNA BUSSE,,H,,H,0,EX,0,EX,0,EX,0,EX +BRETT FARVE ,,H,,H,0,EX,0,EX,0,EX,0,EX +BRETT FAVRE,,H,,H,0,EX,0,EX,0,EX,0,EX +BRIAN STROCK,,H,,H,0,EX,0,EX,0,EX,0,EX +BUGS BUNNY,,H,,H,0,EX,0,EX,0,EX,0,EX +BUTILKA,,H,,H,0,EX,0,EX,0,EX,0,EX +C. CARSON,,H,,H,0,EX,0,EX,0,EX,0,EX +CARL OLSON,,H,,H,0,EX,0,EX,0,EX,0,EX +CAROLYN VAN NELSON,,H,,H,0,EX,0,EX,0,EX,0,EX +CAROL CLARK,,H,,H,0,EX,0,EX,0,EX,0,EX +CAROL NELSON,,H,,H,0,EX,0,EX,0,EX,0,EX +CAROL PASS,,H,,H,0,EX,0,EX,0,EX,0,EX +CARRIE FELDMAN,,H,,H,0,EX,0,EX,0,EX,0,EX +CATHERINE LUCAS,,H,,H,0,EX,0,EX,0,EX,0,EX +CATHERINE PETERS,,H,,H,0,EX,0,EX,0,EX,0,EX +CATHERINE SCHACK,,H,,H,0,EX,0,EX,0,EX,0,EX +CHAD HENDRI ,,H,,H,0,EX,0,EX,0,EX,0,EX +CHAD SNYDER,,H,,H,0,EX,0,EX,0,EX,0,EX +CHARLES CARUSO,,H,,H,0,EX,0,EX,0,EX,0,EX +CHARLES VANEK,,H,,H,0,EX,0,EX,0,EX,0,EX +CHARLIE FRAWLEY,,H,,H,0,EX,0,EX,0,EX,0,EX +CHLOE LARSON,,H,,H,0,EX,0,EX,0,EX,0,EX +CHRISTINA YEATER,,H,,H,0,EX,0,EX,0,EX,0,EX +CHRISTOPHER POUL,,H,,H,0,EX,0,EX,0,EX,0,EX +CHRIST PETERSEN,,H,,H,0,EX,0,EX,0,EX,0,EX +CHRIS LIZAMA,,H,,H,0,EX,0,EX,0,EX,0,EX +CHRIS PETROSKAS,,H,,H,0,EX,0,EX,0,EX,0,EX +CHRIS SOLER,,H,,H,0,EX,0,EX,0,EX,0,EX +CJ CAMP,,H,,H,0,EX,0,EX,0,EX,0,EX +CLARE RITTON,,H,,H,0,EX,0,EX,0,EX,0,EX +CLAY LAMBERT,,H,,H,0,EX,0,EX,0,EX,0,EX +CLINTON SCHROEDER JR.,,H,,H,0,EX,0,EX,0,EX,0,EX +COLIN BLACK,,H,,H,0,EX,0,EX,0,EX,0,EX +CONSERVATIVE,,H,,H,0,EX,0,EX,0,EX,0,EX +COW ,,H,,H,0,EX,0,EX,0,EX,0,EX +CYNTHIA HENDRICKS,,H,,H,0,EX,0,EX,0,EX,0,EX +D. GAY MOLDOA,,H,,H,0,EX,0,EX,0,EX,0,EX +D. JOSEPH CORBIN,,H,,H,0,EX,0,EX,0,EX,0,EX +DALE T NELSON,,H,,H,0,EX,0,EX,0,EX,0,EX +DAMON WARD,,H,,H,0,EX,0,EX,0,EX,0,EX +DANIEL LOMBARD,,H,,H,0,EX,0,EX,0,EX,0,EX +DANIEL SMITH,,H,,H,0,EX,0,EX,0,EX,0,EX +DAN DITTMAN,,H,,H,0,EX,0,EX,0,EX,0,EX +DAN O'BRIEN,,H,,H,0,EX,0,EX,0,EX,0,EX +DAN RENK,,H,,H,0,EX,0,EX,0,EX,0,EX +DAREK ANDERSON,,H,,H,0,EX,0,EX,0,EX,0,EX +DARRELL WASHINGTON,,H,,H,0,EX,0,EX,0,EX,0,EX +DARREN BYRNESY,,H,,H,0,EX,0,EX,0,EX,0,EX +DARTH VADER,,H,,H,0,EX,0,EX,0,EX,0,EX +DAVE SHEGSTAD,,H,,H,0,EX,0,EX,0,EX,0,EX +DAVE WAHLSTEDT,,H,,H,0,EX,0,EX,0,EX,0,EX +DAVID BOCKHATON,,H,,H,0,EX,0,EX,0,EX,0,EX +DAVID BUCKHALTEN,,H,,H,0,EX,0,EX,0,EX,0,EX +DEALER MCDOPE,,H,,H,0,EX,0,EX,0,EX,0,EX +DEAN LAMBRECHT,,H,,H,0,EX,0,EX,0,EX,0,EX +DEB FELLARA,,H,,H,0,EX,0,EX,0,EX,0,EX +DEB PIERCE,,H,,H,0,EX,0,EX,0,EX,0,EX +DENNIS D. HOLMAN,,H,,H,0,EX,0,EX,0,EX,0,EX +DENNIS SHAPIRO,,H,,H,0,EX,0,EX,0,EX,0,EX +DE WAYNE,,H,,H,0,EX,0,EX,0,EX,0,EX +DIANA BUCKANAGA,,H,,H,0,EX,0,EX,0,EX,0,EX +DIANE CHERPIK,,H,,H,0,EX,0,EX,0,EX,0,EX +DIANE HOFSTEDE,,H,,H,0,EX,0,EX,0,EX,0,EX +DICK FRANSON,,H,,H,0,EX,0,EX,0,EX,0,EX +DICK WESTBY,,H,,H,0,EX,0,EX,0,EX,0,EX +DIRK DIGLER,,H,,H,0,EX,0,EX,0,EX,0,EX +DON'T KNOW,,H,,H,0,EX,0,EX,0,EX,0,EX +DONALD DUCK,,H,,H,0,EX,0,EX,0,EX,0,EX +DON BAKKEN,,H,,H,0,EX,0,EX,0,EX,0,EX +DON FRASER,,H,,H,0,EX,0,EX,0,EX,0,EX +DON SAMUELS,,H,,H,0,EX,0,EX,0,EX,0,EX +DOW CONSTANTINE,,H,,H,0,EX,0,EX,0,EX,0,EX +DREW POST,,H,,H,0,EX,0,EX,0,EX,0,EX +DUANE HAYES,,H,,H,0,EX,0,EX,0,EX,0,EX +DUANE TELLE,,H,,H,0,EX,0,EX,0,EX,0,EX +D WRIGHT,,H,,H,0,EX,0,EX,0,EX,0,EX +ELIZABETH JOHNSTON,,H,,H,0,EX,0,EX,0,EX,0,EX +ELIZABETH TEEFY,,H,,H,0,EX,0,EX,0,EX,0,EX +ELLEN YOUNG,,H,,H,0,EX,0,EX,0,EX,0,EX +ELLIOTT BLACK,,H,,H,0,EX,0,EX,0,EX,0,EX +ERICK GRAVATT,,H,,H,0,EX,0,EX,0,EX,0,EX +ERIK CORANT,,H,,H,0,EX,0,EX,0,EX,0,EX +ERNAIEE APPENZELLER,,H,,H,0,EX,0,EX,0,EX,0,EX +EZRA HYLAND,,H,,H,0,EX,0,EX,0,EX,0,EX +FAHREEN AKEEM,,H,,H,0,EX,0,EX,0,EX,0,EX +FELI HAVOC,,H,,H,0,EX,0,EX,0,EX,0,EX +FLOYD OLIVE,,H,,H,0,EX,0,EX,0,EX,0,EX +FLYING SPAGETTI MONSTER,,H,,H,0,EX,0,EX,0,EX,0,EX +FO MCCLEOD,,H,,H,0,EX,0,EX,0,EX,0,EX +FRANKENSCNSE,,H,,H,0,EX,0,EX,0,EX,0,EX +FRANKLIN DELANO ROOSEVELT,,H,,H,0,EX,0,EX,0,EX,0,EX +FRANK ZAPPA,,H,,H,0,EX,0,EX,0,EX,0,EX +FRARESWAN LUSTER,,H,,H,0,EX,0,EX,0,EX,0,EX +FRED MARKUS,,H,,H,0,EX,0,EX,0,EX,0,EX +FRED VAGLE,,H,,H,0,EX,0,EX,0,EX,0,EX +GARY BUSEY,,H,,H,0,EX,0,EX,0,EX,0,EX +GARY L. WOLFE,,H,,H,0,EX,0,EX,0,EX,0,EX +GARY OGREN,,H,,H,0,EX,0,EX,0,EX,0,EX +GARY WINHERDICK,,H,,H,0,EX,0,EX,0,EX,0,EX +GENE OBERPPRILLER,,H,,H,0,EX,0,EX,0,EX,0,EX +GERALD GUSTAFSON,,H,,H,0,EX,0,EX,0,EX,0,EX +GLEN BECK,,H,,H,0,EX,0,EX,0,EX,0,EX +GOLD,,H,,H,0,EX,0,EX,0,EX,0,EX +GORDON NELSON,,H,,H,0,EX,0,EX,0,EX,0,EX +GRANT CERMAK,,H,,H,0,EX,0,EX,0,EX,0,EX +GREG MAZZUCA,,H,,H,0,EX,0,EX,0,EX,0,EX +GREG WHEEMS,,H,,H,0,EX,0,EX,0,EX,0,EX +GREG WINKELS,,H,,H,0,EX,0,EX,0,EX,0,EX +GRETCHEN WIENRICH,,H,,H,0,EX,0,EX,0,EX,0,EX +GREY HOLCOMB,,H,,H,0,EX,0,EX,0,EX,0,EX +GULZAR BABAEVA,,H,,H,0,EX,0,EX,0,EX,0,EX +GUY CARON,,H,,H,0,EX,0,EX,0,EX,0,EX +GUY LOMBARDO,,H,,H,0,EX,0,EX,0,EX,0,EX +HANNAH FAIRMEN,,H,,H,0,EX,0,EX,0,EX,0,EX +HANNAH GARCIA,,H,,H,0,EX,0,EX,0,EX,0,EX +HAVEN'T A CLUE,,H,,H,0,EX,0,EX,0,EX,0,EX +HEIDI GRAVES,,H,,H,0,EX,0,EX,0,EX,0,EX +HENRY,,H,,H,0,EX,0,EX,0,EX,0,EX +HOMELESS COALITION,,H,,H,0,EX,0,EX,0,EX,0,EX +HORVAN DENBERG,,H,,H,0,EX,0,EX,0,EX,0,EX +HUH,,H,,H,0,EX,0,EX,0,EX,0,EX +IAN THOMAS MCNEIL,,H,,H,0,EX,0,EX,0,EX,0,EX +IF ANY,,H,,H,0,EX,0,EX,0,EX,0,EX +INCUMBENT,,H,,H,0,EX,0,EX,0,EX,0,EX +ISABELLE DENNY,,H,,H,0,EX,0,EX,0,EX,0,EX +J.P. BRIDGES,,H,,H,0,EX,0,EX,0,EX,0,EX +JACK MACE,,H,,H,0,EX,0,EX,0,EX,0,EX +JACK NELSON-POLLMEYER,,H,,H,0,EX,0,EX,0,EX,0,EX +JAMES FREID,,H,,H,0,EX,0,EX,0,EX,0,EX +JAMES H. RUCINSKI,,H,,H,0,EX,0,EX,0,EX,0,EX +JAMES MOORE,,H,,H,0,EX,0,EX,0,EX,0,EX +JAMES PATTERSON JR.,,H,,H,0,EX,0,EX,0,EX,0,EX +JAMES WHALEN,,H,,H,0,EX,0,EX,0,EX,0,EX +JAN REED,,H,,H,0,EX,0,EX,0,EX,0,EX +JASON BILL,,H,,H,0,EX,0,EX,0,EX,0,EX +JASON BLUMENTHAL,,H,,H,0,EX,0,EX,0,EX,0,EX +JASON HOLDEN,,H,,H,0,EX,0,EX,0,EX,0,EX +JASON LEWIS,,H,,H,0,EX,0,EX,0,EX,0,EX +JASPER FUTUR,,H,,H,0,EX,0,EX,0,EX,0,EX +JAY PIVEC,,H,,H,0,EX,0,EX,0,EX,0,EX +JEFF EDMAN,,H,,H,0,EX,0,EX,0,EX,0,EX +JEFF PETRICH,,H,,H,0,EX,0,EX,0,EX,0,EX +JEROME RITTER,,H,,H,0,EX,0,EX,0,EX,0,EX +JEROME RITTON,,H,,H,0,EX,0,EX,0,EX,0,EX +JERRY LARSEN,,H,,H,0,EX,0,EX,0,EX,0,EX +JERRY SCHOO,,H,,H,0,EX,0,EX,0,EX,0,EX +JERRY SUNDAHL,,H,,H,0,EX,0,EX,0,EX,0,EX +JERRY VAN CLEVE,,H,,H,0,EX,0,EX,0,EX,0,EX +JERRY WHITE,,H,,H,0,EX,0,EX,0,EX,0,EX +JESSICA WARD-DENNISEN,,H,,H,0,EX,0,EX,0,EX,0,EX +JESS SUNDIN,,H,,H,0,EX,0,EX,0,EX,0,EX +JESUS,,H,,H,0,EX,0,EX,0,EX,0,EX +JILL SCHWIMMER,,H,,H,0,EX,0,EX,0,EX,0,EX +JIM GRATHWOL,,H,,H,0,EX,0,EX,0,EX,0,EX +JIM HOWITT,,H,,H,0,EX,0,EX,0,EX,0,EX +JIM MOORE,,H,,H,0,EX,0,EX,0,EX,0,EX +JIM VAN HOUTEN,,H,,H,0,EX,0,EX,0,EX,0,EX +JOANNE KAUFMAN,,H,,H,0,EX,0,EX,0,EX,0,EX +JODY HARMAN,,H,,H,0,EX,0,EX,0,EX,0,EX +JOEL BERGELAND,,H,,H,0,EX,0,EX,0,EX,0,EX +JOEY LOMBARD,,H,,H,0,EX,0,EX,0,EX,0,EX +JOEY LOMBARD BECAUSE ...,,H,,H,0,EX,0,EX,0,EX,0,EX +JOE COOL,,H,,H,0,EX,0,EX,0,EX,0,EX +JOE GOUDREAULT,,H,,H,0,EX,0,EX,0,EX,0,EX +JOE VOYLES,,H,,H,0,EX,0,EX,0,EX,0,EX +JOHN CASE JR.,,H,,H,0,EX,0,EX,0,EX,0,EX +JOHN CHARLES WILSON,,H,,H,0,EX,0,EX,0,EX,0,EX +JOHN FENA,,H,,H,0,EX,0,EX,0,EX,0,EX +JOHN HAYES,,H,,H,0,EX,0,EX,0,EX,0,EX +JOHN HOFF,,H,,H,0,EX,0,EX,0,EX,0,EX +JOHN MCKINLEY BRADLEY,,H,,H,0,EX,0,EX,0,EX,0,EX +JOHN MORIARTY,,H,,H,0,EX,0,EX,0,EX,0,EX +JOHN PILARSKI,,H,,H,0,EX,0,EX,0,EX,0,EX +JOHN Q PUBLIC,,H,,H,0,EX,0,EX,0,EX,0,EX +JOHN SATHER,,H,,H,0,EX,0,EX,0,EX,0,EX +JOHN W. BALDWIN,,H,,H,0,EX,0,EX,0,EX,0,EX +JON SCHARBER,,H,,H,0,EX,0,EX,0,EX,0,EX +JOYCE GRIGSBY,,H,,H,0,EX,0,EX,0,EX,0,EX +JOY ANDERSON,,H,,H,0,EX,0,EX,0,EX,0,EX +JUDITH BAKER,,H,,H,0,EX,0,EX,0,EX,0,EX +JULIA KOSTEN,,H,,H,0,EX,0,EX,0,EX,0,EX +JUSTYN SCHAEFER,,H,,H,0,EX,0,EX,0,EX,0,EX +K. MIDDLEBROOK,,H,,H,0,EX,0,EX,0,EX,0,EX +KAREN GUSTAFSON,,H,,H,0,EX,0,EX,0,EX,0,EX +KARL DAVID OLSON,,H,,H,0,EX,0,EX,0,EX,0,EX +KATHY HENDRICKS,,H,,H,0,EX,0,EX,0,EX,0,EX +KATIE JARVI,,H,,H,0,EX,0,EX,0,EX,0,EX +KATIE SHEA,,H,,H,0,EX,0,EX,0,EX,0,EX +KATY RIDDLE TEPLEY,,H,,H,0,EX,0,EX,0,EX,0,EX +KELLY KRIPPS,,H,,H,0,EX,0,EX,0,EX,0,EX +KENNETH ZIMMER,,H,,H,0,EX,0,EX,0,EX,0,EX +KEN R. KIENSE,,H,,H,0,EX,0,EX,0,EX,0,EX +KEVIN BAUMGARTNER,,H,,H,0,EX,0,EX,0,EX,0,EX +KEVIN ERION,,H,,H,0,EX,0,EX,0,EX,0,EX +KEVIN WILLIAMS,,H,,H,0,EX,0,EX,0,EX,0,EX +KIKO MUDLER,,H,,H,0,EX,0,EX,0,EX,0,EX +KILGORE TROUT,,H,,H,0,EX,0,EX,0,EX,0,EX +KRISTIN MALONE,,H,,H,0,EX,0,EX,0,EX,0,EX +KRISTI HILL,,H,,H,0,EX,0,EX,0,EX,0,EX +L. J. KRIEGER,,H,,H,0,EX,0,EX,0,EX,0,EX +LADY GAGA,,H,,H,0,EX,0,EX,0,EX,0,EX +LADY GA GA,,H,,H,0,EX,0,EX,0,EX,0,EX +LARRY BURNS,,H,,H,0,EX,0,EX,0,EX,0,EX +LAUREN BETHELLE STANGA,,H,,H,0,EX,0,EX,0,EX,0,EX +LAVAIL VALENTINES,,H,,H,0,EX,0,EX,0,EX,0,EX +LEE ORMISTON,,H,,H,0,EX,0,EX,0,EX,0,EX +LEFT-LEANING,,H,,H,0,EX,0,EX,0,EX,0,EX +LESLIE PARKS,,H,,H,0,EX,0,EX,0,EX,0,EX +LINDA HATFIELD,,H,,H,0,EX,0,EX,0,EX,0,EX +LINDEN KILLIAM,,H,,H,0,EX,0,EX,0,EX,0,EX +LISA GRAY,,H,,H,0,EX,0,EX,0,EX,0,EX +LIZARD PEOPLE,,H,,H,0,EX,0,EX,0,EX,0,EX +LIZ MCLEMORE,,H,,H,0,EX,0,EX,0,EX,0,EX +LOLA BERG,,H,,H,0,EX,0,EX,0,EX,0,EX +LOREN AANDAHL,,H,,H,0,EX,0,EX,0,EX,0,EX +LOREN PILLER,,H,,H,0,EX,0,EX,0,EX,0,EX +LUKE CARLSON,,H,,H,0,EX,0,EX,0,EX,0,EX +LYNN HARMAN,,H,,H,0,EX,0,EX,0,EX,0,EX +M. MOUSE,,H,,H,0,EX,0,EX,0,EX,0,EX +MACKENZIE TURNER,,H,,H,0,EX,0,EX,0,EX,0,EX +MAGGIE RORKE,,H,,H,0,EX,0,EX,0,EX,0,EX +MARIA HANSON,,H,,H,0,EX,0,EX,0,EX,0,EX +MARK ALLAN FEDOR,,H,,H,0,EX,0,EX,0,EX,0,EX +MARK EPELDING,,H,,H,0,EX,0,EX,0,EX,0,EX +MARTY FUFKIN,,H,,H,0,EX,0,EX,0,EX,0,EX +MARTY LAMBRECHT,,H,,H,0,EX,0,EX,0,EX,0,EX +MARYANN VANHOUTEN,,H,,H,0,EX,0,EX,0,EX,0,EX +MARY CASSIDY,,H,,H,0,EX,0,EX,0,EX,0,EX +MARY JACK,,H,,H,0,EX,0,EX,0,EX,0,EX +MARY JANE MOUSON,,H,,H,0,EX,0,EX,0,EX,0,EX +MARY MOORE,,H,,H,0,EX,0,EX,0,EX,0,EX +MATHEW GROSSEN,,H,,H,0,EX,0,EX,0,EX,0,EX +MATHILDE SULLIVAN,,H,,H,0,EX,0,EX,0,EX,0,EX +MATTHEW CRAIG,,H,,H,0,EX,0,EX,0,EX,0,EX +MATTHEW NESBIT,,H,,H,0,EX,0,EX,0,EX,0,EX +MATT FUGATE,,H,,H,0,EX,0,EX,0,EX,0,EX +MCCLAIN LOONEY,,H,,H,0,EX,0,EX,0,EX,0,EX +ME,,H,,H,0,EX,0,EX,0,EX,0,EX +MICHAEL E KAN,,H,,H,0,EX,0,EX,0,EX,0,EX +MICHAEL GOULD,,H,,H,0,EX,0,EX,0,EX,0,EX +MICHAEL GRAY,,H,,H,0,EX,0,EX,0,EX,0,EX +MICHAEL J KATCH,,H,,H,0,EX,0,EX,0,EX,0,EX +MICHAEL MARTINS,,H,,H,0,EX,0,EX,0,EX,0,EX +MICHAEL MATHEWS,,H,,H,0,EX,0,EX,0,EX,0,EX +MICHAEL STENQUIST,,H,,H,0,EX,0,EX,0,EX,0,EX +MICHAEL TALBOT,,H,,H,0,EX,0,EX,0,EX,0,EX +MICHAEL WALKER,,H,,H,0,EX,0,EX,0,EX,0,EX +MICHELE BACHMANN,,H,,H,0,EX,0,EX,0,EX,0,EX +MICKEY MOUSE,,H,,H,0,EX,0,EX,0,EX,0,EX +MIKE GRIFFIN,,H,,H,0,EX,0,EX,0,EX,0,EX +MIKE NELSON,,H,,H,0,EX,0,EX,0,EX,0,EX +MIKE TEACHOUT,,H,,H,0,EX,0,EX,0,EX,0,EX +MILES DAVIS,,H,,H,0,EX,0,EX,0,EX,0,EX +MJ,,H,,H,0,EX,0,EX,0,EX,0,EX +MONIKA DEINAED DEINAYZ,,H,,H,0,EX,0,EX,0,EX,0,EX +MONIKA DEWARD,,H,,H,0,EX,0,EX,0,EX,0,EX +MORGAN MCCARTEN,,H,,H,0,EX,0,EX,0,EX,0,EX +MR. M. MOUSE,,H,,H,0,EX,0,EX,0,EX,0,EX +MUHR,,H,,H,0,EX,0,EX,0,EX,0,EX +M LYTTLE,,H,,H,0,EX,0,EX,0,EX,0,EX +N.W.S,,H,,H,0,EX,0,EX,0,EX,0,EX +NA,,H,,H,0,EX,0,EX,0,EX,0,EX +NAN MADDEN,,H,,H,0,EX,0,EX,0,EX,0,EX +NATHAN GEURTS,,H,,H,0,EX,0,EX,0,EX,0,EX +NAY,,H,,H,0,EX,0,EX,0,EX,0,EX +NEVE,,H,,H,0,EX,0,EX,0,EX,0,EX +NICK LEGENDRE,,H,,H,0,EX,0,EX,0,EX,0,EX +NICK SKIRVANEK,,H,,H,0,EX,0,EX,0,EX,0,EX +NICOLAS SARKOZY,,H,,H,0,EX,0,EX,0,EX,0,EX +NICOLE LEIMER,,H,,H,0,EX,0,EX,0,EX,0,EX +NICOLE WURDAK,,H,,H,0,EX,0,EX,0,EX,0,EX +NILA R. OUSKA,,H,,H,0,EX,0,EX,0,EX,0,EX +NIRMAL FERNANDO,,H,,H,0,EX,0,EX,0,EX,0,EX +NOLAN WEBER,,H,,H,0,EX,0,EX,0,EX,0,EX +NOLA FOSS,,H,,H,0,EX,0,EX,0,EX,0,EX +NONE OF ABOVE,,H,,H,0,EX,0,EX,0,EX,0,EX +NONE OF THEM,,H,,H,0,EX,0,EX,0,EX,0,EX +NONE OF THE ABOVE,,H,,H,0,EX,0,EX,0,EX,0,EX +NO IRV,,H,,H,0,EX,0,EX,0,EX,0,EX +NO ONE,,H,,H,0,EX,0,EX,0,EX,0,EX +NO PREFERENCE,,H,,H,0,EX,0,EX,0,EX,0,EX +ORLANDO OCHOADA,,H,,H,0,EX,0,EX,0,EX,0,EX +OSMAN SAHARDEED,,H,,H,0,EX,0,EX,0,EX,0,EX +OTTO CLARK,,H,,H,0,EX,0,EX,0,EX,0,EX +OWEN SARTORI,,H,,H,0,EX,0,EX,0,EX,0,EX +PAMELA REIMLER,,H,,H,0,EX,0,EX,0,EX,0,EX +PAM VALTER,,H,,H,0,EX,0,EX,0,EX,0,EX +PAPA JOHN KOLSTAD,,H,,H,0,EX,0,EX,0,EX,0,EX +PATRICK HANSEL,,H,,H,0,EX,0,EX,0,EX,0,EX +PATTY CASEY,,H,,H,0,EX,0,EX,0,EX,0,EX +PAUL D. DICKINSON,,H,,H,0,EX,0,EX,0,EX,0,EX +PAUL REVERE,,H,,H,0,EX,0,EX,0,EX,0,EX +PENELOPE CRUZ,,H,,H,0,EX,0,EX,0,EX,0,EX +PENTEL,,H,,H,0,EX,0,EX,0,EX,0,EX +PERRY PRICE,,H,,H,0,EX,0,EX,0,EX,0,EX +PETER CHRZANAT,,H,,H,0,EX,0,EX,0,EX,0,EX +PETER L. MARTIN,,H,,H,0,EX,0,EX,0,EX,0,EX +PETER LUND,,H,,H,0,EX,0,EX,0,EX,0,EX +PETER TEACHOUT,,H,,H,0,EX,0,EX,0,EX,0,EX +PETER WAGERJUS,,H,,H,0,EX,0,EX,0,EX,0,EX +PHILLIP ESSINGTON,,H,,H,0,EX,0,EX,0,EX,0,EX +PHILLIP MARSHALL,,H,,H,0,EX,0,EX,0,EX,0,EX +PHIL HALLAWAY,,H,,H,0,EX,0,EX,0,EX,0,EX +PHIL KHALAR,,H,,H,0,EX,0,EX,0,EX,0,EX +PHOINE RIGHT,,H,,H,0,EX,0,EX,0,EX,0,EX +PIRATES,,H,,H,0,EX,0,EX,0,EX,0,EX +POP-EYE,,H,,H,0,EX,0,EX,0,EX,0,EX +QUINN WATSON,,H,,H,0,EX,0,EX,0,EX,0,EX +R.T. RYBAK,,H,,H,0,EX,0,EX,0,EX,0,EX +R. NADER,,H,,H,0,EX,0,EX,0,EX,0,EX +RACHEL GRUBBS,,H,,H,0,EX,0,EX,0,EX,0,EX +RACHEL HOLTZEN,,H,,H,0,EX,0,EX,0,EX,0,EX +RALPH WESTCOTT JR.,,H,,H,0,EX,0,EX,0,EX,0,EX +RANDY LEE,,H,,H,0,EX,0,EX,0,EX,0,EX +RAY JELLISON,,H,,H,0,EX,0,EX,0,EX,0,EX +REGINALD PETERS,,H,,H,0,EX,0,EX,0,EX,0,EX +REID LYBOW,,H,,H,0,EX,0,EX,0,EX,0,EX +RICARDO REBALLEDO,,H,,H,0,EX,0,EX,0,EX,0,EX +RICHARD ROSENBERG,,H,,H,0,EX,0,EX,0,EX,0,EX +RICH PETERSON,,H,,H,0,EX,0,EX,0,EX,0,EX +RIC STULTZ,,H,,H,0,EX,0,EX,0,EX,0,EX +RINGO STARR,,H,,H,0,EX,0,EX,0,EX,0,EX +ROBERT E. HENDERSON,,H,,H,0,EX,0,EX,0,EX,0,EX +ROBERT E. MURPHY,,H,,H,0,EX,0,EX,0,EX,0,EX +ROBERT HELIG,,H,,H,0,EX,0,EX,0,EX,0,EX +ROBERT REICH,,H,,H,0,EX,0,EX,0,EX,0,EX +ROBERT WINKELS,,H,,H,0,EX,0,EX,0,EX,0,EX +ROBIN NELSON,,H,,H,0,EX,0,EX,0,EX,0,EX +RODNEY LOSSOW,,H,,H,0,EX,0,EX,0,EX,0,EX +RODNEY WILSON,,H,,H,0,EX,0,EX,0,EX,0,EX +RON ANTHONY,,H,,H,0,EX,0,EX,0,EX,0,EX +RON STERBENZ,,H,,H,0,EX,0,EX,0,EX,0,EX +RORY S. WEIS,,H,,H,0,EX,0,EX,0,EX,0,EX +ROSEMARY WILLIAMS,,H,,H,0,EX,0,EX,0,EX,0,EX +ROSEMARY WILLOW,,H,,H,0,EX,0,EX,0,EX,0,EX +RUBEN RAMIREZ,,H,,H,0,EX,0,EX,0,EX,0,EX +RUSSELL LEIGHTON,,H,,H,0,EX,0,EX,0,EX,0,EX +RYAN L GUEEN,,H,,H,0,EX,0,EX,0,EX,0,EX +S. AYRES,,H,,H,0,EX,0,EX,0,EX,0,EX +SAMANTHA GRAVES,,H,,H,0,EX,0,EX,0,EX,0,EX +SAM BUFFINGTON,,H,,H,0,EX,0,EX,0,EX,0,EX +SAM ROBERT SEELY,,H,,H,0,EX,0,EX,0,EX,0,EX +SARAH LOBLEY,,H,,H,0,EX,0,EX,0,EX,0,EX +SARAH SPLEISS,,H,,H,0,EX,0,EX,0,EX,0,EX +SARA HANSON,,H,,H,0,EX,0,EX,0,EX,0,EX +SASHA CONWAY,,H,,H,0,EX,0,EX,0,EX,0,EX +SATAN,,H,,H,0,EX,0,EX,0,EX,0,EX +SAUL PHILPS,,H,,H,0,EX,0,EX,0,EX,0,EX +SCOTT KIRKEBY,,H,,H,0,EX,0,EX,0,EX,0,EX +SCOTT SEEKINS,,H,,H,0,EX,0,EX,0,EX,0,EX +SCOTT SEPPLE,,H,,H,0,EX,0,EX,0,EX,0,EX +SEAMUS MCCARTEN,,H,,H,0,EX,0,EX,0,EX,0,EX +SEAN BLOOM,,H,,H,0,EX,0,EX,0,EX,0,EX +SEAN BROOM,,H,,H,0,EX,0,EX,0,EX,0,EX +SHALA SIFFY,,H,,H,0,EX,0,EX,0,EX,0,EX +SHARON BARKER,,H,,H,0,EX,0,EX,0,EX,0,EX +SHARON KELLY,,H,,H,0,EX,0,EX,0,EX,0,EX +SHARON SAYLES-BELTON,,H,,H,0,EX,0,EX,0,EX,0,EX +SHAWN MCGREEVY,,H,,H,0,EX,0,EX,0,EX,0,EX +SHAWN MICHAELS,,H,,H,0,EX,0,EX,0,EX,0,EX +SHERRI MILLNER,,H,,H,0,EX,0,EX,0,EX,0,EX +SHIRLEY HEYER,,H,,H,0,EX,0,EX,0,EX,0,EX +SID BERG,,H,,H,0,EX,0,EX,0,EX,0,EX +SKIP HUMPHREY,,H,,H,0,EX,0,EX,0,EX,0,EX +SONIA ANDERSON,,H,,H,0,EX,0,EX,0,EX,0,EX +"SORRY, I KNOW NONE OF ...",,H,,H,0,EX,0,EX,0,EX,0,EX +SPAGHETTI MONSTER,,H,,H,0,EX,0,EX,0,EX,0,EX +SPENCER DEINAED,,H,,H,0,EX,0,EX,0,EX,0,EX +SPIDERMAN,,H,,H,0,EX,0,EX,0,EX,0,EX +STELLA COLLIER,,H,,H,0,EX,0,EX,0,EX,0,EX +STEPHANIE KORCHIK,,H,,H,0,EX,0,EX,0,EX,0,EX +STEPHANIE RICH,,H,,H,0,EX,0,EX,0,EX,0,EX +STEPHEN COLBERT,,H,,H,0,EX,0,EX,0,EX,0,EX +STEPHEN R. COURY,,H,,H,0,EX,0,EX,0,EX,0,EX +STEVEN C. ANDERSON,,H,,H,0,EX,0,EX,0,EX,0,EX +STEVE BARLAND,,H,,H,0,EX,0,EX,0,EX,0,EX +STEVE FREUND,,H,,H,0,EX,0,EX,0,EX,0,EX +STEVE GOFF,,H,,H,0,EX,0,EX,0,EX,0,EX +STEVE GRISHAM,,H,,H,0,EX,0,EX,0,EX,0,EX +STEVE KOLRUD,,H,,H,0,EX,0,EX,0,EX,0,EX +STUART BONNIWELL,,H,,H,0,EX,0,EX,0,EX,0,EX +SUPERMAN,,H,,H,0,EX,0,EX,0,EX,0,EX +SUPER MAN,,H,,H,0,EX,0,EX,0,EX,0,EX +SUSAN BLACKFORD,,H,,H,0,EX,0,EX,0,EX,0,EX +SUSAN DIEM,,H,,H,0,EX,0,EX,0,EX,0,EX +TED WALDECK,,H,,H,0,EX,0,EX,0,EX,0,EX +TERI BENTSON,,H,,H,0,EX,0,EX,0,EX,0,EX +TERRI PARKER,,H,,H,0,EX,0,EX,0,EX,0,EX +THERESA WESTCOTT,,H,,H,0,EX,0,EX,0,EX,0,EX +THE BANDIT,,H,,H,0,EX,0,EX,0,EX,0,EX +THOMAS KLATT,,H,,H,0,EX,0,EX,0,EX,0,EX +THOMAS MARTIN,,H,,H,0,EX,0,EX,0,EX,0,EX +THOMAS P. MADDEN,,H,,H,0,EX,0,EX,0,EX,0,EX +THOMAS SOCHEIM,,H,,H,0,EX,0,EX,0,EX,0,EX +THOMAS WALCZAK,,H,,H,0,EX,0,EX,0,EX,0,EX +TIM CASEY,,H,,H,0,EX,0,EX,0,EX,0,EX +TIM PAWLWNTY,,H,,H,0,EX,0,EX,0,EX,0,EX +TIM WHALEN,,H,,H,0,EX,0,EX,0,EX,0,EX +TINA HAM-PETERSON,,H,,H,0,EX,0,EX,0,EX,0,EX +TINA SCHAEFFER,,H,,H,0,EX,0,EX,0,EX,0,EX +TINA SCHAUER,,H,,H,0,EX,0,EX,0,EX,0,EX +TITI BEDIAKO,,H,,H,0,EX,0,EX,0,EX,0,EX +TOBLERONE SHINOBE,,H,,H,0,EX,0,EX,0,EX,0,EX +TODD J EBERHARDY,,H,,H,0,EX,0,EX,0,EX,0,EX +TODD SKOJD,,H,,H,0,EX,0,EX,0,EX,0,EX +TOLU ADELEYE,,H,,H,0,EX,0,EX,0,EX,0,EX +TOM ANDERSON,,H,,H,0,EX,0,EX,0,EX,0,EX +TOM BUGBEE,,H,,H,0,EX,0,EX,0,EX,0,EX +TOM HEIDER,,H,,H,0,EX,0,EX,0,EX,0,EX +TOM NORDYKE,,H,,H,0,EX,0,EX,0,EX,0,EX +TRACY MCCLUN,,H,,H,0,EX,0,EX,0,EX,0,EX +TRISH BROCK,,H,,H,0,EX,0,EX,0,EX,0,EX +TUCE,,H,,H,0,EX,0,EX,0,EX,0,EX +V. VANDER WEIDE,,H,,H,0,EX,0,EX,0,EX,0,EX +VAMPIRES,,H,,H,0,EX,0,EX,0,EX,0,EX +VICCI KORMAN,,H,,H,0,EX,0,EX,0,EX,0,EX +VICKY BROCKMAN,,H,,H,0,EX,0,EX,0,EX,0,EX +VIOLET HANSON,,H,,H,0,EX,0,EX,0,EX,0,EX +WHA-HUH,,H,,H,0,EX,0,EX,0,EX,0,EX +WHY,,H,,H,0,EX,0,EX,0,EX,0,EX +WILLIAM BALL,,H,,H,0,EX,0,EX,0,EX,0,EX +WILLIAM EHDORF,,H,,H,0,EX,0,EX,0,EX,0,EX +WILLIAM HANNDIN,,H,,H,0,EX,0,EX,0,EX,0,EX +WILLIAM J. EAGEN,,H,,H,0,EX,0,EX,0,EX,0,EX +WILLIAM SEPPLE,,H,,H,0,EX,0,EX,0,EX,0,EX +WILLIAN H. O'NEIL,,H,,H,0,EX,0,EX,0,EX,0,EX +WILL RENK,,H,,H,0,EX,0,EX,0,EX,0,EX +WYATT YEATER,,H,,H,0,EX,0,EX,0,EX,0,EX +YOR MOM,,H,,H,0,EX,0,EX,0,EX,0,EX +YOUR MOM,,H,,H,0,EX,0,EX,0,EX,0,EX +YUDA,,H,,H,0,EX,0,EX,0,EX,0,EX diff --git a/tests/data/Mppls-2009-BOE-full.ods b/tests/data/Mppls-2009-BOE-full.ods new file mode 100644 index 0000000000000000000000000000000000000000..3d883ef36587f223c58a9e2e8b72aa693f5fada5 GIT binary patch literal 28111 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 Qau4v&1=!+!$sPRkzv;s+MF0Q* literal 0 HcmV?d00001 diff --git a/tests/minneapolis.rs b/tests/minneapolis.rs new file mode 100644 index 0000000..f70eac4 --- /dev/null +++ b/tests/minneapolis.rs @@ -0,0 +1,35 @@ +/* OpenTally: Open-source election vote counting + * Copyright © 2021 Lee Yingtong Li (RunasSudo) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +mod utils; + +use opentally::numbers::Rational; +use opentally::stv; + +#[test] +fn minneapolis_boe09_rational() { + let stv_opts = stv::STVOptionsBuilder::default() + .round_surplus_fractions(Some(4)) + .round_quota(Some(0)) + .quota(stv::QuotaType::Droop) + .quota_criterion(stv::QuotaCriterion::GreaterOrEqual) + .early_bulk_elect(false) + .bulk_exclude(true) + .build().unwrap(); + + utils::read_validate_election::("tests/data/Mppls-2009-BOE-full.csv", "tests/data/Mppls-2009-BOE-full.blt", stv_opts, Some(4), &[]); +}