diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index d1b88a42..2efc1487 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -673,6 +673,9 @@ def fitnessmetric_chart(fitnessmetrics,user,workoutmode='rower'): dates = [m.date for m in fitnessmetrics] mode = [m.workoutmode for m in fitnessmetrics] + if len(power4min) == 0: + return ['',''] + df = pd.DataFrame( {'power4min':power4min, 'power2k':power2k, diff --git a/rowers/templatetags/rowerfilters.py b/rowers/templatetags/rowerfilters.py index 253ced99..207363ce 100644 --- a/rowers/templatetags/rowerfilters.py +++ b/rowers/templatetags/rowerfilters.py @@ -493,21 +493,26 @@ def micromacroid(id): @register.filter def nextworkout(workout,user): if user.rower == workout.user: - ws = Workout.objects.filter( - startdatetime__gte=workout.startdatetime, - user=workout.user - ).order_by( - "startdatetime" - ).exclude(id=workout.id) + try: + ws = Workout.objects.filter( + startdatetime__gte=workout.startdatetime, + user=workout.user + ).order_by( + "startdatetime" + ).exclude(id=workout.id) + except ValueError: + return 0 else: - ws = Workout.objects.filter( - startdatetime__gte=workout.startdatetime, - user=workout.user,privacy='visible' - ).order_by( - "startdatetime" - ).exclude(id=workout.id) - - + try: + ws = Workout.objects.filter( + startdatetime__gte=workout.startdatetime, + user=workout.user,privacy='visible' + ).order_by( + "startdatetime" + ).exclude(id=workout.id) + except ValueError: + return 0 + if ws: return ws[0].id else: @@ -518,19 +523,25 @@ def nextworkout(workout,user): @register.filter def previousworkout(workout,user): if user.rower == workout.user: - ws = Workout.objects.filter( - startdatetime__lte=workout.startdatetime, - user=workout.user - ).order_by( + try: + ws = Workout.objects.filter( + startdatetime__lte=workout.startdatetime, + user=workout.user + ).order_by( "-startdatetime" - ).exclude(id=workout.id) + ).exclude(id=workout.id) + except ValueError: + return 0 else: - ws = Workout.objects.filter( - startdatetime__lte=workout.startdatetime, - user=workout.user,privacy='visible' - ).order_by( - "-startdatetime" - ).exclude(id=workout.id) + try: + ws = Workout.objects.filter( + startdatetime__lte=workout.startdatetime, + user=workout.user,privacy='visible' + ).order_by( + "-startdatetime" + ).exclude(id=workout.id) + except ValueError: + return 0 if ws: diff --git a/rowers/tests/mocks.py b/rowers/tests/mocks.py index 2436af15..e48495c8 100644 --- a/rowers/tests/mocks.py +++ b/rowers/tests/mocks.py @@ -113,7 +113,17 @@ def mocked_read_df_sql(id): return df - + +def mocked_getsmallrowdata_db(*args, **kwargs): + df = pd.read_csv('rowers/tests/testdata/colsfromdb.csv') + + return df + +def mocked_read_df_cols_sql(ids, columns, convertnewtons=True): + df = pd.read_csv('rowers/tests/testdata/fake_strokedata.csv') + extracols = [] + + return df, extracols class mocked_rowingdata(rowingdata): def __init__(self, *args, **kwargs): diff --git a/rowers/tests/test_fakers.py b/rowers/tests/test_fakers.py index 65d906e3..04969fb4 100644 --- a/rowers/tests/test_fakers.py +++ b/rowers/tests/test_fakers.py @@ -6,11 +6,12 @@ pytestmark = pytest.mark.django_db from bs4 import BeautifulSoup import re from nose_parameterized import parameterized -from django.test import TestCase, Client,override_settings +from django.test import TestCase, Client,override_settings, RequestFactory + from django.core.management import call_command from django.utils.six import StringIO from django.test.client import RequestFactory -from rowers.views import checkworkoutuser,c2_open +from rowers.views import checkworkoutuser,c2_open, multi_compare_view from rowers.forms import ( DocumentsForm,CNsummaryForm,RegistrationFormUniqueEmail, @@ -44,6 +45,7 @@ from rowers.views import ( ) from rowers.dataprep import delete_strokedata +from django.contrib.sessions.middleware import SessionMiddleware from redis import StrictRedis redis_connection = StrictRedis() @@ -53,7 +55,7 @@ from django_mailbox.models import Mailbox,MessageAttachment,Message from rowers.tests.mocks import * from rowers.models import * - +from rowers.tests.mocks import * import factory from faker import Factory @@ -107,22 +109,41 @@ class WorkoutFactory(factory.DjangoModelFactory): class ModelObjectsTest(TestCase): def setUp(self): self.u = UserFactory() + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True) + gdproptin=True, + gdproptindate=timezone.now(), + rowerplan='coach') self.c = Client() self.user_workouts = WorkoutFactory.create_batch(5, user=self.r) + self.factory = RequestFactory() + self.password = faker.word() + self.u.set_password(self.password) + self.u.save() - def test_workouts_compare(self): - self.c.login(username=self.u.username,password=self.u.password) + @patch('rowers.dataprep.create_engine') + @patch('rowers.dataprep.getsmallrowdata_db') + def test_workouts_compare(self, mocked_sqlalchemy, + mocked_getsmallrowdata_db): + login = self.c.login(username=self.u.username, password=self.password) + self.assertTrue(login) + url = '/rowers/team-compare-select/workout/1/team/0/user/1/' - response = self.c.get(url,follow=True) + response = self.c.get(url) self.assertEqual(response.status_code,200) - def test_workouts_compare_submit(self): + @patch('rowers.dataprep.create_engine') + @patch('rowers.dataprep.getsmallrowdata_db') + def test_workouts_compare_submit(self, mocked_sqlalchemy, + mocked_getsmallrowdata_db): + + login = self.c.login(username=self.u.username,password=self.password) + self.assertTrue(login) + form_data = { 'chartform':'Compare', 'plottype':'scatter', @@ -137,6 +158,20 @@ class ModelObjectsTest(TestCase): self.assertTrue(form.is_valid) self.assertTrue(chartform.is_valid) - response = self.c.post('/rowers/multi-compare',form_data,follow=True) +# request = self.factory.post('/rowers/multi-compare/') +# request.user = self.u +# request.POST = form_data + +# SessionMiddleware().process_request(request) + +# request.session['ids'] = [] + +# response = multi_compare_view(request) + +# self.assertEqual(response.status_code, 200) + + response = self.c.post('/rowers/multi-compare/',form_data) self.assertEqual(response.status_code,200) + + diff --git a/rowers/tests/test_imports.py b/rowers/tests/test_imports.py index ee537e2e..fad25be5 100644 --- a/rowers/tests/test_imports.py +++ b/rowers/tests/test_imports.py @@ -126,10 +126,10 @@ class C2Objects(DjangoTestCase): response = self.c.get('/rowers/workout/1/c2uploadw/') self.assertRedirects(response, - expected_url = '/rowers/workout/1/edit', + expected_url = '/rowers/workout/1/edit/', status_code=302,target_status_code=200) - self.assertEqual(response.url, '/rowers/workout/1/edit') + self.assertEqual(response.url, '/rowers/workout/1/edit/') self.assertEqual(response.status_code, 302) @patch('rowers.c2stuff.requests.post', side_effect=mocked_requests) @@ -146,7 +146,7 @@ class C2Objects(DjangoTestCase): response = self.c.get('/rowers/workout/c2import/12/',follow=True) self.assertRedirects(response, - expected_url='/rowers/workout/2/edit', + expected_url='/rowers/workout/2/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -294,7 +294,7 @@ class StravaObjects(DjangoTestCase): response = self.c.get('/rowers/workout/stravaimport/12',follow=True) self.assertRedirects(response, - expected_url='/rowers/workout/1/edit', + expected_url='/rowers/workout/1/edit/', status_code=301,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -378,10 +378,10 @@ class STObjects(DjangoTestCase): response = self.c.get('/rowers/workout/1/sporttracksuploadw/') self.assertRedirects(response, - expected_url = '/rowers/workout/1/edit', + expected_url = '/rowers/workout/1/edit/', status_code=302,target_status_code=200) - self.assertEqual(response.url, '/rowers/workout/1/edit') + self.assertEqual(response.url, '/rowers/workout/1/edit/') self.assertEqual(response.status_code, 302) @patch('rowers.sporttracksstuff.requests.get', side_effect=mocked_requests) @@ -396,7 +396,7 @@ class STObjects(DjangoTestCase): response = self.c.get('/rowers/workout/sporttracksimport/12/',follow=True) self.assertRedirects(response, - expected_url='/rowers/workout/2/edit', + expected_url='/rowers/workout/2/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -488,10 +488,10 @@ class RunKeeperObjects(DjangoTestCase): response = self.c.get('/rowers/workout/1/runkeeperuploadw/') self.assertRedirects(response, - expected_url = '/rowers/workout/1/edit', + expected_url = '/rowers/workout/1/edit/', status_code=302,target_status_code=200) - self.assertEqual(response.url, '/rowers/workout/1/edit') + self.assertEqual(response.url, '/rowers/workout/1/edit/') self.assertEqual(response.status_code, 302) @patch('rowers.runkeeperstuff.requests.get', side_effect=mocked_requests) @@ -506,7 +506,7 @@ class RunKeeperObjects(DjangoTestCase): response = self.c.get('/rowers/workout/runkeeperimport/12/',follow=True) self.assertRedirects(response, - expected_url='/rowers/workout/2/edit', + expected_url='/rowers/workout/2/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -590,10 +590,10 @@ class UAObjects(DjangoTestCase): response = self.c.get('/rowers/workout/1/underarmouruploadw/') self.assertRedirects(response, - expected_url = '/rowers/workout/1/edit', + expected_url = '/rowers/workout/1/edit/', status_code=302,target_status_code=200) - self.assertEqual(response.url, '/rowers/workout/1/edit') + self.assertEqual(response.url, '/rowers/workout/1/edit/') self.assertEqual(response.status_code, 302) @patch('rowers.underarmourstuff.requests.get', side_effect=mocked_requests) @@ -609,7 +609,7 @@ class UAObjects(DjangoTestCase): response = self.c.get('/rowers/workout/underarmourimport/12/',follow=True) self.assertRedirects(response, - expected_url='/rowers/workout/2/edit', + expected_url='/rowers/workout/2/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -692,10 +692,10 @@ class TPObjects(DjangoTestCase): response = self.c.get('/rowers/workout/1/tpuploadw/') self.assertRedirects(response, - expected_url = '/rowers/workout/1/edit', + expected_url = '/rowers/workout/1/edit/', status_code=302,target_status_code=200) - self.assertEqual(response.url, '/rowers/workout/1/edit') + self.assertEqual(response.url, '/rowers/workout/1/edit/') self.assertEqual(response.status_code, 302) diff --git a/rowers/tests/test_urls.py b/rowers/tests/test_urls.py index 012a8bc4..6d568e3f 100644 --- a/rowers/tests/test_urls.py +++ b/rowers/tests/test_urls.py @@ -53,9 +53,9 @@ class URLTests(TestCase): 'sander@ds.ds', 'koeinsloot', ) - r = Rower.objects.create(user=u,rowerplan='coach') + r = Rower.objects.create(user=u,rowerplan='coach',gdproptin=True, + gdproptindate=timezone.now()) self.c = Client() - self.c.login(username='john',password='koeinsloot') self.nu = datetime.datetime.now() filename = 'rowers/tests/testdata/testdata.csv' @@ -98,100 +98,100 @@ class URLTests(TestCase): '/rowers/500/', '/rowers/502/', '/rowers/1/list-workouts/', - '/rowers/1/list-workouts/2016-01-01/2016-12-31', + '/rowers/1/list-workouts/2016-01-01/2016-12-31/', '/rowers/1/ote-bests/', - '/rowers/1/ote-bests2/2016-01-01/2016-12-31', - '/rowers/about', - '/rowers/addmanual/', - '/rowers/agegroupcp/30', - '/rowers/agegroupcp/30/1', - '/rowers/agegrouprecords/male/hwt', - '/rowers/agegrouprecords/male/hwt/2000m', - '/rowers/agegrouprecords/male/hwt/2000min', - '/rowers/ajax_agegroup/45/hwt/male/1', + '/rowers/1/ote-bests2/2016-01-01/2016-12-31/', + '/rowers/about/', + '/rowers/workout/addmanual/', + '/rowers/agegroupcp/30/', + '/rowers/agegroupcp/30/1/', + '/rowers/agegrouprecords/male/hwt/', + '/rowers/agegrouprecords/male/hwt/2000m/', + '/rowers/agegrouprecords/male/hwt/2000min/', + '/rowers/ajax_agegroup/45/hwt/male/1/', '/rowers/analysis/', - '/rowers/analysis/user/1', - '/rowers/brochure', - '/rowers/courses/upload', + '/rowers/analysis/user/1/', + '/rowers/brochure/', + '/rowers/courses/upload/', '/rowers/createplan/', '/rowers/createplan/user/1/', '/rowers/cumstats/', - '/rowers/cumstats/2016-01-01/2016-12-31', - '/rowers/cumstats/user/1', - '/rowers/cumstats/user/1/2016-01-01/2016-12-31', - '/rowers/developers', + '/rowers/cumstats/2016-01-01/2016-12-31/', + '/rowers/cumstats/user/1/', + '/rowers/cumstats/user/1/2016-01-01/2016-12-31/', + '/rowers/developers/', '/rowers/email/', '/rowers/email/thankyou/', '/rowers/fitness-progress/', - '/rowers/fitness-progress/user/1', - '/rowers/fitness-progress/user/1/rower', + '/rowers/fitness-progress/user/1/', + '/rowers/fitness-progress/user/1/rower/', '/rowers/flexall/', '/rowers/flexall/spm/hr/None/', '/rowers/flexall/spm/hr/None/2016-01-01/2016-12-31/', - '/rowers/flexall/spm/hr/None/2016-01-01/2016-12-31/user/1', + '/rowers/flexall/spm/hr/None/2016-01-01/2016-12-31/user/1/', '/rowers/flexall/user/1/', '/rowers/flexalldata/', - '/rowers/help', + '/rowers/help/', '/rowers/histo/', - '/rowers/histo/user/1', - '/rowers/histo/user/1/2016-01-01/2016-12-31', - '/rowers/histodata', - '/rowers/job-kill/1', + '/rowers/histo/user/1/', + '/rowers/histo/user/1/2016-01-01/2016-12-31/', + '/rowers/histodata/', + '/rowers/job-kill/1/', '/rowers/jobs-status/', '/rowers/laboratory/', - '/rowers/laboratory/user/1', - '/rowers/legal', + '/rowers/laboratory/user/1/', + '/rowers/legal/', '/rowers/list-courses/', '/rowers/list-graphs/', '/rowers/list-jobs/', '/rowers/list-workouts/', - '/rowers/list-workouts/2016-01-01/2016-12-31', + '/rowers/list-workouts/2016-01-01/2016-12-31/', '/rowers/list-workouts/2016-01-01/2016-12-31/user/1/', - '/rowers/list-workouts/ranking', + '/rowers/list-workouts/ranking/', '/rowers/list-workouts/user/1/', '/rowers/me/calcdps/', '/rowers/me/edit/', - '/rowers/me/edit/user/1', + '/rowers/me/edit/user/1/', '/rowers/me/exportsettings/', - '/rowers/me/exportsettings/user/1', + '/rowers/me/exportsettings/user/1/', '/rowers/me/favoritecharts/', - '/rowers/me/favoritecharts/user/1', + '/rowers/me/favoritecharts/user/1/', '/rowers/me/invitation/', '/rowers/me/preferences/', - '/rowers/me/preferences/user/1', + '/rowers/me/preferences/user/1/', '/rowers/me/request/', '/rowers/me/teams/', '/rowers/me/workflowconfig2/', - '/rowers/me/workflowconfig2/user/1', - '/rowers/me/workflowdefault', - '/rowers/multi-compare', + '/rowers/me/workflowconfig2/user/1/', + '/rowers/me/workflowdefault/', +# '/rowers/multi-compare/', '/rowers/ote-bests/', - '/rowers/ote-bests/2016-01-01/2016-12-31', - '/rowers/ote-bests/user/1', - '/rowers/ote-bests/user/1/2016-01-01/2016-12-31', + '/rowers/ote-bests/2016-01-01/2016-12-31/', + '/rowers/ote-bests/user/1/', + '/rowers/ote-bests/user/1/2016-01-01/2016-12-31/', '/rowers/ote-bests2/', - '/rowers/ote-bests2/2016-01-01/2016-12-31', - '/rowers/ote-bests2/user/1', + '/rowers/ote-bests2/2016-01-01/2016-12-31/', + '/rowers/ote-bests2/user/1/', '/rowers/ote-ranking/', - '/rowers/ote-ranking/2016-01-01/2016-12-31', + '/rowers/ote-ranking/2016-01-01/2016-12-31/', '/rowers/ote-ranking/user/1/', - '/rowers/ote-ranking/user/1/2016-01-01/2016-12-31', + '/rowers/ote-ranking/user/1/2016-01-01/2016-12-31/', '/rowers/otw-bests/', - '/rowers/otw-bests/2016-01-01/2016-12-31', - '/rowers/otw-bests/user/1/2016-01-01/2016-12-31', - '/rowers/partners', - '/rowers/physics', - '/rowers/planrequired', - '/rowers/promembership', - '/rowers/register', + '/rowers/otw-bests/2016-01-01/2016-12-31/', + '/rowers/otw-bests/user/1/2016-01-01/2016-12-31/', + '/rowers/partners/', + '/rowers/physics/', + '/rowers/planrequired/', + '/rowers/promembership/', + '/rowers/register/', '/rowers/register/thankyou/', '/rowers/sessions/', - '/rowers/sessions/2016-01-01/2016-12-31', - '/rowers/sessions/2016-01-01/2016-12-31/user/1', + '/rowers/sessions/2016-01-01/2016-12-31/', + '/rowers/sessions/2016-01-01/2016-12-31/user/1/', '/rowers/sessions/coach/', '/rowers/sessions/coach/user/1/', '/rowers/sessions/create/', - '/rowers/sessions/create/user/1', + '/rowers/sessions/create/user/1/', '/rowers/sessions/manage/', '/rowers/sessions/manage/user/1/', '/rowers/sessions/multiclone/', @@ -199,83 +199,82 @@ class URLTests(TestCase): '/rowers/sessions/multicreate/', '/rowers/sessions/multicreate/user/1/', '/rowers/sessions/print/', - '/rowers/sessions/print/user/1', + '/rowers/sessions/print/user/1/', '/rowers/sessions/teamcreate/', - '/rowers/sessions/user/1', + '/rowers/sessions/user/1/', '/rowers/team-compare-select/', - '/rowers/team-compare-select/workout/1', - '/rowers/team-compare-select/2016-01-01/2016-12-31', - '/rowers/test-job/2', - '/rowers/test-job2/2', - '/rowers/test_callback', - '/rowers/updatefitness', - '/rowers/updatefitness/rower', - '/rowers/updatefitness/rower/50', - '/rowers/user-boxplot', - '/rowers/user-boxplot-data', - '/rowers/user-boxplot-select/', - '/rowers/user-boxplot-select/user/1/', - '/rowers/user-boxplot/user/1', - '/rowers/user-multiflex-data', - '/rowers/user-multiflex-select/', - '/rowers/user-multiflex-select/2016-01-01/2016-12-31', - '/rowers/user-multiflex-select/user/1/', - '/rowers/user-multiflex-select/user/1/2016-01-01/2016-12-31', - '/rowers/user-multiflex/', - '/rowers/user-multiflex/user/1', + '/rowers/team-compare-select/workout/1/', + '/rowers/team-compare-select/2016-01-01/2016-12-31/', + '/rowers/test-job/2/', + '/rowers/test-job2/2/', +# '/rowers/test_callback/', +# '/rowers/updatefitness/', +# '/rowers/updatefitness/rower/', +# '/rowers/updatefitness/rower/50/', +# '/rowers/user-boxplot/', +# '/rowers/user-boxplot-data/', +# '/rowers/user-boxplot-select/', +# '/rowers/user-boxplot-select/user/1/', +# '/rowers/user-boxplot/user/1/', +# '/rowers/user-multiflex-data/', +# '/rowers/user-multiflex-select/', +# '/rowers/user-multiflex-select/2016-01-01/2016-12-31/', +# '/rowers/user-multiflex-select/user/1/', +# '/rowers/user-multiflex-select/user/1/2016-01-01/2016-12-31/', +# '/rowers/user-multiflex/', +# '/rowers/user-multiflex/user/1/', '/rowers/workout/1/', - '/rowers/workout/1/adddistanceplot', - '/rowers/workout/1/adddistanceplot2', - '/rowers/workout/1/addotwpowerplot', - '/rowers/workout/1/addpiechart', - '/rowers/workout/1/addpowerpiechart', - '/rowers/workout/1/addstatic', - '/rowers/workout/1/addstatic/3', - '/rowers/workout/1/addtimeplot', - '/rowers/workout/1/addtimeplot2', - '/rowers/workout/1/comment', - '/rowers/workout/1/darkskywind', - '/rowers/workout/1/data', - '/rowers/workout/1/edit', - '/rowers/workout/1/editintervals', - '/rowers/workout/1/flexchart', - '/rowers/workout/1/flexchart/spm/hr/None', - '/rowers/workout/1/flexchart/spm/hr/None/scatter', - '/rowers/workout/1/flexchart/spm/hr/None/scatter/', - '/rowers/workout/1/forcecurve', - '/rowers/workout/1/get-testscript', - '/rowers/workout/1/get-thumbnails', - '/rowers/workout/1/histo', - '/rowers/workout/1/image', - '/rowers/workout/1/instroke', - '/rowers/workout/1/interactiveotwplot', - '/rowers/workout/1/map', - '/rowers/workout/1/otwsetpower', + '/rowers/workout/1/adddistanceplot/', + '/rowers/workout/1/adddistanceplot2/', + '/rowers/workout/1/addotwpowerplot/', + '/rowers/workout/1/addpiechart/', + '/rowers/workout/1/addpowerpiechart/', + '/rowers/workout/1/addstatic/', + '/rowers/workout/1/addstatic/3/', + '/rowers/workout/1/addtimeplot/', + '/rowers/workout/1/addtimeplot2/', + '/rowers/workout/1/comment/', + '/rowers/workout/1/darkskywind/', + '/rowers/workout/1/data/', + '/rowers/workout/1/edit/', + '/rowers/workout/1/editintervals/', + '/rowers/workout/1/flexchart/', + '/rowers/workout/1/forcecurve/', + '/rowers/workout/1/get-testscript/', + '/rowers/workout/1/get-thumbnails/', + '/rowers/workout/1/histo/', + '/rowers/workout/1/image/', + '/rowers/workout/1/instroke/', + '/rowers/workout/1/interactiveotwplot/', + '/rowers/workout/1/map/', + '/rowers/workout/1/otwsetpower/', '/rowers/workout/1/recalcsummary/', - '/rowers/workout/1/restore', - '/rowers/workout/1/smoothenpace', - '/rowers/workout/1/split', - '/rowers/workout/1/stats', - '/rowers/workout/1/stream', - '/rowers/workout/1/task', - '/rowers/workout/1/test_strokedata', - '/rowers/workout/1/toggle-ranking', - '/rowers/workout/1/undosmoothenpace', - '/rowers/workout/1/unsubscribe', - '/rowers/workout/1/updatecp', - '/rowers/workout/1/view', - '/rowers/workout/1/wind', - '/rowers/workout/1/workflow', - '/rowers/workout/compare/1/2016-01-01/2016-12-31', + '/rowers/workout/1/restore/', + '/rowers/workout/1/smoothenpace/', + '/rowers/workout/1/split/', + '/rowers/workout/1/stats/', + '/rowers/workout/1/stream/', + '/rowers/workout/1/task/', + '/rowers/workout/1/test_strokedata/', + '/rowers/workout/1/toggle-ranking/', + '/rowers/workout/1/undosmoothenpace/', + '/rowers/workout/1/unsubscribe/', + '/rowers/workout/1/updatecp/', + '/rowers/workout/1/view/', + '/rowers/workout/1/wind/', + '/rowers/workout/1/workflow/', + '/rowers/workout/compare/1/2016-01-01/2016-12-31/', '/rowers/workout/fusion/1/', - '/rowers/workout/fusion/1/2016-01-01/2016-12-31', + '/rowers/workout/fusion/1/2016-01-01/2016-12-31/', '/rowers/workout/upload/', '/rowers/workout/upload/team/', - '/rowers/workouts-join', + '/rowers/workouts-join/', '/rowers/workouts-join-select/', - '/rowers/workouts-join-select/2016-01-01/2016-12-31', + '/rowers/workouts-join-select/2016-01-01/2016-12-31/', ] + # urlstotest = ['/rowers/createplan/user/1/'] + lijst = [] for url in urlstotest: lijst.append( @@ -283,12 +282,20 @@ class URLTests(TestCase): ) @parameterized.expand(lijst) - def test_url_generator(self,url,expected): + @patch('rowers.dataprep.create_engine') + @patch('rowers.dataprep.read_df_sql') + @patch('rowers.dataprep.getsmallrowdata_db') + def test_url_generator(self,url,expected, + mocked_sqlalchemy, + mocked_read_df_sql, + mocked_getsmallrowdata_db): + login = self.c.login(username='john',password='koeinsloot') + self.assertTrue(login) response = self.c.get(url,follow=True) if response.status_code != expected: + print url print response.status_code self.assertEqual(response.status_code, - expected, - msg=url+' response status code not 200') + expected) diff --git a/rowers/tests/testdata/colsfromdb.csv b/rowers/tests/testdata/colsfromdb.csv new file mode 100644 index 00000000..e87e0ee6 --- /dev/null +++ b/rowers/tests/testdata/colsfromdb.csv @@ -0,0 +1,1399 @@ +,distance,fpace,workoutid,hr,pace,ftime,spm,time,workoutstate +3,80,03:30.6,1,127.2857143,210600,01:02.5,18.89142857,62500,4 +4,100,03:25.9,1,132.5142857,205900,01:10.8,18.57714286,70799.99995,4 +5,120,03:00.5,1,135.2571429,180500,01:18.0,21.22571429,78000,4 +6,140,02:32.0,1,140,152000,01:24.1,24.74857143,84099.9999,4 +7,160,02:13.2,1,146.0857143,133200,01:29.4,27.41714286,89400.0001,4 +8,180,02:15.6,1,151.9142857,135600,01:34.8,27.46857143,94799.99995,4 +9,200,02:16.0,1,155.6571429,136000,01:40.3,27.24857143,100300,4 +10,220,02:23.8,1,157.1714286,143800,01:46.0,27.2,106000,4 +11,240,02:15.6,1,158.2571429,135600,01:51.4,27.46285714,111400.0001,4 +12,260,02:24.2,1,159.7428571,144200,01:57.2,27.71428571,117200,4 +13,280,02:11.7,1,161.1714286,131700,02:02.5,27.48285714,122500,4 +14,300,02:22.6,1,161.7428571,142600,02:08.2,27.20857143,128200,4 +15,320,02:18.7,1,162.2571429,138700,02:13.7,26.65142857,133700,4 +16,340,02:28.5,1,162.9142857,148500,02:19.6,26.58285714,139599.9999,4 +17,360,02:32.7,1,164,152700,02:25.8,26.19142857,145800,4 +18,380,02:26.9,1,165.0857143,146900,02:31.6,25.69428571,151599.9999,4 +19,400,02:31.6,1,165.8285714,151600,02:37.7,25.55714286,157700,4 +20,420,02:21.0,1,166.0857143,141000,02:43.3,25.83142857,163300,4 +21,440,02:33.5,1,166,153500,02:49.5,26.14857143,169500,4 +22,460,02:35.1,1,165.9142857,155100,02:55.7,26.13714286,175700,4 +23,480,02:25.3,1,166.2571429,145300,03:01.5,26.7,181500,4 +24,500,02:34.7,1,166.7428571,154700,03:07.7,26.58571429,187700,4 +25,520,02:34.7,1,167,154700,03:13.9,26.28857143,193900.0001,4 +26,540,02:32.0,1,167.2571429,152000,03:19.9,25.54,199900.0001,4 +27,560,02:41.0,1,167.6571429,161000,03:26.4,25.30571429,206400.0001,4 +28,580,02:35.1,1,168.3428571,155100,03:32.6,25.35142857,212599.9999,4 +29,600,02:29.2,1,168.8285714,149200,03:38.6,25.90571429,218599.9999,4 +30,620,02:33.1,1,168.7428571,153100,03:44.7,25.97142857,224700,4 +31,640,02:30.4,1,168.6,150400,03:50.7,25.86571429,230700,4 +32,660,02:29.6,1,168.4,149600,03:56.7,25.81142857,236700,4 +33,680,02:28.1,1,168.3428571,148100,04:02.6,25.72571429,242599.9999,4 +34,700,02:27.7,1,167.8285714,147700,04:08.5,25.31714286,248500,4 +35,720,02:30.0,1,168.2571429,150000,04:14.5,25.11714286,254500,4 +36,740,02:28.1,1,168.7428571,148100,04:20.4,25.24285714,260400.0001,4 +37,760,02:34.3,1,169.0857143,154300,04:26.6,25.32857143,266599.9999,4 +38,780,02:23.0,1,169,143000,04:32.3,25.67428571,272300,4 +39,800,02:26.1,1,169,146100,04:38.2,26.05142857,278200,4 +40,820,02:23.4,1,168.9142857,143400,04:43.9,26.58,283900.0001,4 +41,840,02:31.2,1,169.2571429,151200,04:49.9,26.56,289900.0001,4 +42,860,02:23.0,1,169.7428571,143000,04:55.7,26.81714286,295700,4 +43,880,02:30.0,1,170.0857143,150000,05:01.7,27.07714286,301700,4 +44,900,02:26.5,1,170,146500,05:07.5,27.39428571,307500,4 +45,920,02:20.6,1,170,140600,05:13.1,27.06285714,313099.9999,4 +46,940,02:24.2,1,170,144200,05:18.9,26.73714286,318900.0001,4 +47,960,02:18.3,1,170,138300,05:24.4,26.76,324400.0001,4 +48,980,02:19.9,1,170,139900,05:30.0,26.83428571,330000,4 +49,1000,02:16.7,1,169.9142857,136700,05:35.5,27.01714286,335500,4 +50,1020,02:22.2,1,170.2571429,142200,05:41.2,27.38857143,341200,4 +51,1040,02:23.4,1,170.7428571,143400,05:46.9,27.62857143,346900.0001,4 +52,1060,02:15.6,1,171,135600,05:52.3,27.37142857,352300,4 +53,1080,02:18.3,1,171.2571429,138300,05:57.9,27.40285714,357900.0001,4 +54,1100,02:16.7,1,171.7428571,136700,06:03.3,27.36571429,363300,4 +55,1120,02:24.9,1,172.0857143,144900,06:09.1,27.08285714,369099.9999,4 +56,1140,02:18.7,1,172,138700,06:14.7,26.83142857,374700,4 +57,1160,02:21.8,1,172.0857143,141800,06:20.4,26.92285714,380400.0001,4 +58,1180,02:14.4,1,171.7428571,134400,06:25.7,27.00285714,385700,4 +59,1200,02:18.7,1,171.2571429,138700,06:31.3,27.36857143,391300,4 +60,1220,02:10.5,1,170.9142857,130500,06:36.5,27.42571429,396500,4 +61,1240,02:10.9,1,170.9142857,130900,06:41.7,26.94571429,401700,4 +62,1260,02:15.6,1,171.2571429,135600,06:47.2,26.62857143,407200,4 +63,1280,02:12.4,1,171.7428571,132400,06:52.5,26.80285714,412500,4 +64,1300,02:13.2,1,172.0857143,133200,06:57.8,27.13714286,417800,4 +65,1320,02:09.3,1,172,129300,07:03.0,27.50857143,423000,4 +66,1340,02:06.2,1,171.9142857,126200,07:08.0,27.71142857,428000,4 +67,1360,02:16.0,1,172.2571429,136000,07:13.4,27.73142857,433400.0001,4 +68,1380,02:10.9,1,172.7428571,130900,07:18.7,27.68857143,438700,4 +69,1400,02:20.2,1,173.0857143,140200,07:24.3,27.54857143,444300,4 +70,1420,02:09.3,1,173,129300,07:29.5,27.03428571,449500,4 +71,1440,02:06.2,1,172.9142857,126200,07:34.5,26.83714286,454500,4 +72,1460,02:16.0,1,173.2571429,136000,07:39.9,26.74285714,459900.0001,4 +73,1480,02:10.9,1,173.7428571,130900,07:45.2,26.92571429,465200,4 +74,1500,02:10.5,1,174.0857143,130500,07:50.4,26.86571429,470400.0001,4 +75,1520,02:15.6,1,173.9142857,135600,07:55.8,26.92285714,475800,4 +76,1540,02:16.0,1,174.2571429,136000,08:01.3,26.84857143,481300,4 +77,1560,02:20.2,1,174.7428571,140200,08:06.9,26.97428571,486900.0001,4 +78,1580,02:18.3,1,175.0857143,138300,08:12.4,26.74857143,492400.0001,4 +79,1600,02:25.3,1,175.0857143,145300,08:18.2,26.52857143,498200,4 +80,1620,02:28.1,1,174.7428571,148100,08:24.1,26.40571429,504099.9999,4 +81,1640,02:19.9,1,174.2571429,139900,08:29.7,26.29142857,509700,4 +82,1660,02:12.0,1,173.9142857,132000,08:35.0,26.10857143,515000,4 +83,1680,02:20.2,1,174,140200,08:40.6,26.52285714,520599.9999,4 +84,1700,02:18.3,1,174,138300,08:46.1,26.82285714,526099.9999,4 +85,1720,02:24.9,1,174,144900,08:51.9,26.70571429,531900.0001,4 +86,1740,02:17.9,1,174,137900,08:57.5,26.29142857,537500,4 +87,1760,02:26.9,1,174,146900,09:03.3,26.23142857,543300,4 +88,1780,02:23.4,1,173.9142857,143400,09:09.1,26.46285714,549099.9999,4 +89,1800,02:26.9,1,174.2571429,146900,09:14.9,26.78,554900.0001,4 +90,1820,02:28.1,1,174.7428571,148100,09:20.9,26.66285714,560900.0001,4 +91,1840,02:20.2,1,175.0857143,140200,09:26.5,26.38285714,566500,4 +92,1860,02:15.2,1,175,135200,09:31.9,26.30285714,571900.0001,4 +93,1880,02:20.6,1,174.9142857,140600,09:37.5,26.46,577500,4 +94,1900,02:13.2,1,175.3428571,133200,09:42.8,26.49142857,582800,4 +95,1920,02:19.1,1,175.4,139100,09:48.4,26.88571429,588400.0001,4 +96,1940,02:10.5,1,175.6,130500,09:53.6,27.38285714,593599.9999,4 +97,1960,02:14.8,1,175.6571429,134800,09:59.0,27.04,599000,4 +98,1980,02:16.7,1,176.0857143,136700,10:04.5,26.7,604500,4 +99,2000,02:16.7,1,176,136700,10:09.9,26.51142857,609900.0001,4 +100,2020,02:18.3,1,176,138300,10:15.5,26.86571429,615500,4 +101,2040,02:13.2,1,176,133200,10:20.8,27.09142857,620800,4 +102,2060,02:21.0,1,175.9142857,141000,10:26.4,27.39428571,626400.0001,4 +103,2080,02:18.7,1,176.3428571,138700,10:32.0,27.6,632000,4 +104,2100,02:22.2,1,176.4,142200,10:37.7,27.51714286,637700,4 +105,2120,02:15.6,1,176.6,135600,10:43.1,27.26857143,643099.9999,4 +106,2140,02:19.5,1,176.6571429,139500,10:48.7,27.10571429,648700,4 +107,2160,02:14.0,1,177.0857143,134000,10:54.0,27.24285714,654000,4 +108,2180,02:16.3,1,177,136300,10:59.5,27.28571429,659500,4 +109,2200,02:07.7,1,177,127700,11:04.6,27.29428571,664599.9999,4 +110,2220,02:14.0,1,177,134000,11:10.0,27.52857143,670000,4 +111,2240,02:09.7,1,176.9142857,129700,11:15.1,28.00571429,675099.9999,4 +112,2260,02:15.2,1,177.2571429,135200,11:20.6,28.47142857,680599.9999,4 +113,2280,02:09.7,1,177.7428571,129700,11:25.7,28.77428571,685700,4 +114,2300,02:20.6,1,178.0857143,140600,11:31.4,28.68571429,691400.0001,4 +115,2320,02:20.2,1,177.9142857,140200,11:37.0,28.40571429,697000,4 +116,2340,02:19.9,1,178.2571429,139900,11:42.6,28.06857143,702599.9999,4 +117,2360,02:26.1,1,178.7428571,146100,11:48.4,27.66571429,708400.0001,4 +118,2380,02:15.2,1,179.0857143,135200,11:53.8,27.4,713800,4 +119,2400,02:16.3,1,179,136300,11:59.3,27.36857143,719300,4 +120,2420,02:09.7,1,179,129700,12:04.5,27.51428571,724500,4 +121,2440,02:14.4,1,179,134400,12:09.8,27.82857143,729800,4 +122,2460,02:13.6,1,179,133600,12:15.2,27.65714286,735200,4 +123,2480,02:28.5,1,178.9142857,148500,12:21.1,28.05142857,741099.9999,4 +124,2500,02:25.7,1,179.3428571,145700,12:26.9,28.2,746900.0001,4 +125,2520,02:18.7,1,179.4857143,138700,12:32.5,27.49142857,752500,4 +126,2540,02:30.8,1,179.4285714,150800,12:38.5,26.26285714,758500,4 +127,2560,02:25.7,1,178.5714286,145700,12:44.4,25.65428571,764400.0001,4 +128,2580,02:35.9,1,178.6,155900,12:50.6,25.76,770599.9999,4 +129,2600,02:29.2,1,178.4,149200,12:56.6,25.66857143,776599.9999,4 +130,2620,02:26.5,1,178.3428571,146500,13:02.4,25.59142857,782400.0001,4 +131,2640,02:24.9,1,177.9142857,144900,13:08.2,25.26,788200,4 +132,2660,02:30.0,1,178,150000,13:14.2,25.70571429,794200,4 +133,2680,02:25.3,1,178,145300,13:20.0,26.26571429,800000,4 +134,2700,02:22.6,1,178,142600,13:25.7,26.32,805700,4 +135,2720,02:32.0,1,178,152000,13:31.8,25.91714286,811800,4 +136,2740,02:26.1,1,178,146100,13:37.6,25.96857143,817599.9999,4 +137,2760,02:29.2,1,178,149200,13:43.6,26.02,823599.9999,4 +138,2780,02:23.4,1,178.0857143,143400,13:49.4,26.26571429,829400.0001,4 +139,2800,02:26.5,1,177.6571429,146500,13:55.2,26.35142857,835200,4 +140,2820,02:19.1,1,177.5142857,139100,14:00.8,26.14857143,840800,4 +141,2840,02:25.7,1,177.6571429,145700,14:06.6,26.26857143,846599.9999,4 +142,2860,02:18.7,1,178.0857143,138700,14:12.1,27.1,852099.9999,4 +143,2880,02:19.5,1,178,139500,14:17.7,28.33142857,857700,4 +144,2900,02:28.8,1,178,148800,14:23.7,28.55714286,863700,4 +145,2920,02:32.4,1,178,152400,14:29.8,28.26571429,869800,4 +146,2940,02:21.0,1,178,141000,14:35.4,27.36,875400.0001,4 +147,2960,02:23.0,1,178,143000,14:41.1,27.18571429,881099.9999,4 +148,2980,02:30.8,1,177.9142857,150800,14:47.2,27.18285714,887200,4 +149,3000,02:27.7,1,178.3428571,147700,14:53.1,27.18571429,893099.9999,4 +150,3020,02:25.7,1,178.4,145700,14:58.9,26.68285714,898900.0001,4 +151,3040,02:23.0,1,178.6857143,143000,15:04.6,26.50285714,904599.9999,4 +152,3060,02:23.8,1,178.4,143800,15:10.4,26.31142857,910400.0001,4 +153,3080,02:17.1,1,178.3428571,137100,15:15.9,26.28,915900.0001,4 +154,3100,02:23.8,1,177.9142857,143800,15:21.6,26.49142857,921599.9999,4 +155,3120,02:17.1,1,178,137100,15:27.1,26.78857143,927099.9999,4 +156,3140,02:21.4,1,178,141400,15:32.7,26.59142857,932700,4 +157,3160,02:19.5,1,178,139500,15:38.3,26.32857143,938300,4 +158,3180,02:24.2,1,178,144200,15:44.1,26.28,944099.9999,4 +159,3200,02:17.9,1,177.9142857,137900,15:49.6,26.52857143,949599.9999,4 +160,3220,02:23.0,1,178.3428571,143000,15:55.3,26.70571429,955300,4 +161,3240,02:23.8,1,178.4857143,143800,16:01.1,26.63142857,961099.9999,4 +162,3260,02:31.6,1,178.4285714,151600,16:07.1,26.42857143,967099.9999,4 +163,3280,02:28.8,1,177.6571429,148800,16:13.1,26.63428571,973099.9999,4 +164,3300,02:23.4,1,177.2571429,143400,16:18.8,26.91142857,978800,4 +165,3320,02:29.6,1,176.8285714,149600,16:24.8,27.17428571,984800,4 +166,3340,02:19.9,1,177.2571429,139900,16:30.4,26.91428571,990400.0001,4 +167,3360,02:19.1,1,177.7428571,139100,16:36.0,26.72571429,996000,4 +168,3380,02:20.2,1,178.0857143,140200,16:41.6,26.74857143,1001600,4 +169,3400,02:22.6,1,177.9142857,142600,16:47.3,27.23142857,1007300,4 +170,3420,02:24.5,1,178.3428571,144500,16:53.1,27.3,1013100,4 +171,3440,02:19.5,1,178.4857143,139500,16:58.6,27,1018600,4 +172,3460,02:25.7,1,178.3428571,145700,17:04.5,26.54,1024500,4 +173,3480,02:13.6,1,177.9142857,133600,17:09.8,26.55714286,1029800,4 +174,3500,02:18.3,1,178,138300,17:15.3,26.65714286,1035300,4 +175,3520,02:16.0,1,178,136000,17:20.8,26.85714286,1040800,4 +176,3540,02:16.0,1,178,136000,17:26.2,26.88,1046200,4 +177,3560,02:22.6,1,178,142600,17:31.9,27.08285714,1051900,4 +178,3580,02:21.8,1,177.9142857,141800,17:37.6,27.36285714,1057600,4 +179,3600,02:17.1,1,178.2571429,137100,17:43.1,27.56,1063100,4 +180,3620,02:20.2,1,178.7428571,140200,17:48.7,27.68,1068700,4 +181,3640,02:16.3,1,179.0857143,136300,17:54.1,27.63142857,1074100,4 +182,3660,02:20.6,1,179,140600,17:59.8,27.75142857,1079800,4 +183,3680,02:17.9,1,179,137900,18:05.3,27.38571429,1085300,4 +184,3700,02:21.0,1,179,141000,18:10.9,27.30285714,1090900,4 +185,3720,02:16.3,1,179,136300,18:16.4,27.20571429,1096400,4 +186,3740,02:26.9,1,179,146900,18:22.2,27.24,1102200,4 +187,3760,02:32.4,1,179,152400,18:28.3,26.96571429,1108300,4 +188,3780,02:27.7,1,179,147700,18:34.2,26.4,1114200,4 +189,3800,02:33.5,1,178.9142857,153500,18:40.4,26.11428571,1120400,4 +190,3820,02:22.2,1,179.2571429,142200,18:46.1,26.40857143,1126100,4 +191,3840,02:22.2,1,179.7428571,142200,18:51.8,26.98285714,1131800,4 +192,3860,02:30.4,1,180.1714286,150400,18:57.8,27.06285714,1137800,4 +193,3880,02:22.6,1,179.7428571,142600,19:03.5,26.66571429,1143500,4 +194,3900,02:33.5,1,179.2571429,153500,19:09.6,26.30857143,1149600,4 +195,3920,02:29.2,1,178.8285714,149200,19:15.6,26.57714286,1155600,4 +196,3940,02:24.5,1,179.2571429,144500,19:21.4,27.16571429,1161400,4 +197,3960,02:23.4,1,179.7428571,143400,19:27.1,27.26285714,1167100,4 +198,3980,02:17.5,1,180.0857143,137500,19:32.6,27.38571429,1172600,4 +199,4000,02:18.7,1,179.9142857,138700,19:38.2,28.15714286,1178200,4 +200,4020,02:21.4,1,180.2571429,141400,19:43.8,28.81428571,1183800,4 +201,4040,02:18.7,1,180.7428571,138700,19:49.4,29.13714286,1189400,4 +202,4060,02:23.0,1,181.0857143,143000,19:55.1,28.86857143,1195100,4 +203,4080,02:19.5,1,181,139500,20:00.7,28.32857143,1200700,4 +204,4100,02:12.0,1,181,132000,20:05.9,28.18857143,1205900,4 +205,4120,02:14.4,1,181,134400,20:11.3,28.54571429,1211300,4 +206,4140,02:10.1,1,181,130100,20:16.5,27.95714286,1216500,4 +207,4160,02:17.9,1,181,137900,20:22.0,27.20857143,1222000,4 +208,4180,02:10.9,1,180.9142857,130900,20:27.3,27.03142857,1227300,4 +209,4200,02:16.7,1,182.2,136700,20:32.7,27.56285714,1232700,4 +210,4220,02:15.2,1,177.9714286,135200,20:38.1,27.39428571,1238100,4 +211,4240,02:23.4,1,176.7428571,143400,20:43.9,27.29714286,1243900,4 +212,4260,02:14.0,1,178.2285714,134000,20:49.2,27.35714286,1249200,4 +213,4280,02:20.6,1,182.9428571,140600,20:54.9,27.64,1254900,4 +214,4300,02:16.0,1,182,136000,21:00.3,27.76857143,1260300,4 +215,4320,02:19.1,1,182,139100,21:05.9,27.76571429,1265900,4 +216,4340,02:16.0,1,182,136000,21:11.3,27.46285714,1271300,4 +217,4360,02:18.3,1,182,138300,21:16.8,27.41714286,1276800,4 +218,4380,02:12.0,1,182,132000,21:22.1,27.64285714,1282100,4 +219,4400,02:17.5,1,182,137500,21:27.6,28.02857143,1287600,4 +220,4420,02:12.8,1,182,132800,21:32.9,27.86285714,1292900,4 +221,4440,02:19.5,1,182,139500,21:38.5,27.75428571,1298500,4 +222,4460,02:17.9,1,182,137900,21:44.0,27.56285714,1304000,4 +223,4480,02:13.6,1,182,133600,21:49.4,27.65428571,1309400,4 +224,4500,02:17.1,1,182,137100,21:54.8,27.64571429,1314800,4 +225,4520,02:16.3,1,181.9142857,136300,22:00.3,27.66857143,1320300,4 +226,4540,02:20.2,1,182.2571429,140200,22:05.9,27.82,1300.0001,4 +227,4560,02:14.4,1,182.7428571,134400,22:11.3,27.80857143,1331300,4 +228,4580,02:18.7,1,183.0857143,138700,22:16.8,27.68285714,1336800,4 +229,4600,02:12.4,1,183,132400,22:22.1,27.39428571,1342100,4 +230,4620,02:19.1,1,183,139100,22:27.7,27.61428571,1347700,4 +231,4640,02:11.7,1,183,131700,22:32.9,27.66,1352900,4 +232,4660,02:15.2,1,183,135200,22:38.4,27.98285714,1358400,4 +233,4680,02:10.9,1,183,130900,22:43.6,27.84,1363600,4 +234,4700,02:12.8,1,182.9142857,132800,22:48.9,27.81714286,1368900,4 +235,4720,02:13.6,1,183.2571429,133600,22:54.2,27.81428571,1374200,4 +236,4740,02:13.6,1,183.7428571,133600,22:59.6,27.78571429,1379600,4 +237,4760,02:18.7,1,184.0857143,138700,23:05.1,27.76,1385100,4 +238,4780,02:18.3,1,184,138300,23:10.7,27.95142857,1390700,4 +239,4800,02:07.7,1,184,127700,23:15.8,28.25714286,1395800,4 +240,4820,02:11.3,1,184,131300,23:21.0,28.85142857,1401000,4 +241,4840,02:09.3,1,183.9142857,129300,23:26.2,29.72285714,1406200,4 +242,4860,02:09.3,1,184.2571429,129300,23:31.4,30.53142857,1411400,4 +243,4880,02:03.1,1,184.8285714,123100,23:36.3,31.17142857,1416300,4 +244,4900,02:12.8,1,185.1714286,132800,23:41.6,28.64857143,1421600,4 +245,4920,03:32.5,1,183.5714286,212500,23:50.1,23.55428571,1430100,4 +246,4940,04:06.5,1,181.4571429,246500,24:00.0,17.26571429,1440000,4 +247,4960,04:53.0,1,172.3142857,293000,24:11.7,14.90285714,1451700,4 +249,5000,03:50.9,1,152.7714286,230900,24:33.6,18.27714286,1473600,4 +250,5020,03:38.8,1,150.2857143,218800,24:42.3,20.19142857,1482300,4 +251,5040,02:58.5,1,146.8,178500,24:49.5,18.47142857,1489500,4 +252,5060,03:29.0,1,146.4571429,209000,24:57.8,18.4,1497800,4 +253,5080,02:51.1,1,145.5428571,171100,25:04.7,17.55714286,1504700,4 +254,5100,03:15.7,1,144.6,195700,25:12.5,19.71714286,1512500,4 +255,5120,02:49.2,1,143.3428571,169200,25:19.3,20.26571429,1519300,4 +256,5140,02:45.2,1,143.4857143,165200,25:25.9,21.81714286,1525900,4 +257,5160,03:00.5,1,143.1714286,180500,25:33.1,21.63714286,1533100,4 +258,5180,02:47.2,1,141.9142857,167200,25:39.8,21.34,1539800,4 +259,5200,02:57.7,1,141.1714286,177700,25:46.9,21.07714286,1546900,4 +260,5220,02:53.5,1,141.3428571,173500,25:53.8,21.40285714,1553800,4 +261,5240,03:00.9,1,139.5428571,180900,26:01.1,20.84571429,1561100,4 +263,5280,04:33.1,1,136.4571429,273100,26:25.6,21.45714286,1585600,4 +264,5300,03:21.6,1,135.3428571,201600,26:33.7,20.42857143,1593700,4 +265,5320,03:02.0,1,133.3428571,182000,26:41.0,18.96857143,1601000,4 +266,5340,02:43.7,1,134.0857143,163700,26:47.5,20.21428571,1607500,4 +267,5360,02:39.0,1,135.5714286,159000,26:53.9,20.88857143,1613900,4 +268,5380,02:36.3,1,136.0857143,156300,27:00.1,20.68285714,1620100,4 +269,5400,02:37.8,1,136.2571429,157800,27:06.4,20.77142857,1626400,4 +270,5420,02:33.1,1,136.6571429,153100,27:12.6,20.93714286,1639.9999,4 +271,5440,02:36.7,1,137.2571429,156700,27:18.8,20.66,1638800,4 +272,5460,02:44.9,1,138,164900,27:25.4,20.41714286,1645400,4 +273,5480,02:42.1,1,138.7428571,162100,27:31.9,20.78,1651900,4 +274,5500,02:43.7,1,139.1714286,163700,27:38.5,21.37714286,1658500,4 +275,5520,02:36.7,1,140.1714286,156700,27:44.7,20.03142857,1664700,4 +276,5540,02:49.5,1,141.8285714,169500,27:51.5,19.53142857,1671500,4 +277,5560,02:52.7,1,142.9142857,172700,27:58.4,19.91142857,1678400,4 +278,5580,02:44.1,1,143.0857143,164100,28:05.0,21.20571429,1685000,4 +279,5600,02:44.5,1,143,164500,28:11.5,20.60857143,1691500,4 +280,5620,02:53.1,1,143.0857143,173100,28:18.5,20.82,1698500,4 +281,5640,02:40.6,1,142.8285714,160600,28:24.9,20.61714286,1704900,4 +282,5660,03:00.1,1,142.0857143,180100,28:32.1,19.02285714,1712100,4 +283,5680,03:15.3,1,141,195300,28:39.9,17.61714286,1719900,4 +284,5700,03:25.5,1,140.0857143,205500,28:48.1,18.15714286,1728100,4 +285,5720,03:13.0,1,138.7428571,193000,28:55.8,19.87142857,1735800,4 +286,5740,03:05.2,1,137.2571429,185200,29:03.2,19.95142857,1743200,4 +287,5760,02:55.0,1,135.8285714,175000,29:10.2,19.34,1750200,4 +288,5780,03:13.8,1,135.1714286,193800,29:18.0,19.10857143,1758000,4 +289,5800,03:05.2,1,135,185200,29:25.4,19.75428571,1765400,4 +290,5820,02:47.6,1,134.7428571,167600,29:32.1,19.80857143,1772100,4 +291,5840,02:57.7,1,134.1714286,177700,29:39.2,19.02285714,1779200,4 +292,5860,03:04.8,1,134.2571429,184800,29:46.6,17.70571429,1786600,4 +293,5880,03:01.7,1,134.4857143,181700,29:53.9,16.57714286,1793900,4 +294,5900,03:25.5,1,134.1714286,205500,30:02.1,17.24857143,1802100,4 +295,5920,02:58.9,1,134.4285714,178900,30:09.2,17.98857143,1809200,4 +296,5940,02:35.1,1,135.4857143,155100,30:15.5,19.07714286,1815500,4 +297,5960,02:29.6,1,136.0857143,149600,30:21.4,17.96285714,1821400,4 +298,5980,02:36.7,1,136.2571429,156700,30:27.7,18.49714286,1827700,4 +299,6000,03:03.6,1,136.7428571,183600,30:35.0,15.02857143,1835000,4 +300,6020,03:22.7,1,137.1714286,202700,30:43.2,13.74285714,1843200,4 +301,6040,03:20.4,1,136.7428571,200400,30:51.2,15.00571429,1851200,4 +302,6060,02:53.8,1,136.1714286,173800,30:58.1,19.22285714,1858100,4 +303,6080,02:38.2,1,136,158200,31:04.5,20.82,1864500,4 +304,6100,02:30.0,1,137.1714286,150000,31:10.5,20.95428571,1870500,4 +305,6120,02:29.6,1,138.6571429,149600,31:16.4,21.24857143,1876400,4 +306,6140,02:28.5,1,140.3428571,148500,31:22.4,21.18857143,1882400,4 +307,6160,02:27.3,1,141.9142857,147300,31:28.3,21.90857143,1888300,4 +308,6180,02:41.3,1,142.5714286,161300,31:34.7,17.56571429,1894700,4 +309,6200,03:59.9,1,142.6,239900,31:44.3,15.94,1904300,4 +310,6220,03:55.2,1,142.7428571,235200,31:53.7,17.42285714,1913700,4 +311,6240,02:41.7,1,142.8285714,161700,32:00.2,22.17142857,1920200,4 +312,6260,02:26.9,1,143.6285714,146900,32:06.1,22.28571429,1926100,4 +313,6280,03:09.1,1,138.0571429,189100,32:13.6,19.39714286,1933600,4 +315,6320,04:54.2,1,122.2285714,294200,32:51.5,14.22,1971500,4 +316,6340,04:40.1,1,123.2571429,280100,33:02.7,16.01428571,1982700,4 +317,6360,03:45.4,1,124.2285714,225400,33:11.7,16.48,1991700,4 +318,6380,03:25.9,1,125.8571429,205900,33:19.9,16.66571429,1999900,4 +319,6400,03:41.5,1,127.6571429,221500,33:28.8,16.66285714,2008800,4 +320,6420,03:34.5,1,128.4,214500,33:37.3,17.29142857,2017300,4 +321,6440,03:30.2,1,127.6857143,210200,33:45.8,16.38285714,2025800,4 +322,6460,03:04.8,1,128,184800,33:53.1,16.24,2033100,4 +323,6480,02:45.2,1,130,165200,33:59.8,17.13142857,2039800,4 +324,6500,04:58.8,1,130.7428571,298800,34:11.7,17.76857143,2051700,4 +325,6520,04:37.0,1,128.6571429,277000,34:22.8,17.44857143,2062800,4 +326,6540,04:17.0,1,125.6,257000,34:33.1,15.90571429,2073100,4 +327,6560,03:42.3,1,123.6571429,222300,34:42.0,17.48,2082000,4 +328,6580,03:22.4,1,124.4285714,202400,34:50.0,19.24285714,2090000,4 +329,6600,02:48.4,1,126.8285714,168400,34:56.8,20.73428571,2096800,4 +330,6620,02:51.5,1,129.7428571,171500,35:03.6,21.06,2103600,4 +331,6640,02:35.9,1,132.6857143,155900,35:09.9,24.12,2109900,4 +332,6660,02:42.5,1,133.7142857,162500,35:16.4,15.77428571,2116400,4 +334,6700,04:07.3,1,134.2285714,247300,35:34.6,11.19142857,2134600,4 +335,6720,03:03.6,1,134.0857143,183600,35:42.0,20.16,2142000,4 +336,6740,03:04.8,1,131.8285714,184800,35:49.4,19.37714286,2149400,4 +337,6760,03:04.8,1,130.7714286,184800,35:56.8,18.00571429,2156800,4 +338,6780,03:08.7,1,130.0571429,188700,36:04.3,17.85428571,2164300,4 +339,6800,03:06.0,1,129.5142857,186000,36:11.7,18.40571429,2171700,4 +340,6820,03:01.7,1,129.0857143,181700,36:19.0,19.38285714,2179000,4 +341,6840,02:51.5,1,129.7428571,171500,36:25.9,18.68571429,2185900,4 +342,6860,02:54.2,1,130.1714286,174200,36:32.8,18.47142857,2192800,4 +343,6880,02:55.0,1,129.7428571,175000,36:39.8,18.82285714,2199800,4 +344,6900,03:43.8,1,129.1714286,223800,36:48.8,17.32285714,2208800,4 +345,6920,03:35.6,1,129.3428571,215600,36:57.4,16.45428571,2217400,4 +346,6940,03:09.9,1,129.3142857,189900,37:05.0,16.78571429,2225000,4 +347,6960,03:14.2,1,128.2571429,194200,37:12.8,18.57428571,2232800,4 +348,6980,03:18.8,1,127.3428571,198800,37:20.7,18.82,2240700,4 +349,7000,03:27.4,1,127.7428571,207400,37:29.0,18.33428571,2249000,4 +350,7020,03:06.0,1,127.9142857,186000,37:36.5,16.97142857,2256500,4 +351,7040,03:07.5,1,127,187500,37:44.0,17.31428571,2264000,4 +352,7060,03:05.2,1,126.0857143,185200,37:51.4,15.52857143,2271400,4 +353,7080,03:42.7,1,126.1714286,222700,38:00.3,15.28285714,2280300,4 +354,7100,03:29.4,1,126.8285714,209400,38:08.6,16.79714286,2288600,4 +355,7120,03:10.2,1,126.5714286,190200,38:16.3,18.70571429,2296300,4 +356,7140,03:19.2,1,126.9428571,199200,38:24.2,17.78285714,2304200,4 +357,7160,02:56.2,1,128.4857143,176200,38:31.3,18.33142857,2311300,4 +358,7180,02:53.8,1,129.7428571,173800,38:38.2,20.31714286,2318200,4 +359,7200,02:55.8,1,129.1714286,175800,38:45.3,20.25714286,2325300,4 +360,7220,02:43.7,1,129.3428571,163700,38:51.8,20.09714286,2331800,4 +361,7240,02:42.9,1,130.6571429,162900,38:58.3,20.16571429,2338300,4 +362,7260,02:39.4,1,132.1714286,159400,39:04.7,20.67142857,2344700,4 +363,7280,02:35.9,1,132.5714286,155900,39:10.9,21.14857143,2350900,4 +364,7300,02:41.3,1,133.6857143,161300,39:17.4,20.89142857,2357400,4 +365,7320,02:35.9,1,135.6571429,155900,39:23.6,20.22285714,2363600,4 +366,7340,02:37.8,1,137.9142857,157800,39:29.9,20.23428571,2369900,4 +367,7360,02:37.0,1,139.0857143,157000,39:36.2,20.97142857,2376200,4 +368,7380,02:36.7,1,140,156700,39:42.5,20.93714286,2382500,4 +369,7400,02:35.1,1,141.1714286,155100,39:48.7,20.72571429,2388700,4 +370,7420,02:43.3,1,141.5714286,163300,39:55.2,19.34571429,2395200,4 +371,7440,02:59.3,1,141.3428571,179300,40:02.4,19.09714286,2402400,4 +372,7460,03:03.6,1,140.9142857,183600,40:09.7,19.59142857,2409700,4 +373,7480,02:40.6,1,140.9142857,160600,40:16.1,21.23142857,2416100,4 +374,7500,02:48.8,1,141.2571429,168800,40:22.9,21.16571429,2422900,4 +375,7520,02:39.0,1,141.8285714,159000,40:29.3,21.35428571,2429300,4 +376,7540,02:33.9,1,141.9142857,153900,40:35.4,21.19142857,2435400,4 +377,7560,02:47.6,1,141.0857143,167600,40:42.1,20.27428571,2442100,4 +378,7580,03:02.0,1,140.1714286,182000,40:49.4,19.01714286,2449400,4 +379,7600,03:09.5,1,138.4857143,189500,40:57.0,16.88,2457000,4 +380,7620,03:34.9,1,136.6,214900,41:05.6,14.68,2465600,4 +381,7640,03:27.4,1,134.5714286,207400,41:13.9,15.78285714,2473900,4 +382,7660,03:04.8,1,133.3428571,184800,41:21.3,18.14857143,2481300,4 +383,7680,03:11.8,1,131.8285714,191800,41:28.9,18.93428571,2488900,4 +384,7700,03:24.3,1,129.8285714,204300,41:37.1,20.09714286,2497100,4 +385,7720,03:25.9,1,127.2571429,205900,41:45.3,22.05428571,2505300,4 +386,7740,03:39.2,1,124.7428571,219200,41:54.1,20.40571429,2514100,4 +387,7760,04:09.6,1,123.3428571,249600,42:04.1,17.76,2524100,4 +388,7780,03:13.8,1,122.8285714,193800,42:11.8,17.50857143,2531800,4 +389,7800,03:03.2,1,122.7428571,183200,42:19.2,18.88571429,2539200,4 +390,7820,02:44.5,1,123.6857143,164500,42:25.7,19.37142857,2545700,4 +391,7840,02:35.5,1,125.5714286,155500,42:32.0,19.36,2552000,4 +392,7860,02:46.4,1,126.6571429,166400,42:38.6,18.94571429,2558600,4 +393,7880,02:53.1,1,126.5142857,173100,42:45.5,18.05714286,2565500,4 +394,7900,02:58.5,1,127,178500,42:52.7,18.42571429,2572700,4 +395,7920,02:50.7,1,127.5714286,170700,42:59.5,19.13428571,2579500,4 +396,7940,03:16.1,1,127.4285714,196100,43:07.3,18.88857143,2587300,4 +397,7960,03:12.6,1,126.6571429,192600,43:15.0,17.72285714,2595000,4 +398,7980,03:09.9,1,127.4571429,189900,43:22.6,17.56571429,2602600,4 +399,8000,03:21.2,1,120.9428571,201200,43:30.7,17.82571429,2610700,4 +400,8020,03:07.1,1,119.8,187100,43:38.2,17.67142857,2618200,4 +401,8040,02:55.0,1,122.6,175000,43:45.2,17.52571429,2625200,4 +402,8060,03:00.5,1,128.0285714,180500,43:52.4,19.36571429,2632400,4 +404,8100,03:02.8,1,125.4,182800,44:11.9,19.29714286,2651900,4 +405,8120,02:57.0,1,125,177000,44:19.0,18.31428571,2659000,4 +406,8140,03:05.6,1,124.5142857,185600,44:26.4,18.44285714,2666400,4 +407,8160,03:12.6,1,124.5714286,192600,44:34.1,18.39142857,2674100,4 +408,8180,03:02.0,1,123.8285714,182000,44:41.4,15.79714286,2681400,4 +409,8200,03:57.5,1,122.3428571,237500,44:50.9,15.76,2690900,4 +410,8220,03:24.3,1,122.0857143,204300,44:59.1,17.60571429,2699100,4 +411,8240,03:09.9,1,122.5714286,189900,45:06.7,19.90857143,2706700,4 +412,8260,02:55.4,1,123.3428571,175400,45:13.7,19.60857143,2713700,4 +413,8280,02:48.8,1,125.1714286,168800,45:20.5,20.53428571,2720500,4 +414,8300,02:45.6,1,127.5714286,165600,45:27.1,21.03714286,2727100,4 +415,8320,02:48.8,1,129.0857143,168800,45:33.8,20.94,2733800,4 +416,8340,02:45.2,1,130.3428571,165200,45:40.4,20.74285714,2740400,4 +417,8360,02:44.5,1,131.4857143,164500,45:47.0,21.22285714,2747000,4 +418,8380,02:44.1,1,132.4285714,164100,45:53.6,20.41428571,2753600,4 +419,8400,02:46.8,1,132.5714286,166800,46:00.3,20.10857143,2760300,4 +420,8420,02:39.4,1,133.6857143,159400,46:06.6,20.84,2766600,4 +421,8440,02:49.9,1,134.2285714,169900,46:13.4,19.14857143,2773400,4 +422,8460,03:00.9,1,134.4285714,180900,46:20.7,18.04285714,2780700,4 +423,8480,02:56.6,1,134.0857143,176600,46:27.7,17.96285714,2787700,4 +424,8500,02:55.0,1,133.4857143,175000,46:34.7,19.39428571,2794700,4 +425,8520,02:56.2,1,132.5142857,176200,46:41.8,19.5,2801800,4 +426,8540,02:53.8,1,131.7428571,173800,46:48.7,19.76285714,2808700,4 +427,8560,02:46.4,1,132.4285714,166400,46:55.4,19.37714286,2815400,4 +428,8580,02:42.5,1,132.3142857,162500,47:01.9,19.22571429,2821900,4 +429,8600,02:57.0,1,131.3428571,177000,47:09.0,19.37428571,2829000,4 +430,8620,03:09.9,1,130,189900,47:16.5,19.66571429,2836500,4 +431,8640,02:49.9,1,130.3428571,169900,47:23.3,18.85714286,2843300,4 +432,8660,02:46.4,1,130.4,166400,47:30.0,19.05714286,2850000,4 +433,8680,02:50.3,1,129.0857143,170300,47:36.8,17.12285714,2856800,4 +434,8700,02:58.1,1,127.4285714,178100,47:43.9,17.06571429,2863900,4 +435,8720,03:07.9,1,126.4857143,187900,47:51.5,17.68,2871500,4 +436,8740,02:58.1,1,126.4285714,178100,47:58.6,20.31428571,2878600,4 +437,8760,02:55.4,1,127,175400,48:05.6,18.96857143,2885600,4 +438,8780,03:12.6,1,127.4857143,192600,48:13.3,18.59714286,2893300,4 +439,8800,03:05.2,1,127.2571429,185200,48:20.7,19.44,2900700,4 +440,8820,02:58.9,1,128.8571429,178900,48:27.9,21.48857143,2907900,4 +441,8840,02:45.6,1,130.6285714,165600,48:34.5,18.81714286,2914500,4 +442,8860,03:02.4,1,130.7714286,182400,48:41.8,16.06,2921800,4 +443,8880,03:28.6,1,128.5714286,208600,48:50.1,15.00857143,2930100,4 +444,8900,03:20.8,1,127.4285714,200800,48:58.2,17.34571429,2938200,4 +445,8920,02:52.7,1,126.8285714,172700,49:05.1,18.52571429,2945100,4 +446,8940,02:50.3,1,127,170300,49:11.9,19.74857143,2951900,4 +447,8960,02:54.6,1,127,174600,49:18.9,20.26571429,2958900,4 +448,8980,02:47.6,1,126.8285714,167600,49:25.6,20.20571429,2965600,4 +449,9000,02:43.7,1,127.2571429,163700,49:32.1,19.37142857,2972100,4 +450,9020,02:46.0,1,129.0857143,166000,49:38.8,19.47142857,2978800,4 +451,9040,02:57.0,1,131.8285714,177000,49:45.8,20.43714286,2985800,4 +452,9060,02:35.5,1,133.8285714,155500,49:52.1,20.92857143,2992100,4 +453,9080,02:28.8,1,135.3428571,148800,49:58.0,20.89714286,2998000,4 +454,9100,02:30.4,1,136.7428571,150400,50:04.0,21.40285714,3004000,4 +455,9120,02:26.5,1,138.0857143,146500,50:09.9,22.31142857,3009900,4 +456,9140,02:26.9,1,138.9142857,146900,50:15.8,22.7,3015800,4 +457,9160,02:36.7,1,140.2571429,156700,50:22.0,22.59428571,3022000,4 +458,9180,02:30.0,1,141.7428571,150000,50:28.0,22.43142857,3028000,4 +459,9200,02:29.2,1,143.0857143,149200,50:34.0,22.20857143,3034000,4 +460,9220,02:27.3,1,144.2571429,147300,50:39.9,21.71142857,3039900,4 +461,9240,02:35.5,1,146.0285714,155500,50:46.1,23.12857143,3046100,4 +462,9260,03:08.3,1,138.9714286,188300,50:53.6,22.98857143,3053600,4 +463,9280,04:01.4,1,126.3428571,241400,51:03.3,13.11142857,3063300,4 +465,9320,03:36.4,1,117.5714286,216400,51:25.0,11.70571429,3085000,4 +466,9340,03:51.3,1,119.9142857,231300,51:34.3,19.73714286,3094300,4 +467,9360,03:22.0,1,122.0857143,202000,51:42.3,18.46857143,3102300,4 +468,9380,03:16.1,1,125.7142857,196100,51:50.2,15.80285714,3110200,4 +469,9400,03:25.9,1,118.5714286,205900,51:58.4,16.25428571,3118400,4 +471,9440,03:14.2,1,110.0285714,194200,52:23.5,20.32285714,3143500,4 +472,9460,02:58.9,1,118.1428571,178900,52:30.7,19.28285714,3150700,4 +473,9480,02:50.3,1,122.3142857,170300,52:37.5,17.68,3157500,4 +474,9500,04:10.0,1,127.4571429,250000,52:47.5,17.38,3167500,4 +475,9520,03:45.0,1,126.8857143,225000,52:56.5,16.28,3176500,4 +479,80,03:30.6,2,127.2857143,210600,01:02.5,18.89142857,62500,4 +480,100,03:25.9,2,132.5142857,205900,01:10.8,18.57714286,70799.99995,4 +481,120,03:00.5,2,135.2571429,180500,01:18.0,21.22571429,78000,4 +482,140,02:32.0,2,140,152000,01:24.1,24.74857143,84099.9999,4 +483,160,02:13.2,2,146.0857143,133200,01:29.4,27.41714286,89400.0001,4 +484,180,02:15.6,2,151.9142857,135600,01:34.8,27.46857143,94799.99995,4 +485,200,02:16.0,2,155.6571429,136000,01:40.3,27.24857143,100300,4 +486,220,02:23.8,2,157.1714286,143800,01:46.0,27.2,106000,4 +487,240,02:15.6,2,158.2571429,135600,01:51.4,27.46285714,111400.0001,4 +488,260,02:24.2,2,159.7428571,144200,01:57.2,27.71428571,117200,4 +489,280,02:11.7,2,161.1714286,131700,02:02.5,27.48285714,122500,4 +490,300,02:22.6,2,161.7428571,142600,02:08.2,27.20857143,128200,4 +491,320,02:18.7,2,162.2571429,138700,02:13.7,26.65142857,133700,4 +492,340,02:28.5,2,162.9142857,148500,02:19.6,26.58285714,139599.9999,4 +493,360,02:32.7,2,164,152700,02:25.8,26.19142857,145800,4 +494,380,02:26.9,2,165.0857143,146900,02:31.6,25.69428571,151599.9999,4 +495,400,02:31.6,2,165.8285714,151600,02:37.7,25.55714286,157700,4 +496,420,02:21.0,2,166.0857143,141000,02:43.3,25.83142857,163300,4 +497,440,02:33.5,2,166,153500,02:49.5,26.14857143,169500,4 +498,460,02:35.1,2,165.9142857,155100,02:55.7,26.13714286,175700,4 +499,480,02:25.3,2,166.2571429,145300,03:01.5,26.7,181500,4 +500,500,02:34.7,2,166.7428571,154700,03:07.7,26.58571429,187700,4 +501,520,02:34.7,2,167,154700,03:13.9,26.28857143,193900.0001,4 +502,540,02:32.0,2,167.2571429,152000,03:19.9,25.54,199900.0001,4 +503,560,02:41.0,2,167.6571429,161000,03:26.4,25.30571429,206400.0001,4 +504,580,02:35.1,2,168.3428571,155100,03:32.6,25.35142857,212599.9999,4 +505,600,02:29.2,2,168.8285714,149200,03:38.6,25.90571429,218599.9999,4 +506,620,02:33.1,2,168.7428571,153100,03:44.7,25.97142857,224700,4 +507,640,02:30.4,2,168.6,150400,03:50.7,25.86571429,230700,4 +508,660,02:29.6,2,168.4,149600,03:56.7,25.81142857,236700,4 +509,680,02:28.1,2,168.3428571,148100,04:02.6,25.72571429,242599.9999,4 +510,700,02:27.7,2,167.8285714,147700,04:08.5,25.31714286,248500,4 +511,720,02:30.0,2,168.2571429,150000,04:14.5,25.11714286,254500,4 +512,740,02:28.1,2,168.7428571,148100,04:20.4,25.24285714,260400.0001,4 +513,760,02:34.3,2,169.0857143,154300,04:26.6,25.32857143,266599.9999,4 +514,780,02:23.0,2,169,143000,04:32.3,25.67428571,272300,4 +515,800,02:26.1,2,169,146100,04:38.2,26.05142857,278200,4 +516,820,02:23.4,2,168.9142857,143400,04:43.9,26.58,283900.0001,4 +517,840,02:31.2,2,169.2571429,151200,04:49.9,26.56,289900.0001,4 +518,860,02:23.0,2,169.7428571,143000,04:55.7,26.81714286,295700,4 +519,880,02:30.0,2,170.0857143,150000,05:01.7,27.07714286,301700,4 +520,900,02:26.5,2,170,146500,05:07.5,27.39428571,307500,4 +521,920,02:20.6,2,170,140600,05:13.1,27.06285714,313099.9999,4 +522,940,02:24.2,2,170,144200,05:18.9,26.73714286,318900.0001,4 +523,960,02:18.3,2,170,138300,05:24.4,26.76,324400.0001,4 +524,980,02:19.9,2,170,139900,05:30.0,26.83428571,330000,4 +525,1000,02:16.7,2,169.9142857,136700,05:35.5,27.01714286,335500,4 +526,1020,02:22.2,2,170.2571429,142200,05:41.2,27.38857143,341200,4 +527,1040,02:23.4,2,170.7428571,143400,05:46.9,27.62857143,346900.0001,4 +528,1060,02:15.6,2,171,135600,05:52.3,27.37142857,352300,4 +529,1080,02:18.3,2,171.2571429,138300,05:57.9,27.40285714,357900.0001,4 +530,1100,02:16.7,2,171.7428571,136700,06:03.3,27.36571429,363300,4 +531,1120,02:24.9,2,172.0857143,144900,06:09.1,27.08285714,369099.9999,4 +532,1140,02:18.7,2,172,138700,06:14.7,26.83142857,374700,4 +533,1160,02:21.8,2,172.0857143,141800,06:20.4,26.92285714,380400.0001,4 +534,1180,02:14.4,2,171.7428571,134400,06:25.7,27.00285714,385700,4 +535,1200,02:18.7,2,171.2571429,138700,06:31.3,27.36857143,391300,4 +536,1220,02:10.5,2,170.9142857,130500,06:36.5,27.42571429,396500,4 +537,1240,02:10.9,2,170.9142857,130900,06:41.7,26.94571429,401700,4 +538,1260,02:15.6,2,171.2571429,135600,06:47.2,26.62857143,407200,4 +539,1280,02:12.4,2,171.7428571,132400,06:52.5,26.80285714,412500,4 +540,1300,02:13.2,2,172.0857143,133200,06:57.8,27.13714286,417800,4 +541,1320,02:09.3,2,172,129300,07:03.0,27.50857143,423000,4 +542,1340,02:06.2,2,171.9142857,126200,07:08.0,27.71142857,428000,4 +543,1360,02:16.0,2,172.2571429,136000,07:13.4,27.73142857,433400.0001,4 +544,1380,02:10.9,2,172.7428571,130900,07:18.7,27.68857143,438700,4 +545,1400,02:20.2,2,173.0857143,140200,07:24.3,27.54857143,444300,4 +546,1420,02:09.3,2,173,129300,07:29.5,27.03428571,449500,4 +547,1440,02:06.2,2,172.9142857,126200,07:34.5,26.83714286,454500,4 +548,1460,02:16.0,2,173.2571429,136000,07:39.9,26.74285714,459900.0001,4 +549,1480,02:10.9,2,173.7428571,130900,07:45.2,26.92571429,465200,4 +550,1500,02:10.5,2,174.0857143,130500,07:50.4,26.86571429,470400.0001,4 +551,1520,02:15.6,2,173.9142857,135600,07:55.8,26.92285714,475800,4 +552,1540,02:16.0,2,174.2571429,136000,08:01.3,26.84857143,481300,4 +553,1560,02:20.2,2,174.7428571,140200,08:06.9,26.97428571,486900.0001,4 +554,1580,02:18.3,2,175.0857143,138300,08:12.4,26.74857143,492400.0001,4 +555,1600,02:25.3,2,175.0857143,145300,08:18.2,26.52857143,498200,4 +556,1620,02:28.1,2,174.7428571,148100,08:24.1,26.40571429,504099.9999,4 +557,1640,02:19.9,2,174.2571429,139900,08:29.7,26.29142857,509700,4 +558,1660,02:12.0,2,173.9142857,132000,08:35.0,26.10857143,515000,4 +559,1680,02:20.2,2,174,140200,08:40.6,26.52285714,520599.9999,4 +560,1700,02:18.3,2,174,138300,08:46.1,26.82285714,526099.9999,4 +561,1720,02:24.9,2,174,144900,08:51.9,26.70571429,531900.0001,4 +562,1740,02:17.9,2,174,137900,08:57.5,26.29142857,537500,4 +563,1760,02:26.9,2,174,146900,09:03.3,26.23142857,543300,4 +564,1780,02:23.4,2,173.9142857,143400,09:09.1,26.46285714,549099.9999,4 +565,1800,02:26.9,2,174.2571429,146900,09:14.9,26.78,554900.0001,4 +566,1820,02:28.1,2,174.7428571,148100,09:20.9,26.66285714,560900.0001,4 +567,1840,02:20.2,2,175.0857143,140200,09:26.5,26.38285714,566500,4 +568,1860,02:15.2,2,175,135200,09:31.9,26.30285714,571900.0001,4 +569,1880,02:20.6,2,174.9142857,140600,09:37.5,26.46,577500,4 +570,1900,02:13.2,2,175.3428571,133200,09:42.8,26.49142857,582800,4 +571,1920,02:19.1,2,175.4,139100,09:48.4,26.88571429,588400.0001,4 +572,1940,02:10.5,2,175.6,130500,09:53.6,27.38285714,593599.9999,4 +573,1960,02:14.8,2,175.6571429,134800,09:59.0,27.04,599000,4 +574,1980,02:16.7,2,176.0857143,136700,10:04.5,26.7,604500,4 +575,2000,02:16.7,2,176,136700,10:09.9,26.51142857,609900.0001,4 +576,2020,02:18.3,2,176,138300,10:15.5,26.86571429,615500,4 +577,2040,02:13.2,2,176,133200,10:20.8,27.09142857,620800,4 +578,2060,02:21.0,2,175.9142857,141000,10:26.4,27.39428571,626400.0001,4 +579,2080,02:18.7,2,176.3428571,138700,10:32.0,27.6,632000,4 +580,2100,02:22.2,2,176.4,142200,10:37.7,27.51714286,637700,4 +581,2120,02:15.6,2,176.6,135600,10:43.1,27.26857143,643099.9999,4 +582,2140,02:19.5,2,176.6571429,139500,10:48.7,27.10571429,648700,4 +583,2160,02:14.0,2,177.0857143,134000,10:54.0,27.24285714,654000,4 +584,2180,02:16.3,2,177,136300,10:59.5,27.28571429,659500,4 +585,2200,02:07.7,2,177,127700,11:04.6,27.29428571,664599.9999,4 +586,2220,02:14.0,2,177,134000,11:10.0,27.52857143,670000,4 +587,2240,02:09.7,2,176.9142857,129700,11:15.1,28.00571429,675099.9999,4 +588,2260,02:15.2,2,177.2571429,135200,11:20.6,28.47142857,680599.9999,4 +589,2280,02:09.7,2,177.7428571,129700,11:25.7,28.77428571,685700,4 +590,2300,02:20.6,2,178.0857143,140600,11:31.4,28.68571429,691400.0001,4 +591,2320,02:20.2,2,177.9142857,140200,11:37.0,28.40571429,697000,4 +592,2340,02:19.9,2,178.2571429,139900,11:42.6,28.06857143,702599.9999,4 +593,2360,02:26.1,2,178.7428571,146100,11:48.4,27.66571429,708400.0001,4 +594,2380,02:15.2,2,179.0857143,135200,11:53.8,27.4,713800,4 +595,2400,02:16.3,2,179,136300,11:59.3,27.36857143,719300,4 +596,2420,02:09.7,2,179,129700,12:04.5,27.51428571,724500,4 +597,2440,02:14.4,2,179,134400,12:09.8,27.82857143,729800,4 +598,2460,02:13.6,2,179,133600,12:15.2,27.65714286,735200,4 +599,2480,02:28.5,2,178.9142857,148500,12:21.1,28.05142857,741099.9999,4 +600,2500,02:25.7,2,179.3428571,145700,12:26.9,28.2,746900.0001,4 +601,2520,02:18.7,2,179.4857143,138700,12:32.5,27.49142857,752500,4 +602,2540,02:30.8,2,179.4285714,150800,12:38.5,26.26285714,758500,4 +603,2560,02:25.7,2,178.5714286,145700,12:44.4,25.65428571,764400.0001,4 +604,2580,02:35.9,2,178.6,155900,12:50.6,25.76,770599.9999,4 +605,2600,02:29.2,2,178.4,149200,12:56.6,25.66857143,776599.9999,4 +606,2620,02:26.5,2,178.3428571,146500,13:02.4,25.59142857,782400.0001,4 +607,2640,02:24.9,2,177.9142857,144900,13:08.2,25.26,788200,4 +608,2660,02:30.0,2,178,150000,13:14.2,25.70571429,794200,4 +609,2680,02:25.3,2,178,145300,13:20.0,26.26571429,800000,4 +610,2700,02:22.6,2,178,142600,13:25.7,26.32,805700,4 +611,2720,02:32.0,2,178,152000,13:31.8,25.91714286,811800,4 +612,2740,02:26.1,2,178,146100,13:37.6,25.96857143,817599.9999,4 +613,2760,02:29.2,2,178,149200,13:43.6,26.02,823599.9999,4 +614,2780,02:23.4,2,178.0857143,143400,13:49.4,26.26571429,829400.0001,4 +615,2800,02:26.5,2,177.6571429,146500,13:55.2,26.35142857,835200,4 +616,2820,02:19.1,2,177.5142857,139100,14:00.8,26.14857143,840800,4 +617,2840,02:25.7,2,177.6571429,145700,14:06.6,26.26857143,846599.9999,4 +618,2860,02:18.7,2,178.0857143,138700,14:12.1,27.1,852099.9999,4 +619,2880,02:19.5,2,178,139500,14:17.7,28.33142857,857700,4 +620,2900,02:28.8,2,178,148800,14:23.7,28.55714286,863700,4 +621,2920,02:32.4,2,178,152400,14:29.8,28.26571429,869800,4 +622,2940,02:21.0,2,178,141000,14:35.4,27.36,875400.0001,4 +623,2960,02:23.0,2,178,143000,14:41.1,27.18571429,881099.9999,4 +624,2980,02:30.8,2,177.9142857,150800,14:47.2,27.18285714,887200,4 +625,3000,02:27.7,2,178.3428571,147700,14:53.1,27.18571429,893099.9999,4 +626,3020,02:25.7,2,178.4,145700,14:58.9,26.68285714,898900.0001,4 +627,3040,02:23.0,2,178.6857143,143000,15:04.6,26.50285714,904599.9999,4 +628,3060,02:23.8,2,178.4,143800,15:10.4,26.31142857,910400.0001,4 +629,3080,02:17.1,2,178.3428571,137100,15:15.9,26.28,915900.0001,4 +630,3100,02:23.8,2,177.9142857,143800,15:21.6,26.49142857,921599.9999,4 +631,3120,02:17.1,2,178,137100,15:27.1,26.78857143,927099.9999,4 +632,3140,02:21.4,2,178,141400,15:32.7,26.59142857,932700,4 +633,3160,02:19.5,2,178,139500,15:38.3,26.32857143,938300,4 +634,3180,02:24.2,2,178,144200,15:44.1,26.28,944099.9999,4 +635,3200,02:17.9,2,177.9142857,137900,15:49.6,26.52857143,949599.9999,4 +636,3220,02:23.0,2,178.3428571,143000,15:55.3,26.70571429,955300,4 +637,3240,02:23.8,2,178.4857143,143800,16:01.1,26.63142857,961099.9999,4 +638,3260,02:31.6,2,178.4285714,151600,16:07.1,26.42857143,967099.9999,4 +639,3280,02:28.8,2,177.6571429,148800,16:13.1,26.63428571,973099.9999,4 +640,3300,02:23.4,2,177.2571429,143400,16:18.8,26.91142857,978800,4 +641,3320,02:29.6,2,176.8285714,149600,16:24.8,27.17428571,984800,4 +642,3340,02:19.9,2,177.2571429,139900,16:30.4,26.91428571,990400.0001,4 +643,3360,02:19.1,2,177.7428571,139100,16:36.0,26.72571429,996000,4 +644,3380,02:20.2,2,178.0857143,140200,16:41.6,26.74857143,1001600,4 +645,3400,02:22.6,2,177.9142857,142600,16:47.3,27.23142857,1007300,4 +646,3420,02:24.5,2,178.3428571,144500,16:53.1,27.3,1013100,4 +647,3440,02:19.5,2,178.4857143,139500,16:58.6,27,1018600,4 +648,3460,02:25.7,2,178.3428571,145700,17:04.5,26.54,1024500,4 +649,3480,02:13.6,2,177.9142857,133600,17:09.8,26.55714286,1029800,4 +650,3500,02:18.3,2,178,138300,17:15.3,26.65714286,1035300,4 +651,3520,02:16.0,2,178,136000,17:20.8,26.85714286,1040800,4 +652,3540,02:16.0,2,178,136000,17:26.2,26.88,1046200,4 +653,3560,02:22.6,2,178,142600,17:31.9,27.08285714,1051900,4 +654,3580,02:21.8,2,177.9142857,141800,17:37.6,27.36285714,1057600,4 +655,3600,02:17.1,2,178.2571429,137100,17:43.1,27.56,1063100,4 +656,3620,02:20.2,2,178.7428571,140200,17:48.7,27.68,1068700,4 +657,3640,02:16.3,2,179.0857143,136300,17:54.1,27.63142857,1074100,4 +658,3660,02:20.6,2,179,140600,17:59.8,27.75142857,1079800,4 +659,3680,02:17.9,2,179,137900,18:05.3,27.38571429,1085300,4 +660,3700,02:21.0,2,179,141000,18:10.9,27.30285714,1090900,4 +661,3720,02:16.3,2,179,136300,18:16.4,27.20571429,1096400,4 +662,3740,02:26.9,2,179,146900,18:22.2,27.24,1102200,4 +663,3760,02:32.4,2,179,152400,18:28.3,26.96571429,1108300,4 +664,3780,02:27.7,2,179,147700,18:34.2,26.4,1114200,4 +665,3800,02:33.5,2,178.9142857,153500,18:40.4,26.11428571,1120400,4 +666,3820,02:22.2,2,179.2571429,142200,18:46.1,26.40857143,1126100,4 +667,3840,02:22.2,2,179.7428571,142200,18:51.8,26.98285714,1131800,4 +668,3860,02:30.4,2,180.1714286,150400,18:57.8,27.06285714,1137800,4 +669,3880,02:22.6,2,179.7428571,142600,19:03.5,26.66571429,1143500,4 +670,3900,02:33.5,2,179.2571429,153500,19:09.6,26.30857143,1149600,4 +671,3920,02:29.2,2,178.8285714,149200,19:15.6,26.57714286,1155600,4 +672,3940,02:24.5,2,179.2571429,144500,19:21.4,27.16571429,1161400,4 +673,3960,02:23.4,2,179.7428571,143400,19:27.1,27.26285714,1167100,4 +674,3980,02:17.5,2,180.0857143,137500,19:32.6,27.38571429,1172600,4 +675,4000,02:18.7,2,179.9142857,138700,19:38.2,28.15714286,1178200,4 +676,4020,02:21.4,2,180.2571429,141400,19:43.8,28.81428571,1183800,4 +677,4040,02:18.7,2,180.7428571,138700,19:49.4,29.13714286,1189400,4 +678,4060,02:23.0,2,181.0857143,143000,19:55.1,28.86857143,1195100,4 +679,4080,02:19.5,2,181,139500,20:00.7,28.32857143,1200700,4 +680,4100,02:12.0,2,181,132000,20:05.9,28.18857143,1205900,4 +681,4120,02:14.4,2,181,134400,20:11.3,28.54571429,1211300,4 +682,4140,02:10.1,2,181,130100,20:16.5,27.95714286,1216500,4 +683,4160,02:17.9,2,181,137900,20:22.0,27.20857143,1222000,4 +684,4180,02:10.9,2,180.9142857,130900,20:27.3,27.03142857,1227300,4 +685,4200,02:16.7,2,182.2,136700,20:32.7,27.56285714,1232700,4 +686,4220,02:15.2,2,177.9714286,135200,20:38.1,27.39428571,1238100,4 +687,4240,02:23.4,2,176.7428571,143400,20:43.9,27.29714286,1243900,4 +688,4260,02:14.0,2,178.2285714,134000,20:49.2,27.35714286,1249200,4 +689,4280,02:20.6,2,182.9428571,140600,20:54.9,27.64,1254900,4 +690,4300,02:16.0,2,182,136000,21:00.3,27.76857143,1260300,4 +691,4320,02:19.1,2,182,139100,21:05.9,27.76571429,1265900,4 +692,4340,02:16.0,2,182,136000,21:11.3,27.46285714,1271300,4 +693,4360,02:18.3,2,182,138300,21:16.8,27.41714286,1276800,4 +694,4380,02:12.0,2,182,132000,21:22.1,27.64285714,1282100,4 +695,4400,02:17.5,2,182,137500,21:27.6,28.02857143,1287600,4 +696,4420,02:12.8,2,182,132800,21:32.9,27.86285714,1292900,4 +697,4440,02:19.5,2,182,139500,21:38.5,27.75428571,1298500,4 +698,4460,02:17.9,2,182,137900,21:44.0,27.56285714,1304000,4 +699,4480,02:13.6,2,182,133600,21:49.4,27.65428571,1309400,4 +700,4500,02:17.1,2,182,137100,21:54.8,27.64571429,1314800,4 +701,4520,02:16.3,2,181.9142857,136300,22:00.3,27.66857143,1320300,4 +702,4540,02:20.2,2,182.2571429,140200,22:05.9,27.82,1300.0001,4 +703,4560,02:14.4,2,182.7428571,134400,22:11.3,27.80857143,1331300,4 +704,4580,02:18.7,2,183.0857143,138700,22:16.8,27.68285714,1336800,4 +705,4600,02:12.4,2,183,132400,22:22.1,27.39428571,1342100,4 +706,4620,02:19.1,2,183,139100,22:27.7,27.61428571,1347700,4 +707,4640,02:11.7,2,183,131700,22:32.9,27.66,1352900,4 +708,4660,02:15.2,2,183,135200,22:38.4,27.98285714,1358400,4 +709,4680,02:10.9,2,183,130900,22:43.6,27.84,1363600,4 +710,4700,02:12.8,2,182.9142857,132800,22:48.9,27.81714286,1368900,4 +711,4720,02:13.6,2,183.2571429,133600,22:54.2,27.81428571,1374200,4 +712,4740,02:13.6,2,183.7428571,133600,22:59.6,27.78571429,1379600,4 +713,4760,02:18.7,2,184.0857143,138700,23:05.1,27.76,1385100,4 +714,4780,02:18.3,2,184,138300,23:10.7,27.95142857,1390700,4 +715,4800,02:07.7,2,184,127700,23:15.8,28.25714286,1395800,4 +716,4820,02:11.3,2,184,131300,23:21.0,28.85142857,1401000,4 +717,4840,02:09.3,2,183.9142857,129300,23:26.2,29.72285714,1406200,4 +718,4860,02:09.3,2,184.2571429,129300,23:31.4,30.53142857,1411400,4 +719,4880,02:03.1,2,184.8285714,123100,23:36.3,31.17142857,1416300,4 +720,4900,02:12.8,2,185.1714286,132800,23:41.6,28.64857143,1421600,4 +721,4920,03:32.5,2,183.5714286,212500,23:50.1,23.55428571,1430100,4 +722,4940,04:06.5,2,181.4571429,246500,24:00.0,17.26571429,1440000,4 +723,4960,04:53.0,2,172.3142857,293000,24:11.7,14.90285714,1451700,4 +725,5000,03:50.9,2,152.7714286,230900,24:33.6,18.27714286,1473600,4 +726,5020,03:38.8,2,150.2857143,218800,24:42.3,20.19142857,1482300,4 +727,5040,02:58.5,2,146.8,178500,24:49.5,18.47142857,1489500,4 +728,5060,03:29.0,2,146.4571429,209000,24:57.8,18.4,1497800,4 +729,5080,02:51.1,2,145.5428571,171100,25:04.7,17.55714286,1504700,4 +730,5100,03:15.7,2,144.6,195700,25:12.5,19.71714286,1512500,4 +731,5120,02:49.2,2,143.3428571,169200,25:19.3,20.26571429,1519300,4 +732,5140,02:45.2,2,143.4857143,165200,25:25.9,21.81714286,1525900,4 +733,5160,03:00.5,2,143.1714286,180500,25:33.1,21.63714286,1533100,4 +734,5180,02:47.2,2,141.9142857,167200,25:39.8,21.34,1539800,4 +735,5200,02:57.7,2,141.1714286,177700,25:46.9,21.07714286,1546900,4 +736,5220,02:53.5,2,141.3428571,173500,25:53.8,21.40285714,1553800,4 +737,5240,03:00.9,2,139.5428571,180900,26:01.1,20.84571429,1561100,4 +739,5280,04:33.1,2,136.4571429,273100,26:25.6,21.45714286,1585600,4 +740,5300,03:21.6,2,135.3428571,201600,26:33.7,20.42857143,1593700,4 +741,5320,03:02.0,2,133.3428571,182000,26:41.0,18.96857143,1601000,4 +742,5340,02:43.7,2,134.0857143,163700,26:47.5,20.21428571,1607500,4 +743,5360,02:39.0,2,135.5714286,159000,26:53.9,20.88857143,1613900,4 +744,5380,02:36.3,2,136.0857143,156300,27:00.1,20.68285714,1620100,4 +745,5400,02:37.8,2,136.2571429,157800,27:06.4,20.77142857,1626400,4 +746,5420,02:33.1,2,136.6571429,153100,27:12.6,20.93714286,1639.9999,4 +747,5440,02:36.7,2,137.2571429,156700,27:18.8,20.66,1638800,4 +748,5460,02:44.9,2,138,164900,27:25.4,20.41714286,1645400,4 +749,5480,02:42.1,2,138.7428571,162100,27:31.9,20.78,1651900,4 +750,5500,02:43.7,2,139.1714286,163700,27:38.5,21.37714286,1658500,4 +751,5520,02:36.7,2,140.1714286,156700,27:44.7,20.03142857,1664700,4 +752,5540,02:49.5,2,141.8285714,169500,27:51.5,19.53142857,1671500,4 +753,5560,02:52.7,2,142.9142857,172700,27:58.4,19.91142857,1678400,4 +754,5580,02:44.1,2,143.0857143,164100,28:05.0,21.20571429,1685000,4 +755,5600,02:44.5,2,143,164500,28:11.5,20.60857143,1691500,4 +756,5620,02:53.1,2,143.0857143,173100,28:18.5,20.82,1698500,4 +757,5640,02:40.6,2,142.8285714,160600,28:24.9,20.61714286,1704900,4 +758,5660,03:00.1,2,142.0857143,180100,28:32.1,19.02285714,1712100,4 +759,5680,03:15.3,2,141,195300,28:39.9,17.61714286,1719900,4 +760,5700,03:25.5,2,140.0857143,205500,28:48.1,18.15714286,1728100,4 +761,5720,03:13.0,2,138.7428571,193000,28:55.8,19.87142857,1735800,4 +762,5740,03:05.2,2,137.2571429,185200,29:03.2,19.95142857,1743200,4 +763,5760,02:55.0,2,135.8285714,175000,29:10.2,19.34,1750200,4 +764,5780,03:13.8,2,135.1714286,193800,29:18.0,19.10857143,1758000,4 +765,5800,03:05.2,2,135,185200,29:25.4,19.75428571,1765400,4 +766,5820,02:47.6,2,134.7428571,167600,29:32.1,19.80857143,1772100,4 +767,5840,02:57.7,2,134.1714286,177700,29:39.2,19.02285714,1779200,4 +768,5860,03:04.8,2,134.2571429,184800,29:46.6,17.70571429,1786600,4 +769,5880,03:01.7,2,134.4857143,181700,29:53.9,16.57714286,1793900,4 +770,5900,03:25.5,2,134.1714286,205500,30:02.1,17.24857143,1802100,4 +771,5920,02:58.9,2,134.4285714,178900,30:09.2,17.98857143,1809200,4 +772,5940,02:35.1,2,135.4857143,155100,30:15.5,19.07714286,1815500,4 +773,5960,02:29.6,2,136.0857143,149600,30:21.4,17.96285714,1821400,4 +774,5980,02:36.7,2,136.2571429,156700,30:27.7,18.49714286,1827700,4 +775,6000,03:03.6,2,136.7428571,183600,30:35.0,15.02857143,1835000,4 +776,6020,03:22.7,2,137.1714286,202700,30:43.2,13.74285714,1843200,4 +777,6040,03:20.4,2,136.7428571,200400,30:51.2,15.00571429,1851200,4 +778,6060,02:53.8,2,136.1714286,173800,30:58.1,19.22285714,1858100,4 +779,6080,02:38.2,2,136,158200,31:04.5,20.82,1864500,4 +780,6100,02:30.0,2,137.1714286,150000,31:10.5,20.95428571,1870500,4 +781,6120,02:29.6,2,138.6571429,149600,31:16.4,21.24857143,1876400,4 +782,6140,02:28.5,2,140.3428571,148500,31:22.4,21.18857143,1882400,4 +783,6160,02:27.3,2,141.9142857,147300,31:28.3,21.90857143,1888300,4 +784,6180,02:41.3,2,142.5714286,161300,31:34.7,17.56571429,1894700,4 +785,6200,03:59.9,2,142.6,239900,31:44.3,15.94,1904300,4 +786,6220,03:55.2,2,142.7428571,235200,31:53.7,17.42285714,1913700,4 +787,6240,02:41.7,2,142.8285714,161700,32:00.2,22.17142857,1920200,4 +788,6260,02:26.9,2,143.6285714,146900,32:06.1,22.28571429,1926100,4 +789,6280,03:09.1,2,138.0571429,189100,32:13.6,19.39714286,1933600,4 +791,6320,04:54.2,2,122.2285714,294200,32:51.5,14.22,1971500,4 +792,6340,04:40.1,2,123.2571429,280100,33:02.7,16.01428571,1982700,4 +793,6360,03:45.4,2,124.2285714,225400,33:11.7,16.48,1991700,4 +794,6380,03:25.9,2,125.8571429,205900,33:19.9,16.66571429,1999900,4 +795,6400,03:41.5,2,127.6571429,221500,33:28.8,16.66285714,2008800,4 +796,6420,03:34.5,2,128.4,214500,33:37.3,17.29142857,2017300,4 +797,6440,03:30.2,2,127.6857143,210200,33:45.8,16.38285714,2025800,4 +798,6460,03:04.8,2,128,184800,33:53.1,16.24,2033100,4 +799,6480,02:45.2,2,130,165200,33:59.8,17.13142857,2039800,4 +800,6500,04:58.8,2,130.7428571,298800,34:11.7,17.76857143,2051700,4 +801,6520,04:37.0,2,128.6571429,277000,34:22.8,17.44857143,2062800,4 +802,6540,04:17.0,2,125.6,257000,34:33.1,15.90571429,2073100,4 +803,6560,03:42.3,2,123.6571429,222300,34:42.0,17.48,2082000,4 +804,6580,03:22.4,2,124.4285714,202400,34:50.0,19.24285714,2090000,4 +805,6600,02:48.4,2,126.8285714,168400,34:56.8,20.73428571,2096800,4 +806,6620,02:51.5,2,129.7428571,171500,35:03.6,21.06,2103600,4 +807,6640,02:35.9,2,132.6857143,155900,35:09.9,24.12,2109900,4 +808,6660,02:42.5,2,133.7142857,162500,35:16.4,15.77428571,2116400,4 +810,6700,04:07.3,2,134.2285714,247300,35:34.6,11.19142857,2134600,4 +811,6720,03:03.6,2,134.0857143,183600,35:42.0,20.16,2142000,4 +812,6740,03:04.8,2,131.8285714,184800,35:49.4,19.37714286,2149400,4 +813,6760,03:04.8,2,130.7714286,184800,35:56.8,18.00571429,2156800,4 +814,6780,03:08.7,2,130.0571429,188700,36:04.3,17.85428571,2164300,4 +815,6800,03:06.0,2,129.5142857,186000,36:11.7,18.40571429,2171700,4 +816,6820,03:01.7,2,129.0857143,181700,36:19.0,19.38285714,2179000,4 +817,6840,02:51.5,2,129.7428571,171500,36:25.9,18.68571429,2185900,4 +818,6860,02:54.2,2,130.1714286,174200,36:32.8,18.47142857,2192800,4 +819,6880,02:55.0,2,129.7428571,175000,36:39.8,18.82285714,2199800,4 +820,6900,03:43.8,2,129.1714286,223800,36:48.8,17.32285714,2208800,4 +821,6920,03:35.6,2,129.3428571,215600,36:57.4,16.45428571,2217400,4 +822,6940,03:09.9,2,129.3142857,189900,37:05.0,16.78571429,2225000,4 +823,6960,03:14.2,2,128.2571429,194200,37:12.8,18.57428571,2232800,4 +824,6980,03:18.8,2,127.3428571,198800,37:20.7,18.82,2240700,4 +825,7000,03:27.4,2,127.7428571,207400,37:29.0,18.33428571,2249000,4 +826,7020,03:06.0,2,127.9142857,186000,37:36.5,16.97142857,2256500,4 +827,7040,03:07.5,2,127,187500,37:44.0,17.31428571,2264000,4 +828,7060,03:05.2,2,126.0857143,185200,37:51.4,15.52857143,2271400,4 +829,7080,03:42.7,2,126.1714286,222700,38:00.3,15.28285714,2280300,4 +830,7100,03:29.4,2,126.8285714,209400,38:08.6,16.79714286,2288600,4 +831,7120,03:10.2,2,126.5714286,190200,38:16.3,18.70571429,2296300,4 +832,7140,03:19.2,2,126.9428571,199200,38:24.2,17.78285714,2304200,4 +833,7160,02:56.2,2,128.4857143,176200,38:31.3,18.33142857,2311300,4 +834,7180,02:53.8,2,129.7428571,173800,38:38.2,20.31714286,2318200,4 +835,7200,02:55.8,2,129.1714286,175800,38:45.3,20.25714286,2325300,4 +836,7220,02:43.7,2,129.3428571,163700,38:51.8,20.09714286,2331800,4 +837,7240,02:42.9,2,130.6571429,162900,38:58.3,20.16571429,2338300,4 +838,7260,02:39.4,2,132.1714286,159400,39:04.7,20.67142857,2344700,4 +839,7280,02:35.9,2,132.5714286,155900,39:10.9,21.14857143,2350900,4 +840,7300,02:41.3,2,133.6857143,161300,39:17.4,20.89142857,2357400,4 +841,7320,02:35.9,2,135.6571429,155900,39:23.6,20.22285714,2363600,4 +842,7340,02:37.8,2,137.9142857,157800,39:29.9,20.23428571,2369900,4 +843,7360,02:37.0,2,139.0857143,157000,39:36.2,20.97142857,2376200,4 +844,7380,02:36.7,2,140,156700,39:42.5,20.93714286,2382500,4 +845,7400,02:35.1,2,141.1714286,155100,39:48.7,20.72571429,2388700,4 +846,7420,02:43.3,2,141.5714286,163300,39:55.2,19.34571429,2395200,4 +847,7440,02:59.3,2,141.3428571,179300,40:02.4,19.09714286,2402400,4 +848,7460,03:03.6,2,140.9142857,183600,40:09.7,19.59142857,2409700,4 +849,7480,02:40.6,2,140.9142857,160600,40:16.1,21.23142857,2416100,4 +850,7500,02:48.8,2,141.2571429,168800,40:22.9,21.16571429,2422900,4 +851,7520,02:39.0,2,141.8285714,159000,40:29.3,21.35428571,2429300,4 +852,7540,02:33.9,2,141.9142857,153900,40:35.4,21.19142857,2435400,4 +853,7560,02:47.6,2,141.0857143,167600,40:42.1,20.27428571,2442100,4 +854,7580,03:02.0,2,140.1714286,182000,40:49.4,19.01714286,2449400,4 +855,7600,03:09.5,2,138.4857143,189500,40:57.0,16.88,2457000,4 +856,7620,03:34.9,2,136.6,214900,41:05.6,14.68,2465600,4 +857,7640,03:27.4,2,134.5714286,207400,41:13.9,15.78285714,2473900,4 +858,7660,03:04.8,2,133.3428571,184800,41:21.3,18.14857143,2481300,4 +859,7680,03:11.8,2,131.8285714,191800,41:28.9,18.93428571,2488900,4 +860,7700,03:24.3,2,129.8285714,204300,41:37.1,20.09714286,2497100,4 +861,7720,03:25.9,2,127.2571429,205900,41:45.3,22.05428571,2505300,4 +862,7740,03:39.2,2,124.7428571,219200,41:54.1,20.40571429,2514100,4 +863,7760,04:09.6,2,123.3428571,249600,42:04.1,17.76,2524100,4 +864,7780,03:13.8,2,122.8285714,193800,42:11.8,17.50857143,2531800,4 +865,7800,03:03.2,2,122.7428571,183200,42:19.2,18.88571429,2539200,4 +866,7820,02:44.5,2,123.6857143,164500,42:25.7,19.37142857,2545700,4 +867,7840,02:35.5,2,125.5714286,155500,42:32.0,19.36,2552000,4 +868,7860,02:46.4,2,126.6571429,166400,42:38.6,18.94571429,2558600,4 +869,7880,02:53.1,2,126.5142857,173100,42:45.5,18.05714286,2565500,4 +870,7900,02:58.5,2,127,178500,42:52.7,18.42571429,2572700,4 +871,7920,02:50.7,2,127.5714286,170700,42:59.5,19.13428571,2579500,4 +872,7940,03:16.1,2,127.4285714,196100,43:07.3,18.88857143,2587300,4 +873,7960,03:12.6,2,126.6571429,192600,43:15.0,17.72285714,2595000,4 +874,7980,03:09.9,2,127.4571429,189900,43:22.6,17.56571429,2602600,4 +875,8000,03:21.2,2,120.9428571,201200,43:30.7,17.82571429,2610700,4 +876,8020,03:07.1,2,119.8,187100,43:38.2,17.67142857,2618200,4 +877,8040,02:55.0,2,122.6,175000,43:45.2,17.52571429,2625200,4 +878,8060,03:00.5,2,128.0285714,180500,43:52.4,19.36571429,2632400,4 +880,8100,03:02.8,2,125.4,182800,44:11.9,19.29714286,2651900,4 +881,8120,02:57.0,2,125,177000,44:19.0,18.31428571,2659000,4 +882,8140,03:05.6,2,124.5142857,185600,44:26.4,18.44285714,2666400,4 +883,8160,03:12.6,2,124.5714286,192600,44:34.1,18.39142857,2674100,4 +884,8180,03:02.0,2,123.8285714,182000,44:41.4,15.79714286,2681400,4 +885,8200,03:57.5,2,122.3428571,237500,44:50.9,15.76,2690900,4 +886,8220,03:24.3,2,122.0857143,204300,44:59.1,17.60571429,2699100,4 +887,8240,03:09.9,2,122.5714286,189900,45:06.7,19.90857143,2706700,4 +888,8260,02:55.4,2,123.3428571,175400,45:13.7,19.60857143,2713700,4 +889,8280,02:48.8,2,125.1714286,168800,45:20.5,20.53428571,2720500,4 +890,8300,02:45.6,2,127.5714286,165600,45:27.1,21.03714286,2727100,4 +891,8320,02:48.8,2,129.0857143,168800,45:33.8,20.94,2733800,4 +892,8340,02:45.2,2,130.3428571,165200,45:40.4,20.74285714,2740400,4 +893,8360,02:44.5,2,131.4857143,164500,45:47.0,21.22285714,2747000,4 +894,8380,02:44.1,2,132.4285714,164100,45:53.6,20.41428571,2753600,4 +895,8400,02:46.8,2,132.5714286,166800,46:00.3,20.10857143,2760300,4 +896,8420,02:39.4,2,133.6857143,159400,46:06.6,20.84,2766600,4 +897,8440,02:49.9,2,134.2285714,169900,46:13.4,19.14857143,2773400,4 +898,8460,03:00.9,2,134.4285714,180900,46:20.7,18.04285714,2780700,4 +899,8480,02:56.6,2,134.0857143,176600,46:27.7,17.96285714,2787700,4 +900,8500,02:55.0,2,133.4857143,175000,46:34.7,19.39428571,2794700,4 +901,8520,02:56.2,2,132.5142857,176200,46:41.8,19.5,2801800,4 +902,8540,02:53.8,2,131.7428571,173800,46:48.7,19.76285714,2808700,4 +903,8560,02:46.4,2,132.4285714,166400,46:55.4,19.37714286,2815400,4 +904,8580,02:42.5,2,132.3142857,162500,47:01.9,19.22571429,2821900,4 +905,8600,02:57.0,2,131.3428571,177000,47:09.0,19.37428571,2829000,4 +906,8620,03:09.9,2,130,189900,47:16.5,19.66571429,2836500,4 +907,8640,02:49.9,2,130.3428571,169900,47:23.3,18.85714286,2843300,4 +908,8660,02:46.4,2,130.4,166400,47:30.0,19.05714286,2850000,4 +909,8680,02:50.3,2,129.0857143,170300,47:36.8,17.12285714,2856800,4 +910,8700,02:58.1,2,127.4285714,178100,47:43.9,17.06571429,2863900,4 +911,8720,03:07.9,2,126.4857143,187900,47:51.5,17.68,2871500,4 +912,8740,02:58.1,2,126.4285714,178100,47:58.6,20.31428571,2878600,4 +913,8760,02:55.4,2,127,175400,48:05.6,18.96857143,2885600,4 +914,8780,03:12.6,2,127.4857143,192600,48:13.3,18.59714286,2893300,4 +915,8800,03:05.2,2,127.2571429,185200,48:20.7,19.44,2900700,4 +916,8820,02:58.9,2,128.8571429,178900,48:27.9,21.48857143,2907900,4 +917,8840,02:45.6,2,130.6285714,165600,48:34.5,18.81714286,2914500,4 +918,8860,03:02.4,2,130.7714286,182400,48:41.8,16.06,2921800,4 +919,8880,03:28.6,2,128.5714286,208600,48:50.1,15.00857143,2930100,4 +920,8900,03:20.8,2,127.4285714,200800,48:58.2,17.34571429,2938200,4 +921,8920,02:52.7,2,126.8285714,172700,49:05.1,18.52571429,2945100,4 +922,8940,02:50.3,2,127,170300,49:11.9,19.74857143,2951900,4 +923,8960,02:54.6,2,127,174600,49:18.9,20.26571429,2958900,4 +924,8980,02:47.6,2,126.8285714,167600,49:25.6,20.20571429,2965600,4 +925,9000,02:43.7,2,127.2571429,163700,49:32.1,19.37142857,2972100,4 +926,9020,02:46.0,2,129.0857143,166000,49:38.8,19.47142857,2978800,4 +927,9040,02:57.0,2,131.8285714,177000,49:45.8,20.43714286,2985800,4 +928,9060,02:35.5,2,133.8285714,155500,49:52.1,20.92857143,2992100,4 +929,9080,02:28.8,2,135.3428571,148800,49:58.0,20.89714286,2998000,4 +930,9100,02:30.4,2,136.7428571,150400,50:04.0,21.40285714,3004000,4 +931,9120,02:26.5,2,138.0857143,146500,50:09.9,22.31142857,3009900,4 +932,9140,02:26.9,2,138.9142857,146900,50:15.8,22.7,3015800,4 +933,9160,02:36.7,2,140.2571429,156700,50:22.0,22.59428571,3022000,4 +934,9180,02:30.0,2,141.7428571,150000,50:28.0,22.43142857,3028000,4 +935,9200,02:29.2,2,143.0857143,149200,50:34.0,22.20857143,3034000,4 +936,9220,02:27.3,2,144.2571429,147300,50:39.9,21.71142857,3039900,4 +937,9240,02:35.5,2,146.0285714,155500,50:46.1,23.12857143,3046100,4 +938,9260,03:08.3,2,138.9714286,188300,50:53.6,22.98857143,3053600,4 +939,9280,04:01.4,2,126.3428571,241400,51:03.3,13.11142857,3063300,4 +941,9320,03:36.4,2,117.5714286,216400,51:25.0,11.70571429,3085000,4 +942,9340,03:51.3,2,119.9142857,231300,51:34.3,19.73714286,3094300,4 +943,9360,03:22.0,2,122.0857143,202000,51:42.3,18.46857143,3102300,4 +944,9380,03:16.1,2,125.7142857,196100,51:50.2,15.80285714,3110200,4 +945,9400,03:25.9,2,118.5714286,205900,51:58.4,16.25428571,3118400,4 +947,9440,03:14.2,2,110.0285714,194200,52:23.5,20.32285714,3143500,4 +948,9460,02:58.9,2,118.1428571,178900,52:30.7,19.28285714,3150700,4 +949,9480,02:50.3,2,122.3142857,170300,52:37.5,17.68,3157500,4 +950,9500,04:10.0,2,127.4571429,250000,52:47.5,17.38,3167500,4 +951,9520,03:45.0,2,126.8857143,225000,52:56.5,16.28,3176500,4 +955,80,03:30.6,3,127.2857143,210600,01:02.5,18.89142857,62500,4 +956,100,03:25.9,3,132.5142857,205900,01:10.8,18.57714286,70799.99995,4 +957,120,03:00.5,3,135.2571429,180500,01:18.0,21.22571429,78000,4 +958,140,02:32.0,3,140,152000,01:24.1,24.74857143,84099.9999,4 +959,160,02:13.2,3,146.0857143,133200,01:29.4,27.41714286,89400.0001,4 +960,180,02:15.6,3,151.9142857,135600,01:34.8,27.46857143,94799.99995,4 +961,200,02:16.0,3,155.6571429,136000,01:40.3,27.24857143,100300,4 +962,220,02:23.8,3,157.1714286,143800,01:46.0,27.2,106000,4 +963,240,02:15.6,3,158.2571429,135600,01:51.4,27.46285714,111400.0001,4 +964,260,02:24.2,3,159.7428571,144200,01:57.2,27.71428571,117200,4 +965,280,02:11.7,3,161.1714286,131700,02:02.5,27.48285714,122500,4 +966,300,02:22.6,3,161.7428571,142600,02:08.2,27.20857143,128200,4 +967,320,02:18.7,3,162.2571429,138700,02:13.7,26.65142857,133700,4 +968,340,02:28.5,3,162.9142857,148500,02:19.6,26.58285714,139599.9999,4 +969,360,02:32.7,3,164,152700,02:25.8,26.19142857,145800,4 +970,380,02:26.9,3,165.0857143,146900,02:31.6,25.69428571,151599.9999,4 +971,400,02:31.6,3,165.8285714,151600,02:37.7,25.55714286,157700,4 +972,420,02:21.0,3,166.0857143,141000,02:43.3,25.83142857,163300,4 +973,440,02:33.5,3,166,153500,02:49.5,26.14857143,169500,4 +974,460,02:35.1,3,165.9142857,155100,02:55.7,26.13714286,175700,4 +975,480,02:25.3,3,166.2571429,145300,03:01.5,26.7,181500,4 +976,500,02:34.7,3,166.7428571,154700,03:07.7,26.58571429,187700,4 +977,520,02:34.7,3,167,154700,03:13.9,26.28857143,193900.0001,4 +978,540,02:32.0,3,167.2571429,152000,03:19.9,25.54,199900.0001,4 +979,560,02:41.0,3,167.6571429,161000,03:26.4,25.30571429,206400.0001,4 +980,580,02:35.1,3,168.3428571,155100,03:32.6,25.35142857,212599.9999,4 +981,600,02:29.2,3,168.8285714,149200,03:38.6,25.90571429,218599.9999,4 +982,620,02:33.1,3,168.7428571,153100,03:44.7,25.97142857,224700,4 +983,640,02:30.4,3,168.6,150400,03:50.7,25.86571429,230700,4 +984,660,02:29.6,3,168.4,149600,03:56.7,25.81142857,236700,4 +985,680,02:28.1,3,168.3428571,148100,04:02.6,25.72571429,242599.9999,4 +986,700,02:27.7,3,167.8285714,147700,04:08.5,25.31714286,248500,4 +987,720,02:30.0,3,168.2571429,150000,04:14.5,25.11714286,254500,4 +988,740,02:28.1,3,168.7428571,148100,04:20.4,25.24285714,260400.0001,4 +989,760,02:34.3,3,169.0857143,154300,04:26.6,25.32857143,266599.9999,4 +990,780,02:23.0,3,169,143000,04:32.3,25.67428571,272300,4 +991,800,02:26.1,3,169,146100,04:38.2,26.05142857,278200,4 +992,820,02:23.4,3,168.9142857,143400,04:43.9,26.58,283900.0001,4 +993,840,02:31.2,3,169.2571429,151200,04:49.9,26.56,289900.0001,4 +994,860,02:23.0,3,169.7428571,143000,04:55.7,26.81714286,295700,4 +995,880,02:30.0,3,170.0857143,150000,05:01.7,27.07714286,301700,4 +996,900,02:26.5,3,170,146500,05:07.5,27.39428571,307500,4 +997,920,02:20.6,3,170,140600,05:13.1,27.06285714,313099.9999,4 +998,940,02:24.2,3,170,144200,05:18.9,26.73714286,318900.0001,4 +999,960,02:18.3,3,170,138300,05:24.4,26.76,324400.0001,4 +1000,980,02:19.9,3,170,139900,05:30.0,26.83428571,330000,4 +1001,1000,02:16.7,3,169.9142857,136700,05:35.5,27.01714286,335500,4 +1002,1020,02:22.2,3,170.2571429,142200,05:41.2,27.38857143,341200,4 +1003,1040,02:23.4,3,170.7428571,143400,05:46.9,27.62857143,346900.0001,4 +1004,1060,02:15.6,3,171,135600,05:52.3,27.37142857,352300,4 +1005,1080,02:18.3,3,171.2571429,138300,05:57.9,27.40285714,357900.0001,4 +1006,1100,02:16.7,3,171.7428571,136700,06:03.3,27.36571429,363300,4 +1007,1120,02:24.9,3,172.0857143,144900,06:09.1,27.08285714,369099.9999,4 +1008,1140,02:18.7,3,172,138700,06:14.7,26.83142857,374700,4 +1009,1160,02:21.8,3,172.0857143,141800,06:20.4,26.92285714,380400.0001,4 +1010,1180,02:14.4,3,171.7428571,134400,06:25.7,27.00285714,385700,4 +1011,1200,02:18.7,3,171.2571429,138700,06:31.3,27.36857143,391300,4 +1012,1220,02:10.5,3,170.9142857,130500,06:36.5,27.42571429,396500,4 +1013,1240,02:10.9,3,170.9142857,130900,06:41.7,26.94571429,401700,4 +1014,1260,02:15.6,3,171.2571429,135600,06:47.2,26.62857143,407200,4 +1015,1280,02:12.4,3,171.7428571,132400,06:52.5,26.80285714,412500,4 +1016,1300,02:13.2,3,172.0857143,133200,06:57.8,27.13714286,417800,4 +1017,1320,02:09.3,3,172,129300,07:03.0,27.50857143,423000,4 +1018,1340,02:06.2,3,171.9142857,126200,07:08.0,27.71142857,428000,4 +1019,1360,02:16.0,3,172.2571429,136000,07:13.4,27.73142857,433400.0001,4 +1020,1380,02:10.9,3,172.7428571,130900,07:18.7,27.68857143,438700,4 +1021,1400,02:20.2,3,173.0857143,140200,07:24.3,27.54857143,444300,4 +1022,1420,02:09.3,3,173,129300,07:29.5,27.03428571,449500,4 +1023,1440,02:06.2,3,172.9142857,126200,07:34.5,26.83714286,454500,4 +1024,1460,02:16.0,3,173.2571429,136000,07:39.9,26.74285714,459900.0001,4 +1025,1480,02:10.9,3,173.7428571,130900,07:45.2,26.92571429,465200,4 +1026,1500,02:10.5,3,174.0857143,130500,07:50.4,26.86571429,470400.0001,4 +1027,1520,02:15.6,3,173.9142857,135600,07:55.8,26.92285714,475800,4 +1028,1540,02:16.0,3,174.2571429,136000,08:01.3,26.84857143,481300,4 +1029,1560,02:20.2,3,174.7428571,140200,08:06.9,26.97428571,486900.0001,4 +1030,1580,02:18.3,3,175.0857143,138300,08:12.4,26.74857143,492400.0001,4 +1031,1600,02:25.3,3,175.0857143,145300,08:18.2,26.52857143,498200,4 +1032,1620,02:28.1,3,174.7428571,148100,08:24.1,26.40571429,504099.9999,4 +1033,1640,02:19.9,3,174.2571429,139900,08:29.7,26.29142857,509700,4 +1034,1660,02:12.0,3,173.9142857,132000,08:35.0,26.10857143,515000,4 +1035,1680,02:20.2,3,174,140200,08:40.6,26.52285714,520599.9999,4 +1036,1700,02:18.3,3,174,138300,08:46.1,26.82285714,526099.9999,4 +1037,1720,02:24.9,3,174,144900,08:51.9,26.70571429,531900.0001,4 +1038,1740,02:17.9,3,174,137900,08:57.5,26.29142857,537500,4 +1039,1760,02:26.9,3,174,146900,09:03.3,26.23142857,543300,4 +1040,1780,02:23.4,3,173.9142857,143400,09:09.1,26.46285714,549099.9999,4 +1041,1800,02:26.9,3,174.2571429,146900,09:14.9,26.78,554900.0001,4 +1042,1820,02:28.1,3,174.7428571,148100,09:20.9,26.66285714,560900.0001,4 +1043,1840,02:20.2,3,175.0857143,140200,09:26.5,26.38285714,566500,4 +1044,1860,02:15.2,3,175,135200,09:31.9,26.30285714,571900.0001,4 +1045,1880,02:20.6,3,174.9142857,140600,09:37.5,26.46,577500,4 +1046,1900,02:13.2,3,175.3428571,133200,09:42.8,26.49142857,582800,4 +1047,1920,02:19.1,3,175.4,139100,09:48.4,26.88571429,588400.0001,4 +1048,1940,02:10.5,3,175.6,130500,09:53.6,27.38285714,593599.9999,4 +1049,1960,02:14.8,3,175.6571429,134800,09:59.0,27.04,599000,4 +1050,1980,02:16.7,3,176.0857143,136700,10:04.5,26.7,604500,4 +1051,2000,02:16.7,3,176,136700,10:09.9,26.51142857,609900.0001,4 +1052,2020,02:18.3,3,176,138300,10:15.5,26.86571429,615500,4 +1053,2040,02:13.2,3,176,133200,10:20.8,27.09142857,620800,4 +1054,2060,02:21.0,3,175.9142857,141000,10:26.4,27.39428571,626400.0001,4 +1055,2080,02:18.7,3,176.3428571,138700,10:32.0,27.6,632000,4 +1056,2100,02:22.2,3,176.4,142200,10:37.7,27.51714286,637700,4 +1057,2120,02:15.6,3,176.6,135600,10:43.1,27.26857143,643099.9999,4 +1058,2140,02:19.5,3,176.6571429,139500,10:48.7,27.10571429,648700,4 +1059,2160,02:14.0,3,177.0857143,134000,10:54.0,27.24285714,654000,4 +1060,2180,02:16.3,3,177,136300,10:59.5,27.28571429,659500,4 +1061,2200,02:07.7,3,177,127700,11:04.6,27.29428571,664599.9999,4 +1062,2220,02:14.0,3,177,134000,11:10.0,27.52857143,670000,4 +1063,2240,02:09.7,3,176.9142857,129700,11:15.1,28.00571429,675099.9999,4 +1064,2260,02:15.2,3,177.2571429,135200,11:20.6,28.47142857,680599.9999,4 +1065,2280,02:09.7,3,177.7428571,129700,11:25.7,28.77428571,685700,4 +1066,2300,02:20.6,3,178.0857143,140600,11:31.4,28.68571429,691400.0001,4 +1067,2320,02:20.2,3,177.9142857,140200,11:37.0,28.40571429,697000,4 +1068,2340,02:19.9,3,178.2571429,139900,11:42.6,28.06857143,702599.9999,4 +1069,2360,02:26.1,3,178.7428571,146100,11:48.4,27.66571429,708400.0001,4 +1070,2380,02:15.2,3,179.0857143,135200,11:53.8,27.4,713800,4 +1071,2400,02:16.3,3,179,136300,11:59.3,27.36857143,719300,4 +1072,2420,02:09.7,3,179,129700,12:04.5,27.51428571,724500,4 +1073,2440,02:14.4,3,179,134400,12:09.8,27.82857143,729800,4 +1074,2460,02:13.6,3,179,133600,12:15.2,27.65714286,735200,4 +1075,2480,02:28.5,3,178.9142857,148500,12:21.1,28.05142857,741099.9999,4 +1076,2500,02:25.7,3,179.3428571,145700,12:26.9,28.2,746900.0001,4 +1077,2520,02:18.7,3,179.4857143,138700,12:32.5,27.49142857,752500,4 +1078,2540,02:30.8,3,179.4285714,150800,12:38.5,26.26285714,758500,4 +1079,2560,02:25.7,3,178.5714286,145700,12:44.4,25.65428571,764400.0001,4 +1080,2580,02:35.9,3,178.6,155900,12:50.6,25.76,770599.9999,4 +1081,2600,02:29.2,3,178.4,149200,12:56.6,25.66857143,776599.9999,4 +1082,2620,02:26.5,3,178.3428571,146500,13:02.4,25.59142857,782400.0001,4 +1083,2640,02:24.9,3,177.9142857,144900,13:08.2,25.26,788200,4 +1084,2660,02:30.0,3,178,150000,13:14.2,25.70571429,794200,4 +1085,2680,02:25.3,3,178,145300,13:20.0,26.26571429,800000,4 +1086,2700,02:22.6,3,178,142600,13:25.7,26.32,805700,4 +1087,2720,02:32.0,3,178,152000,13:31.8,25.91714286,811800,4 +1088,2740,02:26.1,3,178,146100,13:37.6,25.96857143,817599.9999,4 +1089,2760,02:29.2,3,178,149200,13:43.6,26.02,823599.9999,4 +1090,2780,02:23.4,3,178.0857143,143400,13:49.4,26.26571429,829400.0001,4 +1091,2800,02:26.5,3,177.6571429,146500,13:55.2,26.35142857,835200,4 +1092,2820,02:19.1,3,177.5142857,139100,14:00.8,26.14857143,840800,4 +1093,2840,02:25.7,3,177.6571429,145700,14:06.6,26.26857143,846599.9999,4 +1094,2860,02:18.7,3,178.0857143,138700,14:12.1,27.1,852099.9999,4 +1095,2880,02:19.5,3,178,139500,14:17.7,28.33142857,857700,4 +1096,2900,02:28.8,3,178,148800,14:23.7,28.55714286,863700,4 +1097,2920,02:32.4,3,178,152400,14:29.8,28.26571429,869800,4 +1098,2940,02:21.0,3,178,141000,14:35.4,27.36,875400.0001,4 +1099,2960,02:23.0,3,178,143000,14:41.1,27.18571429,881099.9999,4 +1100,2980,02:30.8,3,177.9142857,150800,14:47.2,27.18285714,887200,4 +1101,3000,02:27.7,3,178.3428571,147700,14:53.1,27.18571429,893099.9999,4 +1102,3020,02:25.7,3,178.4,145700,14:58.9,26.68285714,898900.0001,4 +1103,3040,02:23.0,3,178.6857143,143000,15:04.6,26.50285714,904599.9999,4 +1104,3060,02:23.8,3,178.4,143800,15:10.4,26.31142857,910400.0001,4 +1105,3080,02:17.1,3,178.3428571,137100,15:15.9,26.28,915900.0001,4 +1106,3100,02:23.8,3,177.9142857,143800,15:21.6,26.49142857,921599.9999,4 +1107,3120,02:17.1,3,178,137100,15:27.1,26.78857143,927099.9999,4 +1108,3140,02:21.4,3,178,141400,15:32.7,26.59142857,932700,4 +1109,3160,02:19.5,3,178,139500,15:38.3,26.32857143,938300,4 +1110,3180,02:24.2,3,178,144200,15:44.1,26.28,944099.9999,4 +1111,3200,02:17.9,3,177.9142857,137900,15:49.6,26.52857143,949599.9999,4 +1112,3220,02:23.0,3,178.3428571,143000,15:55.3,26.70571429,955300,4 +1113,3240,02:23.8,3,178.4857143,143800,16:01.1,26.63142857,961099.9999,4 +1114,3260,02:31.6,3,178.4285714,151600,16:07.1,26.42857143,967099.9999,4 +1115,3280,02:28.8,3,177.6571429,148800,16:13.1,26.63428571,973099.9999,4 +1116,3300,02:23.4,3,177.2571429,143400,16:18.8,26.91142857,978800,4 +1117,3320,02:29.6,3,176.8285714,149600,16:24.8,27.17428571,984800,4 +1118,3340,02:19.9,3,177.2571429,139900,16:30.4,26.91428571,990400.0001,4 +1119,3360,02:19.1,3,177.7428571,139100,16:36.0,26.72571429,996000,4 +1120,3380,02:20.2,3,178.0857143,140200,16:41.6,26.74857143,1001600,4 +1121,3400,02:22.6,3,177.9142857,142600,16:47.3,27.23142857,1007300,4 +1122,3420,02:24.5,3,178.3428571,144500,16:53.1,27.3,1013100,4 +1123,3440,02:19.5,3,178.4857143,139500,16:58.6,27,1018600,4 +1124,3460,02:25.7,3,178.3428571,145700,17:04.5,26.54,1024500,4 +1125,3480,02:13.6,3,177.9142857,133600,17:09.8,26.55714286,1029800,4 +1126,3500,02:18.3,3,178,138300,17:15.3,26.65714286,1035300,4 +1127,3520,02:16.0,3,178,136000,17:20.8,26.85714286,1040800,4 +1128,3540,02:16.0,3,178,136000,17:26.2,26.88,1046200,4 +1129,3560,02:22.6,3,178,142600,17:31.9,27.08285714,1051900,4 +1130,3580,02:21.8,3,177.9142857,141800,17:37.6,27.36285714,1057600,4 +1131,3600,02:17.1,3,178.2571429,137100,17:43.1,27.56,1063100,4 +1132,3620,02:20.2,3,178.7428571,140200,17:48.7,27.68,1068700,4 +1133,3640,02:16.3,3,179.0857143,136300,17:54.1,27.63142857,1074100,4 +1134,3660,02:20.6,3,179,140600,17:59.8,27.75142857,1079800,4 +1135,3680,02:17.9,3,179,137900,18:05.3,27.38571429,1085300,4 +1136,3700,02:21.0,3,179,141000,18:10.9,27.30285714,1090900,4 +1137,3720,02:16.3,3,179,136300,18:16.4,27.20571429,1096400,4 +1138,3740,02:26.9,3,179,146900,18:22.2,27.24,1102200,4 +1139,3760,02:32.4,3,179,152400,18:28.3,26.96571429,1108300,4 +1140,3780,02:27.7,3,179,147700,18:34.2,26.4,1114200,4 +1141,3800,02:33.5,3,178.9142857,153500,18:40.4,26.11428571,1120400,4 +1142,3820,02:22.2,3,179.2571429,142200,18:46.1,26.40857143,1126100,4 +1143,3840,02:22.2,3,179.7428571,142200,18:51.8,26.98285714,1131800,4 +1144,3860,02:30.4,3,180.1714286,150400,18:57.8,27.06285714,1137800,4 +1145,3880,02:22.6,3,179.7428571,142600,19:03.5,26.66571429,1143500,4 +1146,3900,02:33.5,3,179.2571429,153500,19:09.6,26.30857143,1149600,4 +1147,3920,02:29.2,3,178.8285714,149200,19:15.6,26.57714286,1155600,4 +1148,3940,02:24.5,3,179.2571429,144500,19:21.4,27.16571429,1161400,4 +1149,3960,02:23.4,3,179.7428571,143400,19:27.1,27.26285714,1167100,4 +1150,3980,02:17.5,3,180.0857143,137500,19:32.6,27.38571429,1172600,4 +1151,4000,02:18.7,3,179.9142857,138700,19:38.2,28.15714286,1178200,4 +1152,4020,02:21.4,3,180.2571429,141400,19:43.8,28.81428571,1183800,4 +1153,4040,02:18.7,3,180.7428571,138700,19:49.4,29.13714286,1189400,4 +1154,4060,02:23.0,3,181.0857143,143000,19:55.1,28.86857143,1195100,4 +1155,4080,02:19.5,3,181,139500,20:00.7,28.32857143,1200700,4 +1156,4100,02:12.0,3,181,132000,20:05.9,28.18857143,1205900,4 +1157,4120,02:14.4,3,181,134400,20:11.3,28.54571429,1211300,4 +1158,4140,02:10.1,3,181,130100,20:16.5,27.95714286,1216500,4 +1159,4160,02:17.9,3,181,137900,20:22.0,27.20857143,1222000,4 +1160,4180,02:10.9,3,180.9142857,130900,20:27.3,27.03142857,1227300,4 +1161,4200,02:16.7,3,182.2,136700,20:32.7,27.56285714,1232700,4 +1162,4220,02:15.2,3,177.9714286,135200,20:38.1,27.39428571,1238100,4 +1163,4240,02:23.4,3,176.7428571,143400,20:43.9,27.29714286,1243900,4 +1164,4260,02:14.0,3,178.2285714,134000,20:49.2,27.35714286,1249200,4 +1165,4280,02:20.6,3,182.9428571,140600,20:54.9,27.64,1254900,4 +1166,4300,02:16.0,3,182,136000,21:00.3,27.76857143,1260300,4 +1167,4320,02:19.1,3,182,139100,21:05.9,27.76571429,1265900,4 +1168,4340,02:16.0,3,182,136000,21:11.3,27.46285714,1271300,4 +1169,4360,02:18.3,3,182,138300,21:16.8,27.41714286,1276800,4 +1170,4380,02:12.0,3,182,132000,21:22.1,27.64285714,1282100,4 +1171,4400,02:17.5,3,182,137500,21:27.6,28.02857143,1287600,4 +1172,4420,02:12.8,3,182,132800,21:32.9,27.86285714,1292900,4 +1173,4440,02:19.5,3,182,139500,21:38.5,27.75428571,1298500,4 +1174,4460,02:17.9,3,182,137900,21:44.0,27.56285714,1304000,4 +1175,4480,02:13.6,3,182,133600,21:49.4,27.65428571,1309400,4 +1176,4500,02:17.1,3,182,137100,21:54.8,27.64571429,1314800,4 +1177,4520,02:16.3,3,181.9142857,136300,22:00.3,27.66857143,1320300,4 +1178,4540,02:20.2,3,182.2571429,140200,22:05.9,27.82,1300.0001,4 +1179,4560,02:14.4,3,182.7428571,134400,22:11.3,27.80857143,1331300,4 +1180,4580,02:18.7,3,183.0857143,138700,22:16.8,27.68285714,1336800,4 +1181,4600,02:12.4,3,183,132400,22:22.1,27.39428571,1342100,4 +1182,4620,02:19.1,3,183,139100,22:27.7,27.61428571,1347700,4 +1183,4640,02:11.7,3,183,131700,22:32.9,27.66,1352900,4 +1184,4660,02:15.2,3,183,135200,22:38.4,27.98285714,1358400,4 +1185,4680,02:10.9,3,183,130900,22:43.6,27.84,1363600,4 +1186,4700,02:12.8,3,182.9142857,132800,22:48.9,27.81714286,1368900,4 +1187,4720,02:13.6,3,183.2571429,133600,22:54.2,27.81428571,1374200,4 +1188,4740,02:13.6,3,183.7428571,133600,22:59.6,27.78571429,1379600,4 +1189,4760,02:18.7,3,184.0857143,138700,23:05.1,27.76,1385100,4 +1190,4780,02:18.3,3,184,138300,23:10.7,27.95142857,1390700,4 +1191,4800,02:07.7,3,184,127700,23:15.8,28.25714286,1395800,4 +1192,4820,02:11.3,3,184,131300,23:21.0,28.85142857,1401000,4 +1193,4840,02:09.3,3,183.9142857,129300,23:26.2,29.72285714,1406200,4 +1194,4860,02:09.3,3,184.2571429,129300,23:31.4,30.53142857,1411400,4 +1195,4880,02:03.1,3,184.8285714,123100,23:36.3,31.17142857,1416300,4 +1196,4900,02:12.8,3,185.1714286,132800,23:41.6,28.64857143,1421600,4 +1197,4920,03:32.5,3,183.5714286,212500,23:50.1,23.55428571,1430100,4 +1198,4940,04:06.5,3,181.4571429,246500,24:00.0,17.26571429,1440000,4 +1199,4960,04:53.0,3,172.3142857,293000,24:11.7,14.90285714,1451700,4 +1201,5000,03:50.9,3,152.7714286,230900,24:33.6,18.27714286,1473600,4 +1202,5020,03:38.8,3,150.2857143,218800,24:42.3,20.19142857,1482300,4 +1203,5040,02:58.5,3,146.8,178500,24:49.5,18.47142857,1489500,4 +1204,5060,03:29.0,3,146.4571429,209000,24:57.8,18.4,1497800,4 +1205,5080,02:51.1,3,145.5428571,171100,25:04.7,17.55714286,1504700,4 +1206,5100,03:15.7,3,144.6,195700,25:12.5,19.71714286,1512500,4 +1207,5120,02:49.2,3,143.3428571,169200,25:19.3,20.26571429,1519300,4 +1208,5140,02:45.2,3,143.4857143,165200,25:25.9,21.81714286,1525900,4 +1209,5160,03:00.5,3,143.1714286,180500,25:33.1,21.63714286,1533100,4 +1210,5180,02:47.2,3,141.9142857,167200,25:39.8,21.34,1539800,4 +1211,5200,02:57.7,3,141.1714286,177700,25:46.9,21.07714286,1546900,4 +1212,5220,02:53.5,3,141.3428571,173500,25:53.8,21.40285714,1553800,4 +1213,5240,03:00.9,3,139.5428571,180900,26:01.1,20.84571429,1561100,4 +1215,5280,04:33.1,3,136.4571429,273100,26:25.6,21.45714286,1585600,4 +1216,5300,03:21.6,3,135.3428571,201600,26:33.7,20.42857143,1593700,4 +1217,5320,03:02.0,3,133.3428571,182000,26:41.0,18.96857143,1601000,4 +1218,5340,02:43.7,3,134.0857143,163700,26:47.5,20.21428571,1607500,4 +1219,5360,02:39.0,3,135.5714286,159000,26:53.9,20.88857143,1613900,4 +1220,5380,02:36.3,3,136.0857143,156300,27:00.1,20.68285714,1620100,4 +1221,5400,02:37.8,3,136.2571429,157800,27:06.4,20.77142857,1626400,4 +1222,5420,02:33.1,3,136.6571429,153100,27:12.6,20.93714286,1639.9999,4 +1223,5440,02:36.7,3,137.2571429,156700,27:18.8,20.66,1638800,4 +1224,5460,02:44.9,3,138,164900,27:25.4,20.41714286,1645400,4 +1225,5480,02:42.1,3,138.7428571,162100,27:31.9,20.78,1651900,4 +1226,5500,02:43.7,3,139.1714286,163700,27:38.5,21.37714286,1658500,4 +1227,5520,02:36.7,3,140.1714286,156700,27:44.7,20.03142857,1664700,4 +1228,5540,02:49.5,3,141.8285714,169500,27:51.5,19.53142857,1671500,4 +1229,5560,02:52.7,3,142.9142857,172700,27:58.4,19.91142857,1678400,4 +1230,5580,02:44.1,3,143.0857143,164100,28:05.0,21.20571429,1685000,4 +1231,5600,02:44.5,3,143,164500,28:11.5,20.60857143,1691500,4 +1232,5620,02:53.1,3,143.0857143,173100,28:18.5,20.82,1698500,4 +1233,5640,02:40.6,3,142.8285714,160600,28:24.9,20.61714286,1704900,4 +1234,5660,03:00.1,3,142.0857143,180100,28:32.1,19.02285714,1712100,4 +1235,5680,03:15.3,3,141,195300,28:39.9,17.61714286,1719900,4 +1236,5700,03:25.5,3,140.0857143,205500,28:48.1,18.15714286,1728100,4 +1237,5720,03:13.0,3,138.7428571,193000,28:55.8,19.87142857,1735800,4 +1238,5740,03:05.2,3,137.2571429,185200,29:03.2,19.95142857,1743200,4 +1239,5760,02:55.0,3,135.8285714,175000,29:10.2,19.34,1750200,4 +1240,5780,03:13.8,3,135.1714286,193800,29:18.0,19.10857143,1758000,4 +1241,5800,03:05.2,3,135,185200,29:25.4,19.75428571,1765400,4 +1242,5820,02:47.6,3,134.7428571,167600,29:32.1,19.80857143,1772100,4 +1243,5840,02:57.7,3,134.1714286,177700,29:39.2,19.02285714,1779200,4 +1244,5860,03:04.8,3,134.2571429,184800,29:46.6,17.70571429,1786600,4 +1245,5880,03:01.7,3,134.4857143,181700,29:53.9,16.57714286,1793900,4 +1246,5900,03:25.5,3,134.1714286,205500,30:02.1,17.24857143,1802100,4 +1247,5920,02:58.9,3,134.4285714,178900,30:09.2,17.98857143,1809200,4 +1248,5940,02:35.1,3,135.4857143,155100,30:15.5,19.07714286,1815500,4 +1249,5960,02:29.6,3,136.0857143,149600,30:21.4,17.96285714,1821400,4 +1250,5980,02:36.7,3,136.2571429,156700,30:27.7,18.49714286,1827700,4 +1251,6000,03:03.6,3,136.7428571,183600,30:35.0,15.02857143,1835000,4 +1252,6020,03:22.7,3,137.1714286,202700,30:43.2,13.74285714,1843200,4 +1253,6040,03:20.4,3,136.7428571,200400,30:51.2,15.00571429,1851200,4 +1254,6060,02:53.8,3,136.1714286,173800,30:58.1,19.22285714,1858100,4 +1255,6080,02:38.2,3,136,158200,31:04.5,20.82,1864500,4 +1256,6100,02:30.0,3,137.1714286,150000,31:10.5,20.95428571,1870500,4 +1257,6120,02:29.6,3,138.6571429,149600,31:16.4,21.24857143,1876400,4 +1258,6140,02:28.5,3,140.3428571,148500,31:22.4,21.18857143,1882400,4 +1259,6160,02:27.3,3,141.9142857,147300,31:28.3,21.90857143,1888300,4 +1260,6180,02:41.3,3,142.5714286,161300,31:34.7,17.56571429,1894700,4 +1261,6200,03:59.9,3,142.6,239900,31:44.3,15.94,1904300,4 +1262,6220,03:55.2,3,142.7428571,235200,31:53.7,17.42285714,1913700,4 +1263,6240,02:41.7,3,142.8285714,161700,32:00.2,22.17142857,1920200,4 +1264,6260,02:26.9,3,143.6285714,146900,32:06.1,22.28571429,1926100,4 +1265,6280,03:09.1,3,138.0571429,189100,32:13.6,19.39714286,1933600,4 +1267,6320,04:54.2,3,122.2285714,294200,32:51.5,14.22,1971500,4 +1268,6340,04:40.1,3,123.2571429,280100,33:02.7,16.01428571,1982700,4 +1269,6360,03:45.4,3,124.2285714,225400,33:11.7,16.48,1991700,4 +1270,6380,03:25.9,3,125.8571429,205900,33:19.9,16.66571429,1999900,4 +1271,6400,03:41.5,3,127.6571429,221500,33:28.8,16.66285714,2008800,4 +1272,6420,03:34.5,3,128.4,214500,33:37.3,17.29142857,2017300,4 +1273,6440,03:30.2,3,127.6857143,210200,33:45.8,16.38285714,2025800,4 +1274,6460,03:04.8,3,128,184800,33:53.1,16.24,2033100,4 +1275,6480,02:45.2,3,130,165200,33:59.8,17.13142857,2039800,4 +1276,6500,04:58.8,3,130.7428571,298800,34:11.7,17.76857143,2051700,4 +1277,6520,04:37.0,3,128.6571429,277000,34:22.8,17.44857143,2062800,4 +1278,6540,04:17.0,3,125.6,257000,34:33.1,15.90571429,2073100,4 +1279,6560,03:42.3,3,123.6571429,222300,34:42.0,17.48,2082000,4 +1280,6580,03:22.4,3,124.4285714,202400,34:50.0,19.24285714,2090000,4 +1281,6600,02:48.4,3,126.8285714,168400,34:56.8,20.73428571,2096800,4 +1282,6620,02:51.5,3,129.7428571,171500,35:03.6,21.06,2103600,4 +1283,6640,02:35.9,3,132.6857143,155900,35:09.9,24.12,2109900,4 +1284,6660,02:42.5,3,133.7142857,162500,35:16.4,15.77428571,2116400,4 +1286,6700,04:07.3,3,134.2285714,247300,35:34.6,11.19142857,2134600,4 +1287,6720,03:03.6,3,134.0857143,183600,35:42.0,20.16,2142000,4 +1288,6740,03:04.8,3,131.8285714,184800,35:49.4,19.37714286,2149400,4 +1289,6760,03:04.8,3,130.7714286,184800,35:56.8,18.00571429,2156800,4 +1290,6780,03:08.7,3,130.0571429,188700,36:04.3,17.85428571,2164300,4 +1291,6800,03:06.0,3,129.5142857,186000,36:11.7,18.40571429,2171700,4 +1292,6820,03:01.7,3,129.0857143,181700,36:19.0,19.38285714,2179000,4 +1293,6840,02:51.5,3,129.7428571,171500,36:25.9,18.68571429,2185900,4 +1294,6860,02:54.2,3,130.1714286,174200,36:32.8,18.47142857,2192800,4 +1295,6880,02:55.0,3,129.7428571,175000,36:39.8,18.82285714,2199800,4 +1296,6900,03:43.8,3,129.1714286,223800,36:48.8,17.32285714,2208800,4 +1297,6920,03:35.6,3,129.3428571,215600,36:57.4,16.45428571,2217400,4 +1298,6940,03:09.9,3,129.3142857,189900,37:05.0,16.78571429,2225000,4 +1299,6960,03:14.2,3,128.2571429,194200,37:12.8,18.57428571,2232800,4 +1300,6980,03:18.8,3,127.3428571,198800,37:20.7,18.82,2240700,4 +1301,7000,03:27.4,3,127.7428571,207400,37:29.0,18.33428571,2249000,4 +1302,7020,03:06.0,3,127.9142857,186000,37:36.5,16.97142857,2256500,4 +1303,7040,03:07.5,3,127,187500,37:44.0,17.31428571,2264000,4 +1304,7060,03:05.2,3,126.0857143,185200,37:51.4,15.52857143,2271400,4 +1305,7080,03:42.7,3,126.1714286,222700,38:00.3,15.28285714,2280300,4 +1306,7100,03:29.4,3,126.8285714,209400,38:08.6,16.79714286,2288600,4 +1307,7120,03:10.2,3,126.5714286,190200,38:16.3,18.70571429,2296300,4 +1308,7140,03:19.2,3,126.9428571,199200,38:24.2,17.78285714,2304200,4 +1309,7160,02:56.2,3,128.4857143,176200,38:31.3,18.33142857,2311300,4 +1310,7180,02:53.8,3,129.7428571,173800,38:38.2,20.31714286,2318200,4 +1311,7200,02:55.8,3,129.1714286,175800,38:45.3,20.25714286,2325300,4 +1312,7220,02:43.7,3,129.3428571,163700,38:51.8,20.09714286,2331800,4 +1313,7240,02:42.9,3,130.6571429,162900,38:58.3,20.16571429,2338300,4 +1314,7260,02:39.4,3,132.1714286,159400,39:04.7,20.67142857,2344700,4 +1315,7280,02:35.9,3,132.5714286,155900,39:10.9,21.14857143,2350900,4 +1316,7300,02:41.3,3,133.6857143,161300,39:17.4,20.89142857,2357400,4 +1317,7320,02:35.9,3,135.6571429,155900,39:23.6,20.22285714,2363600,4 +1318,7340,02:37.8,3,137.9142857,157800,39:29.9,20.23428571,2369900,4 +1319,7360,02:37.0,3,139.0857143,157000,39:36.2,20.97142857,2376200,4 +1320,7380,02:36.7,3,140,156700,39:42.5,20.93714286,2382500,4 +1321,7400,02:35.1,3,141.1714286,155100,39:48.7,20.72571429,2388700,4 +1322,7420,02:43.3,3,141.5714286,163300,39:55.2,19.34571429,2395200,4 +1323,7440,02:59.3,3,141.3428571,179300,40:02.4,19.09714286,2402400,4 +1324,7460,03:03.6,3,140.9142857,183600,40:09.7,19.59142857,2409700,4 +1325,7480,02:40.6,3,140.9142857,160600,40:16.1,21.23142857,2416100,4 +1326,7500,02:48.8,3,141.2571429,168800,40:22.9,21.16571429,2422900,4 +1327,7520,02:39.0,3,141.8285714,159000,40:29.3,21.35428571,2429300,4 +1328,7540,02:33.9,3,141.9142857,153900,40:35.4,21.19142857,2435400,4 +1329,7560,02:47.6,3,141.0857143,167600,40:42.1,20.27428571,2442100,4 +1330,7580,03:02.0,3,140.1714286,182000,40:49.4,19.01714286,2449400,4 +1331,7600,03:09.5,3,138.4857143,189500,40:57.0,16.88,2457000,4 +1332,7620,03:34.9,3,136.6,214900,41:05.6,14.68,2465600,4 +1333,7640,03:27.4,3,134.5714286,207400,41:13.9,15.78285714,2473900,4 +1334,7660,03:04.8,3,133.3428571,184800,41:21.3,18.14857143,2481300,4 +1335,7680,03:11.8,3,131.8285714,191800,41:28.9,18.93428571,2488900,4 +1336,7700,03:24.3,3,129.8285714,204300,41:37.1,20.09714286,2497100,4 +1337,7720,03:25.9,3,127.2571429,205900,41:45.3,22.05428571,2505300,4 +1338,7740,03:39.2,3,124.7428571,219200,41:54.1,20.40571429,2514100,4 +1339,7760,04:09.6,3,123.3428571,249600,42:04.1,17.76,2524100,4 +1340,7780,03:13.8,3,122.8285714,193800,42:11.8,17.50857143,2531800,4 +1341,7800,03:03.2,3,122.7428571,183200,42:19.2,18.88571429,2539200,4 +1342,7820,02:44.5,3,123.6857143,164500,42:25.7,19.37142857,2545700,4 +1343,7840,02:35.5,3,125.5714286,155500,42:32.0,19.36,2552000,4 +1344,7860,02:46.4,3,126.6571429,166400,42:38.6,18.94571429,2558600,4 +1345,7880,02:53.1,3,126.5142857,173100,42:45.5,18.05714286,2565500,4 +1346,7900,02:58.5,3,127,178500,42:52.7,18.42571429,2572700,4 +1347,7920,02:50.7,3,127.5714286,170700,42:59.5,19.13428571,2579500,4 +1348,7940,03:16.1,3,127.4285714,196100,43:07.3,18.88857143,2587300,4 +1349,7960,03:12.6,3,126.6571429,192600,43:15.0,17.72285714,2595000,4 +1350,7980,03:09.9,3,127.4571429,189900,43:22.6,17.56571429,2602600,4 +1351,8000,03:21.2,3,120.9428571,201200,43:30.7,17.82571429,2610700,4 +1352,8020,03:07.1,3,119.8,187100,43:38.2,17.67142857,2618200,4 +1353,8040,02:55.0,3,122.6,175000,43:45.2,17.52571429,2625200,4 +1354,8060,03:00.5,3,128.0285714,180500,43:52.4,19.36571429,2632400,4 +1356,8100,03:02.8,3,125.4,182800,44:11.9,19.29714286,2651900,4 +1357,8120,02:57.0,3,125,177000,44:19.0,18.31428571,2659000,4 +1358,8140,03:05.6,3,124.5142857,185600,44:26.4,18.44285714,2666400,4 +1359,8160,03:12.6,3,124.5714286,192600,44:34.1,18.39142857,2674100,4 +1360,8180,03:02.0,3,123.8285714,182000,44:41.4,15.79714286,2681400,4 +1361,8200,03:57.5,3,122.3428571,237500,44:50.9,15.76,2690900,4 +1362,8220,03:24.3,3,122.0857143,204300,44:59.1,17.60571429,2699100,4 +1363,8240,03:09.9,3,122.5714286,189900,45:06.7,19.90857143,2706700,4 +1364,8260,02:55.4,3,123.3428571,175400,45:13.7,19.60857143,2713700,4 +1365,8280,02:48.8,3,125.1714286,168800,45:20.5,20.53428571,2720500,4 +1366,8300,02:45.6,3,127.5714286,165600,45:27.1,21.03714286,2727100,4 +1367,8320,02:48.8,3,129.0857143,168800,45:33.8,20.94,2733800,4 +1368,8340,02:45.2,3,130.3428571,165200,45:40.4,20.74285714,2740400,4 +1369,8360,02:44.5,3,131.4857143,164500,45:47.0,21.22285714,2747000,4 +1370,8380,02:44.1,3,132.4285714,164100,45:53.6,20.41428571,2753600,4 +1371,8400,02:46.8,3,132.5714286,166800,46:00.3,20.10857143,2760300,4 +1372,8420,02:39.4,3,133.6857143,159400,46:06.6,20.84,2766600,4 +1373,8440,02:49.9,3,134.2285714,169900,46:13.4,19.14857143,2773400,4 +1374,8460,03:00.9,3,134.4285714,180900,46:20.7,18.04285714,2780700,4 +1375,8480,02:56.6,3,134.0857143,176600,46:27.7,17.96285714,2787700,4 +1376,8500,02:55.0,3,133.4857143,175000,46:34.7,19.39428571,2794700,4 +1377,8520,02:56.2,3,132.5142857,176200,46:41.8,19.5,2801800,4 +1378,8540,02:53.8,3,131.7428571,173800,46:48.7,19.76285714,2808700,4 +1379,8560,02:46.4,3,132.4285714,166400,46:55.4,19.37714286,2815400,4 +1380,8580,02:42.5,3,132.3142857,162500,47:01.9,19.22571429,2821900,4 +1381,8600,02:57.0,3,131.3428571,177000,47:09.0,19.37428571,2829000,4 +1382,8620,03:09.9,3,130,189900,47:16.5,19.66571429,2836500,4 +1383,8640,02:49.9,3,130.3428571,169900,47:23.3,18.85714286,2843300,4 +1384,8660,02:46.4,3,130.4,166400,47:30.0,19.05714286,2850000,4 +1385,8680,02:50.3,3,129.0857143,170300,47:36.8,17.12285714,2856800,4 +1386,8700,02:58.1,3,127.4285714,178100,47:43.9,17.06571429,2863900,4 +1387,8720,03:07.9,3,126.4857143,187900,47:51.5,17.68,2871500,4 +1388,8740,02:58.1,3,126.4285714,178100,47:58.6,20.31428571,2878600,4 +1389,8760,02:55.4,3,127,175400,48:05.6,18.96857143,2885600,4 +1390,8780,03:12.6,3,127.4857143,192600,48:13.3,18.59714286,2893300,4 +1391,8800,03:05.2,3,127.2571429,185200,48:20.7,19.44,2900700,4 +1392,8820,02:58.9,3,128.8571429,178900,48:27.9,21.48857143,2907900,4 +1393,8840,02:45.6,3,130.6285714,165600,48:34.5,18.81714286,2914500,4 +1394,8860,03:02.4,3,130.7714286,182400,48:41.8,16.06,2921800,4 +1395,8880,03:28.6,3,128.5714286,208600,48:50.1,15.00857143,2930100,4 +1396,8900,03:20.8,3,127.4285714,200800,48:58.2,17.34571429,2938200,4 +1397,8920,02:52.7,3,126.8285714,172700,49:05.1,18.52571429,2945100,4 +1398,8940,02:50.3,3,127,170300,49:11.9,19.74857143,2951900,4 +1399,8960,02:54.6,3,127,174600,49:18.9,20.26571429,2958900,4 +1400,8980,02:47.6,3,126.8285714,167600,49:25.6,20.20571429,2965600,4 +1401,9000,02:43.7,3,127.2571429,163700,49:32.1,19.37142857,2972100,4 +1402,9020,02:46.0,3,129.0857143,166000,49:38.8,19.47142857,2978800,4 +1403,9040,02:57.0,3,131.8285714,177000,49:45.8,20.43714286,2985800,4 +1404,9060,02:35.5,3,133.8285714,155500,49:52.1,20.92857143,2992100,4 +1405,9080,02:28.8,3,135.3428571,148800,49:58.0,20.89714286,2998000,4 +1406,9100,02:30.4,3,136.7428571,150400,50:04.0,21.40285714,3004000,4 +1407,9120,02:26.5,3,138.0857143,146500,50:09.9,22.31142857,3009900,4 +1408,9140,02:26.9,3,138.9142857,146900,50:15.8,22.7,3015800,4 +1409,9160,02:36.7,3,140.2571429,156700,50:22.0,22.59428571,3022000,4 +1410,9180,02:30.0,3,141.7428571,150000,50:28.0,22.43142857,3028000,4 +1411,9200,02:29.2,3,143.0857143,149200,50:34.0,22.20857143,3034000,4 +1412,9220,02:27.3,3,144.2571429,147300,50:39.9,21.71142857,3039900,4 +1413,9240,02:35.5,3,146.0285714,155500,50:46.1,23.12857143,3046100,4 +1414,9260,03:08.3,3,138.9714286,188300,50:53.6,22.98857143,3053600,4 +1415,9280,04:01.4,3,126.3428571,241400,51:03.3,13.11142857,3063300,4 +1417,9320,03:36.4,3,117.5714286,216400,51:25.0,11.70571429,3085000,4 +1418,9340,03:51.3,3,119.9142857,231300,51:34.3,19.73714286,3094300,4 +1419,9360,03:22.0,3,122.0857143,202000,51:42.3,18.46857143,3102300,4 +1420,9380,03:16.1,3,125.7142857,196100,51:50.2,15.80285714,3110200,4 +1421,9400,03:25.9,3,118.5714286,205900,51:58.4,16.25428571,3118400,4 +1423,9440,03:14.2,3,110.0285714,194200,52:23.5,20.32285714,3143500,4 +1424,9460,02:58.9,3,118.1428571,178900,52:30.7,19.28285714,3150700,4 +1425,9480,02:50.3,3,122.3142857,170300,52:37.5,17.68,3157500,4 +1426,9500,04:10.0,3,127.4571429,250000,52:47.5,17.38,3167500,4 +1427,9520,03:45.0,3,126.8857143,225000,52:56.5,16.28,3176500,4 diff --git a/rowers/tests/testdata/testdata.csv.gz b/rowers/tests/testdata/testdata.csv.gz index 039dc318..c8e11073 100644 Binary files a/rowers/tests/testdata/testdata.csv.gz and b/rowers/tests/testdata/testdata.csv.gz differ diff --git a/rowers/tests/tests.py b/rowers/tests/tests.py index 9a298642..b83d27fa 100644 --- a/rowers/tests/tests.py +++ b/rowers/tests/tests.py @@ -86,7 +86,7 @@ class NewUserRegistrationTest(TestCase): form = RegistrationFormUniqueEmail(form_data) self.assertTrue(form.is_valid()) - response = self.c.post('/rowers/register', form_data, follow=True) + response = self.c.post('/rowers/register/', form_data, follow=True) self.assertRedirects(response, expected_url='/rowers/me/gdpr-optin/?next=/rowers/list-workouts/', @@ -408,7 +408,8 @@ class ViewTest(TestCase): @patch('rowers.dataprep.create_engine') def test_upload_view_sled(self, mocked_sqlalchemy): - self.c.login(username='john',password='koeinsloot') + login = self.c.login(username='john',password='koeinsloot') + self.assertTrue(login) filename = 'rowers/tests/testdata/testdata.csv' f = open(filename,'rb') @@ -429,7 +430,7 @@ class ViewTest(TestCase): f.close() - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -437,14 +438,14 @@ class ViewTest(TestCase): response = self.c.get('/rowers/workout/1/', form_data, follow=True) self.assertEqual(response.status_code, 200) - response = self.c.get('/rowers/workout/1/edit', form_data, follow=True) + response = self.c.get('/rowers/workout/1/edit/', form_data, follow=True) self.assertEqual(response.status_code, 200) - response = self.c.get('/rowers/workout/1/histo', form_data, follow=True) + response = self.c.get('/rowers/workout/1/histo/', form_data, follow=True) self.assertEqual(response.status_code, 200) - response = self.c.get('/rowers/workout/1/workflow', + response = self.c.get('/rowers/workout/1/workflow/', follow=True) self.assertEqual(response.status_code, 200) @@ -465,7 +466,7 @@ class ViewTest(TestCase): } form = WorkoutForm(data=form_data) self.assertTrue(form.is_valid()) - response = self.c.post('/rowers/workout/1/edit', form_data, follow=True) + response = self.c.post('/rowers/workout/1/edit/', form_data, follow=True) self.assertEqual(response.status_code, 200) @@ -518,7 +519,7 @@ class ViewTest(TestCase): f.close() - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -560,7 +561,7 @@ class ViewTest(TestCase): f.close() - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -629,7 +630,7 @@ class ViewTest(TestCase): response = self.c.post('/rowers/workout/upload/', form_data, follow=True) f.close() - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -679,7 +680,7 @@ class ViewTest(TestCase): response = self.c.post('/rowers/workout/upload/', form_data, follow=True) f.close() - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -716,7 +717,7 @@ class ViewTest(TestCase): response = self.c.post('/rowers/workout/upload/', form_data, follow=True) f.close() - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -755,7 +756,7 @@ class ViewTest(TestCase): response = self.c.post('/rowers/workout/upload/', form_data, follow=True) f.close() - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -791,7 +792,7 @@ class ViewTest(TestCase): response = self.c.post('/rowers/workout/upload/', form_data, follow=True) f.close() - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -828,7 +829,7 @@ class ViewTest(TestCase): response = self.c.post('/rowers/workout/upload/', form_data, follow=True) f.close() - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -867,7 +868,7 @@ class ViewTest(TestCase): response = self.c.post('/rowers/workout/upload/', form_data, follow=True) f.close() - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -903,7 +904,7 @@ class ViewTest(TestCase): form = DocumentsForm(form_data,file_data) response = self.c.post('/rowers/workout/upload/', form_data, follow=True) - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -936,7 +937,7 @@ class ViewTest(TestCase): form = DocumentsForm(form_data,file_data) response = self.c.post('/rowers/workout/upload/', form_data, follow=True) - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -969,7 +970,7 @@ class ViewTest(TestCase): form = DocumentsForm(form_data,file_data) response = self.c.post('/rowers/workout/upload/', form_data, follow=True) - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -1002,7 +1003,7 @@ class ViewTest(TestCase): form = DocumentsForm(form_data,file_data) response = self.c.post('/rowers/workout/upload/', form_data, follow=True) - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -1036,7 +1037,7 @@ class ViewTest(TestCase): form = DocumentsForm(form_data,file_data) response = self.c.post('/rowers/workout/upload/', form_data, follow=True) - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -1068,7 +1069,7 @@ class ViewTest(TestCase): form = DocumentsForm(form_data,file_data) response = self.c.post('/rowers/workout/upload/', form_data, follow=True) - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -1100,7 +1101,7 @@ class ViewTest(TestCase): form = DocumentsForm(form_data,file_data) response = self.c.post('/rowers/workout/upload/', form_data, follow=True) - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -1132,7 +1133,7 @@ class ViewTest(TestCase): form = DocumentsForm(form_data,file_data) response = self.c.post('/rowers/workout/upload/', form_data, follow=True) - self.assertRedirects(response, expected_url='/rowers/workout/1/edit', + self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) @@ -1169,7 +1170,7 @@ class ViewTest(TestCase): # form_data, follow=True, # format='multipart') # f.close() -# self.assertRedirects(response, expected_url='/rowers/workout/1/edit', +# self.assertRedirects(response, expected_url='/rowers/workout/1/edit/', # status_code=302,target_status_code=200) # self.assertEqual(response.status_code, 200) diff --git a/rowers/urls.py b/rowers/urls.py index f37951da..f4d2aa88 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -108,9 +108,9 @@ urlpatterns = [ url(r'^o/authorize/$', base.AuthorizationView.as_view(), name="authorize"), url(r'^o/token/$', base.TokenView.as_view(), name="token"), url(r'^', include(router.urls)), - url(r'^api-docs$', views.schema_view), + url(r'^api-docs/$', views.schema_view), url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')), - url(r'^api/workouts/(?P\d+)/strokedata$',views.strokedatajson), + url(r'^api/workouts/(?P\d+)/strokedata/$',views.strokedatajson), url(r'^500v/$',views.error500_view), url(r'^502/$', TemplateView.as_view(template_name='502.html'),name='502'), url(r'^500/$', TemplateView.as_view(template_name='500.html'),name='500'), @@ -118,244 +118,244 @@ urlpatterns = [ url(r'^400/$', TemplateView.as_view(template_name='400.html'),name='400'), url(r'^403/$', TemplateView.as_view(template_name='403.html'),name='403'), # url(r'^imports/$', views.imports_view), - url(r'^exportallworkouts/?$',views.workouts_summaries_email_view), - url(r'^update_empower$',views.rower_update_empower_view), - url(r'^agegroupcp/(?P\d+)$',views.agegroupcpview), - url(r'^agegroupcp/(?P\d+)/(?P\d+)$',views.agegroupcpview), - url(r'^ajax_agegroup/(?P\d+)/(?P\w+.*)/(?P\w+.*)/(?P\d+)$', + url(r'^exportallworkouts/?/$',views.workouts_summaries_email_view), + url(r'^update_empower/$',views.rower_update_empower_view), + url(r'^agegroupcp/(?P\d+)/$',views.agegroupcpview), + url(r'^agegroupcp/(?P\d+)/(?P\d+)/$',views.agegroupcpview), + url(r'^ajax_agegroup/(?P\d+)/(?P\w+.*)/(?P\w+.*)/(?P\d+)/$', views.ajax_agegrouprecords), - url(r'^updatefitness/(?P\w+.*)/(?P\d+)$',views.fitness_metric_view), - url(r'^updatefitness/(?P\w+.*)$',views.fitness_metric_view), - url(r'^updatefitness$',views.fitness_metric_view), - url(r'^agegrouprecords/(?P\w+.*)/(?P\w+.*)/(?P\d+)m$', + url(r'^updatefitness/(?P\w+.*)/(?P\d+)/$',views.fitness_metric_view), + url(r'^updatefitness/(?P\w+.*)/$',views.fitness_metric_view), + url(r'^updatefitness/$',views.fitness_metric_view), + url(r'^agegrouprecords/(?P\w+.*)/(?P\w+.*)/(?P\d+)m/$', views.agegrouprecordview), - url(r'^agegrouprecords/(?P\w+.*)/(?P\w+.*)/(?P\d+)min$', + url(r'^agegrouprecords/(?P\w+.*)/(?P\w+.*)/(?P\d+)min/$', views.agegrouprecordview), - url(r'^agegrouprecords/(?P\w+.*)/(?P\w+.*)$', + url(r'^agegrouprecords/(?P\w+.*)/(?P\w+.*)/$', views.agegrouprecordview), - url(r'^list-workouts/ranking$',views.workouts_view,{'rankingonly':True}), - url(r'^list-workouts/team/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.workouts_view), + url(r'^list-workouts/ranking/$',views.workouts_view,{'rankingonly':True}), + url(r'^list-workouts/team/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.workouts_view), url(r'^list-workouts/team/(?P\d+)/$',views.workouts_view), url(r'^(?P\d+)/list-workouts/$',views.workouts_view), - url(r'^(?P\d+)/list-workouts/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.workouts_view), + url(r'^(?P\d+)/list-workouts/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.workouts_view), url(r'^list-workouts/user/(?P\d+)/$',views.workouts_view), url(r'^list-workouts/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/user/(?P\d+)/$',views.workouts_view), - url(r'^list-workouts/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.workouts_view), - url(r'^virtualevents$',views.virtualevents_view), - url(r'^virtualevent/create$',views.virtualevent_create_view), - url(r'^virtualevent/createindoor$',views.indoorvirtualevent_create_view), + url(r'^list-workouts/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.workouts_view), + url(r'^virtualevents/$',views.virtualevents_view), + url(r'^virtualevent/create/$',views.virtualevent_create_view), + url(r'^virtualevent/createindoor/$',views.indoorvirtualevent_create_view), url(r'^raceregistration/togglenotification/(?P\d+)/$', views.virtualevent_toggle_email_view), url(r'^indoorraceregistration/togglenotification/(?P\d+)/$', views.indoorvirtualevent_toggle_email_view), - url(r'^virtualevent/(?P\d+)$',views.virtualevent_view), - url(r'^virtualevent/(?P\d+)/edit$',views.virtualevent_edit_view), - url(r'^virtualevent/(?P\d+)/editindoor$',views.indoorvirtualevent_edit_view), - url(r'^virtualevent/(?P\d+)/register$',views.virtualevent_register_view), - url(r'^virtualevent/(?P\d+)/registerindoor$',views.indoorvirtualevent_register_view), - url(r'^virtualevent/(?P\d+)/adddiscipline$',views.virtualevent_addboat_view), - url(r'^virtualevent/(?P\d+)/withdraw/(?P\d+)$',views.virtualevent_withdraw_view), - url(r'^virtualevent/(?P\d+)/withdraw$',views.virtualevent_withdraw_view), - url(r'^virtualevent/(?P\d+)/submit$', + url(r'^virtualevent/(?P\d+)/$',views.virtualevent_view), + url(r'^virtualevent/(?P\d+)/edit/$',views.virtualevent_edit_view), + url(r'^virtualevent/(?P\d+)/editindoor/$',views.indoorvirtualevent_edit_view), + url(r'^virtualevent/(?P\d+)/register/$',views.virtualevent_register_view), + url(r'^virtualevent/(?P\d+)/registerindoor/$',views.indoorvirtualevent_register_view), + url(r'^virtualevent/(?P\d+)/adddiscipline/$',views.virtualevent_addboat_view), + url(r'^virtualevent/(?P\d+)/withdraw/(?P\d+)/$',views.virtualevent_withdraw_view), + url(r'^virtualevent/(?P\d+)/withdraw/$',views.virtualevent_withdraw_view), + url(r'^virtualevent/(?P\d+)/submit/$', views.virtualevent_submit_result_view), - url(r'^virtualevent/(?P\d+)/submit/(?P\d+)$', + url(r'^virtualevent/(?P\d+)/submit/(?P\d+)/$', views.virtualevent_submit_result_view), url(r'^virtualevent/(?P\d+)/disqualify/(?P\d+)/', views.virtualevent_disqualify_view), url(r'^list-workouts/$',views.workouts_view), url(r'^list-courses/$',views.courses_view), - url(r'^courses/upload$',views.course_upload_view), + url(r'^courses/upload/$',views.course_upload_view), url(r'^workout/addmanual/$',views.addmanual_view), url(r'^team-compare-select/workout/(?P\d+)/team/(?P\d+)/user/(?P\d+)/$',views.team_comparison_select), url(r'^team-compare-select/team/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/user/(?P\d+)/$',views.team_comparison_select), - url(r'^team-compare-select/team/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.team_comparison_select), + url(r'^team-compare-select/team/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.team_comparison_select), url(r'^team-compare-select/workout/(?P\d+)/team/(?P\d+)/$',views.team_comparison_select), - url(r'^team-compare-select/team/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.team_comparison_select), + url(r'^team-compare-select/team/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.team_comparison_select), url(r'^team-compare-select/team/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/user/(?P\d+)/$',views.team_comparison_select), url(r'^team-compare-select/workout/(?P\d+)/team/(?P\d+)/$',views.team_comparison_select), url(r'^team-compare-select/workout/(?P\d+)/team/(?P\d+)/user/(?P\d+)/$',views.team_comparison_select), - url(r'^team-compare-select/workout/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.team_comparison_select), + url(r'^team-compare-select/workout/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.team_comparison_select), url(r'^team-compare-select/workout/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/user/(?P\d+)/$',views.team_comparison_select), url(r'^team-compare-select/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/user/(?P\d+)/$',views.team_comparison_select), - url(r'^team-compare-select/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.team_comparison_select), + url(r'^team-compare-select/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.team_comparison_select), url(r'^team-compare-select/workout/(?P\d+)/user/(?P\d+)/$',views.team_comparison_select), url(r'^team-compare-select/team/(?P\d+)/user/(?P\d+)/$',views.team_comparison_select), url(r'^team-compare-select/workout/(?P\d+)/$',views.team_comparison_select), url(r'^team-compare-select/team/(?P\d+)/$',views.team_comparison_select), url(r'^team-compare-select/user/(?P\d+)/$',views.team_comparison_select), url(r'^team-compare-select/$',views.team_comparison_select), - url(r'^workouts-join-select/team/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.workouts_join_select), - url(r'^workouts-join$',views.workouts_join_view), + url(r'^workouts-join-select/team/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.workouts_join_select), + url(r'^workouts-join/$',views.workouts_join_view), url(r'^workouts-join-select/team/(?P\d+)/$',views.workouts_join_select), - url(r'^workouts-join-select/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.workouts_join_select), + url(r'^workouts-join-select/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.workouts_join_select), url(r'^workouts-join-select/$',views.workouts_join_select), url(r'^user-boxplot-select/user/(?P\d+)/$',views.user_boxplot_select), url(r'^user-boxplot-select/$',views.user_boxplot_select), - url(r'^user-multiflex-select/user/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.user_multiflex_select), + url(r'^user-multiflex-select/user/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.user_multiflex_select), url(r'^user-multiflex-select/user/(?P\d+)/$',views.user_multiflex_select), - url(r'^user-multiflex-select/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.user_multiflex_select), + url(r'^user-multiflex-select/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.user_multiflex_select), url(r'^user-multiflex-select/$',views.user_multiflex_select), url(r'^list-jobs/$',views.session_jobs_view), url(r'^jobs-status/$',views.session_jobs_status), - url(r'^job-kill/(?P.*)$',views.kill_async_job), - url(r'^test-job/(?P\d+)$',views.test_job_view), - url(r'^test-job2/(?P\d+)$',views.test_job_view2), - url(r'^record-progress/(?P\d+)/(?P.*)$',views.post_progress), - url(r'^record-progress/(?P.*)$',views.post_progress), - url(r'^record-progress$',views.post_progress), + url(r'^job-kill/(?P.*)/$',views.kill_async_job), + url(r'^test-job/(?P\d+)/$',views.test_job_view), + url(r'^test-job2/(?P\d+)/$',views.test_job_view2), + url(r'^record-progress/(?P\d+)/(?P.*)/$',views.post_progress), + url(r'^record-progress/(?P.*)/$',views.post_progress), + url(r'^record-progress/$',views.post_progress), url(r'^list-graphs/$',views.graphs_view), url(r'^fitness-progress/$',views.fitnessmetric_view), - url(r'^fitness-progress/user/(?P\d+)$',views.fitnessmetric_view), - url(r'^fitness-progress/user/(?P\d+)/(?P\w+.*)$',views.fitnessmetric_view), - url(r'^ote-bests/user/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.rankings_view), - url(r'^ote-bests/user/(?P\d+)$',views.rankings_view), - url(r'^ote-bests/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.rankings_view), + url(r'^fitness-progress/user/(?P\d+)/$',views.fitnessmetric_view), + url(r'^fitness-progress/user/(?P\d+)/(?P\w+.*)/$',views.fitnessmetric_view), + url(r'^ote-bests/user/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.rankings_view), + url(r'^ote-bests/user/(?P\d+)/$',views.rankings_view), + url(r'^ote-bests/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.rankings_view), url(r'^ote-bests/$',views.rankings_view), url(r'^(?P\d+)/ote-bests/$',views.rankings_view), - url(r'^(?P\d+)/ote-bests2/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.rankings_view2), - url(r'^ote-bests2/user/(?P\d+)$',views.rankings_view2), - url(r'^ote-bests2/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.rankings_view2), + url(r'^(?P\d+)/ote-bests2/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.rankings_view2), + url(r'^ote-bests2/user/(?P\d+)/$',views.rankings_view2), + url(r'^ote-bests2/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.rankings_view2), url(r'^ote-bests2/$',views.rankings_view2), - url(r'^otw-bests/user/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.otwrankings_view), - url(r'^otw-bests/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.otwrankings_view), + url(r'^otw-bests/user/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.otwrankings_view), + url(r'^otw-bests/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.otwrankings_view), url(r'^otw-bests/user/(?P\d+)/$',views.otwrankings_view), url(r'^otw-bests/$',views.otwrankings_view), - url(r'^ote-ranking/user/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.oterankings_view), - url(r'^ote-ranking/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.oterankings_view), + url(r'^ote-ranking/user/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.oterankings_view), + url(r'^ote-ranking/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.oterankings_view), url(r'^ote-ranking/$',views.oterankings_view), url(r'^ote-ranking/user/(?P\d+)/$',views.oterankings_view), - url(r'^flexall/(?P\w+.*)/(?P\w+.*)/(?P\w+.*)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/user/(?P\d+)$',views.cum_flex), + url(r'^flexall/(?P\w+.*)/(?P\w+.*)/(?P\w+.*)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/user/(?P\d+)/$',views.cum_flex), url(r'^flexall/(?P\w+.*)/(?P\w+.*)/(?P\w+.*)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.cum_flex), url(r'^flexall/(?P\w+.*)/(?P\w+.*)/(?P\w+.*)/$',views.cum_flex), url(r'^flexall/user/(?P\d+)/$',views.cum_flex), url(r'^flexall/$',views.cum_flex), url(r'^flexalldata/$',views.cum_flex_data), - url(r'^histo/user/(?P\d+)$',views.histo), - url(r'^histodata$',views.histo_data), - url(r'^histo/user/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.histo), + url(r'^histo/user/(?P\d+)/$',views.histo), + url(r'^histodata/$',views.histo_data), + url(r'^histo/user/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.histo), url(r'^histo/$',views.histo), - url(r'^cumstats/user/(?P\d+)$',views.cumstats), - url(r'^cumstats/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.cumstats), - url(r'^cumstats/user/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.cumstats), - url(r'^cumstats/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.cumstats), + url(r'^cumstats/user/(?P\d+)/$',views.cumstats), + url(r'^cumstats/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.cumstats), + url(r'^cumstats/user/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.cumstats), + url(r'^cumstats/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.cumstats), url(r'^cumstats/$',views.cumstats), url(r'^graph/(?P\d+)/$',views.graph_show_view), - url(r'^graph/(?P\d+)/delete$',views.GraphDelete.as_view(),name='graph_delete'), - url(r'^workout/(?P\d+)/get-thumbnails$',views.get_thumbnails), - url(r'^workout/(?P\d+)/toggle-ranking$',views.workout_toggle_ranking), - url(r'^workout/(?P\d+)/get-testscript$',views.get_testscript), + url(r'^graph/(?P\d+)/delete/$',views.GraphDelete.as_view(),name='graph_delete'), + url(r'^workout/(?P\d+)/get-thumbnails/$',views.get_thumbnails), + url(r'^workout/(?P\d+)/toggle-ranking/$',views.workout_toggle_ranking), + url(r'^workout/(?P\d+)/get-testscript/$',views.get_testscript), url(r'^workout/upload/team/$',views.team_workout_upload_view), url(r'^workout/upload/$',views.workout_upload_view,name='workout_upload_view'), - url(r'^workout/(?P\d+)/histo$',views.workout_histo_view), - url(r'^workout/(?P\d+)/task$',views.workout_test_task_view), - url(r'^workout/(?P\d+)/forcecurve$',views.workout_forcecurve_view), - url(r'^workout/(?P\d+)/unsubscribe$',views.workout_unsubscribe_view), -# url(r'^workout/(?P\d+)/export$',views.workout_export_view), - url(r'^workout/(?P\d+)/comment$',views.workout_comment_view), - url(r'^workout/(?P\d+)/emailtcx$',views.workout_tcxemail_view), - url(r'^workout/(?P\d+)/emailgpx$',views.workout_gpxemail_view), - url(r'^workout/(?P\d+)/emailcsv$',views.workout_csvemail_view), - url(r'^workout/(?P\d+)/csvtoadmin$',views.workout_csvtoadmin_view), - url(r'^ergcpdatatoadmin/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.otecp_toadmin_view), - url(r'^otwcpdatatoadmin/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.otwcp_toadmin_view), + url(r'^workout/(?P\d+)/histo/$',views.workout_histo_view), + url(r'^workout/(?P\d+)/task/$',views.workout_test_task_view), + url(r'^workout/(?P\d+)/forcecurve/$',views.workout_forcecurve_view), + url(r'^workout/(?P\d+)/unsubscribe/$',views.workout_unsubscribe_view), +# url(r'^workout/(?P\d+)/export/$',views.workout_export_view), + url(r'^workout/(?P\d+)/comment/$',views.workout_comment_view), + url(r'^workout/(?P\d+)/emailtcx/$',views.workout_tcxemail_view), + url(r'^workout/(?P\d+)/emailgpx/$',views.workout_gpxemail_view), + url(r'^workout/(?P\d+)/emailcsv/$',views.workout_csvemail_view), + url(r'^workout/(?P\d+)/csvtoadmin/$',views.workout_csvtoadmin_view), + url(r'^ergcpdatatoadmin/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.otecp_toadmin_view), + url(r'^otwcpdatatoadmin/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.otwcp_toadmin_view), # url(r'^workout/compare/(?P\d+)/$',views.workout_comparison_list), # url(r'^workout/compare2/(?P\d+)/(?P\d+)/(?P\w+.*)/(?P\w+.*)/$',views.workout_comparison_view), - url(r'^workout/compare/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.workout_comparison_list), - url(r'^workout/(?P\d+)/edit$',views.workout_edit_view, + url(r'^workout/compare/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.workout_comparison_list), + url(r'^workout/(?P\d+)/edit/$',views.workout_edit_view, name='workout_edit_view'), - url(r'^workout/(?P\d+)/map$',views.workout_map_view), -# url(r'^workout/(?P\d+)/setprivate$',views.workout_setprivate_view), - url(r'^workout/(?P\d+)/updatecp$',views.workout_update_cp_view), -# url(r'^workout/(?P\d+)/makepublic$',views.workout_makepublic_view), -# url(r'^workout/(?P\d+)/geeky$',views.workout_geeky_view), -# url(r'^workout/(?P\d+)/advanced$',views.workout_advanced_view), - url(r'^workout/(?P\d+)/instroke/(?P\w+.*)$',views.instroke_chart), - url(r'^workout/(?P\d+)/instroke$',views.instroke_view), - url(r'^workout/(?P\d+)/stats$',views.workout_stats_view,name='workout_stats_view'), - url(r'^workout/(?P\d+)/data$',views.workout_data_view, + url(r'^workout/(?P\d+)/map/$',views.workout_map_view), +# url(r'^workout/(?P\d+)/setprivate/$',views.workout_setprivate_view), + url(r'^workout/(?P\d+)/updatecp/$',views.workout_update_cp_view), +# url(r'^workout/(?P\d+)/makepublic/$',views.workout_makepublic_view), +# url(r'^workout/(?P\d+)/geeky/$',views.workout_geeky_view), +# url(r'^workout/(?P\d+)/advanced/$',views.workout_advanced_view), + url(r'^workout/(?P\d+)/instroke/(?P\w+.*)/$',views.instroke_chart), + url(r'^workout/(?P\d+)/instroke/$',views.instroke_view), + url(r'^workout/(?P\d+)/stats/$',views.workout_stats_view,name='workout_stats_view'), + url(r'^workout/(?P\d+)/data/$',views.workout_data_view, name='workout_data_view'), - url(r'^workout/(?P\d+)/otwsetpower$',views.workout_otwsetpower_view), - url(r'^workout/(?P\d+)/interactiveotwplot$',views.workout_otwpowerplot_view), - url(r'^workout/(?P\d+)/wind$',views.workout_wind_view), - url(r'^workout/(?P\d+)/image$',views.workout_uploadimage_view), - url(r'^virtualevent/(?P\d+)/compare$',views.virtualevent_compare_view), - url(r'^virtualevent/(?P\d+)/image$', + url(r'^workout/(?P\d+)/otwsetpower/$',views.workout_otwsetpower_view), + url(r'^workout/(?P\d+)/interactiveotwplot/$',views.workout_otwpowerplot_view), + url(r'^workout/(?P\d+)/wind/$',views.workout_wind_view), + url(r'^workout/(?P\d+)/image/$',views.workout_uploadimage_view), + url(r'^virtualevent/(?P\d+)/compare/$',views.virtualevent_compare_view), + url(r'^virtualevent/(?P\d+)/image/$', views.virtualevent_uploadimage_view), url(r'^virtualevent/(?P\d+)/setimage/(?P\d+)/$', views.virtualevent_setlogo_view), url(r'^logo/(?P\d+)/delete/$', views.logo_delete_view), - url(r'^workout/(?P\d+)/darkskywind$',views.workout_downloadwind_view), - url(r'^workout/(?P\d+)/metar/(?P\w+)$',views.workout_downloadmetar_view), - url(r'^workout/(?P\d+)/stream$',views.workout_stream_view), -# url(r'^workout/(?P\d+)/crewnerdsummary$',views.workout_crewnerd_summary_view), - url(r'^workout/(?P\d+)/editintervals$',views.workout_summary_edit_view, + url(r'^workout/(?P\d+)/darkskywind/$',views.workout_downloadwind_view), + url(r'^workout/(?P\d+)/metar/(?P\w+)/$',views.workout_downloadmetar_view), + url(r'^workout/(?P\d+)/stream/$',views.workout_stream_view), +# url(r'^workout/(?P\d+)/crewnerdsummary/$',views.workout_crewnerd_summary_view), + url(r'^workout/(?P\d+)/editintervals/$',views.workout_summary_edit_view, name='workout_summary_edit_view'), - url(r'^workout/(?P\d+)/restore$',views.workout_summary_restore_view), - url(r'^workout/(?P\d+)/split$',views.workout_split_view), -# url(r'^workout/(?P\d+)/interactiveplot$',views.workout_biginteractive_view), - url(r'^workout/(?P\d+)/view$',views.workout_view), + url(r'^workout/(?P\d+)/restore/$',views.workout_summary_restore_view), + url(r'^workout/(?P\d+)/split/$',views.workout_split_view), +# url(r'^workout/(?P\d+)/interactiveplot/$',views.workout_biginteractive_view), + url(r'^workout/(?P\d+)/view/$',views.workout_view), url(r'^workout/(?P\d+)/$',views.workout_view), - url(r'^workout/fusion/(?P\d+)/(?P\d+)$',views.workout_fusion_view), + url(r'^workout/fusion/(?P\d+)/(?P\d+)/$',views.workout_fusion_view), url(r'^workout/fusion/(?P\d+)/$',views.workout_fusion_list), - url(r'^workout/fusion/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.workout_fusion_list), - url(r'^help$',TemplateView.as_view( + url(r'^workout/fusion/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$',views.workout_fusion_list), + url(r'^help/$',TemplateView.as_view( template_name='help.html'),name='help' ), - url(r'^physics$',TemplateView.as_view(template_name='physics.html'),name='physics'), - url(r'^partners$',TemplateView.as_view(template_name='partners.html'),name='partners'), + url(r'^physics/$',TemplateView.as_view(template_name='physics.html'),name='physics'), + url(r'^partners/$',TemplateView.as_view(template_name='partners.html'),name='partners'), # keeping the old URLs for retrofit - url(r'^workout/(?P\d+)/addtimeplot$', + url(r'^workout/(?P\d+)/addtimeplot/$', views.workout_add_chart_view, {'plotnr':'1'}), - url(r'^workout/(?P\d+)/adddistanceplot$', + url(r'^workout/(?P\d+)/adddistanceplot/$', views.workout_add_chart_view, {'plotnr':'2'}), - url(r'^workout/(?P\d+)/addpiechart$', + url(r'^workout/(?P\d+)/addpiechart/$', views.workout_add_chart_view, {'plotnr':'3'}), - url(r'^workout/(?P\d+)/adddistanceplot2$', + url(r'^workout/(?P\d+)/adddistanceplot2/$', views.workout_add_chart_view, {'plotnr':'7'}), - url(r'^workout/(?P\d+)/addtimeplot2$', + url(r'^workout/(?P\d+)/addtimeplot2/$', views.workout_add_chart_view, {'plotnr':'8'}), - url(r'^workout/(?P\d+)/addotwpowerplot$', + url(r'^workout/(?P\d+)/addotwpowerplot/$', views.workout_add_chart_view, {'plotnr':'9'}), - url(r'^workout/(?P\d+)/addpowerpiechart$', + url(r'^workout/(?P\d+)/addpowerpiechart/$', views.workout_add_chart_view, {'plotnr':'13'}), # addstatic is the new URL -> need to update in templates - url(r'^workout/(?P\d+)/addstatic/(?P\d+)$', + url(r'^workout/(?P\d+)/addstatic/(?P\d+)/$', views.workout_add_chart_view), - url(r'^workout/(?P\d+)/addstatic$',views.workout_add_chart_view), - url(r'^workout/(?P\d+)/delete$',login_required( + url(r'^workout/(?P\d+)/addstatic/$',views.workout_add_chart_view), + url(r'^workout/(?P\d+)/delete/$',login_required( views.WorkoutDelete.as_view()), name='workout_delete'), - url(r'^workout/(?P\d+)/smoothenpace$',views.workout_smoothenpace_view), - url(r'^workout/(?P\d+)/undosmoothenpace$',views.workout_undo_smoothenpace_view), + url(r'^workout/(?P\d+)/smoothenpace/$',views.workout_smoothenpace_view), + url(r'^workout/(?P\d+)/undosmoothenpace/$',views.workout_undo_smoothenpace_view), url(r'^workout/c2import/$',views.workout_c2import_view), url(r'^workout/c2list/$',views.workout_c2import_view), - url(r'^workout/c2list/(?P\d+)$',views.workout_c2import_view), - url(r'^workout/c2list/user/(?P\d+)$',views.workout_c2import_view), - url(r'^workout/c2list/(?P\d+)/user/(?P\d+)$',views.workout_c2import_view), + url(r'^workout/c2list/(?P\d+)/$',views.workout_c2import_view), + url(r'^workout/c2list/user/(?P\d+)/$',views.workout_c2import_view), + url(r'^workout/c2list/(?P\d+)/user/(?P\d+)/$',views.workout_c2import_view), url(r'^workout/stravaimport/$',views.workout_stravaimport_view), - url(r'^workout/stravaimport/user/(?P\d+)$',views.workout_stravaimport_view), + url(r'^workout/stravaimport/user/(?P\d+)/$',views.workout_stravaimport_view), url(r'^workout/c2import/all/$',views.workout_getc2workout_all), - url(r'^workout/c2import/all/(?P\d+)$',views.workout_getc2workout_all), + url(r'^workout/c2import/all/(?P\d+)/$',views.workout_getc2workout_all), url(r'^workout/(?P\w+.*)import/(?P\d+)/$',views.workout_getimportview), url(r'^workout/stravaimport/all/$',views.workout_getstravaworkout_all), url(r'^workout/stravaimport/next/$',views.workout_getstravaworkout_next), url(r'^workout/sporttracksimport/$',views.workout_sporttracksimport_view), - url(r'^workout/sporttracksimport/user/(?P\d+)$',views.workout_sporttracksimport_view), + url(r'^workout/sporttracksimport/user/(?P\d+)/$',views.workout_sporttracksimport_view), url(r'^workout/sporttracksimport/all/$',views.workout_getsporttracksworkout_all), url(r'^workout/polarimport/$',views.workout_polarimport_view), url(r'^workout/polarimport/user/(?P\d+)/',views.workout_polarimport_view), url(r'^workout/runkeeperimport/$',views.workout_runkeeperimport_view), - url(r'^workout/runkeeperimport/user/(?P\d+)$',views.workout_runkeeperimport_view), + url(r'^workout/runkeeperimport/user/(?P\d+)/$',views.workout_runkeeperimport_view), url(r'^workout/underarmourimport/$',views.workout_underarmourimport_view), -# url(r'^workout/(?P\d+)/deleteconfirm$',views.workout_delete_confirm_view), +# url(r'^workout/(?P\d+)/deleteconfirm/$',views.workout_delete_confirm_view), url(r'^workout/(?P\d+)/c2uploadw/$',views.workout_c2_upload_view), url(r'^workout/(?P\d+)/stravauploadw/$',views.workout_strava_upload_view), url(r'^workout/(?P\d+)/recalcsummary/$',views.workout_recalcsummary_view), @@ -366,34 +366,34 @@ urlpatterns = [ url(r'^multi-compare/workout/(?P\d+)/user/(?P\d+)/$',views.multi_compare_view), url(r'^multi-compare/workout/(?P\d+)/$',views.multi_compare_view), url(r'^multi-compare/$',views.multi_compare_view), - url(r'^user-boxplot/user/(?P\d+)$',views.boxplot_view), - url(r'^user-boxplot$',views.boxplot_view), - url(r'^user-boxplot-data$',views.boxplot_view_data), - url(r'^user-multiflex/user/(?P\d+)$',views.multiflex_view), + url(r'^user-boxplot/user/(?P\d+)/$',views.boxplot_view), + url(r'^user-boxplot/$',views.boxplot_view), + url(r'^user-boxplot-data/$',views.boxplot_view_data), + url(r'^user-multiflex/user/(?P\d+)/$',views.multiflex_view), url(r'^user-multiflex/$',views.multiflex_view), - url(r'^user-multiflex-data$',views.multiflex_data), - url(r'^me/deactivate$',views.deactivate_user), - url(r'^me/delete$',views.remove_user), - url(r'^me/gdpr-optin-confirm/?$',views.user_gdpr_confirm), + url(r'^user-multiflex-data/$',views.multiflex_data), + url(r'^me/deactivate/$',views.deactivate_user), + url(r'^me/delete/$',views.remove_user), + url(r'^me/gdpr-optin-confirm/?/$',views.user_gdpr_confirm), url(r'^me/gdpr-optin-confirm/$',views.user_gdpr_confirm), - url(r'^me/gdpr-optin/?$',views.user_gdpr_optin), + url(r'^me/gdpr-optin/?/$',views.user_gdpr_optin), url(r'^me/gdpr-optin/$',views.user_gdpr_optin), url(r'^me/teams/$',views.rower_teams_view), url(r'^me/calcdps/$',views.rower_calcdps_view), url(r'^me/exportsettings/$',views.rower_exportsettings_view), - url(r'^me/exportsettings/user/(?P\d+)$',views.rower_exportsettings_view), + url(r'^me/exportsettings/user/(?P\d+)/$',views.rower_exportsettings_view), url(r'^team/(?P\d+)/$',views.team_view), url(r'^team/(?P\d+)/memberstats/$',views.team_members_stats_view), url(r'^team/(?P\d+)/edit/$',views.team_edit_view), url(r'^team/(?P\d+)/leaveconfirm/$',views.team_leaveconfirm_view), url(r'^team/(?P\d+)/leave/$',views.team_leave_view), url(r'^team/(?P\d+)/deleteconfirm/$',views.team_deleteconfirm_view), - url(r'^team/(?P\d+)/requestmembership/(?P\d+)$',views.team_requestmembership_view), + url(r'^team/(?P\d+)/requestmembership/(?P\d+)/$',views.team_requestmembership_view), url(r'^team/(?P\d+)/delete/$',views.team_delete_view), url(r'^team/create/$',views.team_create_view), - url(r'^me/team/(?P\d+)/drop/(?P\d+)$',views.manager_member_drop_view), - url(r'^me/invitation/(?P\d+)/reject$',views.invitation_reject_view), - url(r'^me/invitation/(?P\d+)/revoke$',views.invitation_revoke_view), + url(r'^me/team/(?P\d+)/drop/(?P\d+)/$',views.manager_member_drop_view), + url(r'^me/invitation/(?P\d+)/reject/$',views.invitation_reject_view), + url(r'^me/invitation/(?P\d+)/revoke/$',views.invitation_revoke_view), url(r'^me/invitation/$',views.rower_invitations_view), url(r'^me/raise500/$',views.raise_500), url(r'^me/invitation/(\w+.*)/$',views.rower_invitations_view), @@ -402,14 +402,14 @@ urlpatterns = [ url(r'^me/request/(\w+.*)/$',views.manager_requests_view), url(r'^me/request/$',views.manager_requests_view), url(r'^me/edit/$',views.rower_edit_view), - url(r'^me/edit/user/(?P\d+)$',views.rower_edit_view), + url(r'^me/edit/user/(?P\d+)/$',views.rower_edit_view), url(r'^me/preferences/$',views.rower_prefs_view), url(r'^me/transactions/$',views.transactions_view), - url(r'^me/preferences/user/(?P\d+)$',views.rower_prefs_view), + url(r'^me/preferences/user/(?P\d+)/$',views.rower_prefs_view), url(r'^me/edit/(.+.*)/$',views.rower_edit_view), url(r'^me/c2authorize/$',views.rower_c2_authorize), url(r'^me/polarauthorize/$',views.rower_polar_authorize), - url(r'^me/revokeapp/(?P\d+)$',views.rower_revokeapp_view), + url(r'^me/revokeapp/(?P\d+)/$',views.rower_revokeapp_view), url(r'^me/stravaauthorize/$',views.rower_strava_authorize), url(r'^me/sporttracksauthorize/$',views.rower_sporttracks_authorize), url(r'^me/underarmourauthorize/$',views.rower_underarmour_authorize), @@ -420,59 +420,59 @@ urlpatterns = [ url(r'^me/tprefresh/$',views.rower_tp_token_refresh), url(r'^me/c2refresh/$',views.rower_c2_token_refresh), url(r'^me/favoritecharts/$',views.rower_favoritecharts_view), - url(r'^me/favoritecharts/user/(?P\d+)$',views.rower_favoritecharts_view), -# url(r'^me/workflowconfig$',views.workout_workflow_config_view), + url(r'^me/favoritecharts/user/(?P\d+)/$',views.rower_favoritecharts_view), +# url(r'^me/workflowconfig/$',views.workout_workflow_config_view), url(r'^me/workflowconfig2/$',views.workout_workflow_config2_view), - url(r'^me/workflowconfig2/user/(?P\d+)$',views.workout_workflow_config2_view), - url(r'^me/workflowdefault$',views.workflow_default_view), + url(r'^me/workflowconfig2/user/(?P\d+)/$',views.workout_workflow_config2_view), + url(r'^me/workflowdefault/$',views.workflow_default_view), url(r'^email/send/$', views.sendmail), url(r'^email/thankyou/$', TemplateView.as_view(template_name='thankyou.html'), name='thankyou'), url(r'^email/$', TemplateView.as_view(template_name='email.html'), name='email'), url(r'^about', TemplateView.as_view(template_name='about_us.html'),name='about'), - url(r'^brochure$',TemplateView.as_view(template_name='brochure.html'), + url(r'^brochure/$',TemplateView.as_view(template_name='brochure.html'), name='brochure'), url(r'^developers', TemplateView.as_view(template_name='developers.html'),name='about'), # url(r'^compatibility', TemplateView.as_view(template_name='compatibility.html'),name='about'), # url(r'^videos', TemplateView.as_view(template_name='videos.html'),name='videos'), - url(r'^analysis/user/(?P\d+)$', views.analysis_view,name='analysis'), - url(r'^laboratory/user/(?P\d+)$', views.laboratory_view,name='laboratory'), + url(r'^analysis/user/(?P\d+)/$', views.analysis_view,name='analysis'), + url(r'^laboratory/user/(?P\d+)/$', views.laboratory_view,name='laboratory'), url(r'^analysis/$', views.analysis_view,name='analysis'), url(r'^laboratory/$', views.laboratory_view,name='laboratory'), url(r'^promembership', TemplateView.as_view(template_name='promembership.html'),name='promembership'), - url(r'^checkout/(?P\d+)$',views.payment_confirm_view), - url(r'^upgradecheckout/(?P\d+)$',views.upgrade_confirm_view), - url(r'^downgradecheckout/(?P\d+)$',views.downgrade_confirm_view), - url(r'^billing$',views.billing_view,name='billing'), - url(r'^upgrade$',views.upgrade_view,name='upgrade'), - url(r'^downgrade$',views.downgrade_view,name='downgrade'), - url(r'^paymentcompleted$',views.payment_completed_view), - url(r'^downgradecompleted$',views.downgrade_completed_view), - url(r'^paidplans$',views.paidplans_view,name='paidplans'), - url(r'^me/cancelsubscriptions$',views.plan_stop_view), - url(r'^me/cancelsubscription/(?P[\w\ ]+.*)$',views.plan_tobasic_view), - url(r'^checkouts$',views.checkouts_view,name='checkouts'), - url(r'^upgradecheckouts$',views.upgrade_checkouts_view,name='upgrade_checkouts'), - url(r'^downgradecheckouts$',views.downgrade_checkouts_view,name='downgrade_checkouts'), + url(r'^checkout/(?P\d+)/$',views.payment_confirm_view), + url(r'^upgradecheckout/(?P\d+)/$',views.upgrade_confirm_view), + url(r'^downgradecheckout/(?P\d+)/$',views.downgrade_confirm_view), + url(r'^billing/$',views.billing_view,name='billing'), + url(r'^upgrade/$',views.upgrade_view,name='upgrade'), + url(r'^downgrade/$',views.downgrade_view,name='downgrade'), + url(r'^paymentcompleted/$',views.payment_completed_view), + url(r'^downgradecompleted/$',views.downgrade_completed_view), + url(r'^paidplans/$',views.paidplans_view,name='paidplans'), + url(r'^me/cancelsubscriptions/$',views.plan_stop_view), + url(r'^me/cancelsubscription/(?P[\w\ ]+.*)/$',views.plan_tobasic_view), + url(r'^checkouts/$',views.checkouts_view,name='checkouts'), + url(r'^upgradecheckouts/$',views.upgrade_checkouts_view,name='upgrade_checkouts'), + url(r'^downgradecheckouts/$',views.downgrade_checkouts_view,name='downgrade_checkouts'), url(r'^planrequired',views.planrequired_view), - url(r'^starttrial$',views.start_trial_view), - url(r'^startplantrial$',views.start_plantrial_view), + url(r'^starttrial/$',views.start_trial_view), + url(r'^startplantrial/$',views.start_plantrial_view), # url(r'^planmembership', TemplateView.as_view(template_name='planmembership.html'),name='planmembership'), # url(r'^paypaltest', TemplateView.as_view(template_name='paypaltest.html'),name='paypaltest'), url(r'^legal', TemplateView.as_view(template_name='legal.html'),name='legal'), - url(r'^register$',views.rower_register_view), + url(r'^register/$',views.rower_register_view), url(r'^register/thankyou/$', TemplateView.as_view(template_name='registerthankyou.html'), name='registerthankyou'), - url(r'^workout/(?P\d+)/workflow$',views.workout_workflow_view, + url(r'^workout/(?P\d+)/workflow/$',views.workout_workflow_view, name='workout_workflow_view'), url(r'^workout/(?P\d+)/flexchart/(?P[\w\ ]+.*)/(?P[\w\ ]+.*)/(?P[\w\ ]+.*)/(?P\w+)/$',views.workout_flexchart3_view), - url(r'^workout/(?P\d+)/flexchart/(?P\w+.*)/(?P[\w\ ]+.*)/(?P[\w\ ]+.*)/(?P\w+.*)$',views.workout_flexchart3_view), - url(r'^workout/(?P\d+)/flexchart/(?P\w+.*)/(?P[\w\ ]+.*)/(?P[\w\ ]+.*)$',views.workout_flexchart3_view), - url(r'^workout/(?P\d+)/flexchart$',views.workout_flexchart3_view), -# url(r'^workout/compare/(?P\d+)/(?P\d+)/(?P\w+.*)/(?P[\w\ ]+.*)/(?P[\w\ ]+.*)$',views.workout_comparison_view2), + url(r'^workout/(?P\d+)/flexchart/(?P\w+.*)/(?P[\w\ ]+.*)/(?P[\w\ ]+.*)/(?P\w+.*)/$',views.workout_flexchart3_view), + url(r'^workout/(?P\d+)/flexchart/(?P\w+.*)/(?P[\w\ ]+.*)/(?P[\w\ ]+.*)/$',views.workout_flexchart3_view), + url(r'^workout/(?P\d+)/flexchart/$',views.workout_flexchart3_view), +# url(r'^workout/compare/(?P\d+)/(?P\d+)/(?P\w+.*)/(?P[\w\ ]+.*)/(?P[\w\ ]+.*)/$',views.workout_comparison_view2), # url(r'^workout/compare/(?P\d+)/(?P\d+)/(?P\w+.*)/(?P[\w\ ]+.*)/$',views.workout_comparison_view2), url(r'^test\_callback',views.rower_process_testcallback), url(r'^createplan/$',views.rower_create_trainingplan), url(r'^createplan/user/(?P\d+)/$',views.rower_create_trainingplan), - url(r'^deleteplan/(?P\d+)$',login_required( + url(r'^deleteplan/(?P\d+)/$',login_required( views.TrainingPlanDelete.as_view())), url(r'^deletemicrocycle/(?P\d+)/$',login_required( views.MicroCycleDelete.as_view())), @@ -480,7 +480,7 @@ urlpatterns = [ views.MesoCycleDelete.as_view())), url(r'^deletemacrocycle/(?P\d+)/$',login_required( views.MacroCycleDelete.as_view())), -# url(r'^deleteplan/(?P\d+)$',views.rower_delete_trainingplan), +# url(r'^deleteplan/(?P\d+)/$',views.rower_delete_trainingplan), url(r'^plan/(?P\d+)/$',views.rower_trainingplan_view), url(r'^plan/(?P\d+)/user/(?P\d+)/$',views.rower_trainingplan_view), url(r'^plan/(?P\d+)/micro/(?P\d+)/$',views.rower_trainingplan_view), @@ -504,13 +504,13 @@ urlpatterns = [ views.TrainingMicroCycleUpdate.as_view()), name='microcycle_update_view'), url(r'^deletetarget/(?P\d+)/$',views.rower_delete_trainingtarget), - url(r'^editplan/(?P\d+)$',login_required( + url(r'^editplan/(?P\d+)/$',login_required( views.TrainingPlanUpdate.as_view()), name='trainingplan_update_view'), url(r'^edittarget/(?P\d+)/$',login_required( views.TrainingTargetUpdate.as_view()), name='trainingtarget_update_view'), - url(r'^workout/(?P\d+)/test\_strokedata$',views.strokedataform), + url(r'^workout/(?P\d+)/test\_strokedata/$',views.strokedataform), url(r'^sessions/teamcreate/user/(?P\d+)/$',views.plannedsession_teamcreate_view), url(r'^sessions/teamcreate/team/(?P\d+)/user/(?P\d+)/$', views.plannedsession_teamcreate_view), @@ -520,11 +520,11 @@ urlpatterns = [ url(r'^sessions/teamedit/(?P\d+)/$',views.plannedsession_teamedit_view), url(r'^sessions/teamedit/(?P\d+)/user/(?P\d+)/$',views.plannedsession_teamedit_view), url(r'^sessions/create/$',views.plannedsession_create_view), - url(r'^sessions/create/user/(?P\d+)$', + url(r'^sessions/create/user/(?P\d+)/$', views.plannedsession_create_view), url(r'^sessions/create/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$', views.plannedsession_create_view), - url(r'^sessions/create/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/user/(?P\d+)$', + url(r'^sessions/create/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/user/(?P\d+)/$', views.plannedsession_create_view), url(r'^sessions/multiclone/$',views.plannedsession_multiclone_view), url(r'^sessions/multiclone/user/(?P\d+)/$', @@ -546,47 +546,47 @@ urlpatterns = [ name='plannedsession_view'), url(r'^sessions/(?P\d+)/user/(?P\d+)/$',views.plannedsession_view, name='plannedsession_view'), - url(r'^sessions/(?P\d+)/deleteconfirm$',login_required( + url(r'^sessions/(?P\d+)/deleteconfirm/$',login_required( views.PlannedSessionDelete.as_view())), - url(r'^sessions/(?P\d+)/delete$',login_required( + url(r'^sessions/(?P\d+)/delete/$',login_required( views.PlannedSessionDelete.as_view()), name='plannedsession_delete_view'), url(r'^sessions/manage/session/(?P\d+)/$', views.plannedsessions_manage_view), url(r'^sessions/manage/session/(?P\d+)/user/(?P\d+)/$', views.plannedsessions_manage_view), - url(r'^sessions/manage/?$', + url(r'^sessions/manage/?/$', views.plannedsessions_manage_view), url(r'^sessions/manage/user/(?P\d+)/$', views.plannedsessions_manage_view), url(r'^sessions/coach/$',views.plannedsessions_coach_view), url(r'^sessions/coach/user/\d+/$',views.plannedsessions_coach_view), - url(r'^sessions/print/?$',views.plannedsessions_print_view), + url(r'^sessions/print/?/$',views.plannedsessions_print_view), url(r'^sessions/print/user/(?P\d+)/$',views.plannedsessions_print_view), url(r'^sessions/sendcalendar/$',views.plannedsessions_icsemail_view), url(r'^sessions/sendcalendar/user/(?P\d+)/$',views.plannedsessions_icsemail_view), url(r'^sessions/$',views.plannedsessions_view), - url(r'^sessions/user/(?P\d+)$',views.plannedsessions_view), - url(r'^sessions/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$', + url(r'^sessions/user/(?P\d+)/$',views.plannedsessions_view), + url(r'^sessions/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/$', views.plannedsessions_view), - url(r'^sessions/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/user/(?P\d+)$', + url(r'^sessions/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)/user/(?P\d+)/$', views.plannedsessions_view), - url(r'^courses/(?P\d+)/edit$',views.course_edit_view, + url(r'^courses/(?P\d+)/edit/$',views.course_edit_view, name='course_edit_view'), - url(r'^courses/(?P\d+)/delete$',views.course_delete_view), - url(r'^courses/(?P\d+)/emailkml$',views.course_kmlemail_view), - url(r'^courses/(?P\d+)/replace$',views.course_replace_view), - url(r'^courses/(?P\d+)$',views.course_view), - url(r'^courses/(?P\d+)/map$',views.course_map_view), + url(r'^courses/(?P\d+)/delete/$',views.course_delete_view), + url(r'^courses/(?P\d+)/emailkml/$',views.course_kmlemail_view), + url(r'^courses/(?P\d+)/replace/$',views.course_replace_view), + url(r'^courses/(?P\d+)/$',views.course_view), + url(r'^courses/(?P\d+)/map/$',views.course_map_view), # URLS to be created - url(r'^help$',TemplateView.as_view(template_name='help.html'), name='help'), + url(r'^help/$',TemplateView.as_view(template_name='help.html'), name='help'), ] if settings.DEBUG: urlpatterns += [ url(r'^testreverse/$',views.test_reverse_view), - url(r'^c2listug/(?P\d+)$',views.c2listdebug_view), + url(r'^c2listug/(?P\d+)/$',views.c2listdebug_view), url(r'^c2listug/$',views.c2listdebug_view), ] diff --git a/rowers/views.py b/rowers/views.py index 55660d38..bf920f55 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -4009,6 +4009,10 @@ def fitness_metric_view(request,mode='rower',days=42): # test if not something already done ms = PowerTimeFitnessMetric.objects.filter(user=request.user) + if not ms: + url = reverse(workouts_view) + return HttpResponseRedirect(url) + max_workout_id = max([m.last_workout for m in ms]) last_update_date = max([m.date.strftime('%Y-%m-%d') for m in ms]) @@ -9961,16 +9965,14 @@ def workout_flexchart3_view(request,*args,**kwargs): workstrokesonly = not includereststrokes flexaxesform = FlexAxesForm(request,request.POST) - print request.POST if flexaxesform.is_valid(): - print 'form valid' cd = flexaxesform.cleaned_data xparam = cd['xaxis'] yparam1 = cd['yaxis1'] yparam2 = cd['yaxis2'] else: - print flexaxesform.errors + pass if not promember: