From 700c84332ade1bf5f48dd97f5c8bf389c28d1464 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Mon, 14 Jan 2019 15:13:28 +0100 Subject: [PATCH] done multiflex and cumflex --- rowers/.coveragerc | 2 + rowers/tests/mocks.py | 6 + rowers/tests/test_interactivecharts.py | 24 +- rowers/tests/test_models.py | 191 +++++- rowers/tests/test_uploads.py | 11 +- rowers/tests/testdata/multiflexdata.csv | 761 ++++++++++++++++++++++++ rowers/tests/testdata/testdata.csv.gz | Bin 11426 -> 11437 bytes rowers/tests/testdata/testdata.tcx | 2 +- 8 files changed, 988 insertions(+), 9 deletions(-) create mode 100644 rowers/.coveragerc create mode 100644 rowers/tests/testdata/multiflexdata.csv diff --git a/rowers/.coveragerc b/rowers/.coveragerc new file mode 100644 index 00000000..190372c2 --- /dev/null +++ b/rowers/.coveragerc @@ -0,0 +1,2 @@ +[run] +omit = *migrations* diff --git a/rowers/tests/mocks.py b/rowers/tests/mocks.py index fb46a263..dab559fd 100644 --- a/rowers/tests/mocks.py +++ b/rowers/tests/mocks.py @@ -146,6 +146,12 @@ def mocked_read_df_cols_sql_multi(ids, columns, convertnewtons=True): return df, extracols +def mocked_read_df_cols_sql_multiflex(ids, columns, convertnewtons=True): + df = pd.read_csv('rowers/tests/testdata/multiflexdata.csv') + extracols = [] + + return df, extracols + def mocked_stravaexport(f2,workoutname,stravatoken,description='', activity_type='Rowing'): print "this is mocked strava export" diff --git a/rowers/tests/test_interactivecharts.py b/rowers/tests/test_interactivecharts.py index 2b720400..8472fad0 100644 --- a/rowers/tests/test_interactivecharts.py +++ b/rowers/tests/test_interactivecharts.py @@ -126,40 +126,52 @@ class InteractiveChartTest(TestCase): @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.read_df_sql') - def test_interactive_chart7(self, mocked_sqlalchemy,mocked_read_df_sql): + @patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db) + def test_interactive_chart7(self, mocked_sqlalchemy,mocked_read_df_sql, + mocked_getsmallrowdata_db): res = iplots.interactive_flex_chart2(self.wote.id,promember=0, xparam='time', yparam1='pace',yparam2='spm') @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.read_df_sql') - def test_interactive_chart8(self, mocked_sqlalchemy,mocked_read_df_sql): + @patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db) + def test_interactive_chart8(self, mocked_sqlalchemy,mocked_read_df_sql, + mocked_getsmallrowdata_db): res = iplots.interactive_flex_chart2(self.wote.id, promember=0,xparam='distance', yparam1='pace',yparam2='spm') @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.read_df_sql') - def test_interactive_chart9(self, mocked_sqlalchemy,mocked_read_df_sql): + @patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db) + def test_interactive_chart9(self, mocked_sqlalchemy,mocked_read_df_sql, + mocked_getsmallrowdata_db): res = iplots.interactive_flex_chart2(self.wote.id, promember=1,xparam='time', yparam1='pace',yparam2='hr') @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.read_df_sql') - def test_interactive_chart10(self, mocked_sqlalchemy,mocked_read_df_sql): + @patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db) + def test_interactive_chart10(self, mocked_sqlalchemy,mocked_read_df_sql, + mocked_getsmallrowdata_db): res = iplots.interactive_flex_chart2(self.wote.id, promember=1,xparam='distance', yparam1='pace',yparam2='hr') @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.read_df_sql') - def test_interactive_chart11(self, mocked_sqlalchemy,mocked_read_df_sql): + @patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db) + def test_interactive_chart11(self, mocked_sqlalchemy,mocked_read_df_sql, + mocked_getsmallrowdata_db): res = iplots.interactive_flex_chart2(self.wote.id, promember=1,xparam='time', yparam1='pace',yparam2='spm') @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.read_df_sql') - def test_interactive_chart12(self, mocked_sqlalchemy,mocked_read_df_sql): + @patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db) + def test_interactive_chart12(self, mocked_sqlalchemy,mocked_read_df_sql, + mocked_getsmallrowdata_db): res = iplots.interactive_flex_chart2(self.wote.id,promember=1, xparam='distance', yparam1='pace',yparam2='spm') diff --git a/rowers/tests/test_models.py b/rowers/tests/test_models.py index 160fa060..d633fc0b 100644 --- a/rowers/tests/test_models.py +++ b/rowers/tests/test_models.py @@ -84,7 +84,7 @@ class WorkoutCompareTest(TestCase): self.assertEqual(response.status_code,200) @patch('rowers.dataprep.create_engine') - @patch('rowers.dataprep.getsmallrowdata_db') + @patch('rowers.dataprep.getsmallrowdata_db', side_effect=mocked_getsmallrowdata_db) def test_workouts_compare_submit(self, mocked_sqlalchemy, mocked_getsmallrowdata_db): @@ -313,6 +313,195 @@ class ForcecurveTest(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) +class CumFlexTest(TestCase): + def setUp(self): + self.u = UserFactory() + + self.r = Rower.objects.create(user=self.u, + birthdate=faker.profile()['birthdate'], + 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() + + @patch('rowers.dataprep.read_cols_df_sql', side_effect = mocked_read_df_cols_sql_multiflex) + def test_cumflex(self, mocked_df): + login = self.c.login(username=self.u.username, password=self.password) + self.assertTrue(login) + + startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date() + enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date() + + waterboattype = [u'1x', + u'2x', + u'2x+', + u'2-', + u'2+', + u'3x+', + u'3x-', + u'4x', + u'4x+', + u'4-', + u'4+', + u'8+', + u'8x+'] + + form_data = { + 'startdate':startdate, + 'enddate':enddate, + 'modality':u'all', + 'waterboattype': waterboattype, + 'xaxis':'spm', + 'yaxis1':'driveenergy', + 'yaxis2':'power', + } + + form = TrendFlexModalForm(form_data) + self.assertTrue(form.is_valid) + + self.factory.user = self.u + form = FlexAxesForm(self.factory,form_data) + + + url = '/rowers/flexall/' + + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + response = self.c.post(url, form_data) + self.assertEqual(response.status_code,200) + + + options = {'enddatestring': '2019-01-14', + 'includereststrokes': False, + 'modality': u'water', + 'rankingonly': False, + 'startdatestring': '2018-12-15', + 'theuser': 2, + 'waterboattype': [u'1x', + u'2x', + u'2x+', + u'2-', + u'2+', + u'3x+', + u'3x-', + u'4x', + u'4x+', + u'4-', + u'4+', + u'8+', + u'8x+'], + 'xparam': u'spm', + 'yparam1': u'driveenergy', + 'yparam2': u'power'} + + self.c.session['options'] = options + self.c.session.save() + + url = '/rowers/flexalldata/' + response = self.c.get(url) + self.assertEqual(response.status_code, 200) + + +class MultiFlexTest(TestCase): + def setUp(self): + self.u = UserFactory() + + self.r = Rower.objects.create(user=self.u, + birthdate=faker.profile()['birthdate'], + 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() + + @patch('rowers.dataprep.read_cols_df_sql', side_effect = mocked_read_df_cols_sql_multiflex) + def test_multiflex(self, mocked_df): + login = self.c.login(username=self.u.username, password=self.password) + self.assertTrue(login) + + startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date() + enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date() + + waterboattype = [u'1x', + u'2x', + u'2x+', + u'2-', + u'2+', + u'3x+', + u'3x-', + u'4x', + u'4x+', + u'4-', + u'4+', + u'8+', + u'8x+'] + + form_data = { + 'startdate':startdate, + 'enddate':enddate, + 'modality':u'all', + 'waterboattype': waterboattype, + 'binsize':u'1', + 'palette':u'monochrome_blue', + 'spmmax':55, + 'spmmin':15, + 'workmax':1500, + 'workmin':0, + 'workouts':[1,2,3,4,5], + 'workoutselectform':'Create Chart', + 'xparam':'spm', + 'yparam':'power', + 'groupby':'driveenergy', + } + + form = MultiFlexChoiceForm(form_data) + self.assertTrue(form.is_valid) + + url = '/rowers/user-multiflex-select/' + + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + url = '/rowers/user-multiflex/user/1/' + reponse = self.c.post(url, form_data,follow=True) + self.assertEqual(response.status_code, 200) + + options={ + 'includereststrokes':False, + 'ploterrorbars':True, + 'userid':0, + 'palette': 'monochrome_blue', + 'groupby': 'driveenergy', + 'binsize': 1, + 'xparam': 'spm', + 'yparam': 'power', + 'spmmin': 15, + 'spmmax': 55, + 'workmin': 400, + 'workmax': 1500, + 'ids': [1,2,3,4,5], + 'ploterrorbars':False, + } + + self.c.session['options'] = options + self.c.session.save() + + url = '/rowers/user-multiflex-data/' + response = self.c.get(url) + self.assertEqual(response.status_code, 200) + class HistoTest(TestCase): def setUp(self): self.u = UserFactory() diff --git a/rowers/tests/test_uploads.py b/rowers/tests/test_uploads.py index 69577eea..903c6476 100644 --- a/rowers/tests/test_uploads.py +++ b/rowers/tests/test_uploads.py @@ -37,7 +37,10 @@ import json import numpy as np from rowers import urls -from rowers.views import error500_view,error404_view,error400_view,error403_view +from rowers.views import ( + error500_view,error404_view,error400_view,error403_view, + add_defaultfavorites + ) from rowers.dataprep import delete_strokedata @@ -59,6 +62,9 @@ class ViewTest(TestCase): gdproptindate=timezone.now(), rowerplan='coach', ) + + add_defaultfavorites(self.r) + self.nu = datetime.datetime.now() def test_upload_view_notloggedin(self): @@ -113,6 +119,9 @@ class ViewTest(TestCase): response = self.c.get('/rowers/workout/1/workflow/', follow=True) + response = self.c.get('/rowers/workout/1/get-thumbnails/', + follow=True) + self.assertEqual(response.status_code, 200) form_data = { diff --git a/rowers/tests/testdata/multiflexdata.csv b/rowers/tests/testdata/multiflexdata.csv new file mode 100644 index 00000000..d98191bf --- /dev/null +++ b/rowers/tests/testdata/multiflexdata.csv @@ -0,0 +1,761 @@ +,distance,power,workoutid,workoutstate,spm,driveenergy +0,0,612.1160502,1,4,36.14457831,1016.112643 +1,11.11111111,612.1160502,1,4,36.14457831,1016.112643 +2,22.22222222,612.1160502,1,4,36.14457831,1016.112643 +3,33.33333333,612.1160502,1,4,36.14457831,1016.112643 +4,44.44444444,612.1160502,1,4,36.14457831,1016.112643 +5,55.55555556,612.1160502,1,4,36.14457831,1016.112643 +6,66.66666667,612.1160502,1,4,36.14457831,1016.112643 +7,77.77777778,612.1160502,1,4,36.14457831,1016.112643 +8,88.88888889,612.1160502,1,4,36.14457831,1016.112643 +9,100,612.1160502,1,4,36.14457831,1016.112643 +10,0,345.8333773,2,4,29.88047809,694.4334217 +11,10.20408163,345.8333773,2,4,29.88047809,694.4334217 +12,20.40816327,345.8333773,2,4,29.88047809,694.4334217 +13,30.6122449,345.8333773,2,4,29.88047809,694.4334217 +14,40.81632653,345.8333773,2,4,29.88047809,694.4334217 +15,51.02040816,345.8333773,2,4,29.88047809,694.4334217 +16,61.2244898,345.8333773,2,4,29.88047809,694.4334217 +17,71.42857143,345.8333773,2,4,29.88047809,694.4334217 +18,81.63265306,345.8333773,2,4,29.88047809,694.4334217 +19,91.83673469,345.8333773,2,4,29.88047809,694.4334217 +20,102.0408163,345.8333773,2,4,29.88047809,694.4334217 +21,112.244898,345.8333773,2,4,29.88047809,694.4334217 +22,122.4489796,345.8333773,2,4,29.88047809,694.4334217 +23,132.6530612,345.8333773,2,4,29.88047809,694.4334217 +24,142.8571429,345.8333773,2,4,29.88047809,694.4334217 +25,153.0612245,345.8333773,2,4,29.88047809,694.4334217 +26,163.2653061,345.8333773,2,4,29.88047809,694.4334217 +27,173.4693878,345.8333773,2,4,29.88047809,694.4334217 +28,183.6734694,345.8333773,2,4,29.88047809,694.4334217 +29,193.877551,345.8333773,2,4,29.88047809,694.4334217 +30,204.0816327,345.8333773,2,4,29.88047809,694.4334217 +31,214.2857143,345.8333773,2,4,29.88047809,694.4334217 +32,224.4897959,345.8333773,2,4,29.88047809,694.4334217 +33,234.6938776,345.8333773,2,4,29.88047809,694.4334217 +34,244.8979592,345.8333773,2,4,29.88047809,694.4334217 +35,255.1020408,345.8333773,2,4,29.88047809,694.4334217 +36,265.3061224,345.8333773,2,4,29.88047809,694.4334217 +37,275.5102041,345.8333773,2,4,29.88047809,694.4334217 +38,285.7142857,345.8333773,2,4,29.88047809,694.4334217 +39,295.9183673,345.8333773,2,4,29.88047809,694.4334217 +40,306.122449,345.8333773,2,4,29.88047809,694.4334217 +41,316.3265306,345.8333773,2,4,29.88047809,694.4334217 +42,326.5306122,345.8333773,2,4,29.88047809,694.4334217 +43,336.7346939,345.8333773,2,4,29.88047809,694.4334217 +44,346.9387755,345.8333773,2,4,29.88047809,694.4334217 +45,357.1428571,345.8333773,2,4,29.88047809,694.4334217 +46,367.3469388,345.8333773,2,4,29.88047809,694.4334217 +47,377.5510204,345.8333773,2,4,29.88047809,694.4334217 +48,387.755102,345.8333773,2,4,29.88047809,694.4334217 +49,397.9591837,345.8333773,2,4,29.88047809,694.4334217 +50,408.1632653,345.8333773,2,4,29.88047809,694.4334217 +51,418.3673469,345.8333773,2,4,29.88047809,694.4334217 +52,428.5714286,345.8333773,2,4,29.88047809,694.4334217 +53,438.7755102,345.8333773,2,4,29.88047809,694.4334217 +54,448.9795918,345.8333773,2,4,29.88047809,694.4334217 +55,459.1836735,345.8333773,2,4,29.88047809,694.4334217 +56,469.3877551,345.8333773,2,4,29.88047809,694.4334217 +57,479.5918367,345.8333773,2,4,29.88047809,694.4334217 +58,489.7959184,345.8333773,2,4,29.88047809,694.4334217 +59,500,345.8333773,2,4,29.88047809,694.4334217 +60,0,272.1323973,3,4,27.5862069,591.8879641 +61,10.1010101,272.1323973,3,4,27.5862069,591.8879641 +62,20.2020202,272.1323973,3,4,27.5862069,591.8879641 +63,30.3030303,272.1323973,3,4,27.5862069,591.8879641 +64,40.4040404,272.1323973,3,4,27.5862069,591.8879641 +65,50.50505051,272.1323973,3,4,27.5862069,591.8879641 +66,60.60606061,272.1323973,3,4,27.5862069,591.8879641 +67,70.70707071,272.1323973,3,4,27.5862069,591.8879641 +68,80.80808081,272.1323973,3,4,27.5862069,591.8879641 +69,90.90909091,272.1323973,3,4,27.5862069,591.8879641 +70,101.010101,272.1323973,3,4,27.5862069,591.8879641 +71,111.1111111,272.1323973,3,4,27.5862069,591.8879641 +72,121.2121212,272.1323973,3,4,27.5862069,591.8879641 +73,131.3131313,272.1323973,3,4,27.5862069,591.8879641 +74,141.4141414,272.1323973,3,4,27.5862069,591.8879641 +75,151.5151515,272.1323973,3,4,27.5862069,591.8879641 +76,161.6161616,272.1323973,3,4,27.5862069,591.8879641 +77,171.7171717,272.1323973,3,4,27.5862069,591.8879641 +78,181.8181818,272.1323973,3,4,27.5862069,591.8879641 +79,191.9191919,272.1323973,3,4,27.5862069,591.8879641 +80,202.020202,272.1323973,3,4,27.5862069,591.8879641 +81,212.1212121,272.1323973,3,4,27.5862069,591.8879641 +82,222.2222222,272.1323973,3,4,27.5862069,591.8879641 +83,232.3232323,272.1323973,3,4,27.5862069,591.8879641 +84,242.4242424,272.1323973,3,4,27.5862069,591.8879641 +85,252.5252525,272.1323973,3,4,27.5862069,591.8879641 +86,262.6262626,272.1323973,3,4,27.5862069,591.8879641 +87,272.7272727,272.1323973,3,4,27.5862069,591.8879641 +88,282.8282828,272.1323973,3,4,27.5862069,591.8879641 +89,292.9292929,272.1323973,3,4,27.5862069,591.8879641 +90,303.030303,272.1323973,3,4,27.5862069,591.8879641 +91,313.1313131,272.1323973,3,4,27.5862069,591.8879641 +92,323.2323232,272.1323973,3,4,27.5862069,591.8879641 +93,333.3333333,272.1323973,3,4,27.5862069,591.8879641 +94,343.4343434,272.1323973,3,4,27.5862069,591.8879641 +95,353.5353535,272.1323973,3,4,27.5862069,591.8879641 +96,363.6363636,272.1323973,3,4,27.5862069,591.8879641 +97,373.7373737,272.1323973,3,4,27.5862069,591.8879641 +98,383.8383838,272.1323973,3,4,27.5862069,591.8879641 +99,393.9393939,272.1323973,3,4,27.5862069,591.8879641 +100,404.040404,272.1323973,3,4,27.5862069,591.8879641 +101,414.1414141,272.1323973,3,4,27.5862069,591.8879641 +102,424.2424242,272.1323973,3,4,27.5862069,591.8879641 +103,434.3434343,272.1323973,3,4,27.5862069,591.8879641 +104,444.4444444,272.1323973,3,4,27.5862069,591.8879641 +105,454.5454545,272.1323973,3,4,27.5862069,591.8879641 +106,464.6464646,272.1323973,3,4,27.5862069,591.8879641 +107,474.7474747,272.1323973,3,4,27.5862069,591.8879641 +108,484.8484848,272.1323973,3,4,27.5862069,591.8879641 +109,494.9494949,272.1323973,3,4,27.5862069,591.8879641 +110,505.0505051,272.1323973,3,4,27.5862069,591.8879641 +111,515.1515152,272.1323973,3,4,27.5862069,591.8879641 +112,525.2525253,272.1323973,3,4,27.5862069,591.8879641 +113,535.3535354,272.1323973,3,4,27.5862069,591.8879641 +114,545.4545455,272.1323973,3,4,27.5862069,591.8879641 +115,555.5555556,272.1323973,3,4,27.5862069,591.8879641 +116,565.6565657,272.1323973,3,4,27.5862069,591.8879641 +117,575.7575758,272.1323973,3,4,27.5862069,591.8879641 +118,585.8585859,272.1323973,3,4,27.5862069,591.8879641 +119,595.959596,272.1323973,3,4,27.5862069,591.8879641 +120,606.0606061,272.1323973,3,4,27.5862069,591.8879641 +121,616.1616162,272.1323973,3,4,27.5862069,591.8879641 +122,626.2626263,272.1323973,3,4,27.5862069,591.8879641 +123,636.3636364,272.1323973,3,4,27.5862069,591.8879641 +124,646.4646465,272.1323973,3,4,27.5862069,591.8879641 +125,656.5656566,272.1323973,3,4,27.5862069,591.8879641 +126,666.6666667,272.1323973,3,4,27.5862069,591.8879641 +127,676.7676768,272.1323973,3,4,27.5862069,591.8879641 +128,686.8686869,272.1323973,3,4,27.5862069,591.8879641 +129,696.969697,272.1323973,3,4,27.5862069,591.8879641 +130,707.0707071,272.1323973,3,4,27.5862069,591.8879641 +131,717.1717172,272.1323973,3,4,27.5862069,591.8879641 +132,727.2727273,272.1323973,3,4,27.5862069,591.8879641 +133,737.3737374,272.1323973,3,4,27.5862069,591.8879641 +134,747.4747475,272.1323973,3,4,27.5862069,591.8879641 +135,757.5757576,272.1323973,3,4,27.5862069,591.8879641 +136,767.6767677,272.1323973,3,4,27.5862069,591.8879641 +137,777.7777778,272.1323973,3,4,27.5862069,591.8879641 +138,787.8787879,272.1323973,3,4,27.5862069,591.8879641 +139,797.979798,272.1323973,3,4,27.5862069,591.8879641 +140,808.0808081,272.1323973,3,4,27.5862069,591.8879641 +141,818.1818182,272.1323973,3,4,27.5862069,591.8879641 +142,828.2828283,272.1323973,3,4,27.5862069,591.8879641 +143,838.3838384,272.1323973,3,4,27.5862069,591.8879641 +144,848.4848485,272.1323973,3,4,27.5862069,591.8879641 +145,858.5858586,272.1323973,3,4,27.5862069,591.8879641 +146,868.6868687,272.1323973,3,4,27.5862069,591.8879641 +147,878.7878788,272.1323973,3,4,27.5862069,591.8879641 +148,888.8888889,272.1323973,3,4,27.5862069,591.8879641 +149,898.989899,272.1323973,3,4,27.5862069,591.8879641 +150,909.0909091,272.1323973,3,4,27.5862069,591.8879641 +151,919.1919192,272.1323973,3,4,27.5862069,591.8879641 +152,929.2929293,272.1323973,3,4,27.5862069,591.8879641 +153,939.3939394,272.1323973,3,4,27.5862069,591.8879641 +154,949.4949495,272.1323973,3,4,27.5862069,591.8879641 +155,959.5959596,272.1323973,3,4,27.5862069,591.8879641 +156,969.6969697,272.1323973,3,4,27.5862069,591.8879641 +157,979.7979798,272.1323973,3,4,27.5862069,591.8879641 +158,989.8989899,272.1323973,3,4,27.5862069,591.8879641 +159,1000,272.1323973,3,4,27.5862069,591.8879641 +160,0,180.0629199,4,4,24.03846154,449.437048 +161,10.02004008,180.0629199,4,4,24.03846154,449.437048 +162,20.04008016,180.0629199,4,4,24.03846154,449.437048 +163,30.06012024,180.0629199,4,4,24.03846154,449.437048 +164,40.08016032,180.0629199,4,4,24.03846154,449.437048 +165,50.1002004,180.0629199,4,4,24.03846154,449.437048 +166,60.12024048,180.0629199,4,4,24.03846154,449.437048 +167,70.14028056,180.0629199,4,4,24.03846154,449.437048 +168,80.16032064,180.0629199,4,4,24.03846154,449.437048 +169,90.18036072,180.0629199,4,4,24.03846154,449.437048 +170,100.2004008,180.0629199,4,4,24.03846154,449.437048 +171,110.2204409,180.0629199,4,4,24.03846154,449.437048 +172,120.240481,180.0629199,4,4,24.03846154,449.437048 +173,130.260521,180.0629199,4,4,24.03846154,449.437048 +174,140.2805611,180.0629199,4,4,24.03846154,449.437048 +175,150.3006012,180.0629199,4,4,24.03846154,449.437048 +176,160.3206413,180.0629199,4,4,24.03846154,449.437048 +177,170.3406814,180.0629199,4,4,24.03846154,449.437048 +178,180.3607214,180.0629199,4,4,24.03846154,449.437048 +179,190.3807615,180.0629199,4,4,24.03846154,449.437048 +180,200.4008016,180.0629199,4,4,24.03846154,449.437048 +181,210.4208417,180.0629199,4,4,24.03846154,449.437048 +182,220.4408818,180.0629199,4,4,24.03846154,449.437048 +183,230.4609218,180.0629199,4,4,24.03846154,449.437048 +184,240.4809619,180.0629199,4,4,24.03846154,449.437048 +185,250.501002,180.0629199,4,4,24.03846154,449.437048 +186,260.5210421,180.0629199,4,4,24.03846154,449.437048 +187,270.5410822,180.0629199,4,4,24.03846154,449.437048 +188,280.5611222,180.0629199,4,4,24.03846154,449.437048 +189,290.5811623,180.0629199,4,4,24.03846154,449.437048 +190,300.6012024,180.0629199,4,4,24.03846154,449.437048 +191,310.6212425,180.0629199,4,4,24.03846154,449.437048 +192,320.6412826,180.0629199,4,4,24.03846154,449.437048 +193,330.6613226,180.0629199,4,4,24.03846154,449.437048 +194,340.6813627,180.0629199,4,4,24.03846154,449.437048 +195,350.7014028,180.0629199,4,4,24.03846154,449.437048 +196,360.7214429,180.0629199,4,4,24.03846154,449.437048 +197,370.741483,180.0629199,4,4,24.03846154,449.437048 +198,380.761523,180.0629199,4,4,24.03846154,449.437048 +199,390.7815631,180.0629199,4,4,24.03846154,449.437048 +200,400.8016032,180.0629199,4,4,24.03846154,449.437048 +201,410.8216433,180.0629199,4,4,24.03846154,449.437048 +202,420.8416834,180.0629199,4,4,24.03846154,449.437048 +203,430.8617234,180.0629199,4,4,24.03846154,449.437048 +204,440.8817635,180.0629199,4,4,24.03846154,449.437048 +205,450.9018036,180.0629199,4,4,24.03846154,449.437048 +206,460.9218437,180.0629199,4,4,24.03846154,449.437048 +207,470.9418838,180.0629199,4,4,24.03846154,449.437048 +208,480.9619238,180.0629199,4,4,24.03846154,449.437048 +209,490.9819639,180.0629199,4,4,24.03846154,449.437048 +210,501.002004,180.0629199,4,4,24.03846154,449.437048 +211,511.0220441,180.0629199,4,4,24.03846154,449.437048 +212,521.0420842,180.0629199,4,4,24.03846154,449.437048 +213,531.0621242,180.0629199,4,4,24.03846154,449.437048 +214,541.0821643,180.0629199,4,4,24.03846154,449.437048 +215,551.1022044,180.0629199,4,4,24.03846154,449.437048 +216,561.1222445,180.0629199,4,4,24.03846154,449.437048 +217,571.1422846,180.0629199,4,4,24.03846154,449.437048 +218,581.1623246,180.0629199,4,4,24.03846154,449.437048 +219,591.1823647,180.0629199,4,4,24.03846154,449.437048 +220,601.2024048,180.0629199,4,4,24.03846154,449.437048 +221,611.2224449,180.0629199,4,4,24.03846154,449.437048 +222,621.242485,180.0629199,4,4,24.03846154,449.437048 +223,631.2625251,180.0629199,4,4,24.03846154,449.437048 +224,641.2825651,180.0629199,4,4,24.03846154,449.437048 +225,651.3026052,180.0629199,4,4,24.03846154,449.437048 +226,661.3226453,180.0629199,4,4,24.03846154,449.437048 +227,671.3426854,180.0629199,4,4,24.03846154,449.437048 +228,681.3627255,180.0629199,4,4,24.03846154,449.437048 +229,691.3827655,180.0629199,4,4,24.03846154,449.437048 +230,701.4028056,180.0629199,4,4,24.03846154,449.437048 +231,711.4228457,180.0629199,4,4,24.03846154,449.437048 +232,721.4428858,180.0629199,4,4,24.03846154,449.437048 +233,731.4629259,180.0629199,4,4,24.03846154,449.437048 +234,741.4829659,180.0629199,4,4,24.03846154,449.437048 +235,751.503006,180.0629199,4,4,24.03846154,449.437048 +236,761.5230461,180.0629199,4,4,24.03846154,449.437048 +237,771.5430862,180.0629199,4,4,24.03846154,449.437048 +238,781.5631263,180.0629199,4,4,24.03846154,449.437048 +239,791.5831663,180.0629199,4,4,24.03846154,449.437048 +240,801.6032064,180.0629199,4,4,24.03846154,449.437048 +241,811.6232465,180.0629199,4,4,24.03846154,449.437048 +242,821.6432866,180.0629199,4,4,24.03846154,449.437048 +243,831.6633267,180.0629199,4,4,24.03846154,449.437048 +244,841.6833667,180.0629199,4,4,24.03846154,449.437048 +245,851.7034068,180.0629199,4,4,24.03846154,449.437048 +246,861.7234469,180.0629199,4,4,24.03846154,449.437048 +247,871.743487,180.0629199,4,4,24.03846154,449.437048 +248,881.7635271,180.0629199,4,4,24.03846154,449.437048 +249,891.7835671,180.0629199,4,4,24.03846154,449.437048 +250,901.8036072,180.0629199,4,4,24.03846154,449.437048 +251,911.8236473,180.0629199,4,4,24.03846154,449.437048 +252,921.8436874,180.0629199,4,4,24.03846154,449.437048 +253,931.8637275,180.0629199,4,4,24.03846154,449.437048 +254,941.8837675,180.0629199,4,4,24.03846154,449.437048 +255,951.9038076,180.0629199,4,4,24.03846154,449.437048 +256,961.9238477,180.0629199,4,4,24.03846154,449.437048 +257,971.9438878,180.0629199,4,4,24.03846154,449.437048 +258,981.9639279,180.0629199,4,4,24.03846154,449.437048 +259,991.9839679,180.0629199,4,4,24.03846154,449.437048 +260,1002.004008,180.0629199,4,4,24.03846154,449.437048 +261,1012.024048,180.0629199,4,4,24.03846154,449.437048 +262,1022.044088,180.0629199,4,4,24.03846154,449.437048 +263,1032.064128,180.0629199,4,4,24.03846154,449.437048 +264,1042.084168,180.0629199,4,4,24.03846154,449.437048 +265,1052.104208,180.0629199,4,4,24.03846154,449.437048 +266,1062.124249,180.0629199,4,4,24.03846154,449.437048 +267,1072.144289,180.0629199,4,4,24.03846154,449.437048 +268,1082.164329,180.0629199,4,4,24.03846154,449.437048 +269,1092.184369,180.0629199,4,4,24.03846154,449.437048 +270,1102.204409,180.0629199,4,4,24.03846154,449.437048 +271,1112.224449,180.0629199,4,4,24.03846154,449.437048 +272,1122.244489,180.0629199,4,4,24.03846154,449.437048 +273,1132.264529,180.0629199,4,4,24.03846154,449.437048 +274,1142.284569,180.0629199,4,4,24.03846154,449.437048 +275,1152.304609,180.0629199,4,4,24.03846154,449.437048 +276,1162.324649,180.0629199,4,4,24.03846154,449.437048 +277,1172.344689,180.0629199,4,4,24.03846154,449.437048 +278,1182.364729,180.0629199,4,4,24.03846154,449.437048 +279,1192.38477,180.0629199,4,4,24.03846154,449.437048 +280,1202.40481,180.0629199,4,4,24.03846154,449.437048 +281,1212.42485,180.0629199,4,4,24.03846154,449.437048 +282,1222.44489,180.0629199,4,4,24.03846154,449.437048 +283,1232.46493,180.0629199,4,4,24.03846154,449.437048 +284,1242.48497,180.0629199,4,4,24.03846154,449.437048 +285,1252.50501,180.0629199,4,4,24.03846154,449.437048 +286,1262.52505,180.0629199,4,4,24.03846154,449.437048 +287,1272.54509,180.0629199,4,4,24.03846154,449.437048 +288,1282.56513,180.0629199,4,4,24.03846154,449.437048 +289,1292.58517,180.0629199,4,4,24.03846154,449.437048 +290,1302.60521,180.0629199,4,4,24.03846154,449.437048 +291,1312.625251,180.0629199,4,4,24.03846154,449.437048 +292,1322.645291,180.0629199,4,4,24.03846154,449.437048 +293,1332.665331,180.0629199,4,4,24.03846154,449.437048 +294,1342.685371,180.0629199,4,4,24.03846154,449.437048 +295,1352.705411,180.0629199,4,4,24.03846154,449.437048 +296,1362.725451,180.0629199,4,4,24.03846154,449.437048 +297,1372.745491,180.0629199,4,4,24.03846154,449.437048 +298,1382.765531,180.0629199,4,4,24.03846154,449.437048 +299,1392.785571,180.0629199,4,4,24.03846154,449.437048 +300,1402.805611,180.0629199,4,4,24.03846154,449.437048 +301,1412.825651,180.0629199,4,4,24.03846154,449.437048 +302,1422.845691,180.0629199,4,4,24.03846154,449.437048 +303,1432.865731,180.0629199,4,4,24.03846154,449.437048 +304,1442.885772,180.0629199,4,4,24.03846154,449.437048 +305,1452.905812,180.0629199,4,4,24.03846154,449.437048 +306,1462.925852,180.0629199,4,4,24.03846154,449.437048 +307,1472.945892,180.0629199,4,4,24.03846154,449.437048 +308,1482.965932,180.0629199,4,4,24.03846154,449.437048 +309,1492.985972,180.0629199,4,4,24.03846154,449.437048 +310,1503.006012,180.0629199,4,4,24.03846154,449.437048 +311,1513.026052,180.0629199,4,4,24.03846154,449.437048 +312,1523.046092,180.0629199,4,4,24.03846154,449.437048 +313,1533.066132,180.0629199,4,4,24.03846154,449.437048 +314,1543.086172,180.0629199,4,4,24.03846154,449.437048 +315,1553.106212,180.0629199,4,4,24.03846154,449.437048 +316,1563.126253,180.0629199,4,4,24.03846154,449.437048 +317,1573.146293,180.0629199,4,4,24.03846154,449.437048 +318,1583.166333,180.0629199,4,4,24.03846154,449.437048 +319,1593.186373,180.0629199,4,4,24.03846154,449.437048 +320,1603.206413,180.0629199,4,4,24.03846154,449.437048 +321,1613.226453,180.0629199,4,4,24.03846154,449.437048 +322,1623.246493,180.0629199,4,4,24.03846154,449.437048 +323,1633.266533,180.0629199,4,4,24.03846154,449.437048 +324,1643.286573,180.0629199,4,4,24.03846154,449.437048 +325,1653.306613,180.0629199,4,4,24.03846154,449.437048 +326,1663.326653,180.0629199,4,4,24.03846154,449.437048 +327,1673.346693,180.0629199,4,4,24.03846154,449.437048 +328,1683.366733,180.0629199,4,4,24.03846154,449.437048 +329,1693.386774,180.0629199,4,4,24.03846154,449.437048 +330,1703.406814,180.0629199,4,4,24.03846154,449.437048 +331,1713.426854,180.0629199,4,4,24.03846154,449.437048 +332,1723.446894,180.0629199,4,4,24.03846154,449.437048 +333,1733.466934,180.0629199,4,4,24.03846154,449.437048 +334,1743.486974,180.0629199,4,4,24.03846154,449.437048 +335,1753.507014,180.0629199,4,4,24.03846154,449.437048 +336,1763.527054,180.0629199,4,4,24.03846154,449.437048 +337,1773.547094,180.0629199,4,4,24.03846154,449.437048 +338,1783.567134,180.0629199,4,4,24.03846154,449.437048 +339,1793.587174,180.0629199,4,4,24.03846154,449.437048 +340,1803.607214,180.0629199,4,4,24.03846154,449.437048 +341,1813.627255,180.0629199,4,4,24.03846154,449.437048 +342,1823.647295,180.0629199,4,4,24.03846154,449.437048 +343,1833.667335,180.0629199,4,4,24.03846154,449.437048 +344,1843.687375,180.0629199,4,4,24.03846154,449.437048 +345,1853.707415,180.0629199,4,4,24.03846154,449.437048 +346,1863.727455,180.0629199,4,4,24.03846154,449.437048 +347,1873.747495,180.0629199,4,4,24.03846154,449.437048 +348,1883.767535,180.0629199,4,4,24.03846154,449.437048 +349,1893.787575,180.0629199,4,4,24.03846154,449.437048 +350,1903.807615,180.0629199,4,4,24.03846154,449.437048 +351,1913.827655,180.0629199,4,4,24.03846154,449.437048 +352,1923.847695,180.0629199,4,4,24.03846154,449.437048 +353,1933.867735,180.0629199,4,4,24.03846154,449.437048 +354,1943.887776,180.0629199,4,4,24.03846154,449.437048 +355,1953.907816,180.0629199,4,4,24.03846154,449.437048 +356,1963.927856,180.0629199,4,4,24.03846154,449.437048 +357,1973.947896,180.0629199,4,4,24.03846154,449.437048 +358,1983.967936,180.0629199,4,4,24.03846154,449.437048 +359,1993.987976,180.0629199,4,4,24.03846154,449.437048 +360,2004.008016,180.0629199,4,4,24.03846154,449.437048 +361,2014.028056,180.0629199,4,4,24.03846154,449.437048 +362,2024.048096,180.0629199,4,4,24.03846154,449.437048 +363,2034.068136,180.0629199,4,4,24.03846154,449.437048 +364,2044.088176,180.0629199,4,4,24.03846154,449.437048 +365,2054.108216,180.0629199,4,4,24.03846154,449.437048 +366,2064.128257,180.0629199,4,4,24.03846154,449.437048 +367,2074.148297,180.0629199,4,4,24.03846154,449.437048 +368,2084.168337,180.0629199,4,4,24.03846154,449.437048 +369,2094.188377,180.0629199,4,4,24.03846154,449.437048 +370,2104.208417,180.0629199,4,4,24.03846154,449.437048 +371,2114.228457,180.0629199,4,4,24.03846154,449.437048 +372,2124.248497,180.0629199,4,4,24.03846154,449.437048 +373,2134.268537,180.0629199,4,4,24.03846154,449.437048 +374,2144.288577,180.0629199,4,4,24.03846154,449.437048 +375,2154.308617,180.0629199,4,4,24.03846154,449.437048 +376,2164.328657,180.0629199,4,4,24.03846154,449.437048 +377,2174.348697,180.0629199,4,4,24.03846154,449.437048 +378,2184.368737,180.0629199,4,4,24.03846154,449.437048 +379,2194.388778,180.0629199,4,4,24.03846154,449.437048 +380,2204.408818,180.0629199,4,4,24.03846154,449.437048 +381,2214.428858,180.0629199,4,4,24.03846154,449.437048 +382,2224.448898,180.0629199,4,4,24.03846154,449.437048 +383,2234.468938,180.0629199,4,4,24.03846154,449.437048 +384,2244.488978,180.0629199,4,4,24.03846154,449.437048 +385,2254.509018,180.0629199,4,4,24.03846154,449.437048 +386,2264.529058,180.0629199,4,4,24.03846154,449.437048 +387,2274.549098,180.0629199,4,4,24.03846154,449.437048 +388,2284.569138,180.0629199,4,4,24.03846154,449.437048 +389,2294.589178,180.0629199,4,4,24.03846154,449.437048 +390,2304.609218,180.0629199,4,4,24.03846154,449.437048 +391,2314.629259,180.0629199,4,4,24.03846154,449.437048 +392,2324.649299,180.0629199,4,4,24.03846154,449.437048 +393,2334.669339,180.0629199,4,4,24.03846154,449.437048 +394,2344.689379,180.0629199,4,4,24.03846154,449.437048 +395,2354.709419,180.0629199,4,4,24.03846154,449.437048 +396,2364.729459,180.0629199,4,4,24.03846154,449.437048 +397,2374.749499,180.0629199,4,4,24.03846154,449.437048 +398,2384.769539,180.0629199,4,4,24.03846154,449.437048 +399,2394.789579,180.0629199,4,4,24.03846154,449.437048 +400,2404.809619,180.0629199,4,4,24.03846154,449.437048 +401,2414.829659,180.0629199,4,4,24.03846154,449.437048 +402,2424.849699,180.0629199,4,4,24.03846154,449.437048 +403,2434.869739,180.0629199,4,4,24.03846154,449.437048 +404,2444.88978,180.0629199,4,4,24.03846154,449.437048 +405,2454.90982,180.0629199,4,4,24.03846154,449.437048 +406,2464.92986,180.0629199,4,4,24.03846154,449.437048 +407,2474.9499,180.0629199,4,4,24.03846154,449.437048 +408,2484.96994,180.0629199,4,4,24.03846154,449.437048 +409,2494.98998,180.0629199,4,4,24.03846154,449.437048 +410,2505.01002,180.0629199,4,4,24.03846154,449.437048 +411,2515.03006,180.0629199,4,4,24.03846154,449.437048 +412,2525.0501,180.0629199,4,4,24.03846154,449.437048 +413,2535.07014,180.0629199,4,4,24.03846154,449.437048 +414,2545.09018,180.0629199,4,4,24.03846154,449.437048 +415,2555.11022,180.0629199,4,4,24.03846154,449.437048 +416,2565.130261,180.0629199,4,4,24.03846154,449.437048 +417,2575.150301,180.0629199,4,4,24.03846154,449.437048 +418,2585.170341,180.0629199,4,4,24.03846154,449.437048 +419,2595.190381,180.0629199,4,4,24.03846154,449.437048 +420,2605.210421,180.0629199,4,4,24.03846154,449.437048 +421,2615.230461,180.0629199,4,4,24.03846154,449.437048 +422,2625.250501,180.0629199,4,4,24.03846154,449.437048 +423,2635.270541,180.0629199,4,4,24.03846154,449.437048 +424,2645.290581,180.0629199,4,4,24.03846154,449.437048 +425,2655.310621,180.0629199,4,4,24.03846154,449.437048 +426,2665.330661,180.0629199,4,4,24.03846154,449.437048 +427,2675.350701,180.0629199,4,4,24.03846154,449.437048 +428,2685.370741,180.0629199,4,4,24.03846154,449.437048 +429,2695.390782,180.0629199,4,4,24.03846154,449.437048 +430,2705.410822,180.0629199,4,4,24.03846154,449.437048 +431,2715.430862,180.0629199,4,4,24.03846154,449.437048 +432,2725.450902,180.0629199,4,4,24.03846154,449.437048 +433,2735.470942,180.0629199,4,4,24.03846154,449.437048 +434,2745.490982,180.0629199,4,4,24.03846154,449.437048 +435,2755.511022,180.0629199,4,4,24.03846154,449.437048 +436,2765.531062,180.0629199,4,4,24.03846154,449.437048 +437,2775.551102,180.0629199,4,4,24.03846154,449.437048 +438,2785.571142,180.0629199,4,4,24.03846154,449.437048 +439,2795.591182,180.0629199,4,4,24.03846154,449.437048 +440,2805.611222,180.0629199,4,4,24.03846154,449.437048 +441,2815.631263,180.0629199,4,4,24.03846154,449.437048 +442,2825.651303,180.0629199,4,4,24.03846154,449.437048 +443,2835.671343,180.0629199,4,4,24.03846154,449.437048 +444,2845.691383,180.0629199,4,4,24.03846154,449.437048 +445,2855.711423,180.0629199,4,4,24.03846154,449.437048 +446,2865.731463,180.0629199,4,4,24.03846154,449.437048 +447,2875.751503,180.0629199,4,4,24.03846154,449.437048 +448,2885.771543,180.0629199,4,4,24.03846154,449.437048 +449,2895.791583,180.0629199,4,4,24.03846154,449.437048 +450,2905.811623,180.0629199,4,4,24.03846154,449.437048 +451,2915.831663,180.0629199,4,4,24.03846154,449.437048 +452,2925.851703,180.0629199,4,4,24.03846154,449.437048 +453,2935.871743,180.0629199,4,4,24.03846154,449.437048 +454,2945.891784,180.0629199,4,4,24.03846154,449.437048 +455,2955.911824,180.0629199,4,4,24.03846154,449.437048 +456,2965.931864,180.0629199,4,4,24.03846154,449.437048 +457,2975.951904,180.0629199,4,4,24.03846154,449.437048 +458,2985.971944,180.0629199,4,4,24.03846154,449.437048 +459,2995.991984,180.0629199,4,4,24.03846154,449.437048 +460,3006.012024,180.0629199,4,4,24.03846154,449.437048 +461,3016.032064,180.0629199,4,4,24.03846154,449.437048 +462,3026.052104,180.0629199,4,4,24.03846154,449.437048 +463,3036.072144,180.0629199,4,4,24.03846154,449.437048 +464,3046.092184,180.0629199,4,4,24.03846154,449.437048 +465,3056.112224,180.0629199,4,4,24.03846154,449.437048 +466,3066.132265,180.0629199,4,4,24.03846154,449.437048 +467,3076.152305,180.0629199,4,4,24.03846154,449.437048 +468,3086.172345,180.0629199,4,4,24.03846154,449.437048 +469,3096.192385,180.0629199,4,4,24.03846154,449.437048 +470,3106.212425,180.0629199,4,4,24.03846154,449.437048 +471,3116.232465,180.0629199,4,4,24.03846154,449.437048 +472,3126.252505,180.0629199,4,4,24.03846154,449.437048 +473,3136.272545,180.0629199,4,4,24.03846154,449.437048 +474,3146.292585,180.0629199,4,4,24.03846154,449.437048 +475,3156.312625,180.0629199,4,4,24.03846154,449.437048 +476,3166.332665,180.0629199,4,4,24.03846154,449.437048 +477,3176.352705,180.0629199,4,4,24.03846154,449.437048 +478,3186.372745,180.0629199,4,4,24.03846154,449.437048 +479,3196.392786,180.0629199,4,4,24.03846154,449.437048 +480,3206.412826,180.0629199,4,4,24.03846154,449.437048 +481,3216.432866,180.0629199,4,4,24.03846154,449.437048 +482,3226.452906,180.0629199,4,4,24.03846154,449.437048 +483,3236.472946,180.0629199,4,4,24.03846154,449.437048 +484,3246.492986,180.0629199,4,4,24.03846154,449.437048 +485,3256.513026,180.0629199,4,4,24.03846154,449.437048 +486,3266.533066,180.0629199,4,4,24.03846154,449.437048 +487,3276.553106,180.0629199,4,4,24.03846154,449.437048 +488,3286.573146,180.0629199,4,4,24.03846154,449.437048 +489,3296.593186,180.0629199,4,4,24.03846154,449.437048 +490,3306.613226,180.0629199,4,4,24.03846154,449.437048 +491,3316.633267,180.0629199,4,4,24.03846154,449.437048 +492,3326.653307,180.0629199,4,4,24.03846154,449.437048 +493,3336.673347,180.0629199,4,4,24.03846154,449.437048 +494,3346.693387,180.0629199,4,4,24.03846154,449.437048 +495,3356.713427,180.0629199,4,4,24.03846154,449.437048 +496,3366.733467,180.0629199,4,4,24.03846154,449.437048 +497,3376.753507,180.0629199,4,4,24.03846154,449.437048 +498,3386.773547,180.0629199,4,4,24.03846154,449.437048 +499,3396.793587,180.0629199,4,4,24.03846154,449.437048 +500,3406.813627,180.0629199,4,4,24.03846154,449.437048 +501,3416.833667,180.0629199,4,4,24.03846154,449.437048 +502,3426.853707,180.0629199,4,4,24.03846154,449.437048 +503,3436.873747,180.0629199,4,4,24.03846154,449.437048 +504,3446.893788,180.0629199,4,4,24.03846154,449.437048 +505,3456.913828,180.0629199,4,4,24.03846154,449.437048 +506,3466.933868,180.0629199,4,4,24.03846154,449.437048 +507,3476.953908,180.0629199,4,4,24.03846154,449.437048 +508,3486.973948,180.0629199,4,4,24.03846154,449.437048 +509,3496.993988,180.0629199,4,4,24.03846154,449.437048 +510,3507.014028,180.0629199,4,4,24.03846154,449.437048 +511,3517.034068,180.0629199,4,4,24.03846154,449.437048 +512,3527.054108,180.0629199,4,4,24.03846154,449.437048 +513,3537.074148,180.0629199,4,4,24.03846154,449.437048 +514,3547.094188,180.0629199,4,4,24.03846154,449.437048 +515,3557.114228,180.0629199,4,4,24.03846154,449.437048 +516,3567.134269,180.0629199,4,4,24.03846154,449.437048 +517,3577.154309,180.0629199,4,4,24.03846154,449.437048 +518,3587.174349,180.0629199,4,4,24.03846154,449.437048 +519,3597.194389,180.0629199,4,4,24.03846154,449.437048 +520,3607.214429,180.0629199,4,4,24.03846154,449.437048 +521,3617.234469,180.0629199,4,4,24.03846154,449.437048 +522,3627.254509,180.0629199,4,4,24.03846154,449.437048 +523,3637.274549,180.0629199,4,4,24.03846154,449.437048 +524,3647.294589,180.0629199,4,4,24.03846154,449.437048 +525,3657.314629,180.0629199,4,4,24.03846154,449.437048 +526,3667.334669,180.0629199,4,4,24.03846154,449.437048 +527,3677.354709,180.0629199,4,4,24.03846154,449.437048 +528,3687.37475,180.0629199,4,4,24.03846154,449.437048 +529,3697.39479,180.0629199,4,4,24.03846154,449.437048 +530,3707.41483,180.0629199,4,4,24.03846154,449.437048 +531,3717.43487,180.0629199,4,4,24.03846154,449.437048 +532,3727.45491,180.0629199,4,4,24.03846154,449.437048 +533,3737.47495,180.0629199,4,4,24.03846154,449.437048 +534,3747.49499,180.0629199,4,4,24.03846154,449.437048 +535,3757.51503,180.0629199,4,4,24.03846154,449.437048 +536,3767.53507,180.0629199,4,4,24.03846154,449.437048 +537,3777.55511,180.0629199,4,4,24.03846154,449.437048 +538,3787.57515,180.0629199,4,4,24.03846154,449.437048 +539,3797.59519,180.0629199,4,4,24.03846154,449.437048 +540,3807.61523,180.0629199,4,4,24.03846154,449.437048 +541,3817.635271,180.0629199,4,4,24.03846154,449.437048 +542,3827.655311,180.0629199,4,4,24.03846154,449.437048 +543,3837.675351,180.0629199,4,4,24.03846154,449.437048 +544,3847.695391,180.0629199,4,4,24.03846154,449.437048 +545,3857.715431,180.0629199,4,4,24.03846154,449.437048 +546,3867.735471,180.0629199,4,4,24.03846154,449.437048 +547,3877.755511,180.0629199,4,4,24.03846154,449.437048 +548,3887.775551,180.0629199,4,4,24.03846154,449.437048 +549,3897.795591,180.0629199,4,4,24.03846154,449.437048 +550,3907.815631,180.0629199,4,4,24.03846154,449.437048 +551,3917.835671,180.0629199,4,4,24.03846154,449.437048 +552,3927.855711,180.0629199,4,4,24.03846154,449.437048 +553,3937.875752,180.0629199,4,4,24.03846154,449.437048 +554,3947.895792,180.0629199,4,4,24.03846154,449.437048 +555,3957.915832,180.0629199,4,4,24.03846154,449.437048 +556,3967.935872,180.0629199,4,4,24.03846154,449.437048 +557,3977.955912,180.0629199,4,4,24.03846154,449.437048 +558,3987.975952,180.0629199,4,4,24.03846154,449.437048 +559,3997.995992,180.0629199,4,4,24.03846154,449.437048 +560,4008.016032,180.0629199,4,4,24.03846154,449.437048 +561,4018.036072,180.0629199,4,4,24.03846154,449.437048 +562,4028.056112,180.0629199,4,4,24.03846154,449.437048 +563,4038.076152,180.0629199,4,4,24.03846154,449.437048 +564,4048.096192,180.0629199,4,4,24.03846154,449.437048 +565,4058.116232,180.0629199,4,4,24.03846154,449.437048 +566,4068.136273,180.0629199,4,4,24.03846154,449.437048 +567,4078.156313,180.0629199,4,4,24.03846154,449.437048 +568,4088.176353,180.0629199,4,4,24.03846154,449.437048 +569,4098.196393,180.0629199,4,4,24.03846154,449.437048 +570,4108.216433,180.0629199,4,4,24.03846154,449.437048 +571,4118.236473,180.0629199,4,4,24.03846154,449.437048 +572,4128.256513,180.0629199,4,4,24.03846154,449.437048 +573,4138.276553,180.0629199,4,4,24.03846154,449.437048 +574,4148.296593,180.0629199,4,4,24.03846154,449.437048 +575,4158.316633,180.0629199,4,4,24.03846154,449.437048 +576,4168.336673,180.0629199,4,4,24.03846154,449.437048 +577,4178.356713,180.0629199,4,4,24.03846154,449.437048 +578,4188.376754,180.0629199,4,4,24.03846154,449.437048 +579,4198.396794,180.0629199,4,4,24.03846154,449.437048 +580,4208.416834,180.0629199,4,4,24.03846154,449.437048 +581,4218.436874,180.0629199,4,4,24.03846154,449.437048 +582,4228.456914,180.0629199,4,4,24.03846154,449.437048 +583,4238.476954,180.0629199,4,4,24.03846154,449.437048 +584,4248.496994,180.0629199,4,4,24.03846154,449.437048 +585,4258.517034,180.0629199,4,4,24.03846154,449.437048 +586,4268.537074,180.0629199,4,4,24.03846154,449.437048 +587,4278.557114,180.0629199,4,4,24.03846154,449.437048 +588,4288.577154,180.0629199,4,4,24.03846154,449.437048 +589,4298.597194,180.0629199,4,4,24.03846154,449.437048 +590,4308.617234,180.0629199,4,4,24.03846154,449.437048 +591,4318.637275,180.0629199,4,4,24.03846154,449.437048 +592,4328.657315,180.0629199,4,4,24.03846154,449.437048 +593,4338.677355,180.0629199,4,4,24.03846154,449.437048 +594,4348.697395,180.0629199,4,4,24.03846154,449.437048 +595,4358.717435,180.0629199,4,4,24.03846154,449.437048 +596,4368.737475,180.0629199,4,4,24.03846154,449.437048 +597,4378.757515,180.0629199,4,4,24.03846154,449.437048 +598,4388.777555,180.0629199,4,4,24.03846154,449.437048 +599,4398.797595,180.0629199,4,4,24.03846154,449.437048 +600,4408.817635,180.0629199,4,4,24.03846154,449.437048 +601,4418.837675,180.0629199,4,4,24.03846154,449.437048 +602,4428.857715,180.0629199,4,4,24.03846154,449.437048 +603,4438.877756,180.0629199,4,4,24.03846154,449.437048 +604,4448.897796,180.0629199,4,4,24.03846154,449.437048 +605,4458.917836,180.0629199,4,4,24.03846154,449.437048 +606,4468.937876,180.0629199,4,4,24.03846154,449.437048 +607,4478.957916,180.0629199,4,4,24.03846154,449.437048 +608,4488.977956,180.0629199,4,4,24.03846154,449.437048 +609,4498.997996,180.0629199,4,4,24.03846154,449.437048 +610,4509.018036,180.0629199,4,4,24.03846154,449.437048 +611,4519.038076,180.0629199,4,4,24.03846154,449.437048 +612,4529.058116,180.0629199,4,4,24.03846154,449.437048 +613,4539.078156,180.0629199,4,4,24.03846154,449.437048 +614,4549.098196,180.0629199,4,4,24.03846154,449.437048 +615,4559.118236,180.0629199,4,4,24.03846154,449.437048 +616,4569.138277,180.0629199,4,4,24.03846154,449.437048 +617,4579.158317,180.0629199,4,4,24.03846154,449.437048 +618,4589.178357,180.0629199,4,4,24.03846154,449.437048 +619,4599.198397,180.0629199,4,4,24.03846154,449.437048 +620,4609.218437,180.0629199,4,4,24.03846154,449.437048 +621,4619.238477,180.0629199,4,4,24.03846154,449.437048 +622,4629.258517,180.0629199,4,4,24.03846154,449.437048 +623,4639.278557,180.0629199,4,4,24.03846154,449.437048 +624,4649.298597,180.0629199,4,4,24.03846154,449.437048 +625,4659.318637,180.0629199,4,4,24.03846154,449.437048 +626,4669.338677,180.0629199,4,4,24.03846154,449.437048 +627,4679.358717,180.0629199,4,4,24.03846154,449.437048 +628,4689.378758,180.0629199,4,4,24.03846154,449.437048 +629,4699.398798,180.0629199,4,4,24.03846154,449.437048 +630,4709.418838,180.0629199,4,4,24.03846154,449.437048 +631,4719.438878,180.0629199,4,4,24.03846154,449.437048 +632,4729.458918,180.0629199,4,4,24.03846154,449.437048 +633,4739.478958,180.0629199,4,4,24.03846154,449.437048 +634,4749.498998,180.0629199,4,4,24.03846154,449.437048 +635,4759.519038,180.0629199,4,4,24.03846154,449.437048 +636,4769.539078,180.0629199,4,4,24.03846154,449.437048 +637,4779.559118,180.0629199,4,4,24.03846154,449.437048 +638,4789.579158,180.0629199,4,4,24.03846154,449.437048 +639,4799.599198,180.0629199,4,4,24.03846154,449.437048 +640,4809.619238,180.0629199,4,4,24.03846154,449.437048 +641,4819.639279,180.0629199,4,4,24.03846154,449.437048 +642,4829.659319,180.0629199,4,4,24.03846154,449.437048 +643,4839.679359,180.0629199,4,4,24.03846154,449.437048 +644,4849.699399,180.0629199,4,4,24.03846154,449.437048 +645,4859.719439,180.0629199,4,4,24.03846154,449.437048 +646,4869.739479,180.0629199,4,4,24.03846154,449.437048 +647,4879.759519,180.0629199,4,4,24.03846154,449.437048 +648,4889.779559,180.0629199,4,4,24.03846154,449.437048 +649,4899.799599,180.0629199,4,4,24.03846154,449.437048 +650,4909.819639,180.0629199,4,4,24.03846154,449.437048 +651,4919.839679,180.0629199,4,4,24.03846154,449.437048 +652,4929.859719,180.0629199,4,4,24.03846154,449.437048 +653,4939.87976,180.0629199,4,4,24.03846154,449.437048 +654,4949.8998,180.0629199,4,4,24.03846154,449.437048 +655,4959.91984,180.0629199,4,4,24.03846154,449.437048 +656,4969.93988,180.0629199,4,4,24.03846154,449.437048 +657,4979.95992,180.0629199,4,4,24.03846154,449.437048 +658,4989.97996,180.0629199,4,4,24.03846154,449.437048 +659,5000,180.0629199,4,4,24.03846154,449.437048 +660,0,365.1214097,5,4,32,684.6026432 +661,10.1010101,365.1214097,5,4,32,684.6026432 +662,20.2020202,365.1214097,5,4,32,684.6026432 +663,30.3030303,365.1214097,5,4,32,684.6026432 +664,40.4040404,365.1214097,5,4,32,684.6026432 +665,50.50505051,365.1214097,5,4,32,684.6026432 +666,60.60606061,365.1214097,5,4,32,684.6026432 +667,70.70707071,365.1214097,5,4,32,684.6026432 +668,80.80808081,365.1214097,5,4,32,684.6026432 +669,90.90909091,365.1214097,5,4,32,684.6026432 +670,101.010101,365.1214097,5,4,32,684.6026432 +671,111.1111111,365.1214097,5,4,32,684.6026432 +672,121.2121212,365.1214097,5,4,32,684.6026432 +673,131.3131313,365.1214097,5,4,32,684.6026432 +674,141.4141414,365.1214097,5,4,32,684.6026432 +675,151.5151515,365.1214097,5,4,32,684.6026432 +676,161.6161616,365.1214097,5,4,32,684.6026432 +677,171.7171717,365.1214097,5,4,32,684.6026432 +678,181.8181818,365.1214097,5,4,32,684.6026432 +679,191.9191919,365.1214097,5,4,32,684.6026432 +680,202.020202,365.1214097,5,4,32,684.6026432 +681,212.1212121,365.1214097,5,4,32,684.6026432 +682,222.2222222,365.1214097,5,4,32,684.6026432 +683,232.3232323,365.1214097,5,4,32,684.6026432 +684,242.4242424,365.1214097,5,4,32,684.6026432 +685,252.5252525,365.1214097,5,4,32,684.6026432 +686,262.6262626,365.1214097,5,4,32,684.6026432 +687,272.7272727,365.1214097,5,4,32,684.6026432 +688,282.8282828,365.1214097,5,4,32,684.6026432 +689,292.9292929,365.1214097,5,4,32,684.6026432 +690,303.030303,365.1214097,5,4,32,684.6026432 +691,313.1313131,365.1214097,5,4,32,684.6026432 +692,323.2323232,365.1214097,5,4,32,684.6026432 +693,333.3333333,365.1214097,5,4,32,684.6026432 +694,343.4343434,365.1214097,5,4,32,684.6026432 +695,353.5353535,365.1214097,5,4,32,684.6026432 +696,363.6363636,365.1214097,5,4,32,684.6026432 +697,373.7373737,365.1214097,5,4,32,684.6026432 +698,383.8383838,365.1214097,5,4,32,684.6026432 +699,393.9393939,365.1214097,5,4,32,684.6026432 +700,404.040404,365.1214097,5,4,32,684.6026432 +701,414.1414141,365.1214097,5,4,32,684.6026432 +702,424.2424242,365.1214097,5,4,32,684.6026432 +703,434.3434343,365.1214097,5,4,32,684.6026432 +704,444.4444444,365.1214097,5,4,32,684.6026432 +705,454.5454545,365.1214097,5,4,32,684.6026432 +706,464.6464646,365.1214097,5,4,32,684.6026432 +707,474.7474747,365.1214097,5,4,32,684.6026432 +708,484.8484848,365.1214097,5,4,32,684.6026432 +709,494.9494949,365.1214097,5,4,32,684.6026432 +710,505.0505051,365.1214097,5,4,32,684.6026432 +711,515.1515152,365.1214097,5,4,32,684.6026432 +712,525.2525253,365.1214097,5,4,32,684.6026432 +713,535.3535354,365.1214097,5,4,32,684.6026432 +714,545.4545455,365.1214097,5,4,32,684.6026432 +715,555.5555556,365.1214097,5,4,32,684.6026432 +716,565.6565657,365.1214097,5,4,32,684.6026432 +717,575.7575758,365.1214097,5,4,32,684.6026432 +718,585.8585859,365.1214097,5,4,32,684.6026432 +719,595.959596,365.1214097,5,4,32,684.6026432 +720,606.0606061,365.1214097,5,4,32,684.6026432 +721,616.1616162,365.1214097,5,4,32,684.6026432 +722,626.2626263,365.1214097,5,4,32,684.6026432 +723,636.3636364,365.1214097,5,4,32,684.6026432 +724,646.4646465,365.1214097,5,4,32,684.6026432 +725,656.5656566,365.1214097,5,4,32,684.6026432 +726,666.6666667,365.1214097,5,4,32,684.6026432 +727,676.7676768,365.1214097,5,4,32,684.6026432 +728,686.8686869,365.1214097,5,4,32,684.6026432 +729,696.969697,365.1214097,5,4,32,684.6026432 +730,707.0707071,365.1214097,5,4,32,684.6026432 +731,717.1717172,365.1214097,5,4,32,684.6026432 +732,727.2727273,365.1214097,5,4,32,684.6026432 +733,737.3737374,365.1214097,5,4,32,684.6026432 +734,747.4747475,365.1214097,5,4,32,684.6026432 +735,757.5757576,365.1214097,5,4,32,684.6026432 +736,767.6767677,365.1214097,5,4,32,684.6026432 +737,777.7777778,365.1214097,5,4,32,684.6026432 +738,787.8787879,365.1214097,5,4,32,684.6026432 +739,797.979798,365.1214097,5,4,32,684.6026432 +740,808.0808081,365.1214097,5,4,32,684.6026432 +741,818.1818182,365.1214097,5,4,32,684.6026432 +742,828.2828283,365.1214097,5,4,32,684.6026432 +743,838.3838384,365.1214097,5,4,32,684.6026432 +744,848.4848485,365.1214097,5,4,32,684.6026432 +745,858.5858586,365.1214097,5,4,32,684.6026432 +746,868.6868687,365.1214097,5,4,32,684.6026432 +747,878.7878788,365.1214097,5,4,32,684.6026432 +748,888.8888889,365.1214097,5,4,32,684.6026432 +749,898.989899,365.1214097,5,4,32,684.6026432 +750,909.0909091,365.1214097,5,4,32,684.6026432 +751,919.1919192,365.1214097,5,4,32,684.6026432 +752,929.2929293,365.1214097,5,4,32,684.6026432 +753,939.3939394,365.1214097,5,4,32,684.6026432 +754,949.4949495,365.1214097,5,4,32,684.6026432 +755,959.5959596,365.1214097,5,4,32,684.6026432 +756,969.6969697,365.1214097,5,4,32,684.6026432 +757,979.7979798,365.1214097,5,4,32,684.6026432 +758,989.8989899,365.1214097,5,4,32,684.6026432 +759,1000,365.1214097,5,4,32,684.6026432 diff --git a/rowers/tests/testdata/testdata.csv.gz b/rowers/tests/testdata/testdata.csv.gz index b44857fafa3f376bba9b82378a2172f57becd839..127c748274f4c313ede27ca3fc38df7aa580070e 100644 GIT binary patch literal 11437 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 H0(JlZpJqNZ literal 11426 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≧H45L=aOTS%qgk;V1wi1PKj;iI4c2}S5$G_DS@M}T$s}xDsfQ_sca9yNYo=a zPCDCE?WUOLbsW;&j4N!2yBlA32(1x-az>deb;w6}&P@rx&*e-V&cRRt648*#_75Dy zT4g1C6i+RsUPhh^ASdTCo4q`y<&{)rrG&-KlAJum)%)=7#Ml|3X)%q% z$m;O-#!U@GOuUfF{g?2NW=Lgw2v)Bbg$0Klu9ZXr~pf z%YpfZTG`$e=~bC3%1urd&FKqjapk_V>r>De|-oD$0_Pzw-=hE%tE=yyMaABBi|M&FiaP37cU z(Y17#+*a*33V;R z)xD!E#a9 zpI2U%mQ+8l!&aPar|&{iKDuAb;rHu2Li9`C>~2?InU`)#95vf{sEZ}Y1|mRN^+-f;H`vLzPeU|`aXinILeml z_6@Umy|8HeT$yUSOVqKQB{>alNP_$thPdvsxiobi_d&GnRS}4kTuspSeGpva;VhX4 z!MdKqOVo8c2M%}-zc&@wilSPs2*wYZ>YShP*3`Zuxhq0HH_(sv;Hj$T2KsIft{W$~ z!kOxJ4RiW5RFNTR%q3E*XD%I&%F>Kil<7Odciz=cho2w)-bXUM7oyIF?^=jaGJS6e z=M-1j3(gYQv~icXu~a_r&9z~sn{VIn43~-1a~y|ynmEplWzJr(mKnz|?VPBl{c5_`=nIkf zmg>b!Z6tRU&+o0_oG8*$;2@T|Qi3B#by<;*k)CEpzG{S!E!-8<&fACVGQvRX8C zLid3B8q2TL)O&dt*cb!~TZeb>M5V1eKR&yyS(n@L{o#4udARu2WkvdN=i%YDkV+fZ zqw0r7moG9@9ctOwIL#|;+$PX949TKhRwO@bnU0Ox;9JCZVc&Ka&d252>F_Jgu98{j zN@e4mu<^Ft>dz{&A>EtAnQb}e+th6md{44VQBWsxJjJ$bs7`UTB=q-W00%VZ2 zh-}a_UIu>h&LZE(%M99w#bHbZxv^9O%T#KLjp$8Be4fuvnzL%Mg1vowC8V@T4ts069FTfdKzA#eG< z0^oKe4wvi7$0Xdouo&V$Yb(CxvM1pzGBz20VX+{IY)EbU2inBtSGh1UoOc#4bRUXK z3!Q08==SbR&cXia*;5LUEFUJL{XM0uXNH!$f9-?&LNGQ4nw`s&VahT4P z;=U1E=ptu}NKOmpkIu-Wqck2Pjz&1VHaPa@rIN>pqacZFNVZ)>jlSJmbR8}fYG@cc zujYUQ?L5UH__eB^)U@WM4}p!Z68r}6{x`R_8D!2CK!Me$z~7f**MM1u*k*i-}J^ z=_X!HZ+{q+Te<$)&N=RNh=|)*W{_6w?HsP&a)Zd>l|?rs+kS%A_pOtKr!aLLbbodA zY`>iF?1IO1-?x$b=e}24`@s_T5t~QKI^{d zhGg4WSh?Zx!ldc&mR-=y^4`T#O|D)clrJmi&&B?u!Sk-uoNf9pL%Ka-FB-UEU%;Zq0na)7mAJ;ls6= z!X&yO_3bUVukWcp6I~9g@hN6s<*a<}ElV-Xvr_FHoh$ptrHgHiS?$6Ef)w7K#wg`z zS9AD*)g1)_#3Z^Q_3bZk5^Zr0{sPa#EO5l}$<;pLk;UaP9DiITnAF>hTl7wEmdLW) zbPo~OT-Xi}yu9d!)VIUv^(szqr)4H}thp-a@cNZk=tiueDLgN$`y%t>`gup^;c+>} zNs$)DS+h4ckBOnkKIic6CLxJzNPYVYwuLO2q9MzbUihAKYoDvJ9_O6%k!Lk_cbpy(JRyl}NPW8umiAn4c|$bRy6E=*yutyy zx}3WCZ)(hvdQ0Vwk8$RsSJzhQ?r4Zjj-zRnkp&RWsa2Jr_=l{#bwW&{8`9W5W7bs= z;GJSAX#;l5Ykc#b%B`ze;^_DU>5im0gEF^6yOzT4)QmTH6}H=sp3b8^tUuH-Reu`W zU9hgbj+K|>RSh@ISl8OYNT<&FoaO5Jug&N3sq62plX_g_eO@tkv`!F?4sMG3Uu#H< zZbYXL2lD8_hyK(P!%#T3u4~~4Nn}I1m!UH!Cs##)$sDhuBlCP5LqjJ=l&6{KD?}dc zbL)Q`m*e&`MCR1+=+B#>41TTg4=l+X6Ozb=bZ`P{y*Z_mfp%ejMaU*F!i0cx#yqk{Yr*^us4>C9^|rso#b|I`R2 z$~O~)&OV~Mw-9_=dgO2IS*6F$I}*9kxY9SD_0MDFT?`Z1knVkHpez3O7Il9~V+2#x w5V - <Element 'Notes' at 0x13f289b0> + <Element 'Notes' at 0x13694ac8>