diff --git a/docs/options.md b/docs/options.md
index 45ce382..51170b1 100644
--- a/docs/options.md
+++ b/docs/options.md
@@ -15,6 +15,7 @@ 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. | | ✓ |
+| 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. | | ✓ |
@@ -216,12 +217,17 @@ When deferred surpluses is disabled (default), all surpluses must be transferred
When deferred surpluses is enabled, the transfer of all surpluses is deferred if doing so could not change the order of exclusion (including of a bulk exclusion, if that is enabled).
-### (Meek) Immediate election (--meek-immediate-elect)
+### Immediate election (--no-immediate-elect)
-When *Surplus method* is set to *Meek method*, this option controls when candidates are elected:
+When *Surplus method* is set to a Gregory or random sample method, this option controls when candidates are elected:
-* When immediate election is disabled (default), all current surpluses are distributed and keep values finalised, before any candidates exceeding the quota are then declared elected. This is the method specified in the 1987 Meek rules.
-* When immediate election is enabled, a candidate meeting the quota interrupts a surplus distribution. The candidate is immediately declared elected, before the distribution of all surpluses of all now-elected candidates continues. This is the method specified in the 2006 Meek rules.
+* When immediate election is enabled (default), a candidate is declared at the end of the stage once reaching the quota. This is typical of most STV rules.
+* When immediate election is disabled, a candidate is declared elected only once their surplus is transferred. This is the method specified by the Minneapolis rules.
+
+Likewise, when *Surplus method* is set to *Meek method*:
+
+* When immediate election is enabled (default), a candidate meeting the quota interrupts a surplus distribution. The candidate is immediately declared elected, before the distribution of all surpluses of all now-elected candidates continues. This is the method specified in the 2006 Meek rules.
+* When immediate election is disabled, all current surpluses are distributed and keep values finalised, before any candidates exceeding the quota are then declared elected. This is the method specified in the 1987 Meek rules.
### Minimum threshold (--min-threshold)
diff --git a/docs/validation.md b/docs/validation.md
index e558b99..5414526 100644
--- a/docs/validation.md
+++ b/docs/validation.md
@@ -11,6 +11,8 @@ 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) | ✓ |
+| Minneapolis STV | [2013 Minneapolis Parks & Recreation Commissioner At Large election](https://vote.minneapolismn.gov/results-data/election-results/2013/park-board-at-large/) | 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 a8a0c5d..5827e52 100644
--- a/html/index.html
+++ b/html/index.html
@@ -45,7 +45,7 @@
Australian Capital Territory STV
Western Australia STV
Meek STV (New Zealand)
-
+ Minneapolis STV
Cambridge STV
@@ -226,8 +226,7 @@
Defer surpluses
-
- Meek
+
Immediate election
diff --git a/html/index.js b/html/index.js
index 4f4c3bd..602006e 100644
--- a/html/index.js
+++ b/html/index.js
@@ -154,7 +154,7 @@ async function clickCount() {
document.getElementById('chkBulkElection').checked,
document.getElementById('chkBulkExclusion').checked,
document.getElementById('chkDeferSurpluses').checked,
- document.getElementById('chkMeekImmediateElect').checked,
+ document.getElementById('chkImmediateElect').checked,
document.getElementById('txtMinThreshold').value,
conPath,
"guard_doom",
@@ -370,6 +370,7 @@ function changePreset() {
document.getElementById('chkBulkElection').checked = true;
document.getElementById('chkBulkExclusion').checked = false;
document.getElementById('chkDeferSurpluses').checked = false;
+ document.getElementById('chkImmediateElect').checked = true;
document.getElementById('txtMinThreshold').value = '0';
document.getElementById('selNumbers').value = 'rational';
document.getElementById('txtPPDP').value = '2';
@@ -391,6 +392,7 @@ function changePreset() {
document.getElementById('chkBulkElection').checked = true;
document.getElementById('chkBulkExclusion').checked = false;
document.getElementById('chkDeferSurpluses').checked = false;
+ document.getElementById('chkImmediateElect').checked = true;
document.getElementById('txtMinThreshold').value = '0';
document.getElementById('selNumbers').value = 'fixed';
document.getElementById('txtDP').value = '5';
@@ -415,7 +417,7 @@ function changePreset() {
document.getElementById('chkBulkElection').checked = true;
document.getElementById('chkBulkExclusion').checked = false;
document.getElementById('chkDeferSurpluses').checked = false;
- document.getElementById('chkMeekImmediateElect').checked = false;
+ document.getElementById('chkImmediateElect').checked = false;
document.getElementById('chkMeekNZExclusion').checked = false;
document.getElementById('txtMinThreshold').value = '0';
document.getElementById('selNumbers').value = 'fixed';
@@ -440,7 +442,7 @@ function changePreset() {
document.getElementById('chkBulkElection').checked = true;
document.getElementById('chkBulkExclusion').checked = false;
document.getElementById('chkDeferSurpluses').checked = true;
- document.getElementById('chkMeekImmediateElect').checked = true;
+ document.getElementById('chkImmediateElect').checked = true;
document.getElementById('chkMeekNZExclusion').checked = false;
document.getElementById('txtMinThreshold').value = '0';
document.getElementById('selNumbers').value = 'fixed';
@@ -469,7 +471,7 @@ function changePreset() {
document.getElementById('chkBulkElection').checked = true;
document.getElementById('chkBulkExclusion').checked = false;
document.getElementById('chkDeferSurpluses').checked = true;
- document.getElementById('chkMeekImmediateElect').checked = true;
+ document.getElementById('chkImmediateElect').checked = true;
document.getElementById('chkMeekNZExclusion').checked = true;
document.getElementById('txtMinThreshold').value = '0';
document.getElementById('selNumbers').value = 'fixed';
@@ -498,6 +500,7 @@ function changePreset() {
document.getElementById('chkBulkElection').checked = true;
document.getElementById('chkBulkExclusion').checked = false; // Senate "bulk exclusion" does not permit quota to be exceeded
document.getElementById('chkDeferSurpluses').checked = false;
+ document.getElementById('chkImmediateElect').checked = true;
document.getElementById('txtMinThreshold').value = '0';
document.getElementById('selNumbers').value = 'rational';
document.getElementById('txtPPDP').value = '0';
@@ -521,6 +524,7 @@ function changePreset() {
document.getElementById('chkBulkElection').checked = true;
document.getElementById('chkBulkExclusion').checked = false;
document.getElementById('chkDeferSurpluses').checked = false;
+ document.getElementById('chkImmediateElect').checked = true;
document.getElementById('txtMinThreshold').value = '0';
document.getElementById('selNumbers').value = 'rational';
document.getElementById('txtPPDP').value = '0';
@@ -544,6 +548,7 @@ function changePreset() {
document.getElementById('chkBulkElection').checked = true;
document.getElementById('chkBulkExclusion').checked = false;
document.getElementById('chkDeferSurpluses').checked = false;
+ document.getElementById('chkImmediateElect').checked = true;
document.getElementById('txtMinThreshold').value = '0';
document.getElementById('selNumbers').value = 'rational';
document.getElementById('txtPPDP').value = '2';
@@ -560,13 +565,14 @@ 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') {
+ } 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('chkDeferSurpluses').checked = true;
+ document.getElementById('chkImmediateElect').checked = false;
document.getElementById('txtMinThreshold').value = '0';
document.getElementById('selNumbers').value = 'fixed';
document.getElementById('txtDP').value = '4';
@@ -584,13 +590,14 @@ function changePreset() {
document.getElementById('selPapers').value = 'both';
document.getElementById('selExclusion').value = 'single_stage';
document.getElementById('selTies').value = 'random';
- }*/ else if (document.getElementById('selPreset').value === 'cambridge') {
+ } else if (document.getElementById('selPreset').value === 'cambridge') {
document.getElementById('selQuotaCriterion').value = 'geq';
document.getElementById('selQuota').value = 'droop';
document.getElementById('selQuotaMode').value = 'static';
document.getElementById('chkBulkElection').checked = true;
document.getElementById('chkBulkExclusion').checked = false;
document.getElementById('chkDeferSurpluses').checked = false;
+ document.getElementById('chkImmediateElect').checked = true;
document.getElementById('selSample').value = 'nth_ballot';
document.getElementById('chkSamplePerBallot').checked = true;
document.getElementById('txtMinThreshold').value = '49';
@@ -611,6 +618,7 @@ function changePreset() {
document.getElementById('chkBulkElection').checked = true;
document.getElementById('chkBulkExclusion').checked = true;
document.getElementById('chkDeferSurpluses').checked = false;
+ document.getElementById('chkImmediateElect').checked = true;
document.getElementById('txtMinThreshold').value = '0';
document.getElementById('selNumbers').value = 'fixed';
document.getElementById('txtDP').value = '5';
@@ -634,6 +642,7 @@ function changePreset() {
document.getElementById('chkBulkElection').checked = true;
document.getElementById('chkBulkExclusion').checked = false;
document.getElementById('chkDeferSurpluses').checked = true;
+ document.getElementById('chkImmediateElect').checked = true;
document.getElementById('txtMinThreshold').value = '0';
document.getElementById('selNumbers').value = 'fixed';
document.getElementById('txtDP').value = '6';
@@ -660,6 +669,7 @@ function changePreset() {
document.getElementById('chkBulkElection').checked = true;
document.getElementById('chkBulkExclusion').checked = true;
document.getElementById('chkDeferSurpluses').checked = true;
+ document.getElementById('chkImmediateElect').checked = true;
document.getElementById('txtMinThreshold').value = '0';
document.getElementById('selNumbers').value = 'fixed';
document.getElementById('txtDP').value = '5';
@@ -686,6 +696,7 @@ function changePreset() {
document.getElementById('chkBulkElection').checked = true;
document.getElementById('chkBulkExclusion').checked = true;
document.getElementById('chkDeferSurpluses').checked = true;
+ document.getElementById('chkImmediateElect').checked = true;
document.getElementById('txtMinThreshold').value = '0';
document.getElementById('selNumbers').value = 'fixed';
document.getElementById('txtDP').value = '5';
@@ -712,6 +723,7 @@ function changePreset() {
document.getElementById('chkBulkElection').checked = true;
document.getElementById('chkBulkExclusion').checked = true;
document.getElementById('chkDeferSurpluses').checked = true;
+ document.getElementById('chkImmediateElect').checked = true;
document.getElementById('txtMinThreshold').value = '0';
document.getElementById('selNumbers').value = 'fixed';
document.getElementById('txtDP').value = '5';
@@ -738,6 +750,7 @@ function changePreset() {
document.getElementById('chkBulkElection').checked = true;
document.getElementById('chkBulkExclusion').checked = false;
document.getElementById('chkDeferSurpluses').checked = true;
+ document.getElementById('chkImmediateElect').checked = true;
document.getElementById('txtMinThreshold').value = '0';
document.getElementById('selNumbers').value = 'fixed';
document.getElementById('txtDP').value = '5';
diff --git a/src/main.rs b/src/main.rs
index 8b0a385..82b3ea5 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -162,9 +162,9 @@ struct STV {
#[clap(help_heading=Some("COUNT OPTIMISATIONS"), long)]
defer_surpluses: bool,
- /// (Meek STV) Immediately elect candidates even if keep values have not converged
+ /// Elect candidates only when their surpluses are distributed; (Meek STV) Wait for keep values to converge before electing candidates
#[clap(help_heading=Some("COUNT OPTIMISATIONS"), long)]
- meek_immediate_elect: bool,
+ no_immediate_elect: bool,
/// On exclusion, exclude any candidate with fewer than this many votes
#[clap(help_heading=Some("COUNT OPTIMISATIONS"), long, default_value="0", value_name="votes")]
@@ -287,7 +287,7 @@ where
!cmd_opts.no_early_bulk_elect,
cmd_opts.bulk_exclude,
cmd_opts.defer_surpluses,
- cmd_opts.meek_immediate_elect,
+ !cmd_opts.no_immediate_elect,
cmd_opts.min_threshold,
cmd_opts.constraints,
cmd_opts.constraint_mode.into(),
diff --git a/src/parser/blt.rs b/src/parser/blt.rs
index 69ddb4f..21d0719 100644
--- a/src/parser/blt.rs
+++ b/src/parser/blt.rs
@@ -325,7 +325,6 @@ impl> BLTParser {
/// Peek at the next character in the stream
fn lookahead(&mut self) -> char {
- // TODO: Cache this?
return *self.chars.peek().expect("Unexpected EOF");
}
diff --git a/src/stv/gregory.rs b/src/stv/gregory.rs
index 3dacf10..13eb98c 100644
--- a/src/stv/gregory.rs
+++ b/src/stv/gregory.rs
@@ -106,6 +106,22 @@ where
max_cands[0]
};
+ // If --no-immediate-elect, declare elected the candidate with the highest surplus
+ if !opts.immediate_elect {
+ let count_card = state.candidates.get_mut(elected_candidate).unwrap();
+ count_card.state = CandidateState::Elected;
+ state.num_elected += 1;
+ count_card.order_elected = state.num_elected as isize;
+
+ state.logger.log_smart(
+ "{} meets the quota and is elected.",
+ "{} meet the quota and are elected.",
+ vec![&elected_candidate.name]
+ );
+
+ constraints::update_constraints(state, opts);
+ }
+
match opts.surplus {
SurplusMethod::WIG | SurplusMethod::UIG | SurplusMethod::EG => { distribute_surplus(state, &opts, elected_candidate); }
SurplusMethod::Cincinnati | SurplusMethod::Hare => { sample::distribute_surplus(state, &opts, elected_candidate)?; }
@@ -114,6 +130,15 @@ where
return Ok(true);
}
+
+ // If --no-immediate-elect, check for candidates with exactly a quota to elect
+ // However, if --defer-surpluses, zero surplus is necessarily deferred so skip
+ if !opts.immediate_elect && !opts.defer_surpluses {
+ if super::elect_hopefuls(state, opts, false)? {
+ return Ok(true);
+ }
+ }
+
return Ok(false);
}
diff --git a/src/stv/meek.rs b/src/stv/meek.rs
index 348708b..68f36af 100644
--- a/src/stv/meek.rs
+++ b/src/stv/meek.rs
@@ -279,9 +279,9 @@ where
// Recompute quota if more ballots have become exhausted
super::calculate_quota(state, opts);
- if opts.meek_immediate_elect {
+ if opts.immediate_elect {
// Try to elect candidates
- if super::elect_hopefuls(state, opts)? {
+ if super::elect_hopefuls(state, opts, true)? {
candidates_elected = Some(state.logger.entries.pop().unwrap());
break;
}
diff --git a/src/stv/mod.rs b/src/stv/mod.rs
index 312fd8a..53b787a 100644
--- a/src/stv/mod.rs
+++ b/src/stv/mod.rs
@@ -130,9 +130,9 @@ pub struct STVOptions {
#[builder(default="false")]
pub defer_surpluses: bool,
- /// (Meek STV) Immediately elect candidates even if keep values have not converged
- #[builder(default="false")]
- pub meek_immediate_elect: bool,
+ /// Elect candidates on meeting the quota, rather than on surpluses being distributed; (Meek STV) Immediately elect candidates even if keep values have not converged
+ #[builder(default="true")]
+ pub immediate_elect: bool,
/// On exclusion, exclude any candidate with this many votes or fewer
#[builder(default="\"0\".to_string()")]
@@ -191,7 +191,7 @@ impl STVOptions {
if !self.early_bulk_elect { flags.push("--no-early-bulk-elect".to_string()); }
if self.bulk_exclude { flags.push("--bulk-exclude".to_string()); }
if self.defer_surpluses { flags.push("--defer-surpluses".to_string()); }
- if self.surplus == SurplusMethod::Meek && self.meek_immediate_elect { flags.push("--meek-immediate-elect".to_string()); }
+ if !self.immediate_elect { flags.push("--no-immediate-elect".to_string()); }
if self.min_threshold != "1" { flags.push(format!("--min-threshold {}", self.min_threshold)); }
if let Some(path) = &self.constraints_path {
flags.push(format!("--constraints {}", path));
@@ -213,6 +213,7 @@ impl STVOptions {
if self.round_quota != Some(0) { return Err(STVError::InvalidOptions("--surplus cincinnati and --surplus hare require --round-quota 0")); }
if !self.normalise_ballots { return Err(STVError::InvalidOptions("--surplus cincinnati and --surplus hare require --normalise-ballots")); }
if self.sample == SampleMethod::Stratified && self.sample_per_ballot { return Err(STVError::InvalidOptions("--sample stratified is incompatible with --sample-per-ballot")); }
+ if self.sample_per_ballot && !self.immediate_elect { return Err(STVError::InvalidOptions("--sample-per-ballot is incompatible with --no-immediate-elect")); }
}
if self.min_threshold != "0" && self.defer_surpluses { return Err(STVError::InvalidOptions("--min-threshold is incompatible with --defer-surpluses")); } // TODO: Permit this
return Ok(());
@@ -588,7 +589,7 @@ where
distribute_first_preferences(state, opts);
calculate_quota(state, opts);
- elect_hopefuls(state, opts)?;
+ elect_hopefuls(state, opts, true)?;
init_tiebreaks(state, opts);
return Ok(());
@@ -622,7 +623,7 @@ where
// Continue exclusions
if continue_exclusion(state, &opts)? {
calculate_quota(state, opts);
- elect_hopefuls(state, opts)?;
+ elect_hopefuls(state, opts, true)?;
update_tiebreaks(state, opts);
return Ok(false);
}
@@ -630,7 +631,7 @@ where
// Exclude doomed candidates
if exclude_doomed(state, &opts)? {
calculate_quota(state, opts);
- elect_hopefuls(state, opts)?;
+ elect_hopefuls(state, opts, true)?;
update_tiebreaks(state, opts);
return Ok(false);
}
@@ -638,7 +639,7 @@ where
// Distribute surpluses
if distribute_surpluses(state, &opts)? {
calculate_quota(state, opts);
- elect_hopefuls(state, opts)?;
+ elect_hopefuls(state, opts, true)?;
update_tiebreaks(state, opts);
return Ok(false);
}
@@ -651,7 +652,7 @@ where
// Exclude lowest hopeful
exclude_hopefuls(state, &opts)?; // Cannot fail
calculate_quota(state, opts);
- elect_hopefuls(state, opts)?;
+ elect_hopefuls(state, opts, true)?;
update_tiebreaks(state, opts);
return Ok(false);
}
@@ -971,7 +972,12 @@ fn elect_sure_winners<'a, N: Number>(state: &mut CountState<'a, N>, opts: &STVOp
/// Declare elected all candidates meeting the quota, and (if enabled) any candidates who can be early bulk elected because they have sufficiently many votes
///
/// Returns `true` if any candidates were elected.
-fn elect_hopefuls<'a, N: Number>(state: &mut CountState<'a, N>, opts: &STVOptions) -> Result {
+fn elect_hopefuls<'a, N: Number>(state: &mut CountState<'a, N>, opts: &STVOptions, if_immediate: bool) -> Result {
+ if opts.immediate_elect != if_immediate && opts.surplus != SurplusMethod::Meek {
+ // For --no-immediate-elect
+ return Ok(false);
+ }
+
let mut cands_meeting_quota: Vec<(&Candidate, &CountCard)> = state.election.candidates.iter() // Present in order in case of tie
.map(|c| (c, &state.candidates[c]))
.filter(|(_, cc)| { (cc.state == CandidateState::Hopeful || cc.state == CandidateState::Guarded) && meets_vre(state, cc, opts) })
@@ -1030,7 +1036,7 @@ fn elect_hopefuls<'a, N: Number>(state: &mut CountState<'a, N>, opts: &STVOption
calculate_quota(state, opts);
// Repeat in case vote required for election has changed
- match elect_hopefuls(state, opts) {
+ match elect_hopefuls(state, opts, true) {
Ok(_) => { break; }
Err(e) => { return Err(e); }
}
diff --git a/src/stv/sample.rs b/src/stv/sample.rs
index 48b9af4..38d360c 100644
--- a/src/stv/sample.rs
+++ b/src/stv/sample.rs
@@ -311,7 +311,7 @@ fn transfer_ballot<'a, N: Number>(state: &mut CountState<'a, N>, opts: &STVOptio
}
if opts.sample_per_ballot {
- super::elect_hopefuls(state, opts)?;
+ super::elect_hopefuls(state, opts, true)?;
}
} else {
// Exhausted
diff --git a/src/stv/wasm.rs b/src/stv/wasm.rs
index ca3eb81..48acd11 100644
--- a/src/stv/wasm.rs
+++ b/src/stv/wasm.rs
@@ -234,7 +234,7 @@ impl STVOptions {
early_bulk_elect: bool,
bulk_exclude: bool,
defer_surpluses: bool,
- meek_immediate_elect: bool,
+ immediate_elect: bool,
min_threshold: String,
constraints_path: Option,
constraint_mode: &str,
@@ -262,7 +262,7 @@ impl STVOptions {
early_bulk_elect,
bulk_exclude,
defer_surpluses,
- meek_immediate_elect,
+ immediate_elect,
min_threshold,
constraints_path,
constraint_mode.into(),
diff --git a/tests/data/2013-Park-At-Large-CVR.blt b/tests/data/2013-Park-At-Large-CVR.blt
new file mode 100644
index 0000000..eef14c0
--- /dev/null
+++ b/tests/data/2013-Park-At-Large-CVR.blt
@@ -0,0 +1,950 @@
+# Comment: 2013 Minneapolis Park and Recreation Commissioner At Large election - all votes - Minneapolis STV
+# Source: https://vote.minneapolismn.gov/results-data/election-results/2013/
+# Contributor: RunasSudo
+11 3
+20638 0
+2231 1 0
+21 1 2 0
+5 1 2 3 0
+19 1 2 4 0
+31 1 2 5 0
+19 1 2 6 0
+35 1 2 7 0
+43 1 2 8 0
+13 1 2 9 0
+7 1 2 10 0
+47 1 3 0
+8 1 3 2 0
+68 1 3 4 0
+25 1 3 5 0
+14 1 3 6 0
+32 1 3 7 0
+35 1 3 8 0
+9 1 3 9 0
+13 1 3 10 0
+96 1 4 0
+33 1 4 2 0
+88 1 4 3 0
+51 1 4 5 0
+85 1 4 6 0
+61 1 4 7 0
+100 1 4 8 0
+17 1 4 9 0
+29 1 4 10 0
+6 1 4 11 0
+127 1 5 0
+44 1 5 2 0
+28 1 5 3 0
+96 1 5 4 0
+394 1 5 6 0
+66 1 5 7 0
+150 1 5 8 0
+60 1 5 9 0
+119 1 5 10 0
+2 1 5 11 0
+221 1 6 0
+35 1 6 2 0
+34 1 6 3 0
+139 1 6 4 0
+560 1 6 5 0
+55 1 6 7 0
+181 1 6 8 0
+44 1 6 9 0
+278 1 6 10 0
+4 1 6 11 0
+76 1 7 0
+35 1 7 2 0
+24 1 7 3 0
+40 1 7 4 0
+56 1 7 5 0
+29 1 7 6 0
+487 1 7 8 0
+28 1 7 9 0
+39 1 7 10 0
+257 1 8 0
+42 1 8 2 0
+47 1 8 3 0
+98 1 8 4 0
+124 1 8 5 0
+140 1 8 6 0
+820 1 8 7 0
+52 1 8 9 0
+110 1 8 10 0
+9 1 8 11 0
+38 1 9 0
+23 1 9 2 0
+12 1 9 3 0
+18 1 9 4 0
+36 1 9 5 0
+41 1 9 6 0
+26 1 9 7 0
+68 1 9 8 0
+27 1 9 10 0
+97 1 10 0
+23 1 10 2 0
+17 1 10 3 0
+28 1 10 4 0
+56 1 10 5 0
+174 1 10 6 0
+41 1 10 7 0
+113 1 10 8 0
+46 1 10 9 0
+16 1 11 0
+1 1 11 6 0
+2 1 11 8 0
+293 2 0
+23 2 1 0
+6 2 1 3 0
+7 2 1 4 0
+28 2 1 5 0
+25 2 1 6 0
+17 2 1 7 0
+24 2 1 8 0
+9 2 1 9 0
+7 2 1 10 0
+4 2 1 11 0
+2 2 3 0
+3 2 3 1 0
+11 2 3 4 0
+3 2 3 5 0
+2 2 3 6 0
+7 2 3 8 0
+4 2 3 9 0
+7 2 4 0
+12 2 4 1 0
+13 2 4 3 0
+5 2 4 5 0
+5 2 4 6 0
+8 2 4 7 0
+4 2 4 8 0
+5 2 4 9 0
+2 2 4 10 0
+2 2 4 11 0
+10 2 5 0
+28 2 5 1 0
+4 2 5 3 0
+4 2 5 4 0
+16 2 5 6 0
+6 2 5 7 0
+22 2 5 8 0
+13 2 5 9 0
+9 2 5 10 0
+1 2 5 11 0
+24 2 6 0
+38 2 6 1 0
+3 2 6 3 0
+14 2 6 4 0
+39 2 6 5 0
+10 2 6 7 0
+19 2 6 8 0
+16 2 6 9 0
+18 2 6 10 0
+1 2 6 11 0
+15 2 7 0
+23 2 7 1 0
+2 2 7 3 0
+6 2 7 4 0
+7 2 7 5 0
+8 2 7 6 0
+17 2 7 8 0
+18 2 7 9 0
+4 2 7 10 0
+28 2 8 0
+31 2 8 1 0
+8 2 8 3 0
+9 2 8 4 0
+12 2 8 5 0
+34 2 8 6 0
+17 2 8 7 0
+14 2 8 9 0
+13 2 8 10 0
+12 2 9 0
+5 2 9 1 0
+3 2 9 3 0
+12 2 9 4 0
+7 2 9 5 0
+15 2 9 6 0
+15 2 9 7 0
+13 2 9 8 0
+11 2 9 10 0
+2 2 9 11 0
+11 2 10 0
+11 2 10 1 0
+3 2 10 3 0
+5 2 10 4 0
+8 2 10 5 0
+16 2 10 6 0
+9 2 10 7 0
+10 2 10 8 0
+8 2 10 9 0
+5 2 11 0
+2520 3 0
+36 3 1 0
+8 3 1 2 0
+34 3 1 4 0
+35 3 1 5 0
+17 3 1 6 0
+22 3 1 7 0
+41 3 1 8 0
+9 3 1 9 0
+15 3 1 10 0
+4 3 2 0
+5 3 2 1 0
+9 3 2 4 0
+3 3 2 5 0
+1 3 2 6 0
+5 3 2 7 0
+2 3 2 8 0
+4 3 2 9 0
+4 3 2 10 0
+99 3 4 0
+99 3 4 1 0
+35 3 4 2 0
+34 3 4 5 0
+20 3 4 6 0
+73 3 4 7 0
+75 3 4 8 0
+14 3 4 9 0
+26 3 4 10 0
+1 3 4 11 0
+13 3 5 0
+10 3 5 1 0
+4 3 5 2 0
+9 3 5 4 0
+5 3 5 6 0
+6 3 5 7 0
+11 3 5 8 0
+10 3 5 9 0
+4 3 5 10 0
+31 3 6 0
+16 3 6 1 0
+3 3 6 2 0
+10 3 6 4 0
+18 3 6 5 0
+11 3 6 7 0
+10 3 6 8 0
+4 3 6 9 0
+14 3 6 10 0
+15 3 7 0
+20 3 7 1 0
+6 3 7 2 0
+12 3 7 4 0
+6 3 7 5 0
+8 3 7 6 0
+14 3 7 8 0
+8 3 7 9 0
+9 3 7 10 0
+18 3 8 0
+26 3 8 1 0
+11 3 8 2 0
+18 3 8 4 0
+7 3 8 5 0
+6 3 8 6 0
+14 3 8 7 0
+8 3 8 9 0
+8 3 8 10 0
+7 3 9 0
+6 3 9 1 0
+4 3 9 2 0
+3 3 9 4 0
+5 3 9 5 0
+3 3 9 6 0
+3 3 9 7 0
+7 3 9 8 0
+2 3 9 10 0
+1 3 9 11 0
+10 3 10 0
+14 3 10 1 0
+7 3 10 2 0
+9 3 10 4 0
+2 3 10 5 0
+10 3 10 6 0
+2 3 10 7 0
+5 3 10 8 0
+3 3 10 9 0
+6 3 11 0
+911 4 0
+100 4 1 0
+13 4 1 2 0
+70 4 1 3 0
+67 4 1 5 0
+69 4 1 6 0
+44 4 1 7 0
+96 4 1 8 0
+13 4 1 9 0
+23 4 1 10 0
+4 4 1 11 0
+14 4 2 0
+18 4 2 1 0
+22 4 2 3 0
+13 4 2 5 0
+7 4 2 6 0
+14 4 2 7 0
+29 4 2 8 0
+8 4 2 9 0
+4 4 2 10 0
+2 4 2 11 0
+97 4 3 0
+105 4 3 1 0
+39 4 3 2 0
+43 4 3 5 0
+25 4 3 6 0
+57 4 3 7 0
+74 4 3 8 0
+18 4 3 9 0
+31 4 3 10 0
+5 4 3 11 0
+22 4 5 0
+62 4 5 1 0
+18 4 5 2 0
+31 4 5 3 0
+54 4 5 6 0
+25 4 5 7 0
+15 4 5 8 0
+10 4 5 9 0
+30 4 5 10 0
+3 4 5 11 0
+39 4 6 0
+72 4 6 1 0
+12 4 6 2 0
+17 4 6 3 0
+53 4 6 5 0
+13 4 6 7 0
+18 4 6 8 0
+8 4 6 9 0
+36 4 6 10 0
+2 4 6 11 0
+12 4 7 0
+49 4 7 1 0
+12 4 7 2 0
+25 4 7 3 0
+16 4 7 5 0
+8 4 7 6 0
+38 4 7 8 0
+8 4 7 9 0
+9 4 7 10 0
+2 4 7 11 0
+56 4 8 0
+91 4 8 1 0
+16 4 8 2 0
+41 4 8 3 0
+31 4 8 5 0
+21 4 8 6 0
+50 4 8 7 0
+12 4 8 9 0
+17 4 8 10 0
+15 4 9 0
+8 4 9 1 0
+8 4 9 2 0
+9 4 9 3 0
+10 4 9 5 0
+8 4 9 6 0
+7 4 9 7 0
+5 4 9 8 0
+7 4 9 10 0
+22 4 10 0
+17 4 10 1 0
+10 4 10 2 0
+11 4 10 3 0
+11 4 10 5 0
+27 4 10 6 0
+7 4 10 7 0
+14 4 10 8 0
+3 4 10 9 0
+10 4 11 0
+2 4 11 2 0
+1 4 11 3 0
+1 4 11 5 0
+3 4 11 8 0
+1033 5 0
+150 5 1 0
+33 5 1 2 0
+32 5 1 3 0
+73 5 1 4 0
+405 5 1 6 0
+58 5 1 7 0
+98 5 1 8 0
+41 5 1 9 0
+74 5 1 10 0
+3 5 1 11 0
+17 5 2 0
+29 5 2 1 0
+6 5 2 3 0
+6 5 2 4 0
+31 5 2 6 0
+18 5 2 7 0
+15 5 2 8 0
+15 5 2 9 0
+15 5 2 10 0
+3 5 2 11 0
+20 5 3 0
+12 5 3 1 0
+6 5 3 2 0
+9 5 3 4 0
+13 5 3 6 0
+5 5 3 7 0
+9 5 3 8 0
+7 5 3 9 0
+5 5 3 10 0
+41 5 4 0
+59 5 4 1 0
+12 5 4 2 0
+25 5 4 3 0
+69 5 4 6 0
+13 5 4 7 0
+32 5 4 8 0
+5 5 4 9 0
+25 5 4 10 0
+1 5 4 11 0
+114 5 6 0
+535 5 6 1 0
+39 5 6 2 0
+12 5 6 3 0
+215 5 6 4 0
+19 5 6 7 0
+107 5 6 8 0
+63 5 6 9 0
+275 5 6 10 0
+2 5 6 11 0
+17 5 7 0
+34 5 7 1 0
+9 5 7 2 0
+5 5 7 3 0
+12 5 7 4 0
+23 5 7 6 0
+23 5 7 8 0
+19 5 7 9 0
+15 5 7 10 0
+83 5 8 0
+86 5 8 1 0
+24 5 8 2 0
+15 5 8 3 0
+29 5 8 4 0
+55 5 8 6 0
+59 5 8 7 0
+41 5 8 9 0
+47 5 8 10 0
+2 5 8 11 0
+50 5 9 0
+32 5 9 1 0
+24 5 9 2 0
+4 5 9 3 0
+13 5 9 4 0
+75 5 9 6 0
+21 5 9 7 0
+38 5 9 8 0
+37 5 9 10 0
+51 5 10 0
+58 5 10 1 0
+16 5 10 2 0
+8 5 10 3 0
+19 5 10 4 0
+194 5 10 6 0
+24 5 10 7 0
+41 5 10 8 0
+137 5 10 9 0
+2 5 10 11 0
+10 5 11 0
+1 5 11 9 0
+2062 6 0
+351 6 1 0
+89 6 1 2 0
+46 6 1 3 0
+178 6 1 4 0
+2047 6 1 5 0
+72 6 1 7 0
+287 6 1 8 0
+109 6 1 9 0
+472 6 1 10 0
+2 6 1 11 0
+40 6 2 0
+52 6 2 1 0
+11 6 2 3 0
+30 6 2 4 0
+62 6 2 5 0
+20 6 2 7 0
+30 6 2 8 0
+21 6 2 9 0
+37 6 2 10 0
+3 6 2 11 0
+53 6 3 0
+19 6 3 1 0
+12 6 3 2 0
+29 6 3 4 0
+23 6 3 5 0
+12 6 3 7 0
+10 6 3 8 0
+7 6 3 9 0
+16 6 3 10 0
+3 6 3 11 0
+58 6 4 0
+106 6 4 1 0
+17 6 4 2 0
+33 6 4 3 0
+128 6 4 5 0
+17 6 4 7 0
+72 6 4 8 0
+14 6 4 9 0
+50 6 4 10 0
+203 6 5 0
+875 6 5 1 0
+106 6 5 2 0
+35 6 5 3 0
+222 6 5 4 0
+47 6 5 7 0
+201 6 5 8 0
+142 6 5 9 0
+334 6 5 10 0
+6 6 5 11 0
+53 6 7 0
+54 6 7 1 0
+9 6 7 2 0
+18 6 7 3 0
+19 6 7 4 0
+59 6 7 5 0
+50 6 7 8 0
+35 6 7 9 0
+43 6 7 10 0
+194 6 8 0
+218 6 8 1 0
+44 6 8 2 0
+29 6 8 3 0
+75 6 8 4 0
+132 6 8 5 0
+71 6 8 7 0
+54 6 8 9 0
+154 6 8 10 0
+54 6 9 0
+60 6 9 1 0
+27 6 9 2 0
+6 6 9 3 0
+20 6 9 4 0
+77 6 9 5 0
+22 6 9 7 0
+45 6 9 8 0
+85 6 9 10 0
+3 6 9 11 0
+2031 6 10 0
+696 6 10 1 0
+55 6 10 2 0
+48 6 10 3 0
+110 6 10 4 0
+433 6 10 5 0
+115 6 10 7 0
+415 6 10 8 0
+158 6 10 9 0
+22 6 10 11 0
+9 6 11 0
+1 6 11 1 0
+1 6 11 5 0
+1 6 11 9 0
+2 6 11 10 0
+887 7 0
+80 7 1 0
+20 7 1 2 0
+26 7 1 3 0
+40 7 1 4 0
+73 7 1 5 0
+40 7 1 6 0
+463 7 1 8 0
+46 7 1 9 0
+43 7 1 10 0
+1 7 1 11 0
+5 7 2 0
+21 7 2 1 0
+7 7 2 3 0
+8 7 2 4 0
+12 7 2 5 0
+9 7 2 6 0
+12 7 2 8 0
+10 7 2 9 0
+10 7 2 10 0
+10 7 3 0
+25 7 3 1 0
+3 7 3 2 0
+22 7 3 4 0
+4 7 3 5 0
+4 7 3 6 0
+15 7 3 8 0
+3 7 3 9 0
+4 7 3 10 0
+1 7 3 11 0
+19 7 4 0
+32 7 4 1 0
+5 7 4 2 0
+15 7 4 3 0
+12 7 4 5 0
+8 7 4 6 0
+15 7 4 8 0
+5 7 4 9 0
+9 7 4 10 0
+20 7 5 0
+49 7 5 1 0
+21 7 5 2 0
+3 7 5 3 0
+8 7 5 4 0
+29 7 5 6 0
+45 7 5 8 0
+18 7 5 9 0
+13 7 5 10 0
+1 7 5 11 0
+19 7 6 0
+40 7 6 1 0
+6 7 6 2 0
+4 7 6 3 0
+8 7 6 4 0
+24 7 6 5 0
+39 7 6 8 0
+11 7 6 9 0
+32 7 6 10 0
+77 7 8 0
+358 7 8 1 0
+27 7 8 2 0
+14 7 8 3 0
+22 7 8 4 0
+23 7 8 5 0
+35 7 8 6 0
+28 7 8 9 0
+29 7 8 10 0
+3 7 8 11 0
+26 7 9 0
+21 7 9 1 0
+15 7 9 2 0
+4 7 9 3 0
+6 7 9 4 0
+32 7 9 5 0
+15 7 9 6 0
+31 7 9 8 0
+9 7 9 10 0
+17 7 10 0
+31 7 10 1 0
+10 7 10 2 0
+10 7 10 4 0
+25 7 10 5 0
+35 7 10 6 0
+27 7 10 8 0
+22 7 10 9 0
+1 7 10 11 0
+4 7 11 0
+1 7 11 1 0
+1 7 11 4 0
+2566 8 0
+250 8 1 0
+58 8 1 2 0
+67 8 1 3 0
+87 8 1 4 0
+127 8 1 5 0
+119 8 1 6 0
+597 8 1 7 0
+78 8 1 9 0
+114 8 1 10 0
+5 8 1 11 0
+24 8 2 0
+27 8 2 1 0
+14 8 2 3 0
+16 8 2 4 0
+18 8 2 5 0
+13 8 2 6 0
+20 8 2 7 0
+11 8 2 9 0
+16 8 2 10 0
+24 8 3 0
+28 8 3 1 0
+3 8 3 2 0
+41 8 3 4 0
+10 8 3 5 0
+6 8 3 6 0
+29 8 3 7 0
+4 8 3 9 0
+11 8 3 10 0
+1 8 3 11 0
+57 8 4 0
+65 8 4 1 0
+13 8 4 2 0
+41 8 4 3 0
+17 8 4 5 0
+21 8 4 6 0
+46 8 4 7 0
+15 8 4 9 0
+17 8 4 10 0
+52 8 5 0
+64 8 5 1 0
+25 8 5 2 0
+11 8 5 3 0
+18 8 5 4 0
+66 8 5 6 0
+37 8 5 7 0
+48 8 5 9 0
+43 8 5 10 0
+2 8 5 11 0
+131 8 6 0
+162 8 6 1 0
+22 8 6 2 0
+15 8 6 3 0
+44 8 6 4 0
+91 8 6 5 0
+98 8 6 7 0
+51 8 6 9 0
+126 8 6 10 0
+4 8 6 11 0
+101 8 7 0
+777 8 7 1 0
+19 8 7 2 0
+26 8 7 3 0
+34 8 7 4 0
+38 8 7 5 0
+46 8 7 6 0
+45 8 7 9 0
+51 8 7 10 0
+1 8 7 11 0
+66 8 9 0
+46 8 9 1 0
+10 8 9 2 0
+18 8 9 3 0
+17 8 9 4 0
+31 8 9 5 0
+36 8 9 6 0
+50 8 9 7 0
+41 8 9 10 0
+159 8 10 0
+111 8 10 1 0
+20 8 10 2 0
+14 8 10 3 0
+32 8 10 4 0
+35 8 10 5 0
+118 8 10 6 0
+56 8 10 7 0
+55 8 10 9 0
+3 8 10 11 0
+9 8 11 0
+1 8 11 1 0
+1 8 11 5 0
+2 8 11 7 0
+1 8 11 10 0
+1311 9 0
+47 9 1 0
+14 9 1 2 0
+10 9 1 3 0
+16 9 1 4 0
+39 9 1 5 0
+60 9 1 6 0
+33 9 1 7 0
+72 9 1 8 0
+24 9 1 10 0
+13 9 2 0
+11 9 2 1 0
+4 9 2 3 0
+6 9 2 4 0
+20 9 2 5 0
+21 9 2 6 0
+25 9 2 7 0
+21 9 2 8 0
+15 9 2 10 0
+6 9 3 0
+6 9 3 1 0
+2 9 3 2 0
+8 9 3 4 0
+4 9 3 5 0
+5 9 3 7 0
+7 9 3 8 0
+1 9 3 10 0
+22 9 4 0
+17 9 4 1 0
+15 9 4 2 0
+11 9 4 3 0
+8 9 4 5 0
+18 9 4 6 0
+7 9 4 7 0
+18 9 4 8 0
+10 9 4 10 0
+47 9 5 0
+41 9 5 1 0
+11 9 5 2 0
+7 9 5 3 0
+16 9 5 4 0
+60 9 5 6 0
+18 9 5 7 0
+50 9 5 8 0
+35 9 5 10 0
+60 9 6 0
+60 9 6 1 0
+21 9 6 2 0
+7 9 6 3 0
+17 9 6 4 0
+66 9 6 5 0
+40 9 6 7 0
+63 9 6 8 0
+98 9 6 10 0
+3 9 6 11 0
+39 9 7 0
+33 9 7 1 0
+13 9 7 2 0
+4 9 7 3 0
+8 9 7 4 0
+23 9 7 5 0
+18 9 7 6 0
+51 9 7 8 0
+26 9 7 10 0
+114 9 8 0
+78 9 8 1 0
+16 9 8 2 0
+12 9 8 3 0
+17 9 8 4 0
+44 9 8 5 0
+39 9 8 6 0
+85 9 8 7 0
+61 9 8 10 0
+2 9 8 11 0
+54 9 10 0
+31 9 10 1 0
+14 9 10 2 0
+4 9 10 3 0
+4 9 10 4 0
+61 9 10 5 0
+98 9 10 6 0
+14 9 10 7 0
+76 9 10 8 0
+1 9 10 11 0
+16 9 11 0
+1 9 11 1 0
+1 9 11 10 0
+1117 10 0
+83 10 1 0
+13 10 1 2 0
+15 10 1 3 0
+20 10 1 4 0
+52 10 1 5 0
+88 10 1 6 0
+39 10 1 7 0
+89 10 1 8 0
+25 10 1 9 0
+1 10 1 11 0
+8 10 2 0
+10 10 2 1 0
+2 10 2 3 0
+13 10 2 5 0
+16 10 2 6 0
+15 10 2 7 0
+13 10 2 8 0
+7 10 2 9 0
+7 10 3 0
+8 10 3 1 0
+3 10 3 2 0
+11 10 3 4 0
+3 10 3 5 0
+5 10 3 6 0
+5 10 3 7 0
+7 10 3 8 0
+3 10 3 9 0
+15 10 4 0
+14 10 4 1 0
+1 10 4 2 0
+24 10 4 3 0
+5 10 4 5 0
+16 10 4 6 0
+10 10 4 7 0
+23 10 4 8 0
+4 10 4 9 0
+52 10 5 0
+57 10 5 1 0
+13 10 5 2 0
+2 10 5 3 0
+9 10 5 4 0
+122 10 5 6 0
+25 10 5 7 0
+53 10 5 8 0
+56 10 5 9 0
+1 10 5 11 0
+1807 10 6 0
+407 10 6 1 0
+27 10 6 2 0
+29 10 6 3 0
+77 10 6 4 0
+313 10 6 5 0
+82 10 6 7 0
+304 10 6 8 0
+117 10 6 9 0
+10 10 6 11 0
+39 10 7 0
+40 10 7 1 0
+11 10 7 2 0
+3 10 7 3 0
+13 10 7 4 0
+19 10 7 5 0
+32 10 7 6 0
+18 10 7 8 0
+15 10 7 9 0
+170 10 8 0
+128 10 8 1 0
+17 10 8 2 0
+15 10 8 3 0
+30 10 8 4 0
+46 10 8 5 0
+100 10 8 6 0
+68 10 8 7 0
+48 10 8 9 0
+53 10 9 0
+34 10 9 1 0
+27 10 9 2 0
+4 10 9 3 0
+15 10 9 4 0
+38 10 9 5 0
+75 10 9 6 0
+24 10 9 7 0
+67 10 9 8 0
+1 10 9 11 0
+8 10 11 0
+289 11 0
+2 11 1 0
+1 11 1 2 0
+1 11 1 3 0
+1 11 1 7 0
+3 11 1 8 0
+1 11 2 4 0
+1 11 2 7 0
+1 11 2 8 0
+1 11 2 9 0
+3 11 3 0
+2 11 3 4 0
+1 11 4 0
+2 11 4 1 0
+1 11 4 7 0
+1 11 4 8 0
+1 11 5 0
+1 11 5 1 0
+1 11 5 3 0
+1 11 5 6 0
+1 11 5 7 0
+1 11 5 8 0
+1 11 5 9 0
+2 11 6 0
+1 11 6 3 0
+1 11 6 5 0
+2 11 6 10 0
+1 11 7 0
+1 11 7 1 0
+1 11 7 4 0
+1 11 7 8 0
+1 11 7 9 0
+3 11 8 0
+1 11 8 1 0
+1 11 8 5 0
+3 11 8 7 0
+1 11 9 4 0
+1 11 9 5 0
+1 11 10 1 0
+1 11 10 4 0
+1 11 10 5 0
+0
+"ANNIE YOUNG"
+"CASPER HILL"
+"HASHIM YONIS"
+"ISHMAEL ISRAEL"
+"JASON STONE"
+"JOHN ERWIN"
+"MARY LYNN MCPHERSON"
+"MEG FORNEY"
+"STEVE BARLAND"
+"TOM NORDYKE"
+"UWI"
+"2013-Park-At-Large-CVR"
diff --git a/tests/data/2013-Park-At-Large-CVR.csv b/tests/data/2013-Park-At-Large-CVR.csv
new file mode 100644
index 0000000..3c21434
--- /dev/null
+++ b/tests/data/2013-Park-At-Large-CVR.csv
@@ -0,0 +1,13 @@
+Stage:,1,,2,,3,,4,,5,,6,,7,,8,,9,
+Comment:,First preferences,,"Exclusion of CASPER HILL, UWI",,Exclusion of ISHMAEL ISRAEL,,Surplus of JOHN ERWIN,,Exclusion of MARY LYNN MCPHERSON,,Exclusion of STEVE BARLAND,,Exclusion of HASHIM YONIS,,Exclusion of JASON STONE,,Exclusion of TOM NORDYKE,
+ANNIE YOUNG,9294,H,9452,H,9983,H,10055.9492,H,11055.9536,H,11528.0696,H,12030.423,H,13905.6980000001,H,13905.6980000001,EL
+CASPER HILL,1280,H,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
+HASHIM YONIS,3762,H,3799,H,4329,H,4333.6314,H,4477.9662,H,4559.0778,H,0,EX,0,EX,0,EX
+ISHMAEL ISRAEL,3305,H,3374,H,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
+JASON STONE,5357,H,5477,H,5766,H,5811.663,H,6090.7604,H,6544.1926,H,6736.6204,H,0,EX,0,EX
+JOHN ERWIN,14678,H,14866,H,15148,H,14866,EL,14866,EL,14866,EL,14866,EL,14866,EL,14866,EL
+MARY LYNN MCPHERSON,3373,H,3479,H,3681,H,3688.44,H,0,EX,0,EX,0,EX,0,EX,0,EX
+MEG FORNEY,7856,H,8031,H,8403,H,8423.646,H,9162.576,H,9833.413,H,10160.599,H,10973.3376,H,10973.3376,EL
+STEVE BARLAND,3705,H,3803,H,3893,H,3901.5374,H,4114.1884,H,0,EX,0,EX,0,EX,0,EX
+TOM NORDYKE,6511,H,6595,H,6723,H,6801.6408,H,7044.4406,H,7580.0216,H,7733.3192,H,8752.5316,H,8752.5316,EX
+UWI,342,H,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX,0,EX
diff --git a/tests/data/2013-Park-At-Large-CVR.ods b/tests/data/2013-Park-At-Large-CVR.ods
new file mode 100644
index 0000000..30f98fd
Binary files /dev/null and b/tests/data/2013-Park-At-Large-CVR.ods differ
diff --git a/tests/data/Mppls-2009-BOE-full.csv b/tests/data/Mppls-2009-BOE-full.csv
index 997c892..c7a1b66 100644
--- a/tests/data/Mppls-2009-BOE-full.csv
+++ b/tests/data/Mppls-2009-BOE-full.csv
@@ -1,479 +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
+Stage:,1,,2,,3,,4,,5,
+Comment:,First preferences,,Surplus of Carol Becker,,,,Exclusion of R. Michael Martens,,"Exclusion of DeWayne Townsend, Phil Wilkie",
+Carol Becker,16728,H,10696,EL,10696,EL,10696,EL,10696,EL
+R. Michael Martens,2778,H,3120.8355,H,3273.431,H,0,EX,0,EX
+James Elliot Swartwood,975,H,1160.6575,H,0,EX,0,EX,0,EX
+DeWayne Townsend,2323,H,3231.46,H,3364.4975,H,3674.074,H,3674.074,EX
+David Wheeler,6107,H,7239.691,H,7490.0575,H,8107.42700000001,H,8107.42700000001,EL
+Phil Wilkie,2950,H,3527.1605,H,3732.408,H,4098.436,H,4098.436,EX
+A. M. RAHAMAN,,H,,H,0,EX,0,EX,0,EX
+AARON JANSON,,H,,H,0,EX,0,EX,0,EX
+ABOLISH THIS BOARD,,H,,H,0,EX,0,EX,0,EX
+ADAM J. WEIGOLD,,H,,H,0,EX,0,EX,0,EX
+ADRIAN ROTH,,H,,H,0,EX,0,EX,0,EX
+ALAN THIEL,,H,,H,0,EX,0,EX,0,EX
+ALE ANDER MATOOSHIK,,H,,H,0,EX,0,EX,0,EX
+ALE EATON,,H,,H,0,EX,0,EX,0,EX
+ALISTER CROWLEY,,H,,H,0,EX,0,EX,0,EX
+ALLEN BREWER,,H,,H,0,EX,0,EX,0,EX
+AL FLOWERS,,H,,H,0,EX,0,EX,0,EX
+AL FRANKEN,,H,,H,0,EX,0,EX,0,EX
+ANIE URBAN,,H,,H,0,EX,0,EX,0,EX
+ANITA BONGHT,,H,,H,0,EX,0,EX,0,EX
+ANN HAUEEJORDE,,H,,H,0,EX,0,EX,0,EX
+ANN SCHWARZ,,H,,H,0,EX,0,EX,0,EX
+ANTHONY THOMPSON,,H,,H,0,EX,0,EX,0,EX
+ANTHONY WINKELS,,H,,H,0,EX,0,EX,0,EX
+ANTHONY WOCELLO,,H,,H,0,EX,0,EX,0,EX
+ART CLARK,,H,,H,0,EX,0,EX,0,EX
+B. BOOTH,,H,,H,0,EX,0,EX,0,EX
+BARACK OBAMA,,H,,H,0,EX,0,EX,0,EX
+BARBARA ATLAS,,H,,H,0,EX,0,EX,0,EX
+BARB DAVIS WHITE,,H,,H,0,EX,0,EX,0,EX
+BARRY MANOFF,,H,,H,0,EX,0,EX,0,EX
+BATMAN,,H,,H,0,EX,0,EX,0,EX
+BENNY HILL,,H,,H,0,EX,0,EX,0,EX
+BEN JOHNSON,,H,,H,0,EX,0,EX,0,EX
+BERNIE MADOFF,,H,,H,0,EX,0,EX,0,EX
+BETSY AKERSON,,H,,H,0,EX,0,EX,0,EX
+BILL HELGESON,,H,,H,0,EX,0,EX,0,EX
+BILL SMITH,,H,,H,0,EX,0,EX,0,EX
+BLAKE JOHNSON,,H,,H,0,EX,0,EX,0,EX
+BOB ERICKSON,,H,,H,0,EX,0,EX,0,EX
+BOB FINE,,H,,H,0,EX,0,EX,0,EX
+BOB HULTEEN,,H,,H,0,EX,0,EX,0,EX
+BOB HUSS,,H,,H,0,EX,0,EX,0,EX
+BOB NOBLE,,H,,H,0,EX,0,EX,0,EX
+BOB SMITH,,H,,H,0,EX,0,EX,0,EX
+BOB WARER,,H,,H,0,EX,0,EX,0,EX
+BRENNA BUSSE,,H,,H,0,EX,0,EX,0,EX
+BRETT FARVE ,,H,,H,0,EX,0,EX,0,EX
+BRETT FAVRE,,H,,H,0,EX,0,EX,0,EX
+BRIAN STROCK,,H,,H,0,EX,0,EX,0,EX
+BUGS BUNNY,,H,,H,0,EX,0,EX,0,EX
+BUTILKA,,H,,H,0,EX,0,EX,0,EX
+C. CARSON,,H,,H,0,EX,0,EX,0,EX
+CARL OLSON,,H,,H,0,EX,0,EX,0,EX
+CAROLYN VAN NELSON,,H,,H,0,EX,0,EX,0,EX
+CAROL CLARK,,H,,H,0,EX,0,EX,0,EX
+CAROL NELSON,,H,,H,0,EX,0,EX,0,EX
+CAROL PASS,,H,,H,0,EX,0,EX,0,EX
+CARRIE FELDMAN,,H,,H,0,EX,0,EX,0,EX
+CATHERINE LUCAS,,H,,H,0,EX,0,EX,0,EX
+CATHERINE PETERS,,H,,H,0,EX,0,EX,0,EX
+CATHERINE SCHACK,,H,,H,0,EX,0,EX,0,EX
+CHAD HENDRI ,,H,,H,0,EX,0,EX,0,EX
+CHAD SNYDER,,H,,H,0,EX,0,EX,0,EX
+CHARLES CARUSO,,H,,H,0,EX,0,EX,0,EX
+CHARLES VANEK,,H,,H,0,EX,0,EX,0,EX
+CHARLIE FRAWLEY,,H,,H,0,EX,0,EX,0,EX
+CHLOE LARSON,,H,,H,0,EX,0,EX,0,EX
+CHRISTINA YEATER,,H,,H,0,EX,0,EX,0,EX
+CHRISTOPHER POUL,,H,,H,0,EX,0,EX,0,EX
+CHRIST PETERSEN,,H,,H,0,EX,0,EX,0,EX
+CHRIS LIZAMA,,H,,H,0,EX,0,EX,0,EX
+CHRIS PETROSKAS,,H,,H,0,EX,0,EX,0,EX
+CHRIS SOLER,,H,,H,0,EX,0,EX,0,EX
+CJ CAMP,,H,,H,0,EX,0,EX,0,EX
+CLARE RITTON,,H,,H,0,EX,0,EX,0,EX
+CLAY LAMBERT,,H,,H,0,EX,0,EX,0,EX
+CLINTON SCHROEDER JR.,,H,,H,0,EX,0,EX,0,EX
+COLIN BLACK,,H,,H,0,EX,0,EX,0,EX
+CONSERVATIVE,,H,,H,0,EX,0,EX,0,EX
+COW ,,H,,H,0,EX,0,EX,0,EX
+CYNTHIA HENDRICKS,,H,,H,0,EX,0,EX,0,EX
+D. GAY MOLDOA,,H,,H,0,EX,0,EX,0,EX
+D. JOSEPH CORBIN,,H,,H,0,EX,0,EX,0,EX
+DALE T NELSON,,H,,H,0,EX,0,EX,0,EX
+DAMON WARD,,H,,H,0,EX,0,EX,0,EX
+DANIEL LOMBARD,,H,,H,0,EX,0,EX,0,EX
+DANIEL SMITH,,H,,H,0,EX,0,EX,0,EX
+DAN DITTMAN,,H,,H,0,EX,0,EX,0,EX
+DAN O'BRIEN,,H,,H,0,EX,0,EX,0,EX
+DAN RENK,,H,,H,0,EX,0,EX,0,EX
+DAREK ANDERSON,,H,,H,0,EX,0,EX,0,EX
+DARRELL WASHINGTON,,H,,H,0,EX,0,EX,0,EX
+DARREN BYRNESY,,H,,H,0,EX,0,EX,0,EX
+DARTH VADER,,H,,H,0,EX,0,EX,0,EX
+DAVE SHEGSTAD,,H,,H,0,EX,0,EX,0,EX
+DAVE WAHLSTEDT,,H,,H,0,EX,0,EX,0,EX
+DAVID BOCKHATON,,H,,H,0,EX,0,EX,0,EX
+DAVID BUCKHALTEN,,H,,H,0,EX,0,EX,0,EX
+DEALER MCDOPE,,H,,H,0,EX,0,EX,0,EX
+DEAN LAMBRECHT,,H,,H,0,EX,0,EX,0,EX
+DEB FELLARA,,H,,H,0,EX,0,EX,0,EX
+DEB PIERCE,,H,,H,0,EX,0,EX,0,EX
+DENNIS D. HOLMAN,,H,,H,0,EX,0,EX,0,EX
+DENNIS SHAPIRO,,H,,H,0,EX,0,EX,0,EX
+DE WAYNE,,H,,H,0,EX,0,EX,0,EX
+DIANA BUCKANAGA,,H,,H,0,EX,0,EX,0,EX
+DIANE CHERPIK,,H,,H,0,EX,0,EX,0,EX
+DIANE HOFSTEDE,,H,,H,0,EX,0,EX,0,EX
+DICK FRANSON,,H,,H,0,EX,0,EX,0,EX
+DICK WESTBY,,H,,H,0,EX,0,EX,0,EX
+DIRK DIGLER,,H,,H,0,EX,0,EX,0,EX
+DON'T KNOW,,H,,H,0,EX,0,EX,0,EX
+DONALD DUCK,,H,,H,0,EX,0,EX,0,EX
+DON BAKKEN,,H,,H,0,EX,0,EX,0,EX
+DON FRASER,,H,,H,0,EX,0,EX,0,EX
+DON SAMUELS,,H,,H,0,EX,0,EX,0,EX
+DOW CONSTANTINE,,H,,H,0,EX,0,EX,0,EX
+DREW POST,,H,,H,0,EX,0,EX,0,EX
+DUANE HAYES,,H,,H,0,EX,0,EX,0,EX
+DUANE TELLE,,H,,H,0,EX,0,EX,0,EX
+D WRIGHT,,H,,H,0,EX,0,EX,0,EX
+ELIZABETH JOHNSTON,,H,,H,0,EX,0,EX,0,EX
+ELIZABETH TEEFY,,H,,H,0,EX,0,EX,0,EX
+ELLEN YOUNG,,H,,H,0,EX,0,EX,0,EX
+ELLIOTT BLACK,,H,,H,0,EX,0,EX,0,EX
+ERICK GRAVATT,,H,,H,0,EX,0,EX,0,EX
+ERIK CORANT,,H,,H,0,EX,0,EX,0,EX
+ERNAIEE APPENZELLER,,H,,H,0,EX,0,EX,0,EX
+EZRA HYLAND,,H,,H,0,EX,0,EX,0,EX
+FAHREEN AKEEM,,H,,H,0,EX,0,EX,0,EX
+FELI HAVOC,,H,,H,0,EX,0,EX,0,EX
+FLOYD OLIVE,,H,,H,0,EX,0,EX,0,EX
+FLYING SPAGETTI MONSTER,,H,,H,0,EX,0,EX,0,EX
+FO MCCLEOD,,H,,H,0,EX,0,EX,0,EX
+FRANKENSCNSE,,H,,H,0,EX,0,EX,0,EX
+FRANKLIN DELANO ROOSEVELT,,H,,H,0,EX,0,EX,0,EX
+FRANK ZAPPA,,H,,H,0,EX,0,EX,0,EX
+FRARESWAN LUSTER,,H,,H,0,EX,0,EX,0,EX
+FRED MARKUS,,H,,H,0,EX,0,EX,0,EX
+FRED VAGLE,,H,,H,0,EX,0,EX,0,EX
+GARY BUSEY,,H,,H,0,EX,0,EX,0,EX
+GARY L. WOLFE,,H,,H,0,EX,0,EX,0,EX
+GARY OGREN,,H,,H,0,EX,0,EX,0,EX
+GARY WINHERDICK,,H,,H,0,EX,0,EX,0,EX
+GENE OBERPPRILLER,,H,,H,0,EX,0,EX,0,EX
+GERALD GUSTAFSON,,H,,H,0,EX,0,EX,0,EX
+GLEN BECK,,H,,H,0,EX,0,EX,0,EX
+GOLD,,H,,H,0,EX,0,EX,0,EX
+GORDON NELSON,,H,,H,0,EX,0,EX,0,EX
+GRANT CERMAK,,H,,H,0,EX,0,EX,0,EX
+GREG MAZZUCA,,H,,H,0,EX,0,EX,0,EX
+GREG WHEEMS,,H,,H,0,EX,0,EX,0,EX
+GREG WINKELS,,H,,H,0,EX,0,EX,0,EX
+GRETCHEN WIENRICH,,H,,H,0,EX,0,EX,0,EX
+GREY HOLCOMB,,H,,H,0,EX,0,EX,0,EX
+GULZAR BABAEVA,,H,,H,0,EX,0,EX,0,EX
+GUY CARON,,H,,H,0,EX,0,EX,0,EX
+GUY LOMBARDO,,H,,H,0,EX,0,EX,0,EX
+HANNAH FAIRMEN,,H,,H,0,EX,0,EX,0,EX
+HANNAH GARCIA,,H,,H,0,EX,0,EX,0,EX
+HAVEN'T A CLUE,,H,,H,0,EX,0,EX,0,EX
+HEIDI GRAVES,,H,,H,0,EX,0,EX,0,EX
+HENRY,,H,,H,0,EX,0,EX,0,EX
+HOMELESS COALITION,,H,,H,0,EX,0,EX,0,EX
+HORVAN DENBERG,,H,,H,0,EX,0,EX,0,EX
+HUH,,H,,H,0,EX,0,EX,0,EX
+IAN THOMAS MCNEIL,,H,,H,0,EX,0,EX,0,EX
+IF ANY,,H,,H,0,EX,0,EX,0,EX
+INCUMBENT,,H,,H,0,EX,0,EX,0,EX
+ISABELLE DENNY,,H,,H,0,EX,0,EX,0,EX
+J.P. BRIDGES,,H,,H,0,EX,0,EX,0,EX
+JACK MACE,,H,,H,0,EX,0,EX,0,EX
+JACK NELSON-POLLMEYER,,H,,H,0,EX,0,EX,0,EX
+JAMES FREID,,H,,H,0,EX,0,EX,0,EX
+JAMES H. RUCINSKI,,H,,H,0,EX,0,EX,0,EX
+JAMES MOORE,,H,,H,0,EX,0,EX,0,EX
+JAMES PATTERSON JR.,,H,,H,0,EX,0,EX,0,EX
+JAMES WHALEN,,H,,H,0,EX,0,EX,0,EX
+JAN REED,,H,,H,0,EX,0,EX,0,EX
+JASON BILL,,H,,H,0,EX,0,EX,0,EX
+JASON BLUMENTHAL,,H,,H,0,EX,0,EX,0,EX
+JASON HOLDEN,,H,,H,0,EX,0,EX,0,EX
+JASON LEWIS,,H,,H,0,EX,0,EX,0,EX
+JASPER FUTUR,,H,,H,0,EX,0,EX,0,EX
+JAY PIVEC,,H,,H,0,EX,0,EX,0,EX
+JEFF EDMAN,,H,,H,0,EX,0,EX,0,EX
+JEFF PETRICH,,H,,H,0,EX,0,EX,0,EX
+JEROME RITTER,,H,,H,0,EX,0,EX,0,EX
+JEROME RITTON,,H,,H,0,EX,0,EX,0,EX
+JERRY LARSEN,,H,,H,0,EX,0,EX,0,EX
+JERRY SCHOO,,H,,H,0,EX,0,EX,0,EX
+JERRY SUNDAHL,,H,,H,0,EX,0,EX,0,EX
+JERRY VAN CLEVE,,H,,H,0,EX,0,EX,0,EX
+JERRY WHITE,,H,,H,0,EX,0,EX,0,EX
+JESSICA WARD-DENNISEN,,H,,H,0,EX,0,EX,0,EX
+JESS SUNDIN,,H,,H,0,EX,0,EX,0,EX
+JESUS,,H,,H,0,EX,0,EX,0,EX
+JILL SCHWIMMER,,H,,H,0,EX,0,EX,0,EX
+JIM GRATHWOL,,H,,H,0,EX,0,EX,0,EX
+JIM HOWITT,,H,,H,0,EX,0,EX,0,EX
+JIM MOORE,,H,,H,0,EX,0,EX,0,EX
+JIM VAN HOUTEN,,H,,H,0,EX,0,EX,0,EX
+JOANNE KAUFMAN,,H,,H,0,EX,0,EX,0,EX
+JODY HARMAN,,H,,H,0,EX,0,EX,0,EX
+JOEL BERGELAND,,H,,H,0,EX,0,EX,0,EX
+JOEY LOMBARD,,H,,H,0,EX,0,EX,0,EX
+JOEY LOMBARD BECAUSE ...,,H,,H,0,EX,0,EX,0,EX
+JOE COOL,,H,,H,0,EX,0,EX,0,EX
+JOE GOUDREAULT,,H,,H,0,EX,0,EX,0,EX
+JOE VOYLES,,H,,H,0,EX,0,EX,0,EX
+JOHN CASE JR.,,H,,H,0,EX,0,EX,0,EX
+JOHN CHARLES WILSON,,H,,H,0,EX,0,EX,0,EX
+JOHN FENA,,H,,H,0,EX,0,EX,0,EX
+JOHN HAYES,,H,,H,0,EX,0,EX,0,EX
+JOHN HOFF,,H,,H,0,EX,0,EX,0,EX
+JOHN MCKINLEY BRADLEY,,H,,H,0,EX,0,EX,0,EX
+JOHN MORIARTY,,H,,H,0,EX,0,EX,0,EX
+JOHN PILARSKI,,H,,H,0,EX,0,EX,0,EX
+JOHN Q PUBLIC,,H,,H,0,EX,0,EX,0,EX
+JOHN SATHER,,H,,H,0,EX,0,EX,0,EX
+JOHN W. BALDWIN,,H,,H,0,EX,0,EX,0,EX
+JON SCHARBER,,H,,H,0,EX,0,EX,0,EX
+JOYCE GRIGSBY,,H,,H,0,EX,0,EX,0,EX
+JOY ANDERSON,,H,,H,0,EX,0,EX,0,EX
+JUDITH BAKER,,H,,H,0,EX,0,EX,0,EX
+JULIA KOSTEN,,H,,H,0,EX,0,EX,0,EX
+JUSTYN SCHAEFER,,H,,H,0,EX,0,EX,0,EX
+K. MIDDLEBROOK,,H,,H,0,EX,0,EX,0,EX
+KAREN GUSTAFSON,,H,,H,0,EX,0,EX,0,EX
+KARL DAVID OLSON,,H,,H,0,EX,0,EX,0,EX
+KATHY HENDRICKS,,H,,H,0,EX,0,EX,0,EX
+KATIE JARVI,,H,,H,0,EX,0,EX,0,EX
+KATIE SHEA,,H,,H,0,EX,0,EX,0,EX
+KATY RIDDLE TEPLEY,,H,,H,0,EX,0,EX,0,EX
+KELLY KRIPPS,,H,,H,0,EX,0,EX,0,EX
+KENNETH ZIMMER,,H,,H,0,EX,0,EX,0,EX
+KEN R. KIENSE,,H,,H,0,EX,0,EX,0,EX
+KEVIN BAUMGARTNER,,H,,H,0,EX,0,EX,0,EX
+KEVIN ERION,,H,,H,0,EX,0,EX,0,EX
+KEVIN WILLIAMS,,H,,H,0,EX,0,EX,0,EX
+KIKO MUDLER,,H,,H,0,EX,0,EX,0,EX
+KILGORE TROUT,,H,,H,0,EX,0,EX,0,EX
+KRISTIN MALONE,,H,,H,0,EX,0,EX,0,EX
+KRISTI HILL,,H,,H,0,EX,0,EX,0,EX
+L. J. KRIEGER,,H,,H,0,EX,0,EX,0,EX
+LADY GAGA,,H,,H,0,EX,0,EX,0,EX
+LADY GA GA,,H,,H,0,EX,0,EX,0,EX
+LARRY BURNS,,H,,H,0,EX,0,EX,0,EX
+LAUREN BETHELLE STANGA,,H,,H,0,EX,0,EX,0,EX
+LAVAIL VALENTINES,,H,,H,0,EX,0,EX,0,EX
+LEE ORMISTON,,H,,H,0,EX,0,EX,0,EX
+LEFT-LEANING,,H,,H,0,EX,0,EX,0,EX
+LESLIE PARKS,,H,,H,0,EX,0,EX,0,EX
+LINDA HATFIELD,,H,,H,0,EX,0,EX,0,EX
+LINDEN KILLIAM,,H,,H,0,EX,0,EX,0,EX
+LISA GRAY,,H,,H,0,EX,0,EX,0,EX
+LIZARD PEOPLE,,H,,H,0,EX,0,EX,0,EX
+LIZ MCLEMORE,,H,,H,0,EX,0,EX,0,EX
+LOLA BERG,,H,,H,0,EX,0,EX,0,EX
+LOREN AANDAHL,,H,,H,0,EX,0,EX,0,EX
+LOREN PILLER,,H,,H,0,EX,0,EX,0,EX
+LUKE CARLSON,,H,,H,0,EX,0,EX,0,EX
+LYNN HARMAN,,H,,H,0,EX,0,EX,0,EX
+M. MOUSE,,H,,H,0,EX,0,EX,0,EX
+MACKENZIE TURNER,,H,,H,0,EX,0,EX,0,EX
+MAGGIE RORKE,,H,,H,0,EX,0,EX,0,EX
+MARIA HANSON,,H,,H,0,EX,0,EX,0,EX
+MARK ALLAN FEDOR,,H,,H,0,EX,0,EX,0,EX
+MARK EPELDING,,H,,H,0,EX,0,EX,0,EX
+MARTY FUFKIN,,H,,H,0,EX,0,EX,0,EX
+MARTY LAMBRECHT,,H,,H,0,EX,0,EX,0,EX
+MARYANN VANHOUTEN,,H,,H,0,EX,0,EX,0,EX
+MARY CASSIDY,,H,,H,0,EX,0,EX,0,EX
+MARY JACK,,H,,H,0,EX,0,EX,0,EX
+MARY JANE MOUSON,,H,,H,0,EX,0,EX,0,EX
+MARY MOORE,,H,,H,0,EX,0,EX,0,EX
+MATHEW GROSSEN,,H,,H,0,EX,0,EX,0,EX
+MATHILDE SULLIVAN,,H,,H,0,EX,0,EX,0,EX
+MATTHEW CRAIG,,H,,H,0,EX,0,EX,0,EX
+MATTHEW NESBIT,,H,,H,0,EX,0,EX,0,EX
+MATT FUGATE,,H,,H,0,EX,0,EX,0,EX
+MCCLAIN LOONEY,,H,,H,0,EX,0,EX,0,EX
+ME,,H,,H,0,EX,0,EX,0,EX
+MICHAEL E KAN,,H,,H,0,EX,0,EX,0,EX
+MICHAEL GOULD,,H,,H,0,EX,0,EX,0,EX
+MICHAEL GRAY,,H,,H,0,EX,0,EX,0,EX
+MICHAEL J KATCH,,H,,H,0,EX,0,EX,0,EX
+MICHAEL MARTINS,,H,,H,0,EX,0,EX,0,EX
+MICHAEL MATHEWS,,H,,H,0,EX,0,EX,0,EX
+MICHAEL STENQUIST,,H,,H,0,EX,0,EX,0,EX
+MICHAEL TALBOT,,H,,H,0,EX,0,EX,0,EX
+MICHAEL WALKER,,H,,H,0,EX,0,EX,0,EX
+MICHELE BACHMANN,,H,,H,0,EX,0,EX,0,EX
+MICKEY MOUSE,,H,,H,0,EX,0,EX,0,EX
+MIKE GRIFFIN,,H,,H,0,EX,0,EX,0,EX
+MIKE NELSON,,H,,H,0,EX,0,EX,0,EX
+MIKE TEACHOUT,,H,,H,0,EX,0,EX,0,EX
+MILES DAVIS,,H,,H,0,EX,0,EX,0,EX
+MJ,,H,,H,0,EX,0,EX,0,EX
+MONIKA DEINAED DEINAYZ,,H,,H,0,EX,0,EX,0,EX
+MONIKA DEWARD,,H,,H,0,EX,0,EX,0,EX
+MORGAN MCCARTEN,,H,,H,0,EX,0,EX,0,EX
+MR. M. MOUSE,,H,,H,0,EX,0,EX,0,EX
+MUHR,,H,,H,0,EX,0,EX,0,EX
+M LYTTLE,,H,,H,0,EX,0,EX,0,EX
+N.W.S,,H,,H,0,EX,0,EX,0,EX
+NA,,H,,H,0,EX,0,EX,0,EX
+NAN MADDEN,,H,,H,0,EX,0,EX,0,EX
+NATHAN GEURTS,,H,,H,0,EX,0,EX,0,EX
+NAY,,H,,H,0,EX,0,EX,0,EX
+NEVE,,H,,H,0,EX,0,EX,0,EX
+NICK LEGENDRE,,H,,H,0,EX,0,EX,0,EX
+NICK SKIRVANEK,,H,,H,0,EX,0,EX,0,EX
+NICOLAS SARKOZY,,H,,H,0,EX,0,EX,0,EX
+NICOLE LEIMER,,H,,H,0,EX,0,EX,0,EX
+NICOLE WURDAK,,H,,H,0,EX,0,EX,0,EX
+NILA R. OUSKA,,H,,H,0,EX,0,EX,0,EX
+NIRMAL FERNANDO,,H,,H,0,EX,0,EX,0,EX
+NOLAN WEBER,,H,,H,0,EX,0,EX,0,EX
+NOLA FOSS,,H,,H,0,EX,0,EX,0,EX
+NONE OF ABOVE,,H,,H,0,EX,0,EX,0,EX
+NONE OF THEM,,H,,H,0,EX,0,EX,0,EX
+NONE OF THE ABOVE,,H,,H,0,EX,0,EX,0,EX
+NO IRV,,H,,H,0,EX,0,EX,0,EX
+NO ONE,,H,,H,0,EX,0,EX,0,EX
+NO PREFERENCE,,H,,H,0,EX,0,EX,0,EX
+ORLANDO OCHOADA,,H,,H,0,EX,0,EX,0,EX
+OSMAN SAHARDEED,,H,,H,0,EX,0,EX,0,EX
+OTTO CLARK,,H,,H,0,EX,0,EX,0,EX
+OWEN SARTORI,,H,,H,0,EX,0,EX,0,EX
+PAMELA REIMLER,,H,,H,0,EX,0,EX,0,EX
+PAM VALTER,,H,,H,0,EX,0,EX,0,EX
+PAPA JOHN KOLSTAD,,H,,H,0,EX,0,EX,0,EX
+PATRICK HANSEL,,H,,H,0,EX,0,EX,0,EX
+PATTY CASEY,,H,,H,0,EX,0,EX,0,EX
+PAUL D. DICKINSON,,H,,H,0,EX,0,EX,0,EX
+PAUL REVERE,,H,,H,0,EX,0,EX,0,EX
+PENELOPE CRUZ,,H,,H,0,EX,0,EX,0,EX
+PENTEL,,H,,H,0,EX,0,EX,0,EX
+PERRY PRICE,,H,,H,0,EX,0,EX,0,EX
+PETER CHRZANAT,,H,,H,0,EX,0,EX,0,EX
+PETER L. MARTIN,,H,,H,0,EX,0,EX,0,EX
+PETER LUND,,H,,H,0,EX,0,EX,0,EX
+PETER TEACHOUT,,H,,H,0,EX,0,EX,0,EX
+PETER WAGERJUS,,H,,H,0,EX,0,EX,0,EX
+PHILLIP ESSINGTON,,H,,H,0,EX,0,EX,0,EX
+PHILLIP MARSHALL,,H,,H,0,EX,0,EX,0,EX
+PHIL HALLAWAY,,H,,H,0,EX,0,EX,0,EX
+PHIL KHALAR,,H,,H,0,EX,0,EX,0,EX
+PHOINE RIGHT,,H,,H,0,EX,0,EX,0,EX
+PIRATES,,H,,H,0,EX,0,EX,0,EX
+POP-EYE,,H,,H,0,EX,0,EX,0,EX
+QUINN WATSON,,H,,H,0,EX,0,EX,0,EX
+R.T. RYBAK,,H,,H,0,EX,0,EX,0,EX
+R. NADER,,H,,H,0,EX,0,EX,0,EX
+RACHEL GRUBBS,,H,,H,0,EX,0,EX,0,EX
+RACHEL HOLTZEN,,H,,H,0,EX,0,EX,0,EX
+RALPH WESTCOTT JR.,,H,,H,0,EX,0,EX,0,EX
+RANDY LEE,,H,,H,0,EX,0,EX,0,EX
+RAY JELLISON,,H,,H,0,EX,0,EX,0,EX
+REGINALD PETERS,,H,,H,0,EX,0,EX,0,EX
+REID LYBOW,,H,,H,0,EX,0,EX,0,EX
+RICARDO REBALLEDO,,H,,H,0,EX,0,EX,0,EX
+RICHARD ROSENBERG,,H,,H,0,EX,0,EX,0,EX
+RICH PETERSON,,H,,H,0,EX,0,EX,0,EX
+RIC STULTZ,,H,,H,0,EX,0,EX,0,EX
+RINGO STARR,,H,,H,0,EX,0,EX,0,EX
+ROBERT E. HENDERSON,,H,,H,0,EX,0,EX,0,EX
+ROBERT E. MURPHY,,H,,H,0,EX,0,EX,0,EX
+ROBERT HELIG,,H,,H,0,EX,0,EX,0,EX
+ROBERT REICH,,H,,H,0,EX,0,EX,0,EX
+ROBERT WINKELS,,H,,H,0,EX,0,EX,0,EX
+ROBIN NELSON,,H,,H,0,EX,0,EX,0,EX
+RODNEY LOSSOW,,H,,H,0,EX,0,EX,0,EX
+RODNEY WILSON,,H,,H,0,EX,0,EX,0,EX
+RON ANTHONY,,H,,H,0,EX,0,EX,0,EX
+RON STERBENZ,,H,,H,0,EX,0,EX,0,EX
+RORY S. WEIS,,H,,H,0,EX,0,EX,0,EX
+ROSEMARY WILLIAMS,,H,,H,0,EX,0,EX,0,EX
+ROSEMARY WILLOW,,H,,H,0,EX,0,EX,0,EX
+RUBEN RAMIREZ,,H,,H,0,EX,0,EX,0,EX
+RUSSELL LEIGHTON,,H,,H,0,EX,0,EX,0,EX
+RYAN L GUEEN,,H,,H,0,EX,0,EX,0,EX
+S. AYRES,,H,,H,0,EX,0,EX,0,EX
+SAMANTHA GRAVES,,H,,H,0,EX,0,EX,0,EX
+SAM BUFFINGTON,,H,,H,0,EX,0,EX,0,EX
+SAM ROBERT SEELY,,H,,H,0,EX,0,EX,0,EX
+SARAH LOBLEY,,H,,H,0,EX,0,EX,0,EX
+SARAH SPLEISS,,H,,H,0,EX,0,EX,0,EX
+SARA HANSON,,H,,H,0,EX,0,EX,0,EX
+SASHA CONWAY,,H,,H,0,EX,0,EX,0,EX
+SATAN,,H,,H,0,EX,0,EX,0,EX
+SAUL PHILPS,,H,,H,0,EX,0,EX,0,EX
+SCOTT KIRKEBY,,H,,H,0,EX,0,EX,0,EX
+SCOTT SEEKINS,,H,,H,0,EX,0,EX,0,EX
+SCOTT SEPPLE,,H,,H,0,EX,0,EX,0,EX
+SEAMUS MCCARTEN,,H,,H,0,EX,0,EX,0,EX
+SEAN BLOOM,,H,,H,0,EX,0,EX,0,EX
+SEAN BROOM,,H,,H,0,EX,0,EX,0,EX
+SHALA SIFFY,,H,,H,0,EX,0,EX,0,EX
+SHARON BARKER,,H,,H,0,EX,0,EX,0,EX
+SHARON KELLY,,H,,H,0,EX,0,EX,0,EX
+SHARON SAYLES-BELTON,,H,,H,0,EX,0,EX,0,EX
+SHAWN MCGREEVY,,H,,H,0,EX,0,EX,0,EX
+SHAWN MICHAELS,,H,,H,0,EX,0,EX,0,EX
+SHERRI MILLNER,,H,,H,0,EX,0,EX,0,EX
+SHIRLEY HEYER,,H,,H,0,EX,0,EX,0,EX
+SID BERG,,H,,H,0,EX,0,EX,0,EX
+SKIP HUMPHREY,,H,,H,0,EX,0,EX,0,EX
+SONIA ANDERSON,,H,,H,0,EX,0,EX,0,EX
+"SORRY, I KNOW NONE OF ...",,H,,H,0,EX,0,EX,0,EX
+SPAGHETTI MONSTER,,H,,H,0,EX,0,EX,0,EX
+SPENCER DEINAED,,H,,H,0,EX,0,EX,0,EX
+SPIDERMAN,,H,,H,0,EX,0,EX,0,EX
+STELLA COLLIER,,H,,H,0,EX,0,EX,0,EX
+STEPHANIE KORCHIK,,H,,H,0,EX,0,EX,0,EX
+STEPHANIE RICH,,H,,H,0,EX,0,EX,0,EX
+STEPHEN COLBERT,,H,,H,0,EX,0,EX,0,EX
+STEPHEN R. COURY,,H,,H,0,EX,0,EX,0,EX
+STEVEN C. ANDERSON,,H,,H,0,EX,0,EX,0,EX
+STEVE BARLAND,,H,,H,0,EX,0,EX,0,EX
+STEVE FREUND,,H,,H,0,EX,0,EX,0,EX
+STEVE GOFF,,H,,H,0,EX,0,EX,0,EX
+STEVE GRISHAM,,H,,H,0,EX,0,EX,0,EX
+STEVE KOLRUD,,H,,H,0,EX,0,EX,0,EX
+STUART BONNIWELL,,H,,H,0,EX,0,EX,0,EX
+SUPERMAN,,H,,H,0,EX,0,EX,0,EX
+SUPER MAN,,H,,H,0,EX,0,EX,0,EX
+SUSAN BLACKFORD,,H,,H,0,EX,0,EX,0,EX
+SUSAN DIEM,,H,,H,0,EX,0,EX,0,EX
+TED WALDECK,,H,,H,0,EX,0,EX,0,EX
+TERI BENTSON,,H,,H,0,EX,0,EX,0,EX
+TERRI PARKER,,H,,H,0,EX,0,EX,0,EX
+THERESA WESTCOTT,,H,,H,0,EX,0,EX,0,EX
+THE BANDIT,,H,,H,0,EX,0,EX,0,EX
+THOMAS KLATT,,H,,H,0,EX,0,EX,0,EX
+THOMAS MARTIN,,H,,H,0,EX,0,EX,0,EX
+THOMAS P. MADDEN,,H,,H,0,EX,0,EX,0,EX
+THOMAS SOCHEIM,,H,,H,0,EX,0,EX,0,EX
+THOMAS WALCZAK,,H,,H,0,EX,0,EX,0,EX
+TIM CASEY,,H,,H,0,EX,0,EX,0,EX
+TIM PAWLWNTY,,H,,H,0,EX,0,EX,0,EX
+TIM WHALEN,,H,,H,0,EX,0,EX,0,EX
+TINA HAM-PETERSON,,H,,H,0,EX,0,EX,0,EX
+TINA SCHAEFFER,,H,,H,0,EX,0,EX,0,EX
+TINA SCHAUER,,H,,H,0,EX,0,EX,0,EX
+TITI BEDIAKO,,H,,H,0,EX,0,EX,0,EX
+TOBLERONE SHINOBE,,H,,H,0,EX,0,EX,0,EX
+TODD J EBERHARDY,,H,,H,0,EX,0,EX,0,EX
+TODD SKOJD,,H,,H,0,EX,0,EX,0,EX
+TOLU ADELEYE,,H,,H,0,EX,0,EX,0,EX
+TOM ANDERSON,,H,,H,0,EX,0,EX,0,EX
+TOM BUGBEE,,H,,H,0,EX,0,EX,0,EX
+TOM HEIDER,,H,,H,0,EX,0,EX,0,EX
+TOM NORDYKE,,H,,H,0,EX,0,EX,0,EX
+TRACY MCCLUN,,H,,H,0,EX,0,EX,0,EX
+TRISH BROCK,,H,,H,0,EX,0,EX,0,EX
+TUCE,,H,,H,0,EX,0,EX,0,EX
+V. VANDER WEIDE,,H,,H,0,EX,0,EX,0,EX
+VAMPIRES,,H,,H,0,EX,0,EX,0,EX
+VICCI KORMAN,,H,,H,0,EX,0,EX,0,EX
+VICKY BROCKMAN,,H,,H,0,EX,0,EX,0,EX
+VIOLET HANSON,,H,,H,0,EX,0,EX,0,EX
+WHA-HUH,,H,,H,0,EX,0,EX,0,EX
+WHY,,H,,H,0,EX,0,EX,0,EX
+WILLIAM BALL,,H,,H,0,EX,0,EX,0,EX
+WILLIAM EHDORF,,H,,H,0,EX,0,EX,0,EX
+WILLIAM HANNDIN,,H,,H,0,EX,0,EX,0,EX
+WILLIAM J. EAGEN,,H,,H,0,EX,0,EX,0,EX
+WILLIAM SEPPLE,,H,,H,0,EX,0,EX,0,EX
+WILLIAN H. O'NEIL,,H,,H,0,EX,0,EX,0,EX
+WILL RENK,,H,,H,0,EX,0,EX,0,EX
+WYATT YEATER,,H,,H,0,EX,0,EX,0,EX
+YOR MOM,,H,,H,0,EX,0,EX,0,EX
+YOUR MOM,,H,,H,0,EX,0,EX,0,EX
+YUDA,,H,,H,0,EX,0,EX,0,EX
diff --git a/tests/data/Mppls-2009-BOE-full.ods b/tests/data/Mppls-2009-BOE-full.ods
index 3d883ef..a9dc184 100644
Binary files a/tests/data/Mppls-2009-BOE-full.ods and b/tests/data/Mppls-2009-BOE-full.ods differ
diff --git a/tests/meek.rs b/tests/meek.rs
index bead2e8..d8e3bed 100644
--- a/tests/meek.rs
+++ b/tests/meek.rs
@@ -28,6 +28,7 @@ fn meek87_ers97_float64() {
.meek_surplus_tolerance("0.001%".to_string())
.quota_criterion(stv::QuotaCriterion::GreaterOrEqual)
.surplus(stv::SurplusMethod::Meek)
+ .immediate_elect(false)
.build().unwrap();
utils::read_validate_election::("tests/data/ers97_meek.csv", "tests/data/ers97.blt", stv_opts, Some(2), &["exhausted", "quota"]);
@@ -46,7 +47,6 @@ fn meek06_ers97_fixed12() {
.quota_criterion(stv::QuotaCriterion::GreaterOrEqual)
.surplus(stv::SurplusMethod::Meek)
.defer_surpluses(true)
- .meek_immediate_elect(true)
.build().unwrap();
Fixed::set_dps(12);
@@ -107,7 +107,6 @@ fn meeknz_ers97_fixed12() {
.surplus(stv::SurplusMethod::Meek)
.meek_nz_exclusion(true)
.defer_surpluses(true)
- .meek_immediate_elect(true)
.build().unwrap();
Fixed::set_dps(12);
diff --git a/tests/minneapolis.rs b/tests/minneapolis.rs
index f70eac4..fd3807c 100644
--- a/tests/minneapolis.rs
+++ b/tests/minneapolis.rs
@@ -27,9 +27,27 @@ fn minneapolis_boe09_rational() {
.round_quota(Some(0))
.quota(stv::QuotaType::Droop)
.quota_criterion(stv::QuotaCriterion::GreaterOrEqual)
- .early_bulk_elect(false)
+ .early_bulk_elect(true)
.bulk_exclude(true)
+ .defer_surpluses(true)
+ .immediate_elect(false)
.build().unwrap();
utils::read_validate_election::("tests/data/Mppls-2009-BOE-full.csv", "tests/data/Mppls-2009-BOE-full.blt", stv_opts, Some(4), &[]);
}
+
+#[test]
+fn minneapolis_pal13_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(true)
+ .bulk_exclude(true)
+ .defer_surpluses(true)
+ .immediate_elect(false)
+ .build().unwrap();
+
+ utils::read_validate_election::("tests/data/2013-Park-At-Large-CVR.csv", "tests/data/2013-Park-At-Large-CVR.blt", stv_opts, Some(4), &[]);
+}