diff --git a/.travis.yml b/.travis.yml index 4d48f34174c976bc6346f3a5ec392f7ebe999734..fb2d9f6bf75d9819ce19c3731529bec38b6cd1e6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ +sudo: false language: python python: - "2.7" - - "2.6" # command to install dependencies, e.g. pip install -r requirements.txt --use-mirrors install: "pip install -r requirements.txt" # command to run tests, e.g. python setup.py test diff --git a/INSTALL-mac.md b/INSTALL-mac.md deleted file mode 100644 index 49c47e3392083eac2cfdb9da0d40b44f59b25d92..0000000000000000000000000000000000000000 --- a/INSTALL-mac.md +++ /dev/null @@ -1,71 +0,0 @@ -* install XCode - -* in the preferences, downloads, install Command Line Tools - -* install homebrew - -* install python - -``` -brew install python -``` - -* clean up some things - -``` -pip install pip --upgrade - -# yes this is necessary -pip uninstall setuptools -pip install setuptools -``` - -* install PostgreSQL latest - -``` -brew install --no-tcl postgresql -``` - -* install virtualenv - -``` -pip install virtualenv -``` - -* download helios-server - -``` -git clone git@github.com:benadida/helios-server -``` - -* cd into the helios-server directory - -* create a virtualenv: - -``` -virtualenv venv -``` - -* activate virtual environment - -``` -source venv/bin/activate -```` - -* install requirements - -``` -pip install -r requirements.txt -``` - -* reset database - -``` -./reset.sh -``` - -* start server - -``` -python manage.py runserver -``` diff --git a/autoretry.py b/autoretry.py deleted file mode 100644 index 503684323cbbee87477e2125ff943a257a37c2f7..0000000000000000000000000000000000000000 --- a/autoretry.py +++ /dev/null @@ -1,86 +0,0 @@ -def autoretry_datastore_timeouts(attempts=5.0, interval=0.1, exponent=2.0): - """ - Copyright (C) 2009 twitter.com/rcb - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following - conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - - ====================================================================== - - This function wraps the AppEngine Datastore API to autoretry - datastore timeouts at the lowest accessible level. - - The benefits of this approach are: - - 1. Small Footprint: Does not monkey with Model internals - which may break in future releases. - 2. Max Performance: Retrying at this lowest level means - serialization and key formatting is not - needlessly repeated on each retry. - At initialization time, execute this: - - >>> autoretry_datastore_timeouts() - - Should only be called once, subsequent calls have no effect. - - >>> autoretry_datastore_timeouts() # no effect - - Default (5) attempts: .1, .2, .4, .8, 1.6 seconds - - Parameters can each be specified as floats. - - :param attempts: maximum number of times to retry. - :param interval: base seconds to sleep between retries. - :param exponent: rate of exponential back-off. - """ - - import time, logging - from google.appengine.api import apiproxy_stub_map - from google.appengine.runtime import apiproxy_errors - from google.appengine.datastore import datastore_pb - - attempts = float(attempts) - interval = float(interval) - exponent = float(exponent) - wrapped = apiproxy_stub_map.MakeSyncCall - errors = {datastore_pb.Error.TIMEOUT:'Timeout', - datastore_pb.Error.CONCURRENT_TRANSACTION:'TransactionFailedError'} - - def wrapper(*args, **kwargs): - count = 0.0 - while True: - try: - return wrapped(*args, **kwargs) - except apiproxy_errors.ApplicationError, err: - errno = err.application_error - if errno not in errors: raise - sleep = (exponent ** count) * interval - count += 1.0 - if count > attempts: raise - msg = "Datastore %s: retry #%d in %s seconds.\n%s" - vals = '' - if count == 1.0: - vals = '\n'.join([str(a) for a in args]) - logging.warning(msg % (errors[errno], count, sleep, vals)) - time.sleep(sleep) - - setattr(wrapper, '_autoretry_datastore_timeouts', False) - if getattr(wrapped, '_autoretry_datastore_timeouts', True): - apiproxy_stub_map.MakeSyncCall = wrapper \ No newline at end of file diff --git a/django-gae.py b/django-gae.py deleted file mode 100644 index 0f330f72b47636aac61573756c042d7e80d1b182..0000000000000000000000000000000000000000 --- a/django-gae.py +++ /dev/null @@ -1,47 +0,0 @@ -""" -Running Django on GAE, as per -http://code.google.com/appengine/articles/django.html - -Ben Adida -ben@adida.net -2009-07-11 -""" - -import logging, os - -# Django 1.0 -from google.appengine.dist import use_library -use_library('django', '1.0') - -# Appengine Django Helper -from appengine_django import InstallAppengineHelperForDjango -InstallAppengineHelperForDjango() - -# Google App Engine imports. -from google.appengine.ext.webapp import util - -# Force Django to reload its settings. -from django.conf import settings -settings._target = None - -# Must set this env var before importing any part of Django -os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' - -import logging -import django.core.handlers.wsgi -import django.core.signals -import django.db -import django.dispatch.dispatcher - -def main(): - # Create a Django application for WSGI. - application = django.core.handlers.wsgi.WSGIHandler() - - # if there's initialiation, run it - import initialization - - # Run the WSGI CGI handler with that application. - util.run_wsgi_app(application) - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/fabfile.py b/fabfile.py deleted file mode 100644 index 8abaa60388a4938b7eb8af68f4dd0ff56eb5e90c..0000000000000000000000000000000000000000 --- a/fabfile.py +++ /dev/null @@ -1,128 +0,0 @@ -""" -Deployment Fabric file - -A fabric deployment script for Helios that assumes the following: -- locally, development is /web/helios-server -- remotely, a number of production setups -- remotely, a number of staging setups -- all of these directories are git checkouts that have a proper origin pointer - -Other assumptions that should probably change: -- both staging and production run under the same apache instance - -Deployment is git and tag based, so: - -fab staging_deploy:tag=v3.0.4,hosts="vote.heliosvoting.org" -fab production_deploy:tag=v3.0.5,hosts="vote.heliosvoting.org" - -also to get the latest - -fab production_deploy:tag=latest,hosts="vote.heliosvoting.org" - -IMPORTANT: settings file may need to be tweaked manually -""" - -from fabric.api import local, settings, abort, cd, run, sudo -from fabric.contrib.console import confirm - -STAGING_SETUP = { - 'root' : "/web/staging/helios-server", - 'celery' : "/etc/init.d/staging-celeryd", - 'dbname' : "helios-staging" - } - -PRODUCTION_SETUPS = [ - { - 'root' : "/web/production/helios-server", - 'celery' : "/etc/init.d/celeryd", - 'dbname' : "helios" - }, - { - 'root' : "/web/princeton/helios-server", - 'celery' : "/etc/init.d/princeton-celeryd", - 'dbname' : "princeton-helios" - } -] - -def run_tests(): - result = local("python manage.py test", capture=False) - if result.failed: - abort("tests failed, will not deploy.") - -def check_tag(tag, path): - result = local('git tag') - if tag not in result.split("\n"): - abort("no local tag %s" % tag) - - with cd(path): - run('git pull origin master') - run('git fetch --tags') - result = run('git tag') - if tag not in result.split("\n"): - abort("no remote tag %s" % tag) - -def get_latest(path): - with cd(path): - result = run('git pull') - if result.failed: - abort("on remote: could not get latest") - - result = run('git submodule init') - if result.failed: - abort("on remote: could not init submodules") - - result = run('git submodule update') - if result.failed: - abort("on remote: could not update submodules") - -def checkout_tag(tag, path): - with cd(path): - result = run('git checkout %s' % tag) - if result.failed: - abort("on remote: could not check out tag %s" % tag) - - result = run('git submodule init') - if result.failed: - abort("on remote: could not init submodules") - - result = run('git submodule update') - if result.failed: - abort("on remote: could not update submodules") - -def migrate_db(path): - with cd(path): - result = run('python manage.py migrate') - if result.failed: - abort("could not migrate") - -def restart_apache(): - result = sudo('/etc/init.d/apache2 restart') - if result.failed: - abort("could not restart apache") - -def restart_celeryd(path): - result = sudo('%s restart' % path) - if result.failed: - abort("could not restart celeryd - %s " % path) - -def deploy(tag, path): - if tag == 'latest': - get_latest(path=path) - else: - check_tag(tag, path=path) - checkout_tag(tag, path=path) - migrate_db(path=path) - restart_apache() - -def staging_deploy(tag): - deploy(tag, path=STAGING_SETUP['root']) - restart_celeryd(path = STAGING_SETUP['celery']) - -def production_deploy(tag): - production_roots = ",".join([p['root'] for p in PRODUCTION_SETUPS]) - if not confirm("Ready to deploy %s to %s?" % (tag, production_roots)): - return - run_tests() - for prod_setup in PRODUCTION_SETUPS: - deploy(tag, path = prod_setup['root']) - restart_celeryd(path = prod_setup['celery']) diff --git a/helios/datatypes/djangofield.py b/helios/datatypes/djangofield.py index 4465da77d73c90fcbcfd8d9bec255fdbfc073647..e0eb1b4fbccbd437ac5d4d77a37bfaadabffba5d 100644 --- a/helios/datatypes/djangofield.py +++ b/helios/datatypes/djangofield.py @@ -72,10 +72,3 @@ class LDObjectField(models.TextField): def value_to_string(self, obj): value = self._get_val_from_obj(obj) return self.get_db_prep_value(value) - -## -## for schema migration, we have to tell South about JSONField -## basically that it's the same as its parent class -## -from south.modelsinspector import add_introspection_rules -add_introspection_rules([], ["^helios\.datatypes\.djangofield.LDObjectField"]) diff --git a/helios/fixtures/legacy-data.json b/helios/fixtures/legacy-data.json index 9fb245d7b28db49e7b844772ea7f10e56c368dc0..58dfb5c12f1bc6402e24dac338b8946ad7a8089f 100644 --- a/helios/fixtures/legacy-data.json +++ b/helios/fixtures/legacy-data.json @@ -1 +1 @@ -[{"pk": "0183b7531c15490727b9c8e0b675b43e", "model": "sessions.session", "fields": {"expire_date": "2011-01-13 11:02:45", "session_data": "gAJ9cQEoVQpjc3JmX3Rva2VucQJVJGZjY2YwZmQ1LWU5ODctNDZjZS1iYzQ4LTg5OGE1NDc5ZjMz\nNnEDVRBhdXRoX3N5c3RlbV9uYW1lcQRYBgAAAGdvb2dsZXEFVQ5GSUVMRFNfVE9fU0FWRXEGXXEH\nKFUObGFzdF92b3RlX2hhc2hxCFUOZW5jcnlwdGVkX3ZvdGVxCWVoCFgrAAAAWE1iczhtajhJTWZX\nVElyTWVlSisxSXRSdEgxZk16cnJkYXNkb1pnaHFtc3EKaAlOVQR1c2VycQt9cQwoVQRpbmZvcQ19\ncQ5VBHR5cGVxD1UGZ29vZ2xlcRBVBXRva2VucRF9cRJVB3VzZXJfaWRxE1gUAAAAYmVuYWRpZGE3\nN0BnbWFpbC5jb21xFFUEbmFtZXEVWAkAAABCZW4gQWRpZGFxFnVVE2dvb2dsZV9yZWRpcmVjdF91\ncmxxF1UgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2F1dGgvYWZ0ZXJxGHUuMWZlMjVjMDEzODA1NzY4\nNDdiNmI4YWNkZWUwMWNjMGU=\n"}}, {"pk": 1, "model": "south.migrationhistory", "fields": {"applied": "2010-12-30 19:15:49", "app_name": "helios", "migration": "0001_initial"}}, {"pk": 2, "model": "south.migrationhistory", "fields": {"applied": "2010-12-30 19:16:11", "app_name": "helios_auth", "migration": "0001_initial"}}, {"pk": 3, "model": "south.migrationhistory", "fields": {"applied": "2010-12-30 19:38:53", "app_name": "helios", "migration": "0002_v3_1_new_election_and_voter_fields"}}, {"pk": 4, "model": "south.migrationhistory", "fields": {"applied": "2010-12-30 19:39:20", "app_name": "helios", "migration": "0003_v3_1_election_specific_voters_with_passwords"}}, {"pk": 5, "model": "south.migrationhistory", "fields": {"applied": "2010-12-30 19:39:20", "app_name": "helios", "migration": "0004_v3_1_remove_voter_fields"}}, {"pk": 6, "model": "south.migrationhistory", "fields": {"applied": "2010-12-30 21:46:47", "app_name": "helios", "migration": "0005_add_quarantine_fields"}}, {"pk": 1, "model": "helios_auth.user", "fields": {"info": "{\"password\": \"test\"}", "user_id": "benadida", "name": null, "user_type": "password", "token": null, "admin_p": false}}, {"pk": 4, "model": "helios_auth.user", "fields": {"info": "{\"password\": \"XEVEjStfuE\", \"email\": \"ben6@adida.net\", \"name\": \"Ben6 Adida\"}", "user_id": "benadida6", "name": null, "user_type": "password", "token": null, "admin_p": false}}, {"pk": 5, "model": "helios_auth.user", "fields": {"info": "{\"password\": \"0VuIzsa55u\", \"email\": \"ben7@adida.net\", \"name\": \"Ben7 Adida\"}", "user_id": "benadida7", "name": null, "user_type": "password", "token": null, "admin_p": false}}, {"pk": 6, "model": "helios_auth.user", "fields": {"info": "{\"password\": \"zeVDg9nVvh\", \"email\": \"ben8@adida.net\", \"name\": \"Ben8 Adida\"}", "user_id": "benadida8", "name": null, "user_type": "password", "token": null, "admin_p": false}}, {"pk": 3, "model": "helios_auth.user", "fields": {"info": "{\"password\": \"PPvPcBBryM\", \"email\": \"ben5@adida.net\", \"name\": \"Ben5 Adida\"}", "user_id": "benadida5", "name": null, "user_type": "password", "token": null, "admin_p": false}}, {"pk": 2, "model": "helios_auth.user", "fields": {"info": "{}", "user_id": "benadida77@gmail.com", "name": "Ben Adida", "user_type": "google", "token": "{}", "admin_p": false}}, {"pk": 1, "model": "helios.election", "fields": {"voting_extended_until": null, "voters_hash": null, "featured_p": false, "use_voter_aliases": false, "tallying_started_at": "2010-12-30 19:03:11", "result": "[[0, 1, 0]]", "questions": "[{\"short_name\": \"Who should be president?\", \"choice_type\": \"approval\", \"max\": 1, \"min\": 0, \"question\": \"Who should be president?\", \"answers\": [\"Alice\", \"Bob\", \"Carol\"], \"answer_urls\": [null, null, null], \"tally_type\": \"homomorphic\", \"result_type\": \"absolute\"}]", "voting_ended_at": "2010-12-30 19:03:11", "registration_starts_at": null, "cast_url": "http://localhost:8000/helios/elections/40a17486-1446-11e0-b9ec-000c293e7de1/cast", "uuid": "40a17486-1446-11e0-b9ec-000c293e7de1", "frozen_at": "2010-12-30 18:55:42", "encrypted_tally": "{\"tally\": [[{\"alpha\": \"15062600351346883972644127892142714662189690871997002860160637836650441602030002705292055229350425245338714989971657783718286387745755778873544353920087069923141558465357271862261518288218334688506364799707392611362040662936902886469092037687001218417001577231464467922549631334100757297338618251748139729964707680811665800662927067491530779427912712421946148997429722751848164735658063110170464608816677293362933159695162487677068539309388988631969504494216829146823387001428360245160741367464561945072440282718021512357600566368531501739912137646478149487913635218325375327436398982687476464381274863173109390437849\", \"beta\": \"6472995696323449481761379982226987034204671847521280173533677671800764813049225642765553350990023913842413237138994293559420693903825662068604923689287872415577051463244183680254762458861919465321996886414454802637697911164542594307379406907302286457272189409620028333641643603878239149886302645287899635957429604613780743866054390180292694767552575334318878336726590042824600404857161528120082698503521888035480554396084523318391075327196170151150017179381762494738064997274952677744062885141254893966429696256647729546503511682475164521390015781174526069960261297951569915608591534531987906457590536635969717163017\"}, {\"alpha\": \"11797341915537555476557075594487134344289042577013466250418375376870630384349304048606714535795936426595938010963895455399050161847596126018739059592043662385972723145765773438163543846757186579416754475057309926173301818771413977291177987529471270631093815995658047599876124666043571805566412571721352681563641013117117243443491777387530741635619864702428158939093621034585067648994491883088363814536499351174599683663609451037205821783508958092566632960335955512240723655648985350951040171933874789527124767479182628124872969346846033060536497255225965817197189441217993019374945875453159578803014379028048622459368\", \"beta\": \"386603140585949274399765676343225021646823837172562587253483824685501371966765713673896074723205590686430303065790627082336695351775735361487007145740387773299912412488939936995100076554454597585434254473760210886435540378154175229046102719209082777247996500554646776006238400469042159470627068048421003860492049429142953418171122350175145645388713766049983218504277012766151062997680731741281725276122652751673876491143973427719469741677235999333427047365824639448121152225086556575371711180660842261974231132982964433856082981951267337588132752488463797969108960908305840938831642503490689882743196654196818586153\"}, {\"alpha\": \"7447770187339878295993449894291489887048199488149047386007365531030411994514567126890793337686510960379699552037310153457712846898600825987067491960636123972698743027902536803313122852695834128081255673149298326081316468803638688172240293429021646722622760387789968485271656707408704015670936653538239976073086700354395913211645218184935464859540952979791617557615121821844458125737697969356374053675571600427328257161894058513558896927219556279567567385006610345737415318941082511663411931234031736832574296988507123506658418745859239378750962490244083867984466678345522975899669428543817167372204402768140225673899\", \"beta\": \"10295246473033461943758026743789596939350509698742039970315795780884125241389014443917881746198829796581532942808439005949283365779117479508160568372317140210333337134392167953936839851684527674630949696312674486436145278957756779729314631536871251419768935267394895633742684422354002503367119198418556623190787101973681238871389852824878971817620102647834188822139335392978368269353706515717026270035928407046024774088938767955368659221078544511315129408774954569106438025396242766355252175143630049198659910228039324058865260398970570436187058310718047632290796972241903647262820809895006837802544169684965043985217\"}]], \"num_tallied\": 1}", "use_advanced_audit_features": true, "result_proof": null, "voting_started_at": null, "archived_at": null, "tallying_finished_at": null, "openreg": false, "private_key": null, "description": "test1", "short_name": "test1", "eligibility": "[{\"auth_system\": \"password\"}]", "tallying_starts_at": null, "public_key": "{\"y\": \"10209996196141455592954150806595590302779517452973425513133143319891192812034378656046616286290215682512560281253780168350968078321298815359346112476103153663350347613425264137270664984993821707972591603600995748437418960965874687695519139184521329861807151368087170846679616051889191498465971754449242176181010116247194146889436200685706775658837872315899212063389435005791600156232673825152649290306522408636413180876447424057387927560622286232455842226141935616726284027452689619467330786904141326022591988410271656808992679125143841590661998535192138516435006042519265859141061154934003554664919161933342577547196\", \"p\": \"16328632084933010002384055033805457329601614771185955389739167309086214800406465799038583634953752941675645562182498120750264980492381375579367675648771293800310370964745767014243638518442553823973482995267304044326777047662957480269391322789378384619428596446446984694306187644767462460965622580087564339212631775817895958409016676398975671266179637898557687317076177218843233150695157881061257053019133078545928983562221396313169622475509818442661047018436264806901023966236718367204710755935899013750306107738002364137917426595737403871114187750804346564731250609196846638183903982387884578266136503697493474682071\", \"q\": \"61329566248342901292543872769978950870633559608669337131139375508370458778917\", \"g\": \"14887492224963187634282421537186040801304008017743492304481737382571933937568724473847106029915040150784031882206090286938661464458896494215273989547889201144857352611058572236578734319505128042602372864570426550855201448111746579871811249114781674309062693442442368697449970648232621880001709535143047913661432883287150003429802392229361583608686643243349727791976247247948618930423866180410558458272606627111270040091203073580238905303994472202930783207472394578498507764703191288249547659899997131166130259700604433891232298182348403175947450284433411265966789131024573629546048637848902243503970966798589660808533\"}", "name": "test1", "admin": 2, "voting_starts_at": null, "created_at": "2010-12-30 10:54:38", "tallies_combined_at": null, "modified_at": "2010-12-30 10:54:38", "voting_ends_at": null, "datatype": "legacy/Election", "complaint_period_ends_at": null, "private_p": false, "election_type": "election"}}, {"pk": 1, "model": "helios.electionlog", "fields": {"at": "2010-12-30 10:54:54", "election": 1, "log": "voter file added"}}, {"pk": 2, "model": "helios.electionlog", "fields": {"at": "2010-12-30 10:55:00", "election": 1, "log": "Trustee Ben for Helios added"}}, {"pk": 3, "model": "helios.electionlog", "fields": {"at": "2010-12-30 10:55:42", "election": 1, "log": "frozen"}}, {"pk": 4, "model": "helios.electionlog", "fields": {"at": "2010-12-30 11:03:19", "election": 1, "log": "decryptions combined"}}, {"pk": 1, "model": "helios.voterfile", "fields": {"processing_finished_at": "2010-12-30 18:54:56", "uploaded_at": "2010-12-30 10:54:54", "num_voters": 5, "election": 1, "processing_started_at": "2010-12-30 18:54:55", "voter_file": "voters/2010/12/30/4d0d7ebc-15bb-418e-a0b5-8664d39ffa3b"}}, {"pk": 2, "model": "helios.voter", "fields": {"voter_password": "XEVEjStfuE", "uuid": "b3e41a74-4eed-447a-ac4e-cb894be680d9", "voter_name": "Ben6 Adida", "cast_at": null, "alias": null, "user": null, "vote_hash": null, "vote": null, "voter_login_id": "benadida6", "voter_email": "ben6@adida.net", "election": 1}}, {"pk": 3, "model": "helios.voter", "fields": {"voter_password": "0VuIzsa55u", "uuid": "b5cdd49b-7af3-43a9-bf34-152171bf0652", "voter_name": "Ben7 Adida", "cast_at": null, "alias": null, "user": null, "vote_hash": null, "vote": null, "voter_login_id": "benadida7", "voter_email": "ben7@adida.net", "election": 1}}, {"pk": 4, "model": "helios.voter", "fields": {"voter_password": "zeVDg9nVvh", "uuid": "96817ccc-d3b1-491c-9d68-36823a7a2bc4", "voter_name": "Ben8 Adida", "cast_at": null, "alias": null, "user": null, "vote_hash": null, "vote": null, "voter_login_id": "benadida8", "voter_email": "ben8@adida.net", "election": 1}}, {"pk": 1, "model": "helios.voter", "fields": {"voter_password": "PPvPcBBryM", "uuid": "36cab4d2-baf5-4fe6-9316-072bb10a08c5", "voter_name": "Ben5 Adida", "cast_at": "2010-12-30 11:00:30", "alias": null, "user": null, "vote_hash": "XMbs8mj8IMfWTIrMeeJ+1ItRtH1fMzrrdasdoZghqms", "vote": "{\"election_uuid\": \"40a17486-1446-11e0-b9ec-000c293e7de1\", \"election_hash\": \"wGPQnqnzBpmLeg8ZB/G0rgaamGvKVFgpT4/2FC71eas\", \"answers\": [{\"individual_proofs\": [[{\"challenge\": \"23448591784697000965545892324810629021639188373890683375910722335603622138784\", \"commitment\": {\"A\": \"1327628315723512592520092253022813954345811633817636321461327060815545431155754937699838371154948609511354231571272734503300322585026951636488920956523182672551950508490901322669811500895795175060810855625517092521213959126412117064377577760401592872465535448172644182461127758421070618332647280802438572454887787753087987686539965858891402894686998695861222063954822180068263112093268485916206196256374623420279908267672537703676874160139012850887547187383627177839126080326025123801997793732363652198095799909736237665197875170635639393513721452483230488642329871180916160042706552228810447375634551726254656114763\", \"B\": \"12651568238845905580146731093834003015541538197207885155377455570739647990731115642751855805978467077164118286855210767852487616446322130095137621482323196926762880646794844146925307934365718148556573920173586397697773728633505957174913806486333337487959223801388056302406238391017110214970693170684905765736096447201061693237410864568109046693126318808709805263697684626506219123708702408188380145135728153486516784168065844265720923488323409470042004070431410287600339033480425760464353921573676904433306313575237328448962058283857065990334095968743257379436762608765126482553431856338280756915065371130629259833162\"}, \"response\": \"66493654499921179654532076483238061065663825681855720849779479385099600294313\"}, {\"challenge\": \"37880974463645900326997980445921662466504953698747123205418028110401621340654\", \"commitment\": {\"A\": \"11552929741476814953885315683074098091103686548723516644080511046344121473871033010567541553035322173556104503663355802077291981196609620866458230652243307217336007047616125327287070248174361784734712728026360142208785301081379339577768097307553636351066758204606067852151212136995659736744834225212988266174017146842207029877054309186325359774975424315721603313081735790862906915249402187712643905438535309489072993517767409706459101240509405310623022029051651543866804596815439974638899195343422656827451325150692577702439948168203545390620539243767450955282190940402874138622075234269541622364721163286312878986819\", \"B\": \"6329155122062386904033442921423622622147079320347985844514869678788894694074332416611216748665105335359984602999437980698165855519323382681940366700676670498208841397103135301080915366474717831310061726860563362512863054679720700745282422030751124929023148055891934168562161714897501755587548350311398415869238331591154762453581309273381060323924517084418705908387965117516648560910526056603787772182229010906379630932318790167674451145975401275892801196642017344744355317898337463259457545132684347381953362982206865463253584571797006969916721595812159297162226956121662150241089497749712184668941945856515753434583\"}, \"response\": \"40889333838309328628442514979337814302799996449096507610282589928128273346086\"}], [{\"challenge\": \"40838246976619679982594438537447216988156147901010823503082500261133646034510\", \"commitment\": {\"A\": \"7240746395320606545924818303659574319731549234658716095013175472134123703846899818801089836111944641913350487758554287853491345581528557228542267116521090883813722627295383932822769534799988278169007346954354698811871351725370440703413817798869596540753172040591555804833259365722924628910597267412752971983973099286825908075100328469111189817054592233683568840797349280531135103664238151283794163518180822346478272123336746353940825490958866084369836609057210749809398951837726387799726276790721200488289943034865614991602894496358416379863548515397992901340896111968521210996058255256378234826527429341875890954325\", \"B\": \"14360814363564966405360021475222916339844629619455505817116073918028706786972236957526914330535717891973121029017380447473243935691715817749628813781646994519966103065028319818105397007744775285803075583457045600071289431042427536327509229154776384742741650503755680262226870011332151033945281301751333262151726293854136550805821221030867126626766560317685475484257992652848092598642512843265151823549960069639481061805952898584109547777019233310314201053646724130044711428631467139016994288332446095561699988285289270533446820493287643560434681811441184380345762034361885379181472264724965318003694917150246630023674\"}, \"response\": \"32379791452380146747129274667434627989796700807725842979905511921680817488679\"}, {\"challenge\": \"20491319271723221309949434233793977920795005824525427253918918169889913365948\", \"commitment\": {\"A\": \"6249667490277917583936607671102592882918409694303397387989581556482216126368122870614174165168740657006080095721379286684627119686099144826994894421926931467679822839419322398647946960779534495161082693858576168084013669468576163333253692335647695009660221751877286994683778685376405300629183143917010861517571099244272102834874222190843107273758742282622844732413516515908311253461817503881880906475522033363486911306119901292379625845416065240305301099338032541569024074975755933787525224425365617538732320213780187894141782809997859364333867835879203172909290216548191092783192574241137558974282359389187012817936\", \"B\": \"9499112746840921330025828862313195732714191736836796633477362065391580604500493351834623100000344332078541514598802122394938451327827696985631359354944865315435059206970465412862653037841742495026775379978363725663046523355370934979512948437818087270242744189398042668453563383598014440609263097809464386385377086332856379919768588734445308364251682197283847623282458135779287780459446653554844992689069349147999153323163756277510532664441506670090088963764802003962950921958456938625791579175155142656425066425712635117449924858147057327726380659546270500021282831889329912110494100841744786647915029857722991309102\"}, \"response\": \"39881801996843034570752413025736783442023073187463315853656384552364386913204\"}], [{\"challenge\": \"43431479061562930090004922442036754678483107275940751848024215992244886343747\", \"commitment\": {\"A\": \"1270055805719836261622958888846330804638817542205324650711349305977867087050906657167153321020114772132749332223143260695672249760406765833706496501796398284185540978966142644793196415879582663634100399321765040877162609041210292145512334466387459015610330751980306692864978147960861903003237265674845225826944921430476569228083860123295338768898464268768775686988874386876491097663989219624354211056385565966546828280075259494577713355009759282723250554257459428057560064051666367969921490582847014422432367039519517232418691823528688817355615892442875262952742672229933819705525867755926536935560184321181516217379\", \"B\": \"13811522002661403186656524643430184156362000458283631439050985694312056363976044427831818381014131146340935786418326708412866699221278668866350666842389724034155760660894321943027467083331876166785006218286375036218444948819814596653763067984475369256295354933061577137097160951738083556909805645133853825940451449785781714550102697948235131202099972030859604297053943782339850793154555482391232163147687158127829886062127554444845944041291007323918037270588313481883735696620885738492026672168539201247500513346410668408666264612310030986871682638524348434676219620439025304901534964705268662494748119236717258099310\"}, \"response\": \"68215094834895276844550802238341145638824175199551659406303368956211949019503\"}, {\"challenge\": \"17898087186779971202538950329371565185390706224154511062911955610649418098256\", \"commitment\": {\"A\": \"16251021783044516022530162510375731932396648925368808712144817845848470716066393905811822426515609168500968326025256059316597643395704568352891213427889062095727127211219607578386713220335138915526877263124257302083955232156553595937713784723082774095373922632480472464901263941851494794480244523914002369035976941551571562910539299973363373412124246141349684130390967911024709851584467209367384820033560446424080918421522113745512797475927149175846813620541575734629166934167572438415311057397875639759338459893698446812426686906493776199091997749807282590016592114718036464843222410363303324286514483401243517098919\", \"B\": \"9483189503031797184976054292751366999555646527059016081956041648897995571468703398849876134946030247727478260873291252669051128569609552216633210758991866713731253996106528668922437684662967028333743543723894078765207823156516048642619579666660693500547400247407308606819581427394295455460458346347446248548838123178569076367824541766927409254628932336490038849157667580037659205992868562238203915995106969796461422020992210022408234454951887179002927611195937432114888768429519791384688384245388025993512601880012525058553458889191281451543418313914273707609311661844227170291960451878015798149129666533670296683517\"}, \"response\": \"47055844704389989755328398564006162909789771315920760315962495933998560250733\"}]], \"overall_proof\": [{\"challenge\": \"14587781194424783137694975950944071336748097811762793023623705015943510494552\", \"commitment\": {\"A\": \"11593378736638379859476775929688252170819242231855060210332622890983118661213958218991328012112542344165110060653955477862332902364013355270331585307350836027305693084343561363596117247575763301618955255170102018700927311116945258908959677914951048142668496968817639199967846759461114146494910430269004689842295064898502764043961362230065062223655965446278805522690709858469443935060447482793234174374235433634507565188762427880141668958856980254433467181819491301709455993757318818296773777159501430136689906726672323092132282409154366580941018678697554417366994112669108598689024668589495123456818830843512906688674\", \"B\": \"6379878600728866669455031437323245344320246967984106758624844794330223775770709971892885303077113095171244444904758039226852919548659167744967797598018751391128142643083704135304989646690792324977602130349887992894633902005083938751838673945697901818639788591489261000492127878191120874014218509575385139468955836491832775486846669297951819245355910267593674016013045608418799063731780991830273296297140501488361490123025242728516520596396511820557273154073549773137685859445237736658014736282257083785882592166052534473053026176229098422203905619846459265738362859679862270988452361683451440803788568300444425725175\"}, \"response\": \"57513547772483453232756705213109182719476244252346216384127374345628889196096\"}, {\"challenge\": \"46741785053918118154848896820085464925671239027904886965218169217385735685771\", \"commitment\": {\"A\": \"8204099266024548592165743253907256572259400626005080824257116250969358821428112881032863623964166849785668551229406355286331359382634645331769101479707037517762099546430650908723276543754693368667455271684098578897792561127595300435264359824607588383195142495500531186753506846013740973638543612200232991915060100923911599859500311703096013807954456945016402631348805272474587501849245909953322033069478471703687863323228444459450106965362000564995708127666403510905079448219106951983281749823638097211982776775954943253919166013537911768350016675170734384371608477815080223985654367562217980167192298657253999287104\", \"B\": \"2870925086149903448423030452890138076763256297233796443410101050851365017111617371281647635397879913615671700563753122736263788389912942674145908268974274781408271597144293339914556735961791632045526319083758346010694220520356446602340804483574622023918899449342764522287734704426777877738073462099395887561928549640312439461237876516443031500318277387173900015089048124812884318044173411856620353670467475274153454979432630814692546812357937029924995748136485935268693300760939824081854392825744349598782084275966413211045473867793489286328546376469050207965843422968984817754530256920363908998162047893721357153520\"}, \"response\": \"91469090683979584694909954417958870883208499630036944330450898325302781677348\"}], \"choices\": [{\"alpha\": \"15062600351346883972644127892142714662189690871997002860160637836650441602030002705292055229350425245338714989971657783718286387745755778873544353920087069923141558465357271862261518288218334688506364799707392611362040662936902886469092037687001218417001577231464467922549631334100757297338618251748139729964707680811665800662927067491530779427912712421946148997429722751848164735658063110170464608816677293362933159695162487677068539309388988631969504494216829146823387001428360245160741367464561945072440282718021512357600566368531501739912137646478149487913635218325375327436398982687476464381274863173109390437849\", \"beta\": \"6472995696323449481761379982226987034204671847521280173533677671800764813049225642765553350990023913842413237138994293559420693903825662068604923689287872415577051463244183680254762458861919465321996886414454802637697911164542594307379406907302286457272189409620028333641643603878239149886302645287899635957429604613780743866054390180292694767552575334318878336726590042824600404857161528120082698503521888035480554396084523318391075327196170151150017179381762494738064997274952677744062885141254893966429696256647729546503511682475164521390015781174526069960261297951569915608591534531987906457590536635969717163017\"}, {\"alpha\": \"11797341915537555476557075594487134344289042577013466250418375376870630384349304048606714535795936426595938010963895455399050161847596126018739059592043662385972723145765773438163543846757186579416754475057309926173301818771413977291177987529471270631093815995658047599876124666043571805566412571721352681563641013117117243443491777387530741635619864702428158939093621034585067648994491883088363814536499351174599683663609451037205821783508958092566632960335955512240723655648985350951040171933874789527124767479182628124872969346846033060536497255225965817197189441217993019374945875453159578803014379028048622459368\", \"beta\": \"386603140585949274399765676343225021646823837172562587253483824685501371966765713673896074723205590686430303065790627082336695351775735361487007145740387773299912412488939936995100076554454597585434254473760210886435540378154175229046102719209082777247996500554646776006238400469042159470627068048421003860492049429142953418171122350175145645388713766049983218504277012766151062997680731741281725276122652751673876491143973427719469741677235999333427047365824639448121152225086556575371711180660842261974231132982964433856082981951267337588132752488463797969108960908305840938831642503490689882743196654196818586153\"}, {\"alpha\": \"7447770187339878295993449894291489887048199488149047386007365531030411994514567126890793337686510960379699552037310153457712846898600825987067491960636123972698743027902536803313122852695834128081255673149298326081316468803638688172240293429021646722622760387789968485271656707408704015670936653538239976073086700354395913211645218184935464859540952979791617557615121821844458125737697969356374053675571600427328257161894058513558896927219556279567567385006610345737415318941082511663411931234031736832574296988507123506658418745859239378750962490244083867984466678345522975899669428543817167372204402768140225673899\", \"beta\": \"10295246473033461943758026743789596939350509698742039970315795780884125241389014443917881746198829796581532942808439005949283365779117479508160568372317140210333337134392167953936839851684527674630949696312674486436145278957756779729314631536871251419768935267394895633742684422354002503367119198418556623190787101973681238871389852824878971817620102647834188822139335392978368269353706515717026270035928407046024774088938767955368659221078544511315129408774954569106438025396242766355252175143630049198659910228039324058865260398970570436187058310718047632290796972241903647262820809895006837802544169684965043985217\"}]}]}", "voter_login_id": "benadida5", "voter_email": "ben5@adida.net", "election": 1}}, {"pk": 1, "model": "helios.castvote", "fields": {"cast_at": "2010-12-30 11:00:30", "voter": 1, "quarantined_p": false, "invalidated_at": null, "verified_at": "2010-12-30 19:00:31", "vote_tinyhash": null, "released_from_quarantine_at": null, "vote_hash": "XMbs8mj8IMfWTIrMeeJ+1ItRtH1fMzrrdasdoZghqms", "vote": "{\"election_uuid\": \"40a17486-1446-11e0-b9ec-000c293e7de1\", \"election_hash\": \"wGPQnqnzBpmLeg8ZB/G0rgaamGvKVFgpT4/2FC71eas\", \"answers\": [{\"individual_proofs\": [[{\"challenge\": \"23448591784697000965545892324810629021639188373890683375910722335603622138784\", \"commitment\": {\"A\": \"1327628315723512592520092253022813954345811633817636321461327060815545431155754937699838371154948609511354231571272734503300322585026951636488920956523182672551950508490901322669811500895795175060810855625517092521213959126412117064377577760401592872465535448172644182461127758421070618332647280802438572454887787753087987686539965858891402894686998695861222063954822180068263112093268485916206196256374623420279908267672537703676874160139012850887547187383627177839126080326025123801997793732363652198095799909736237665197875170635639393513721452483230488642329871180916160042706552228810447375634551726254656114763\", \"B\": \"12651568238845905580146731093834003015541538197207885155377455570739647990731115642751855805978467077164118286855210767852487616446322130095137621482323196926762880646794844146925307934365718148556573920173586397697773728633505957174913806486333337487959223801388056302406238391017110214970693170684905765736096447201061693237410864568109046693126318808709805263697684626506219123708702408188380145135728153486516784168065844265720923488323409470042004070431410287600339033480425760464353921573676904433306313575237328448962058283857065990334095968743257379436762608765126482553431856338280756915065371130629259833162\"}, \"response\": \"66493654499921179654532076483238061065663825681855720849779479385099600294313\"}, {\"challenge\": \"37880974463645900326997980445921662466504953698747123205418028110401621340654\", \"commitment\": {\"A\": \"11552929741476814953885315683074098091103686548723516644080511046344121473871033010567541553035322173556104503663355802077291981196609620866458230652243307217336007047616125327287070248174361784734712728026360142208785301081379339577768097307553636351066758204606067852151212136995659736744834225212988266174017146842207029877054309186325359774975424315721603313081735790862906915249402187712643905438535309489072993517767409706459101240509405310623022029051651543866804596815439974638899195343422656827451325150692577702439948168203545390620539243767450955282190940402874138622075234269541622364721163286312878986819\", \"B\": \"6329155122062386904033442921423622622147079320347985844514869678788894694074332416611216748665105335359984602999437980698165855519323382681940366700676670498208841397103135301080915366474717831310061726860563362512863054679720700745282422030751124929023148055891934168562161714897501755587548350311398415869238331591154762453581309273381060323924517084418705908387965117516648560910526056603787772182229010906379630932318790167674451145975401275892801196642017344744355317898337463259457545132684347381953362982206865463253584571797006969916721595812159297162226956121662150241089497749712184668941945856515753434583\"}, \"response\": \"40889333838309328628442514979337814302799996449096507610282589928128273346086\"}], [{\"challenge\": \"40838246976619679982594438537447216988156147901010823503082500261133646034510\", \"commitment\": {\"A\": \"7240746395320606545924818303659574319731549234658716095013175472134123703846899818801089836111944641913350487758554287853491345581528557228542267116521090883813722627295383932822769534799988278169007346954354698811871351725370440703413817798869596540753172040591555804833259365722924628910597267412752971983973099286825908075100328469111189817054592233683568840797349280531135103664238151283794163518180822346478272123336746353940825490958866084369836609057210749809398951837726387799726276790721200488289943034865614991602894496358416379863548515397992901340896111968521210996058255256378234826527429341875890954325\", \"B\": \"14360814363564966405360021475222916339844629619455505817116073918028706786972236957526914330535717891973121029017380447473243935691715817749628813781646994519966103065028319818105397007744775285803075583457045600071289431042427536327509229154776384742741650503755680262226870011332151033945281301751333262151726293854136550805821221030867126626766560317685475484257992652848092598642512843265151823549960069639481061805952898584109547777019233310314201053646724130044711428631467139016994288332446095561699988285289270533446820493287643560434681811441184380345762034361885379181472264724965318003694917150246630023674\"}, \"response\": \"32379791452380146747129274667434627989796700807725842979905511921680817488679\"}, {\"challenge\": \"20491319271723221309949434233793977920795005824525427253918918169889913365948\", \"commitment\": {\"A\": \"6249667490277917583936607671102592882918409694303397387989581556482216126368122870614174165168740657006080095721379286684627119686099144826994894421926931467679822839419322398647946960779534495161082693858576168084013669468576163333253692335647695009660221751877286994683778685376405300629183143917010861517571099244272102834874222190843107273758742282622844732413516515908311253461817503881880906475522033363486911306119901292379625845416065240305301099338032541569024074975755933787525224425365617538732320213780187894141782809997859364333867835879203172909290216548191092783192574241137558974282359389187012817936\", \"B\": \"9499112746840921330025828862313195732714191736836796633477362065391580604500493351834623100000344332078541514598802122394938451327827696985631359354944865315435059206970465412862653037841742495026775379978363725663046523355370934979512948437818087270242744189398042668453563383598014440609263097809464386385377086332856379919768588734445308364251682197283847623282458135779287780459446653554844992689069349147999153323163756277510532664441506670090088963764802003962950921958456938625791579175155142656425066425712635117449924858147057327726380659546270500021282831889329912110494100841744786647915029857722991309102\"}, \"response\": \"39881801996843034570752413025736783442023073187463315853656384552364386913204\"}], [{\"challenge\": \"43431479061562930090004922442036754678483107275940751848024215992244886343747\", \"commitment\": {\"A\": \"1270055805719836261622958888846330804638817542205324650711349305977867087050906657167153321020114772132749332223143260695672249760406765833706496501796398284185540978966142644793196415879582663634100399321765040877162609041210292145512334466387459015610330751980306692864978147960861903003237265674845225826944921430476569228083860123295338768898464268768775686988874386876491097663989219624354211056385565966546828280075259494577713355009759282723250554257459428057560064051666367969921490582847014422432367039519517232418691823528688817355615892442875262952742672229933819705525867755926536935560184321181516217379\", \"B\": \"13811522002661403186656524643430184156362000458283631439050985694312056363976044427831818381014131146340935786418326708412866699221278668866350666842389724034155760660894321943027467083331876166785006218286375036218444948819814596653763067984475369256295354933061577137097160951738083556909805645133853825940451449785781714550102697948235131202099972030859604297053943782339850793154555482391232163147687158127829886062127554444845944041291007323918037270588313481883735696620885738492026672168539201247500513346410668408666264612310030986871682638524348434676219620439025304901534964705268662494748119236717258099310\"}, \"response\": \"68215094834895276844550802238341145638824175199551659406303368956211949019503\"}, {\"challenge\": \"17898087186779971202538950329371565185390706224154511062911955610649418098256\", \"commitment\": {\"A\": \"16251021783044516022530162510375731932396648925368808712144817845848470716066393905811822426515609168500968326025256059316597643395704568352891213427889062095727127211219607578386713220335138915526877263124257302083955232156553595937713784723082774095373922632480472464901263941851494794480244523914002369035976941551571562910539299973363373412124246141349684130390967911024709851584467209367384820033560446424080918421522113745512797475927149175846813620541575734629166934167572438415311057397875639759338459893698446812426686906493776199091997749807282590016592114718036464843222410363303324286514483401243517098919\", \"B\": \"9483189503031797184976054292751366999555646527059016081956041648897995571468703398849876134946030247727478260873291252669051128569609552216633210758991866713731253996106528668922437684662967028333743543723894078765207823156516048642619579666660693500547400247407308606819581427394295455460458346347446248548838123178569076367824541766927409254628932336490038849157667580037659205992868562238203915995106969796461422020992210022408234454951887179002927611195937432114888768429519791384688384245388025993512601880012525058553458889191281451543418313914273707609311661844227170291960451878015798149129666533670296683517\"}, \"response\": \"47055844704389989755328398564006162909789771315920760315962495933998560250733\"}]], \"overall_proof\": [{\"challenge\": \"14587781194424783137694975950944071336748097811762793023623705015943510494552\", \"commitment\": {\"A\": \"11593378736638379859476775929688252170819242231855060210332622890983118661213958218991328012112542344165110060653955477862332902364013355270331585307350836027305693084343561363596117247575763301618955255170102018700927311116945258908959677914951048142668496968817639199967846759461114146494910430269004689842295064898502764043961362230065062223655965446278805522690709858469443935060447482793234174374235433634507565188762427880141668958856980254433467181819491301709455993757318818296773777159501430136689906726672323092132282409154366580941018678697554417366994112669108598689024668589495123456818830843512906688674\", \"B\": \"6379878600728866669455031437323245344320246967984106758624844794330223775770709971892885303077113095171244444904758039226852919548659167744967797598018751391128142643083704135304989646690792324977602130349887992894633902005083938751838673945697901818639788591489261000492127878191120874014218509575385139468955836491832775486846669297951819245355910267593674016013045608418799063731780991830273296297140501488361490123025242728516520596396511820557273154073549773137685859445237736658014736282257083785882592166052534473053026176229098422203905619846459265738362859679862270988452361683451440803788568300444425725175\"}, \"response\": \"57513547772483453232756705213109182719476244252346216384127374345628889196096\"}, {\"challenge\": \"46741785053918118154848896820085464925671239027904886965218169217385735685771\", \"commitment\": {\"A\": \"8204099266024548592165743253907256572259400626005080824257116250969358821428112881032863623964166849785668551229406355286331359382634645331769101479707037517762099546430650908723276543754693368667455271684098578897792561127595300435264359824607588383195142495500531186753506846013740973638543612200232991915060100923911599859500311703096013807954456945016402631348805272474587501849245909953322033069478471703687863323228444459450106965362000564995708127666403510905079448219106951983281749823638097211982776775954943253919166013537911768350016675170734384371608477815080223985654367562217980167192298657253999287104\", \"B\": \"2870925086149903448423030452890138076763256297233796443410101050851365017111617371281647635397879913615671700563753122736263788389912942674145908268974274781408271597144293339914556735961791632045526319083758346010694220520356446602340804483574622023918899449342764522287734704426777877738073462099395887561928549640312439461237876516443031500318277387173900015089048124812884318044173411856620353670467475274153454979432630814692546812357937029924995748136485935268693300760939824081854392825744349598782084275966413211045473867793489286328546376469050207965843422968984817754530256920363908998162047893721357153520\"}, \"response\": \"91469090683979584694909954417958870883208499630036944330450898325302781677348\"}], \"choices\": [{\"alpha\": \"15062600351346883972644127892142714662189690871997002860160637836650441602030002705292055229350425245338714989971657783718286387745755778873544353920087069923141558465357271862261518288218334688506364799707392611362040662936902886469092037687001218417001577231464467922549631334100757297338618251748139729964707680811665800662927067491530779427912712421946148997429722751848164735658063110170464608816677293362933159695162487677068539309388988631969504494216829146823387001428360245160741367464561945072440282718021512357600566368531501739912137646478149487913635218325375327436398982687476464381274863173109390437849\", \"beta\": \"6472995696323449481761379982226987034204671847521280173533677671800764813049225642765553350990023913842413237138994293559420693903825662068604923689287872415577051463244183680254762458861919465321996886414454802637697911164542594307379406907302286457272189409620028333641643603878239149886302645287899635957429604613780743866054390180292694767552575334318878336726590042824600404857161528120082698503521888035480554396084523318391075327196170151150017179381762494738064997274952677744062885141254893966429696256647729546503511682475164521390015781174526069960261297951569915608591534531987906457590536635969717163017\"}, {\"alpha\": \"11797341915537555476557075594487134344289042577013466250418375376870630384349304048606714535795936426595938010963895455399050161847596126018739059592043662385972723145765773438163543846757186579416754475057309926173301818771413977291177987529471270631093815995658047599876124666043571805566412571721352681563641013117117243443491777387530741635619864702428158939093621034585067648994491883088363814536499351174599683663609451037205821783508958092566632960335955512240723655648985350951040171933874789527124767479182628124872969346846033060536497255225965817197189441217993019374945875453159578803014379028048622459368\", \"beta\": \"386603140585949274399765676343225021646823837172562587253483824685501371966765713673896074723205590686430303065790627082336695351775735361487007145740387773299912412488939936995100076554454597585434254473760210886435540378154175229046102719209082777247996500554646776006238400469042159470627068048421003860492049429142953418171122350175145645388713766049983218504277012766151062997680731741281725276122652751673876491143973427719469741677235999333427047365824639448121152225086556575371711180660842261974231132982964433856082981951267337588132752488463797969108960908305840938831642503490689882743196654196818586153\"}, {\"alpha\": \"7447770187339878295993449894291489887048199488149047386007365531030411994514567126890793337686510960379699552037310153457712846898600825987067491960636123972698743027902536803313122852695834128081255673149298326081316468803638688172240293429021646722622760387789968485271656707408704015670936653538239976073086700354395913211645218184935464859540952979791617557615121821844458125737697969356374053675571600427328257161894058513558896927219556279567567385006610345737415318941082511663411931234031736832574296988507123506658418745859239378750962490244083867984466678345522975899669428543817167372204402768140225673899\", \"beta\": \"10295246473033461943758026743789596939350509698742039970315795780884125241389014443917881746198829796581532942808439005949283365779117479508160568372317140210333337134392167953936839851684527674630949696312674486436145278957756779729314631536871251419768935267394895633742684422354002503367119198418556623190787101973681238871389852824878971817620102647834188822139335392978368269353706515717026270035928407046024774088938767955368659221078544511315129408774954569106438025396242766355252175143630049198659910228039324058865260398970570436187058310718047632290796972241903647262820809895006837802544169684965043985217\"}]}]}"}}, {"pk": 1, "model": "helios.trustee", "fields": {"public_key": "{\"y\": \"10209996196141455592954150806595590302779517452973425513133143319891192812034378656046616286290215682512560281253780168350968078321298815359346112476103153663350347613425264137270664984993821707972591603600995748437418960965874687695519139184521329861807151368087170846679616051889191498465971754449242176181010116247194146889436200685706775658837872315899212063389435005791600156232673825152649290306522408636413180876447424057387927560622286232455842226141935616726284027452689619467330786904141326022591988410271656808992679125143841590661998535192138516435006042519265859141061154934003554664919161933342577547196\", \"p\": \"16328632084933010002384055033805457329601614771185955389739167309086214800406465799038583634953752941675645562182498120750264980492381375579367675648771293800310370964745767014243638518442553823973482995267304044326777047662957480269391322789378384619428596446446984694306187644767462460965622580087564339212631775817895958409016676398975671266179637898557687317076177218843233150695157881061257053019133078545928983562221396313169622475509818442661047018436264806901023966236718367204710755935899013750306107738002364137917426595737403871114187750804346564731250609196846638183903982387884578266136503697493474682071\", \"q\": \"61329566248342901292543872769978950870633559608669337131139375508370458778917\", \"g\": \"14887492224963187634282421537186040801304008017743492304481737382571933937568724473847106029915040150784031882206090286938661464458896494215273989547889201144857352611058572236578734319505128042602372864570426550855201448111746579871811249114781674309062693442442368697449970648232621880001709535143047913661432883287150003429802392229361583608686643243349727791976247247948618930423866180410558458272606627111270040091203073580238905303994472202930783207472394578498507764703191288249547659899997131166130259700604433891232298182348403175947450284433411265966789131024573629546048637848902243503970966798589660808533\"}", "pok": "{\"challenge\": \"1332480086668557441201643372581202887936359529158\", \"commitment\": \"7293717602937930303539334035585992874848225578069230321020475395302271618251676625339394037113615768448191844038177138377398628710618534554579159024696839244259150329975275908657630895950271024845960009174103501808710068228131410574426743388071115904258299345649002261830811651722360713255177643626318539836219484536768879576493216269723082810883816923164505226562312363786695925147039779580512980526559772797170383031088424275717164298259873455954031483604235513390512830986257955559268237959148131455635082412955562162650368183295042919718548235596451502134150497646725301296162346004092475784579091583032361772546\", \"response\": \"36391699599264859021278138939148792146348548118365171047783454096022492035033\"}", "name": "Ben for Helios", "decryption_proofs": "[[{\"challenge\": \"1380551719414920400171525057971082717628333383331\", \"commitment\": {\"A\": \"7507017710713706541866854087239255878832243462282927934861869264579266153414135774039907501610333661411307392124516064716169762187793122422653392413694719341072929833428803311467184790384552952122962719439993321491850563305827711174757159530056482044086113086278819776836755900476312486344691968144982867821153845953505709371731535352078308509107142372383678069818043698670113799637374050281502657094511525050466016215603846575745518886258884256517535305086140932732185093382337472216944115745914507235107089359391149241488464243538039888427232320387045242147289454894324102498622240371772307962377543359644138050732\", \"B\": \"9380537358717287794361139802208298689612038093915331354273755926136271364418368655784719731999399724919985020788675784918253914203053520739646207663258321982296961284260527867979102137369345188902946846882488328401755614672409311174738591638094760071468127665833627085404365535363865725138469740172195165916006849929747492989908204997577576884613794053639111878642291186924488222075700172352004236504102819795276258902217943337913405984290899494969828003129050711264077492215521097345600028545889724146142447720830350928361819900593545829887714375518026393470442073999043111656408350218492657773508327008142722765323\"}, \"response\": \"14968183763730862563804542741411408992850421513002294375208895154010692113473\"}, {\"challenge\": \"928781902643353178142869485767256501013266757862\", \"commitment\": {\"A\": \"15633563423080526706419747992138418264348782035013504564013594194243510158773485945327967048961356486383215212483462348169538997687212412994065370129208651376716134738309040011956812348225502246726068743645442345760299758855171800338513471629907181869261235290967637848308843443030196462480968462064736152282506400094906707590048929424501814668795548146042465351489547617128013409539657112623382498325505218672820602470148627899073221474369783740192103073229959882697932789244332982166130368921202267521575861224848623085043804713412700008533796217785099336299831697244176527202186978470212364757532134819680354563148\", \"B\": \"12096486616787847940422910780868545368459722844257079241138940841283178564454214852156457535709117643371874960603512077501609448142224981337250893956754326973500016429330818806066472007235463129546869618768400286717676281057649118636738883493045882628597975596370121648765372944460751900559383299236537662147422350456179701023239887170947370958443802128313476878264884880050610028894804375661112294041896485336368667604232816382543157191078316625625754668916289488659228524702708688069886061853971910775735555019155194573765265940727358626391662769501006863366189078852671910748052355802446751747021021118425535805993\"}, \"response\": \"28211487355296799049673241288040839050179434119064067463499443482498217208519\"}, {\"challenge\": \"1185875285287724841734729620564063765892683320674\", \"commitment\": {\"A\": \"7001208902949083725612528497286173590963128243388233050364170894167119730650686852382051453769934272573826748192906372573117172855830955054429366729378203493623800707261267780120888516763713550790929472508859603645362641253784170132183853580904592671772431762071089997631711457767213127284054889939710921678409142902073069362109320972478847445503275495123009954969192201274037955597083943422722576587379742825967553563854890578564608501050212319484234660576151814389620150885481795600159904595945676049646628070476825084214555838090776625145999421406237953264094965910871533178888382695722903443177374943370529435835\", \"B\": \"9283256001439934493735625502538426523693868357198892770123498611555555299897475884431602692985751553635974299868188199546120099533813550264738209145580148682133736994277447303232404855460267466835171618461494856527451536401919045811368542455888163074798675752166973030905486052563091739924121583631082909857054169008129824182126348494239756670544488941688557994938824882239628149105470894355324069394350165968806256153572521355852908171187431792943362931378932369391344262912306194221041082329544009406130999320321982717816319748626422183292293407260745830456452071148377105696849366938448681719121826747318585394449\"}, \"response\": \"35940004930824655560273271912769310469877395464343390517827902063029021070522\"}]]", "secret": "cCckQxMt34gi", "election": 1, "public_key_hash": "hSeyI5ZlWhNshRfur8uhRHxqbi/vVqKGb4P+FdUnR8o", "secret_key": "{\"x\": \"16005388145081131844879702159816380093588036047451384431130259662992029443624026318970562260272120587261393284363542518569391452382369249932333676351315398477129891095120523003328480376873958075985143480062804837658107571391518376403590301476378514425362741872602623178825738994339324021624724807784600813090052134766237887122838918167022578896510027628605349253760682883849478673881175379345895010771593356545048012214886174088387364386859743113585615521057884719510571320329089457413362774250338248390404419684724069497574413459557247072960862781228007880248431226584871900019890901724707636999442425643478871203395\", \"public_key\": {\"y\": \"10209996196141455592954150806595590302779517452973425513133143319891192812034378656046616286290215682512560281253780168350968078321298815359346112476103153663350347613425264137270664984993821707972591603600995748437418960965874687695519139184521329861807151368087170846679616051889191498465971754449242176181010116247194146889436200685706775658837872315899212063389435005791600156232673825152649290306522408636413180876447424057387927560622286232455842226141935616726284027452689619467330786904141326022591988410271656808992679125143841590661998535192138516435006042519265859141061154934003554664919161933342577547196\", \"p\": \"16328632084933010002384055033805457329601614771185955389739167309086214800406465799038583634953752941675645562182498120750264980492381375579367675648771293800310370964745767014243638518442553823973482995267304044326777047662957480269391322789378384619428596446446984694306187644767462460965622580087564339212631775817895958409016676398975671266179637898557687317076177218843233150695157881061257053019133078545928983562221396313169622475509818442661047018436264806901023966236718367204710755935899013750306107738002364137917426595737403871114187750804346564731250609196846638183903982387884578266136503697493474682071\", \"q\": \"61329566248342901292543872769978950870633559608669337131139375508370458778917\", \"g\": \"14887492224963187634282421537186040801304008017743492304481737382571933937568724473847106029915040150784031882206090286938661464458896494215273989547889201144857352611058572236578734319505128042602372864570426550855201448111746579871811249114781674309062693442442368697449970648232621880001709535143047913661432883287150003429802392229361583608686643243349727791976247247948618930423866180410558458272606627111270040091203073580238905303994472202930783207472394578498507764703191288249547659899997131166130259700604433891232298182348403175947450284433411265966789131024573629546048637848902243503970966798589660808533\"}}", "decryption_factors": "[[\"6472995696323449481761379982226987034204671847521280173533677671800764813049225642765553350990023913842413237138994293559420693903825662068604923689287872415577051463244183680254762458861919465321996886414454802637697911164542594307379406907302286457272189409620028333641643603878239149886302645287899635957429604613780743866054390180292694767552575334318878336726590042824600404857161528120082698503521888035480554396084523318391075327196170151150017179381762494738064997274952677744062885141254893966429696256647729546503511682475164521390015781174526069960261297951569915608591534531987906457590536635969717163017\", \"4694987036530822221969862722934807245252033236096286470958607647670667339966405067211401183900486152849338828231866947753384000515948363917537698461367938226635095051908983060837577141637079223791250760708100706116554435071563140176091228666812675154652983071813350108415009127448215287774568670658220922979555810609621103674935794988428755665984799963804061832930765121869645042320772546611747793882117497557727049006950340697861932746306602015638014326057316264719067026691985946612284378220471949526380850668823330863033387059030694538020710485275895898243819680400129463078761698466522349987023411487281520474883\", \"10295246473033461943758026743789596939350509698742039970315795780884125241389014443917881746198829796581532942808439005949283365779117479508160568372317140210333337134392167953936839851684527674630949696312674486436145278957756779729314631536871251419768935267394895633742684422354002503367119198418556623190787101973681238871389852824878971817620102647834188822139335392978368269353706515717026270035928407046024774088938767955368659221078544511315129408774954569106438025396242766355252175143630049198659910228039324058865260398970570436187058310718047632290796972241903647262820809895006837802544169684965043985217\"]]", "email": "ben@adida.net", "uuid": "4269f398-0eae-4351-9027-c2d9ee1767c3"}}] \ No newline at end of file +[{"pk": "0183b7531c15490727b9c8e0b675b43e", "model": "sessions.session", "fields": {"expire_date": "2011-01-13 11:02:45", "session_data": "gAJ9cQEoVQpjc3JmX3Rva2VucQJVJGZjY2YwZmQ1LWU5ODctNDZjZS1iYzQ4LTg5OGE1NDc5ZjMz\nNnEDVRBhdXRoX3N5c3RlbV9uYW1lcQRYBgAAAGdvb2dsZXEFVQ5GSUVMRFNfVE9fU0FWRXEGXXEH\nKFUObGFzdF92b3RlX2hhc2hxCFUOZW5jcnlwdGVkX3ZvdGVxCWVoCFgrAAAAWE1iczhtajhJTWZX\nVElyTWVlSisxSXRSdEgxZk16cnJkYXNkb1pnaHFtc3EKaAlOVQR1c2VycQt9cQwoVQRpbmZvcQ19\ncQ5VBHR5cGVxD1UGZ29vZ2xlcRBVBXRva2VucRF9cRJVB3VzZXJfaWRxE1gUAAAAYmVuYWRpZGE3\nN0BnbWFpbC5jb21xFFUEbmFtZXEVWAkAAABCZW4gQWRpZGFxFnVVE2dvb2dsZV9yZWRpcmVjdF91\ncmxxF1UgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2F1dGgvYWZ0ZXJxGHUuMWZlMjVjMDEzODA1NzY4\nNDdiNmI4YWNkZWUwMWNjMGU=\n"}}, {"pk": 1, "model": "helios_auth.user", "fields": {"info": "{\"password\": \"test\"}", "user_id": "benadida", "name": null, "user_type": "password", "token": null, "admin_p": false}}, {"pk": 4, "model": "helios_auth.user", "fields": {"info": "{\"password\": \"XEVEjStfuE\", \"email\": \"ben6@adida.net\", \"name\": \"Ben6 Adida\"}", "user_id": "benadida6", "name": null, "user_type": "password", "token": null, "admin_p": false}}, {"pk": 5, "model": "helios_auth.user", "fields": {"info": "{\"password\": \"0VuIzsa55u\", \"email\": \"ben7@adida.net\", \"name\": \"Ben7 Adida\"}", "user_id": "benadida7", "name": null, "user_type": "password", "token": null, "admin_p": false}}, {"pk": 6, "model": "helios_auth.user", "fields": {"info": "{\"password\": \"zeVDg9nVvh\", \"email\": \"ben8@adida.net\", \"name\": \"Ben8 Adida\"}", "user_id": "benadida8", "name": null, "user_type": "password", "token": null, "admin_p": false}}, {"pk": 3, "model": "helios_auth.user", "fields": {"info": "{\"password\": \"PPvPcBBryM\", \"email\": \"ben5@adida.net\", \"name\": \"Ben5 Adida\"}", "user_id": "benadida5", "name": null, "user_type": "password", "token": null, "admin_p": false}}, {"pk": 2, "model": "helios_auth.user", "fields": {"info": "{}", "user_id": "benadida77@gmail.com", "name": "Ben Adida", "user_type": "google", "token": "{}", "admin_p": false}}, {"pk": 1, "model": "helios.election", "fields": {"voting_extended_until": null, "voters_hash": null, "featured_p": false, "use_voter_aliases": false, "tallying_started_at": "2010-12-30 19:03:11", "result": "[[0, 1, 0]]", "questions": "[{\"short_name\": \"Who should be president?\", \"choice_type\": \"approval\", \"max\": 1, \"min\": 0, \"question\": \"Who should be president?\", \"answers\": [\"Alice\", \"Bob\", \"Carol\"], \"answer_urls\": [null, null, null], \"tally_type\": \"homomorphic\", \"result_type\": \"absolute\"}]", "voting_ended_at": "2010-12-30 19:03:11", "registration_starts_at": null, "cast_url": "http://localhost:8000/helios/elections/40a17486-1446-11e0-b9ec-000c293e7de1/cast", "uuid": "40a17486-1446-11e0-b9ec-000c293e7de1", "frozen_at": "2010-12-30 18:55:42", "encrypted_tally": "{\"tally\": [[{\"alpha\": \"15062600351346883972644127892142714662189690871997002860160637836650441602030002705292055229350425245338714989971657783718286387745755778873544353920087069923141558465357271862261518288218334688506364799707392611362040662936902886469092037687001218417001577231464467922549631334100757297338618251748139729964707680811665800662927067491530779427912712421946148997429722751848164735658063110170464608816677293362933159695162487677068539309388988631969504494216829146823387001428360245160741367464561945072440282718021512357600566368531501739912137646478149487913635218325375327436398982687476464381274863173109390437849\", \"beta\": \"6472995696323449481761379982226987034204671847521280173533677671800764813049225642765553350990023913842413237138994293559420693903825662068604923689287872415577051463244183680254762458861919465321996886414454802637697911164542594307379406907302286457272189409620028333641643603878239149886302645287899635957429604613780743866054390180292694767552575334318878336726590042824600404857161528120082698503521888035480554396084523318391075327196170151150017179381762494738064997274952677744062885141254893966429696256647729546503511682475164521390015781174526069960261297951569915608591534531987906457590536635969717163017\"}, {\"alpha\": \"11797341915537555476557075594487134344289042577013466250418375376870630384349304048606714535795936426595938010963895455399050161847596126018739059592043662385972723145765773438163543846757186579416754475057309926173301818771413977291177987529471270631093815995658047599876124666043571805566412571721352681563641013117117243443491777387530741635619864702428158939093621034585067648994491883088363814536499351174599683663609451037205821783508958092566632960335955512240723655648985350951040171933874789527124767479182628124872969346846033060536497255225965817197189441217993019374945875453159578803014379028048622459368\", \"beta\": \"386603140585949274399765676343225021646823837172562587253483824685501371966765713673896074723205590686430303065790627082336695351775735361487007145740387773299912412488939936995100076554454597585434254473760210886435540378154175229046102719209082777247996500554646776006238400469042159470627068048421003860492049429142953418171122350175145645388713766049983218504277012766151062997680731741281725276122652751673876491143973427719469741677235999333427047365824639448121152225086556575371711180660842261974231132982964433856082981951267337588132752488463797969108960908305840938831642503490689882743196654196818586153\"}, {\"alpha\": \"7447770187339878295993449894291489887048199488149047386007365531030411994514567126890793337686510960379699552037310153457712846898600825987067491960636123972698743027902536803313122852695834128081255673149298326081316468803638688172240293429021646722622760387789968485271656707408704015670936653538239976073086700354395913211645218184935464859540952979791617557615121821844458125737697969356374053675571600427328257161894058513558896927219556279567567385006610345737415318941082511663411931234031736832574296988507123506658418745859239378750962490244083867984466678345522975899669428543817167372204402768140225673899\", \"beta\": \"10295246473033461943758026743789596939350509698742039970315795780884125241389014443917881746198829796581532942808439005949283365779117479508160568372317140210333337134392167953936839851684527674630949696312674486436145278957756779729314631536871251419768935267394895633742684422354002503367119198418556623190787101973681238871389852824878971817620102647834188822139335392978368269353706515717026270035928407046024774088938767955368659221078544511315129408774954569106438025396242766355252175143630049198659910228039324058865260398970570436187058310718047632290796972241903647262820809895006837802544169684965043985217\"}]], \"num_tallied\": 1}", "use_advanced_audit_features": true, "result_proof": null, "voting_started_at": null, "archived_at": null, "tallying_finished_at": null, "openreg": false, "private_key": null, "description": "test1", "short_name": "test1", "eligibility": "[{\"auth_system\": \"password\"}]", "tallying_starts_at": null, "public_key": "{\"y\": \"10209996196141455592954150806595590302779517452973425513133143319891192812034378656046616286290215682512560281253780168350968078321298815359346112476103153663350347613425264137270664984993821707972591603600995748437418960965874687695519139184521329861807151368087170846679616051889191498465971754449242176181010116247194146889436200685706775658837872315899212063389435005791600156232673825152649290306522408636413180876447424057387927560622286232455842226141935616726284027452689619467330786904141326022591988410271656808992679125143841590661998535192138516435006042519265859141061154934003554664919161933342577547196\", \"p\": \"16328632084933010002384055033805457329601614771185955389739167309086214800406465799038583634953752941675645562182498120750264980492381375579367675648771293800310370964745767014243638518442553823973482995267304044326777047662957480269391322789378384619428596446446984694306187644767462460965622580087564339212631775817895958409016676398975671266179637898557687317076177218843233150695157881061257053019133078545928983562221396313169622475509818442661047018436264806901023966236718367204710755935899013750306107738002364137917426595737403871114187750804346564731250609196846638183903982387884578266136503697493474682071\", \"q\": \"61329566248342901292543872769978950870633559608669337131139375508370458778917\", \"g\": \"14887492224963187634282421537186040801304008017743492304481737382571933937568724473847106029915040150784031882206090286938661464458896494215273989547889201144857352611058572236578734319505128042602372864570426550855201448111746579871811249114781674309062693442442368697449970648232621880001709535143047913661432883287150003429802392229361583608686643243349727791976247247948618930423866180410558458272606627111270040091203073580238905303994472202930783207472394578498507764703191288249547659899997131166130259700604433891232298182348403175947450284433411265966789131024573629546048637848902243503970966798589660808533\"}", "name": "test1", "admin": 2, "voting_starts_at": null, "created_at": "2010-12-30 10:54:38", "tallies_combined_at": null, "modified_at": "2010-12-30 10:54:38", "voting_ends_at": null, "datatype": "legacy/Election", "complaint_period_ends_at": null, "private_p": false, "election_type": "election"}}, {"pk": 1, "model": "helios.electionlog", "fields": {"at": "2010-12-30 10:54:54", "election": 1, "log": "voter file added"}}, {"pk": 2, "model": "helios.electionlog", "fields": {"at": "2010-12-30 10:55:00", "election": 1, "log": "Trustee Ben for Helios added"}}, {"pk": 3, "model": "helios.electionlog", "fields": {"at": "2010-12-30 10:55:42", "election": 1, "log": "frozen"}}, {"pk": 4, "model": "helios.electionlog", "fields": {"at": "2010-12-30 11:03:19", "election": 1, "log": "decryptions combined"}}, {"pk": 1, "model": "helios.voterfile", "fields": {"processing_finished_at": "2010-12-30 18:54:56", "uploaded_at": "2010-12-30 10:54:54", "num_voters": 5, "election": 1, "processing_started_at": "2010-12-30 18:54:55", "voter_file": "voters/2010/12/30/4d0d7ebc-15bb-418e-a0b5-8664d39ffa3b"}}, {"pk": 2, "model": "helios.voter", "fields": {"voter_password": "XEVEjStfuE", "uuid": "b3e41a74-4eed-447a-ac4e-cb894be680d9", "voter_name": "Ben6 Adida", "cast_at": null, "alias": null, "user": null, "vote_hash": null, "vote": null, "voter_login_id": "benadida6", "voter_email": "ben6@adida.net", "election": 1}}, {"pk": 3, "model": "helios.voter", "fields": {"voter_password": "0VuIzsa55u", "uuid": "b5cdd49b-7af3-43a9-bf34-152171bf0652", "voter_name": "Ben7 Adida", "cast_at": null, "alias": null, "user": null, "vote_hash": null, "vote": null, "voter_login_id": "benadida7", "voter_email": "ben7@adida.net", "election": 1}}, {"pk": 4, "model": "helios.voter", "fields": {"voter_password": "zeVDg9nVvh", "uuid": "96817ccc-d3b1-491c-9d68-36823a7a2bc4", "voter_name": "Ben8 Adida", "cast_at": null, "alias": null, "user": null, "vote_hash": null, "vote": null, "voter_login_id": "benadida8", "voter_email": "ben8@adida.net", "election": 1}}, {"pk": 1, "model": "helios.voter", "fields": {"voter_password": "PPvPcBBryM", "uuid": "36cab4d2-baf5-4fe6-9316-072bb10a08c5", "voter_name": "Ben5 Adida", "cast_at": "2010-12-30 11:00:30", "alias": null, "user": null, "vote_hash": "XMbs8mj8IMfWTIrMeeJ+1ItRtH1fMzrrdasdoZghqms", "vote": "{\"election_uuid\": \"40a17486-1446-11e0-b9ec-000c293e7de1\", \"election_hash\": \"wGPQnqnzBpmLeg8ZB/G0rgaamGvKVFgpT4/2FC71eas\", \"answers\": [{\"individual_proofs\": [[{\"challenge\": \"23448591784697000965545892324810629021639188373890683375910722335603622138784\", \"commitment\": {\"A\": \"1327628315723512592520092253022813954345811633817636321461327060815545431155754937699838371154948609511354231571272734503300322585026951636488920956523182672551950508490901322669811500895795175060810855625517092521213959126412117064377577760401592872465535448172644182461127758421070618332647280802438572454887787753087987686539965858891402894686998695861222063954822180068263112093268485916206196256374623420279908267672537703676874160139012850887547187383627177839126080326025123801997793732363652198095799909736237665197875170635639393513721452483230488642329871180916160042706552228810447375634551726254656114763\", \"B\": \"12651568238845905580146731093834003015541538197207885155377455570739647990731115642751855805978467077164118286855210767852487616446322130095137621482323196926762880646794844146925307934365718148556573920173586397697773728633505957174913806486333337487959223801388056302406238391017110214970693170684905765736096447201061693237410864568109046693126318808709805263697684626506219123708702408188380145135728153486516784168065844265720923488323409470042004070431410287600339033480425760464353921573676904433306313575237328448962058283857065990334095968743257379436762608765126482553431856338280756915065371130629259833162\"}, \"response\": \"66493654499921179654532076483238061065663825681855720849779479385099600294313\"}, {\"challenge\": \"37880974463645900326997980445921662466504953698747123205418028110401621340654\", \"commitment\": {\"A\": \"11552929741476814953885315683074098091103686548723516644080511046344121473871033010567541553035322173556104503663355802077291981196609620866458230652243307217336007047616125327287070248174361784734712728026360142208785301081379339577768097307553636351066758204606067852151212136995659736744834225212988266174017146842207029877054309186325359774975424315721603313081735790862906915249402187712643905438535309489072993517767409706459101240509405310623022029051651543866804596815439974638899195343422656827451325150692577702439948168203545390620539243767450955282190940402874138622075234269541622364721163286312878986819\", \"B\": \"6329155122062386904033442921423622622147079320347985844514869678788894694074332416611216748665105335359984602999437980698165855519323382681940366700676670498208841397103135301080915366474717831310061726860563362512863054679720700745282422030751124929023148055891934168562161714897501755587548350311398415869238331591154762453581309273381060323924517084418705908387965117516648560910526056603787772182229010906379630932318790167674451145975401275892801196642017344744355317898337463259457545132684347381953362982206865463253584571797006969916721595812159297162226956121662150241089497749712184668941945856515753434583\"}, \"response\": \"40889333838309328628442514979337814302799996449096507610282589928128273346086\"}], [{\"challenge\": \"40838246976619679982594438537447216988156147901010823503082500261133646034510\", \"commitment\": {\"A\": \"7240746395320606545924818303659574319731549234658716095013175472134123703846899818801089836111944641913350487758554287853491345581528557228542267116521090883813722627295383932822769534799988278169007346954354698811871351725370440703413817798869596540753172040591555804833259365722924628910597267412752971983973099286825908075100328469111189817054592233683568840797349280531135103664238151283794163518180822346478272123336746353940825490958866084369836609057210749809398951837726387799726276790721200488289943034865614991602894496358416379863548515397992901340896111968521210996058255256378234826527429341875890954325\", \"B\": \"14360814363564966405360021475222916339844629619455505817116073918028706786972236957526914330535717891973121029017380447473243935691715817749628813781646994519966103065028319818105397007744775285803075583457045600071289431042427536327509229154776384742741650503755680262226870011332151033945281301751333262151726293854136550805821221030867126626766560317685475484257992652848092598642512843265151823549960069639481061805952898584109547777019233310314201053646724130044711428631467139016994288332446095561699988285289270533446820493287643560434681811441184380345762034361885379181472264724965318003694917150246630023674\"}, \"response\": \"32379791452380146747129274667434627989796700807725842979905511921680817488679\"}, {\"challenge\": \"20491319271723221309949434233793977920795005824525427253918918169889913365948\", \"commitment\": {\"A\": \"6249667490277917583936607671102592882918409694303397387989581556482216126368122870614174165168740657006080095721379286684627119686099144826994894421926931467679822839419322398647946960779534495161082693858576168084013669468576163333253692335647695009660221751877286994683778685376405300629183143917010861517571099244272102834874222190843107273758742282622844732413516515908311253461817503881880906475522033363486911306119901292379625845416065240305301099338032541569024074975755933787525224425365617538732320213780187894141782809997859364333867835879203172909290216548191092783192574241137558974282359389187012817936\", \"B\": \"9499112746840921330025828862313195732714191736836796633477362065391580604500493351834623100000344332078541514598802122394938451327827696985631359354944865315435059206970465412862653037841742495026775379978363725663046523355370934979512948437818087270242744189398042668453563383598014440609263097809464386385377086332856379919768588734445308364251682197283847623282458135779287780459446653554844992689069349147999153323163756277510532664441506670090088963764802003962950921958456938625791579175155142656425066425712635117449924858147057327726380659546270500021282831889329912110494100841744786647915029857722991309102\"}, \"response\": \"39881801996843034570752413025736783442023073187463315853656384552364386913204\"}], [{\"challenge\": \"43431479061562930090004922442036754678483107275940751848024215992244886343747\", \"commitment\": {\"A\": \"1270055805719836261622958888846330804638817542205324650711349305977867087050906657167153321020114772132749332223143260695672249760406765833706496501796398284185540978966142644793196415879582663634100399321765040877162609041210292145512334466387459015610330751980306692864978147960861903003237265674845225826944921430476569228083860123295338768898464268768775686988874386876491097663989219624354211056385565966546828280075259494577713355009759282723250554257459428057560064051666367969921490582847014422432367039519517232418691823528688817355615892442875262952742672229933819705525867755926536935560184321181516217379\", \"B\": \"13811522002661403186656524643430184156362000458283631439050985694312056363976044427831818381014131146340935786418326708412866699221278668866350666842389724034155760660894321943027467083331876166785006218286375036218444948819814596653763067984475369256295354933061577137097160951738083556909805645133853825940451449785781714550102697948235131202099972030859604297053943782339850793154555482391232163147687158127829886062127554444845944041291007323918037270588313481883735696620885738492026672168539201247500513346410668408666264612310030986871682638524348434676219620439025304901534964705268662494748119236717258099310\"}, \"response\": \"68215094834895276844550802238341145638824175199551659406303368956211949019503\"}, {\"challenge\": \"17898087186779971202538950329371565185390706224154511062911955610649418098256\", \"commitment\": {\"A\": \"16251021783044516022530162510375731932396648925368808712144817845848470716066393905811822426515609168500968326025256059316597643395704568352891213427889062095727127211219607578386713220335138915526877263124257302083955232156553595937713784723082774095373922632480472464901263941851494794480244523914002369035976941551571562910539299973363373412124246141349684130390967911024709851584467209367384820033560446424080918421522113745512797475927149175846813620541575734629166934167572438415311057397875639759338459893698446812426686906493776199091997749807282590016592114718036464843222410363303324286514483401243517098919\", \"B\": \"9483189503031797184976054292751366999555646527059016081956041648897995571468703398849876134946030247727478260873291252669051128569609552216633210758991866713731253996106528668922437684662967028333743543723894078765207823156516048642619579666660693500547400247407308606819581427394295455460458346347446248548838123178569076367824541766927409254628932336490038849157667580037659205992868562238203915995106969796461422020992210022408234454951887179002927611195937432114888768429519791384688384245388025993512601880012525058553458889191281451543418313914273707609311661844227170291960451878015798149129666533670296683517\"}, \"response\": \"47055844704389989755328398564006162909789771315920760315962495933998560250733\"}]], \"overall_proof\": [{\"challenge\": \"14587781194424783137694975950944071336748097811762793023623705015943510494552\", \"commitment\": {\"A\": \"11593378736638379859476775929688252170819242231855060210332622890983118661213958218991328012112542344165110060653955477862332902364013355270331585307350836027305693084343561363596117247575763301618955255170102018700927311116945258908959677914951048142668496968817639199967846759461114146494910430269004689842295064898502764043961362230065062223655965446278805522690709858469443935060447482793234174374235433634507565188762427880141668958856980254433467181819491301709455993757318818296773777159501430136689906726672323092132282409154366580941018678697554417366994112669108598689024668589495123456818830843512906688674\", \"B\": \"6379878600728866669455031437323245344320246967984106758624844794330223775770709971892885303077113095171244444904758039226852919548659167744967797598018751391128142643083704135304989646690792324977602130349887992894633902005083938751838673945697901818639788591489261000492127878191120874014218509575385139468955836491832775486846669297951819245355910267593674016013045608418799063731780991830273296297140501488361490123025242728516520596396511820557273154073549773137685859445237736658014736282257083785882592166052534473053026176229098422203905619846459265738362859679862270988452361683451440803788568300444425725175\"}, \"response\": \"57513547772483453232756705213109182719476244252346216384127374345628889196096\"}, {\"challenge\": \"46741785053918118154848896820085464925671239027904886965218169217385735685771\", \"commitment\": {\"A\": \"8204099266024548592165743253907256572259400626005080824257116250969358821428112881032863623964166849785668551229406355286331359382634645331769101479707037517762099546430650908723276543754693368667455271684098578897792561127595300435264359824607588383195142495500531186753506846013740973638543612200232991915060100923911599859500311703096013807954456945016402631348805272474587501849245909953322033069478471703687863323228444459450106965362000564995708127666403510905079448219106951983281749823638097211982776775954943253919166013537911768350016675170734384371608477815080223985654367562217980167192298657253999287104\", \"B\": \"2870925086149903448423030452890138076763256297233796443410101050851365017111617371281647635397879913615671700563753122736263788389912942674145908268974274781408271597144293339914556735961791632045526319083758346010694220520356446602340804483574622023918899449342764522287734704426777877738073462099395887561928549640312439461237876516443031500318277387173900015089048124812884318044173411856620353670467475274153454979432630814692546812357937029924995748136485935268693300760939824081854392825744349598782084275966413211045473867793489286328546376469050207965843422968984817754530256920363908998162047893721357153520\"}, \"response\": \"91469090683979584694909954417958870883208499630036944330450898325302781677348\"}], \"choices\": [{\"alpha\": \"15062600351346883972644127892142714662189690871997002860160637836650441602030002705292055229350425245338714989971657783718286387745755778873544353920087069923141558465357271862261518288218334688506364799707392611362040662936902886469092037687001218417001577231464467922549631334100757297338618251748139729964707680811665800662927067491530779427912712421946148997429722751848164735658063110170464608816677293362933159695162487677068539309388988631969504494216829146823387001428360245160741367464561945072440282718021512357600566368531501739912137646478149487913635218325375327436398982687476464381274863173109390437849\", \"beta\": \"6472995696323449481761379982226987034204671847521280173533677671800764813049225642765553350990023913842413237138994293559420693903825662068604923689287872415577051463244183680254762458861919465321996886414454802637697911164542594307379406907302286457272189409620028333641643603878239149886302645287899635957429604613780743866054390180292694767552575334318878336726590042824600404857161528120082698503521888035480554396084523318391075327196170151150017179381762494738064997274952677744062885141254893966429696256647729546503511682475164521390015781174526069960261297951569915608591534531987906457590536635969717163017\"}, {\"alpha\": \"11797341915537555476557075594487134344289042577013466250418375376870630384349304048606714535795936426595938010963895455399050161847596126018739059592043662385972723145765773438163543846757186579416754475057309926173301818771413977291177987529471270631093815995658047599876124666043571805566412571721352681563641013117117243443491777387530741635619864702428158939093621034585067648994491883088363814536499351174599683663609451037205821783508958092566632960335955512240723655648985350951040171933874789527124767479182628124872969346846033060536497255225965817197189441217993019374945875453159578803014379028048622459368\", \"beta\": \"386603140585949274399765676343225021646823837172562587253483824685501371966765713673896074723205590686430303065790627082336695351775735361487007145740387773299912412488939936995100076554454597585434254473760210886435540378154175229046102719209082777247996500554646776006238400469042159470627068048421003860492049429142953418171122350175145645388713766049983218504277012766151062997680731741281725276122652751673876491143973427719469741677235999333427047365824639448121152225086556575371711180660842261974231132982964433856082981951267337588132752488463797969108960908305840938831642503490689882743196654196818586153\"}, {\"alpha\": \"7447770187339878295993449894291489887048199488149047386007365531030411994514567126890793337686510960379699552037310153457712846898600825987067491960636123972698743027902536803313122852695834128081255673149298326081316468803638688172240293429021646722622760387789968485271656707408704015670936653538239976073086700354395913211645218184935464859540952979791617557615121821844458125737697969356374053675571600427328257161894058513558896927219556279567567385006610345737415318941082511663411931234031736832574296988507123506658418745859239378750962490244083867984466678345522975899669428543817167372204402768140225673899\", \"beta\": \"10295246473033461943758026743789596939350509698742039970315795780884125241389014443917881746198829796581532942808439005949283365779117479508160568372317140210333337134392167953936839851684527674630949696312674486436145278957756779729314631536871251419768935267394895633742684422354002503367119198418556623190787101973681238871389852824878971817620102647834188822139335392978368269353706515717026270035928407046024774088938767955368659221078544511315129408774954569106438025396242766355252175143630049198659910228039324058865260398970570436187058310718047632290796972241903647262820809895006837802544169684965043985217\"}]}]}", "voter_login_id": "benadida5", "voter_email": "ben5@adida.net", "election": 1}}, {"pk": 1, "model": "helios.castvote", "fields": {"cast_at": "2010-12-30 11:00:30", "voter": 1, "quarantined_p": false, "invalidated_at": null, "verified_at": "2010-12-30 19:00:31", "vote_tinyhash": null, "released_from_quarantine_at": null, "vote_hash": "XMbs8mj8IMfWTIrMeeJ+1ItRtH1fMzrrdasdoZghqms", "vote": "{\"election_uuid\": \"40a17486-1446-11e0-b9ec-000c293e7de1\", \"election_hash\": \"wGPQnqnzBpmLeg8ZB/G0rgaamGvKVFgpT4/2FC71eas\", \"answers\": [{\"individual_proofs\": [[{\"challenge\": \"23448591784697000965545892324810629021639188373890683375910722335603622138784\", \"commitment\": {\"A\": \"1327628315723512592520092253022813954345811633817636321461327060815545431155754937699838371154948609511354231571272734503300322585026951636488920956523182672551950508490901322669811500895795175060810855625517092521213959126412117064377577760401592872465535448172644182461127758421070618332647280802438572454887787753087987686539965858891402894686998695861222063954822180068263112093268485916206196256374623420279908267672537703676874160139012850887547187383627177839126080326025123801997793732363652198095799909736237665197875170635639393513721452483230488642329871180916160042706552228810447375634551726254656114763\", \"B\": \"12651568238845905580146731093834003015541538197207885155377455570739647990731115642751855805978467077164118286855210767852487616446322130095137621482323196926762880646794844146925307934365718148556573920173586397697773728633505957174913806486333337487959223801388056302406238391017110214970693170684905765736096447201061693237410864568109046693126318808709805263697684626506219123708702408188380145135728153486516784168065844265720923488323409470042004070431410287600339033480425760464353921573676904433306313575237328448962058283857065990334095968743257379436762608765126482553431856338280756915065371130629259833162\"}, \"response\": \"66493654499921179654532076483238061065663825681855720849779479385099600294313\"}, {\"challenge\": \"37880974463645900326997980445921662466504953698747123205418028110401621340654\", \"commitment\": {\"A\": \"11552929741476814953885315683074098091103686548723516644080511046344121473871033010567541553035322173556104503663355802077291981196609620866458230652243307217336007047616125327287070248174361784734712728026360142208785301081379339577768097307553636351066758204606067852151212136995659736744834225212988266174017146842207029877054309186325359774975424315721603313081735790862906915249402187712643905438535309489072993517767409706459101240509405310623022029051651543866804596815439974638899195343422656827451325150692577702439948168203545390620539243767450955282190940402874138622075234269541622364721163286312878986819\", \"B\": \"6329155122062386904033442921423622622147079320347985844514869678788894694074332416611216748665105335359984602999437980698165855519323382681940366700676670498208841397103135301080915366474717831310061726860563362512863054679720700745282422030751124929023148055891934168562161714897501755587548350311398415869238331591154762453581309273381060323924517084418705908387965117516648560910526056603787772182229010906379630932318790167674451145975401275892801196642017344744355317898337463259457545132684347381953362982206865463253584571797006969916721595812159297162226956121662150241089497749712184668941945856515753434583\"}, \"response\": \"40889333838309328628442514979337814302799996449096507610282589928128273346086\"}], [{\"challenge\": \"40838246976619679982594438537447216988156147901010823503082500261133646034510\", \"commitment\": {\"A\": \"7240746395320606545924818303659574319731549234658716095013175472134123703846899818801089836111944641913350487758554287853491345581528557228542267116521090883813722627295383932822769534799988278169007346954354698811871351725370440703413817798869596540753172040591555804833259365722924628910597267412752971983973099286825908075100328469111189817054592233683568840797349280531135103664238151283794163518180822346478272123336746353940825490958866084369836609057210749809398951837726387799726276790721200488289943034865614991602894496358416379863548515397992901340896111968521210996058255256378234826527429341875890954325\", \"B\": \"14360814363564966405360021475222916339844629619455505817116073918028706786972236957526914330535717891973121029017380447473243935691715817749628813781646994519966103065028319818105397007744775285803075583457045600071289431042427536327509229154776384742741650503755680262226870011332151033945281301751333262151726293854136550805821221030867126626766560317685475484257992652848092598642512843265151823549960069639481061805952898584109547777019233310314201053646724130044711428631467139016994288332446095561699988285289270533446820493287643560434681811441184380345762034361885379181472264724965318003694917150246630023674\"}, \"response\": \"32379791452380146747129274667434627989796700807725842979905511921680817488679\"}, {\"challenge\": \"20491319271723221309949434233793977920795005824525427253918918169889913365948\", \"commitment\": {\"A\": \"6249667490277917583936607671102592882918409694303397387989581556482216126368122870614174165168740657006080095721379286684627119686099144826994894421926931467679822839419322398647946960779534495161082693858576168084013669468576163333253692335647695009660221751877286994683778685376405300629183143917010861517571099244272102834874222190843107273758742282622844732413516515908311253461817503881880906475522033363486911306119901292379625845416065240305301099338032541569024074975755933787525224425365617538732320213780187894141782809997859364333867835879203172909290216548191092783192574241137558974282359389187012817936\", \"B\": \"9499112746840921330025828862313195732714191736836796633477362065391580604500493351834623100000344332078541514598802122394938451327827696985631359354944865315435059206970465412862653037841742495026775379978363725663046523355370934979512948437818087270242744189398042668453563383598014440609263097809464386385377086332856379919768588734445308364251682197283847623282458135779287780459446653554844992689069349147999153323163756277510532664441506670090088963764802003962950921958456938625791579175155142656425066425712635117449924858147057327726380659546270500021282831889329912110494100841744786647915029857722991309102\"}, \"response\": \"39881801996843034570752413025736783442023073187463315853656384552364386913204\"}], [{\"challenge\": \"43431479061562930090004922442036754678483107275940751848024215992244886343747\", \"commitment\": {\"A\": \"1270055805719836261622958888846330804638817542205324650711349305977867087050906657167153321020114772132749332223143260695672249760406765833706496501796398284185540978966142644793196415879582663634100399321765040877162609041210292145512334466387459015610330751980306692864978147960861903003237265674845225826944921430476569228083860123295338768898464268768775686988874386876491097663989219624354211056385565966546828280075259494577713355009759282723250554257459428057560064051666367969921490582847014422432367039519517232418691823528688817355615892442875262952742672229933819705525867755926536935560184321181516217379\", \"B\": \"13811522002661403186656524643430184156362000458283631439050985694312056363976044427831818381014131146340935786418326708412866699221278668866350666842389724034155760660894321943027467083331876166785006218286375036218444948819814596653763067984475369256295354933061577137097160951738083556909805645133853825940451449785781714550102697948235131202099972030859604297053943782339850793154555482391232163147687158127829886062127554444845944041291007323918037270588313481883735696620885738492026672168539201247500513346410668408666264612310030986871682638524348434676219620439025304901534964705268662494748119236717258099310\"}, \"response\": \"68215094834895276844550802238341145638824175199551659406303368956211949019503\"}, {\"challenge\": \"17898087186779971202538950329371565185390706224154511062911955610649418098256\", \"commitment\": {\"A\": \"16251021783044516022530162510375731932396648925368808712144817845848470716066393905811822426515609168500968326025256059316597643395704568352891213427889062095727127211219607578386713220335138915526877263124257302083955232156553595937713784723082774095373922632480472464901263941851494794480244523914002369035976941551571562910539299973363373412124246141349684130390967911024709851584467209367384820033560446424080918421522113745512797475927149175846813620541575734629166934167572438415311057397875639759338459893698446812426686906493776199091997749807282590016592114718036464843222410363303324286514483401243517098919\", \"B\": \"9483189503031797184976054292751366999555646527059016081956041648897995571468703398849876134946030247727478260873291252669051128569609552216633210758991866713731253996106528668922437684662967028333743543723894078765207823156516048642619579666660693500547400247407308606819581427394295455460458346347446248548838123178569076367824541766927409254628932336490038849157667580037659205992868562238203915995106969796461422020992210022408234454951887179002927611195937432114888768429519791384688384245388025993512601880012525058553458889191281451543418313914273707609311661844227170291960451878015798149129666533670296683517\"}, \"response\": \"47055844704389989755328398564006162909789771315920760315962495933998560250733\"}]], \"overall_proof\": [{\"challenge\": \"14587781194424783137694975950944071336748097811762793023623705015943510494552\", \"commitment\": {\"A\": \"11593378736638379859476775929688252170819242231855060210332622890983118661213958218991328012112542344165110060653955477862332902364013355270331585307350836027305693084343561363596117247575763301618955255170102018700927311116945258908959677914951048142668496968817639199967846759461114146494910430269004689842295064898502764043961362230065062223655965446278805522690709858469443935060447482793234174374235433634507565188762427880141668958856980254433467181819491301709455993757318818296773777159501430136689906726672323092132282409154366580941018678697554417366994112669108598689024668589495123456818830843512906688674\", \"B\": \"6379878600728866669455031437323245344320246967984106758624844794330223775770709971892885303077113095171244444904758039226852919548659167744967797598018751391128142643083704135304989646690792324977602130349887992894633902005083938751838673945697901818639788591489261000492127878191120874014218509575385139468955836491832775486846669297951819245355910267593674016013045608418799063731780991830273296297140501488361490123025242728516520596396511820557273154073549773137685859445237736658014736282257083785882592166052534473053026176229098422203905619846459265738362859679862270988452361683451440803788568300444425725175\"}, \"response\": \"57513547772483453232756705213109182719476244252346216384127374345628889196096\"}, {\"challenge\": \"46741785053918118154848896820085464925671239027904886965218169217385735685771\", \"commitment\": {\"A\": \"8204099266024548592165743253907256572259400626005080824257116250969358821428112881032863623964166849785668551229406355286331359382634645331769101479707037517762099546430650908723276543754693368667455271684098578897792561127595300435264359824607588383195142495500531186753506846013740973638543612200232991915060100923911599859500311703096013807954456945016402631348805272474587501849245909953322033069478471703687863323228444459450106965362000564995708127666403510905079448219106951983281749823638097211982776775954943253919166013537911768350016675170734384371608477815080223985654367562217980167192298657253999287104\", \"B\": \"2870925086149903448423030452890138076763256297233796443410101050851365017111617371281647635397879913615671700563753122736263788389912942674145908268974274781408271597144293339914556735961791632045526319083758346010694220520356446602340804483574622023918899449342764522287734704426777877738073462099395887561928549640312439461237876516443031500318277387173900015089048124812884318044173411856620353670467475274153454979432630814692546812357937029924995748136485935268693300760939824081854392825744349598782084275966413211045473867793489286328546376469050207965843422968984817754530256920363908998162047893721357153520\"}, \"response\": \"91469090683979584694909954417958870883208499630036944330450898325302781677348\"}], \"choices\": [{\"alpha\": \"15062600351346883972644127892142714662189690871997002860160637836650441602030002705292055229350425245338714989971657783718286387745755778873544353920087069923141558465357271862261518288218334688506364799707392611362040662936902886469092037687001218417001577231464467922549631334100757297338618251748139729964707680811665800662927067491530779427912712421946148997429722751848164735658063110170464608816677293362933159695162487677068539309388988631969504494216829146823387001428360245160741367464561945072440282718021512357600566368531501739912137646478149487913635218325375327436398982687476464381274863173109390437849\", \"beta\": \"6472995696323449481761379982226987034204671847521280173533677671800764813049225642765553350990023913842413237138994293559420693903825662068604923689287872415577051463244183680254762458861919465321996886414454802637697911164542594307379406907302286457272189409620028333641643603878239149886302645287899635957429604613780743866054390180292694767552575334318878336726590042824600404857161528120082698503521888035480554396084523318391075327196170151150017179381762494738064997274952677744062885141254893966429696256647729546503511682475164521390015781174526069960261297951569915608591534531987906457590536635969717163017\"}, {\"alpha\": \"11797341915537555476557075594487134344289042577013466250418375376870630384349304048606714535795936426595938010963895455399050161847596126018739059592043662385972723145765773438163543846757186579416754475057309926173301818771413977291177987529471270631093815995658047599876124666043571805566412571721352681563641013117117243443491777387530741635619864702428158939093621034585067648994491883088363814536499351174599683663609451037205821783508958092566632960335955512240723655648985350951040171933874789527124767479182628124872969346846033060536497255225965817197189441217993019374945875453159578803014379028048622459368\", \"beta\": \"386603140585949274399765676343225021646823837172562587253483824685501371966765713673896074723205590686430303065790627082336695351775735361487007145740387773299912412488939936995100076554454597585434254473760210886435540378154175229046102719209082777247996500554646776006238400469042159470627068048421003860492049429142953418171122350175145645388713766049983218504277012766151062997680731741281725276122652751673876491143973427719469741677235999333427047365824639448121152225086556575371711180660842261974231132982964433856082981951267337588132752488463797969108960908305840938831642503490689882743196654196818586153\"}, {\"alpha\": \"7447770187339878295993449894291489887048199488149047386007365531030411994514567126890793337686510960379699552037310153457712846898600825987067491960636123972698743027902536803313122852695834128081255673149298326081316468803638688172240293429021646722622760387789968485271656707408704015670936653538239976073086700354395913211645218184935464859540952979791617557615121821844458125737697969356374053675571600427328257161894058513558896927219556279567567385006610345737415318941082511663411931234031736832574296988507123506658418745859239378750962490244083867984466678345522975899669428543817167372204402768140225673899\", \"beta\": \"10295246473033461943758026743789596939350509698742039970315795780884125241389014443917881746198829796581532942808439005949283365779117479508160568372317140210333337134392167953936839851684527674630949696312674486436145278957756779729314631536871251419768935267394895633742684422354002503367119198418556623190787101973681238871389852824878971817620102647834188822139335392978368269353706515717026270035928407046024774088938767955368659221078544511315129408774954569106438025396242766355252175143630049198659910228039324058865260398970570436187058310718047632290796972241903647262820809895006837802544169684965043985217\"}]}]}"}}, {"pk": 1, "model": "helios.trustee", "fields": {"public_key": "{\"y\": \"10209996196141455592954150806595590302779517452973425513133143319891192812034378656046616286290215682512560281253780168350968078321298815359346112476103153663350347613425264137270664984993821707972591603600995748437418960965874687695519139184521329861807151368087170846679616051889191498465971754449242176181010116247194146889436200685706775658837872315899212063389435005791600156232673825152649290306522408636413180876447424057387927560622286232455842226141935616726284027452689619467330786904141326022591988410271656808992679125143841590661998535192138516435006042519265859141061154934003554664919161933342577547196\", \"p\": \"16328632084933010002384055033805457329601614771185955389739167309086214800406465799038583634953752941675645562182498120750264980492381375579367675648771293800310370964745767014243638518442553823973482995267304044326777047662957480269391322789378384619428596446446984694306187644767462460965622580087564339212631775817895958409016676398975671266179637898557687317076177218843233150695157881061257053019133078545928983562221396313169622475509818442661047018436264806901023966236718367204710755935899013750306107738002364137917426595737403871114187750804346564731250609196846638183903982387884578266136503697493474682071\", \"q\": \"61329566248342901292543872769978950870633559608669337131139375508370458778917\", \"g\": \"14887492224963187634282421537186040801304008017743492304481737382571933937568724473847106029915040150784031882206090286938661464458896494215273989547889201144857352611058572236578734319505128042602372864570426550855201448111746579871811249114781674309062693442442368697449970648232621880001709535143047913661432883287150003429802392229361583608686643243349727791976247247948618930423866180410558458272606627111270040091203073580238905303994472202930783207472394578498507764703191288249547659899997131166130259700604433891232298182348403175947450284433411265966789131024573629546048637848902243503970966798589660808533\"}", "pok": "{\"challenge\": \"1332480086668557441201643372581202887936359529158\", \"commitment\": \"7293717602937930303539334035585992874848225578069230321020475395302271618251676625339394037113615768448191844038177138377398628710618534554579159024696839244259150329975275908657630895950271024845960009174103501808710068228131410574426743388071115904258299345649002261830811651722360713255177643626318539836219484536768879576493216269723082810883816923164505226562312363786695925147039779580512980526559772797170383031088424275717164298259873455954031483604235513390512830986257955559268237959148131455635082412955562162650368183295042919718548235596451502134150497646725301296162346004092475784579091583032361772546\", \"response\": \"36391699599264859021278138939148792146348548118365171047783454096022492035033\"}", "name": "Ben for Helios", "decryption_proofs": "[[{\"challenge\": \"1380551719414920400171525057971082717628333383331\", \"commitment\": {\"A\": \"7507017710713706541866854087239255878832243462282927934861869264579266153414135774039907501610333661411307392124516064716169762187793122422653392413694719341072929833428803311467184790384552952122962719439993321491850563305827711174757159530056482044086113086278819776836755900476312486344691968144982867821153845953505709371731535352078308509107142372383678069818043698670113799637374050281502657094511525050466016215603846575745518886258884256517535305086140932732185093382337472216944115745914507235107089359391149241488464243538039888427232320387045242147289454894324102498622240371772307962377543359644138050732\", \"B\": \"9380537358717287794361139802208298689612038093915331354273755926136271364418368655784719731999399724919985020788675784918253914203053520739646207663258321982296961284260527867979102137369345188902946846882488328401755614672409311174738591638094760071468127665833627085404365535363865725138469740172195165916006849929747492989908204997577576884613794053639111878642291186924488222075700172352004236504102819795276258902217943337913405984290899494969828003129050711264077492215521097345600028545889724146142447720830350928361819900593545829887714375518026393470442073999043111656408350218492657773508327008142722765323\"}, \"response\": \"14968183763730862563804542741411408992850421513002294375208895154010692113473\"}, {\"challenge\": \"928781902643353178142869485767256501013266757862\", \"commitment\": {\"A\": \"15633563423080526706419747992138418264348782035013504564013594194243510158773485945327967048961356486383215212483462348169538997687212412994065370129208651376716134738309040011956812348225502246726068743645442345760299758855171800338513471629907181869261235290967637848308843443030196462480968462064736152282506400094906707590048929424501814668795548146042465351489547617128013409539657112623382498325505218672820602470148627899073221474369783740192103073229959882697932789244332982166130368921202267521575861224848623085043804713412700008533796217785099336299831697244176527202186978470212364757532134819680354563148\", \"B\": \"12096486616787847940422910780868545368459722844257079241138940841283178564454214852156457535709117643371874960603512077501609448142224981337250893956754326973500016429330818806066472007235463129546869618768400286717676281057649118636738883493045882628597975596370121648765372944460751900559383299236537662147422350456179701023239887170947370958443802128313476878264884880050610028894804375661112294041896485336368667604232816382543157191078316625625754668916289488659228524702708688069886061853971910775735555019155194573765265940727358626391662769501006863366189078852671910748052355802446751747021021118425535805993\"}, \"response\": \"28211487355296799049673241288040839050179434119064067463499443482498217208519\"}, {\"challenge\": \"1185875285287724841734729620564063765892683320674\", \"commitment\": {\"A\": \"7001208902949083725612528497286173590963128243388233050364170894167119730650686852382051453769934272573826748192906372573117172855830955054429366729378203493623800707261267780120888516763713550790929472508859603645362641253784170132183853580904592671772431762071089997631711457767213127284054889939710921678409142902073069362109320972478847445503275495123009954969192201274037955597083943422722576587379742825967553563854890578564608501050212319484234660576151814389620150885481795600159904595945676049646628070476825084214555838090776625145999421406237953264094965910871533178888382695722903443177374943370529435835\", \"B\": \"9283256001439934493735625502538426523693868357198892770123498611555555299897475884431602692985751553635974299868188199546120099533813550264738209145580148682133736994277447303232404855460267466835171618461494856527451536401919045811368542455888163074798675752166973030905486052563091739924121583631082909857054169008129824182126348494239756670544488941688557994938824882239628149105470894355324069394350165968806256153572521355852908171187431792943362931378932369391344262912306194221041082329544009406130999320321982717816319748626422183292293407260745830456452071148377105696849366938448681719121826747318585394449\"}, \"response\": \"35940004930824655560273271912769310469877395464343390517827902063029021070522\"}]]", "secret": "cCckQxMt34gi", "election": 1, "public_key_hash": "hSeyI5ZlWhNshRfur8uhRHxqbi/vVqKGb4P+FdUnR8o", "secret_key": "{\"x\": \"16005388145081131844879702159816380093588036047451384431130259662992029443624026318970562260272120587261393284363542518569391452382369249932333676351315398477129891095120523003328480376873958075985143480062804837658107571391518376403590301476378514425362741872602623178825738994339324021624724807784600813090052134766237887122838918167022578896510027628605349253760682883849478673881175379345895010771593356545048012214886174088387364386859743113585615521057884719510571320329089457413362774250338248390404419684724069497574413459557247072960862781228007880248431226584871900019890901724707636999442425643478871203395\", \"public_key\": {\"y\": \"10209996196141455592954150806595590302779517452973425513133143319891192812034378656046616286290215682512560281253780168350968078321298815359346112476103153663350347613425264137270664984993821707972591603600995748437418960965874687695519139184521329861807151368087170846679616051889191498465971754449242176181010116247194146889436200685706775658837872315899212063389435005791600156232673825152649290306522408636413180876447424057387927560622286232455842226141935616726284027452689619467330786904141326022591988410271656808992679125143841590661998535192138516435006042519265859141061154934003554664919161933342577547196\", \"p\": \"16328632084933010002384055033805457329601614771185955389739167309086214800406465799038583634953752941675645562182498120750264980492381375579367675648771293800310370964745767014243638518442553823973482995267304044326777047662957480269391322789378384619428596446446984694306187644767462460965622580087564339212631775817895958409016676398975671266179637898557687317076177218843233150695157881061257053019133078545928983562221396313169622475509818442661047018436264806901023966236718367204710755935899013750306107738002364137917426595737403871114187750804346564731250609196846638183903982387884578266136503697493474682071\", \"q\": \"61329566248342901292543872769978950870633559608669337131139375508370458778917\", \"g\": \"14887492224963187634282421537186040801304008017743492304481737382571933937568724473847106029915040150784031882206090286938661464458896494215273989547889201144857352611058572236578734319505128042602372864570426550855201448111746579871811249114781674309062693442442368697449970648232621880001709535143047913661432883287150003429802392229361583608686643243349727791976247247948618930423866180410558458272606627111270040091203073580238905303994472202930783207472394578498507764703191288249547659899997131166130259700604433891232298182348403175947450284433411265966789131024573629546048637848902243503970966798589660808533\"}}", "decryption_factors": "[[\"6472995696323449481761379982226987034204671847521280173533677671800764813049225642765553350990023913842413237138994293559420693903825662068604923689287872415577051463244183680254762458861919465321996886414454802637697911164542594307379406907302286457272189409620028333641643603878239149886302645287899635957429604613780743866054390180292694767552575334318878336726590042824600404857161528120082698503521888035480554396084523318391075327196170151150017179381762494738064997274952677744062885141254893966429696256647729546503511682475164521390015781174526069960261297951569915608591534531987906457590536635969717163017\", \"4694987036530822221969862722934807245252033236096286470958607647670667339966405067211401183900486152849338828231866947753384000515948363917537698461367938226635095051908983060837577141637079223791250760708100706116554435071563140176091228666812675154652983071813350108415009127448215287774568670658220922979555810609621103674935794988428755665984799963804061832930765121869645042320772546611747793882117497557727049006950340697861932746306602015638014326057316264719067026691985946612284378220471949526380850668823330863033387059030694538020710485275895898243819680400129463078761698466522349987023411487281520474883\", \"10295246473033461943758026743789596939350509698742039970315795780884125241389014443917881746198829796581532942808439005949283365779117479508160568372317140210333337134392167953936839851684527674630949696312674486436145278957756779729314631536871251419768935267394895633742684422354002503367119198418556623190787101973681238871389852824878971817620102647834188822139335392978368269353706515717026270035928407046024774088938767955368659221078544511315129408774954569106438025396242766355252175143630049198659910228039324058865260398970570436187058310718047632290796972241903647262820809895006837802544169684965043985217\"]]", "email": "ben@adida.net", "uuid": "4269f398-0eae-4351-9027-c2d9ee1767c3"}}] \ No newline at end of file diff --git a/helios/models.py b/helios/models.py index 695494f1fa5c465d1d8604d77f35eb21f09e9577..80d12ba507bdde339bccbb0abf9eb96750d8b666 100644 --- a/helios/models.py +++ b/helios/models.py @@ -805,7 +805,7 @@ class Voter(HeliosModel): self.user = User(user_type='password', user_id=self.voter_email, name=self.voter_name) @classmethod - @transaction.commit_on_success + @transaction.atomic def register_user_in_election(cls, user, election): voter_uuid = str(uuid.uuid4()) voter = Voter(uuid= voter_uuid, user = user, election = election) diff --git a/helios/migrations/0001_initial.py b/helios/south_migrations/0001_initial.py similarity index 100% rename from helios/migrations/0001_initial.py rename to helios/south_migrations/0001_initial.py diff --git a/helios/migrations/0002_v3_1_new_election_and_voter_fields.py b/helios/south_migrations/0002_v3_1_new_election_and_voter_fields.py similarity index 100% rename from helios/migrations/0002_v3_1_new_election_and_voter_fields.py rename to helios/south_migrations/0002_v3_1_new_election_and_voter_fields.py diff --git a/helios/migrations/0003_v3_1_election_specific_voters_with_passwords.py b/helios/south_migrations/0003_v3_1_election_specific_voters_with_passwords.py similarity index 100% rename from helios/migrations/0003_v3_1_election_specific_voters_with_passwords.py rename to helios/south_migrations/0003_v3_1_election_specific_voters_with_passwords.py diff --git a/helios/migrations/0004_v3_1_remove_voter_fields.py b/helios/south_migrations/0004_v3_1_remove_voter_fields.py similarity index 100% rename from helios/migrations/0004_v3_1_remove_voter_fields.py rename to helios/south_migrations/0004_v3_1_remove_voter_fields.py diff --git a/helios/migrations/0005_add_quarantine_fields.py b/helios/south_migrations/0005_add_quarantine_fields.py similarity index 100% rename from helios/migrations/0005_add_quarantine_fields.py rename to helios/south_migrations/0005_add_quarantine_fields.py diff --git a/helios/migrations/0006_auto__chg_field_voter_vote__add_unique_voter_voter_login_id_election__.py b/helios/south_migrations/0006_auto__chg_field_voter_vote__add_unique_voter_voter_login_id_election__.py similarity index 100% rename from helios/migrations/0006_auto__chg_field_voter_vote__add_unique_voter_voter_login_id_election__.py rename to helios/south_migrations/0006_auto__chg_field_voter_vote__add_unique_voter_voter_login_id_election__.py diff --git a/helios/migrations/0007_auto__add_field_voterfile_voter_file_content__chg_field_voterfile_vote.py b/helios/south_migrations/0007_auto__add_field_voterfile_voter_file_content__chg_field_voterfile_vote.py similarity index 100% rename from helios/migrations/0007_auto__add_field_voterfile_voter_file_content__chg_field_voterfile_vote.py rename to helios/south_migrations/0007_auto__add_field_voterfile_voter_file_content__chg_field_voterfile_vote.py diff --git a/helios/migrations/0008_auto__add_unique_trustee_election_email.py b/helios/south_migrations/0008_auto__add_unique_trustee_election_email.py similarity index 100% rename from helios/migrations/0008_auto__add_unique_trustee_election_email.py rename to helios/south_migrations/0008_auto__add_unique_trustee_election_email.py diff --git a/helios/migrations/0009_auto__add_field_election_help_email.py b/helios/south_migrations/0009_auto__add_field_election_help_email.py similarity index 100% rename from helios/migrations/0009_auto__add_field_election_help_email.py rename to helios/south_migrations/0009_auto__add_field_election_help_email.py diff --git a/helios/migrations/0010_auto__add_field_election_randomize_answer_order.py b/helios/south_migrations/0010_auto__add_field_election_randomize_answer_order.py similarity index 100% rename from helios/migrations/0010_auto__add_field_election_randomize_answer_order.py rename to helios/south_migrations/0010_auto__add_field_election_randomize_answer_order.py diff --git a/helios/migrations/0011_auto__add_field_election_election_info_url.py b/helios/south_migrations/0011_auto__add_field_election_election_info_url.py similarity index 100% rename from helios/migrations/0011_auto__add_field_election_election_info_url.py rename to helios/south_migrations/0011_auto__add_field_election_election_info_url.py diff --git a/helios/migrations/0012_auto__add_field_election_result_released_at.py b/helios/south_migrations/0012_auto__add_field_election_result_released_at.py similarity index 100% rename from helios/migrations/0012_auto__add_field_election_result_released_at.py rename to helios/south_migrations/0012_auto__add_field_election_result_released_at.py diff --git a/__init__.py b/helios/south_migrations/__init__.py similarity index 100% rename from __init__.py rename to helios/south_migrations/__init__.py diff --git a/helios/views.py b/helios/views.py index 36e36200db8abfd8e0004126b44b93fb5190e558..f218a1a200583b759a5612f1adb80ff520557d49 100644 --- a/helios/views.py +++ b/helios/views.py @@ -970,7 +970,7 @@ def one_election_save_questions(request, election): # always a machine API return SUCCESS -@transaction.commit_on_success +@transaction.atomic @election_admin(frozen=False) def one_election_freeze(request, election): # figure out the number of questions and trustees diff --git a/helios_auth/jsonfield.py b/helios_auth/jsonfield.py index c0c83a69e0474cf83688567873a7416d65750fdc..0104ce496758988f891bf4c29dce64661473507e 100644 --- a/helios_auth/jsonfield.py +++ b/helios_auth/jsonfield.py @@ -72,9 +72,3 @@ class JSONField(models.TextField): value = self._get_val_from_obj(obj) return self.get_db_prep_value(value) -## -## for schema migration, we have to tell South about JSONField -## basically that it's the same as its parent class -## -from south.modelsinspector import add_introspection_rules -add_introspection_rules([], ["^helios_auth\.jsonfield\.JSONField"]) diff --git a/helios_auth/migrations/__init__.py b/helios_auth/migrations/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/helios_auth/migrations/0001_initial.py b/helios_auth/south_migrations/0001_initial.py similarity index 100% rename from helios_auth/migrations/0001_initial.py rename to helios_auth/south_migrations/0001_initial.py diff --git a/helios/migrations/__init__.py b/helios_auth/south_migrations/__init__.py similarity index 100% rename from helios/migrations/__init__.py rename to helios_auth/south_migrations/__init__.py diff --git a/requirements.txt b/requirements.txt index 569b6438e442a39ff1b74342931f58d03d7ca22e..01eb5d922e40a915275b017807d406803aa650ac 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,25 +1,24 @@ -Django==1.6.10 -South==0.8.2 -anyjson==0.3.1 -celery==3.0.16 -django-celery==3.0.21 +Django==1.7.10 +anyjson==0.3.3 +celery==3.1.18 +django-celery==3.1.16 django-picklefield==0.3.0 -kombu==2.5.13 -psycopg2==2.5.1 +kombu==3.0.26 +psycopg2==2.6.1 pyparsing==1.5.7 python-dateutil>=1.5 python-openid==2.2.5 wsgiref==0.1.2 -gunicorn==17.5 -requests==1.2.3 +gunicorn==19.3 +requests==2.7.0 unicodecsv==0.9.0 -dj_database_url==0.2.2 -django-sslify==0.2 -django_webtest==1.7.5 -webtest==2.0.7 +dj_database_url==0.3.0 +django-sslify==0.2.7 +django_webtest==1.7.8 +webtest==2.0.18 django-db-pool==0.0.10 -django-secure==0.1.2 -bleach==1.4 +django-secure==1.0.1 +bleach==1.4.1 boto==2.27.0 django-ses==0.6.0 validate_email==1.2 diff --git a/runtime.txt b/runtime.txt index dd6a7de737b6a4eeea28ed6528199d14e0cdd1a4..2b55d15ca0c808349643460bb82abb17df496d02 100644 --- a/runtime.txt +++ b/runtime.txt @@ -1 +1 @@ -python-2.7.5 +python-2.7.10 diff --git a/settings.py b/settings.py index afc60ee3ed13a181acdf68e5fa89c8260db59923..25fbcb2563cf24a69a0904ba9d952710a9f3920a 100644 --- a/settings.py +++ b/settings.py @@ -133,12 +133,12 @@ INSTALLED_APPS = ( # 'django.contrib.contenttypes', 'djangosecure', 'django.contrib.sessions', - 'django.contrib.sites', + #'django.contrib.sites', ## needed for queues 'djcelery', 'kombu.transport.django', - ## needed for schema migration - 'south', + ## in Django 1.7 we now use built-in migrations, no more south + ## 'south', ## HELIOS stuff 'helios_auth', 'helios',