alignfaces 1.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,170 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+ import io
4
+ import json
5
+ from PIL import Image as PilImage
6
+ from matplotlib.patches import Ellipse
7
+
8
+
9
+ def plot_faces_with_landmarks(file_path, num_faces=3):
10
+ features = ['left_eyebrow', 'left_eye', 'right_eyebrow', 'right_eye',
11
+ 'nose', 'mouth_outline', 'mouth_inner']
12
+ with io.open(file_path + '/landmarks.txt', 'r') as f:
13
+ imported_landmarks = json.loads(f.readlines()[0].strip())
14
+ guys = list(imported_landmarks.keys())
15
+
16
+ fig, ax = plt.subplots(1, num_faces)
17
+ fig.set_size_inches(w=6*num_faces, h=10)
18
+ for (guy, i) in zip(guys, range(num_faces)):
19
+ gray = np.array(PilImage.open(file_path + guy).convert("L"))
20
+ this_guy = imported_landmarks[guy]
21
+ these_x = np.empty((0, 3))
22
+ these_y = np.empty((0, 3))
23
+ for f in features:
24
+ tempy = np.array(this_guy[f])
25
+ x = tempy[::2]
26
+ y = tempy[1::2]
27
+ these_x = np.append(these_x, x)
28
+ these_y = np.append(these_y, y)
29
+ ax[i].imshow(gray, cmap='gray', vmin=0, vmax=255)
30
+ ax[i].plot(these_x, these_y, 'r.', linewidth=0, markersize=6)
31
+ ax[i].axis("scaled")
32
+ title_str = ("Close this window to continue.")
33
+ fig.suptitle(title_str, fontsize=24)
34
+ plt.show()
35
+ return fig, ax
36
+
37
+
38
+ def plot_faces_with_landmarks_one_by_one(file_path):
39
+
40
+ features = ['left_eyebrow', 'left_eye', 'right_eyebrow', 'right_eye',
41
+ 'nose', 'mouth_outline', 'mouth_inner']
42
+ with io.open(file_path + '/landmarks.txt', 'r') as f:
43
+ imported_landmarks = json.loads(f.readlines()[0].strip())
44
+ guys = list(imported_landmarks.keys())
45
+
46
+ num_faces = len(guys)
47
+
48
+ for (guy, i) in zip(guys, range(num_faces)):
49
+ gray = np.array(PilImage.open(file_path + guy).convert("L"))
50
+ this_guy = imported_landmarks[guy]
51
+ these_x = np.empty((0, 3))
52
+ these_y = np.empty((0, 3))
53
+ for f in features:
54
+ tempy = np.array(this_guy[f])
55
+ x = tempy[::2]
56
+ y = tempy[1::2]
57
+ these_x = np.append(these_x, x)
58
+ these_y = np.append(these_y, y)
59
+
60
+ wh = gray.shape[1] / gray.shape[0]
61
+ fig, ax = plt.subplots(subplot_kw={'aspect': 'equal'})
62
+ fig.set_size_inches(w=8*wh, h=8)
63
+
64
+ ax.imshow(gray, cmap='gray', vmin=0, vmax=255)
65
+ ax.plot(these_x, these_y, 'r.', linewidth=0, markersize=6)
66
+ ax.set_xlabel(guy, fontsize=24)
67
+ title_str = ("Face " + str(i+1) + " out of " + str(num_faces) +
68
+ " total." + "\n Close this window to continue.")
69
+ plt.suptitle(title_str, fontsize=24)
70
+ ax.axis("scaled")
71
+ plt.show()
72
+ return
73
+
74
+
75
+ def fit_ellipse_to_2D_cloud(data):
76
+ """Fit ellipse to set of 2D points using PCA.
77
+
78
+ : param data: set of 2D points
79
+ : type data: numpy.ndarray (number of points by 2)
80
+ """
81
+ data_centered = data - data.mean(axis=0)
82
+ U, s, Vt = np.linalg.svd(data_centered)
83
+ c1 = Vt.T[:, 0] # first eigenvector
84
+ c2 = Vt.T[:, 1] # second eigenvector
85
+
86
+ T1 = np.dot(data, c1)
87
+ T2 = np.dot(data, c2)
88
+ transformed_data = np.c_[T1, T2]
89
+
90
+ # Ellipse properties
91
+ angle_deg = np.arctan2(c1[1], c1[0]) * 180 / np.pi
92
+ cxy = tuple(data.mean(axis=0))
93
+ major_sd, minor_sd = transformed_data.std(axis=0)
94
+ ellipse_fit = {}
95
+ ellipse_fit['cxy'] = cxy
96
+ ellipse_fit['major_sd'] = major_sd
97
+ ellipse_fit['minor_sd'] = minor_sd
98
+ ellipse_fit['angle_deg'] = angle_deg
99
+ return ellipse_fit
100
+
101
+
102
+ def plot_ellipse(ax, ellipse_fit, alpha=0.5, color="red"):
103
+ """Plot ellipse fit to landmark data; diameters are 2 SD of each axis.
104
+
105
+ : param ax: where to plot ellipse.
106
+ : type ax: matplotlib.axes
107
+
108
+ : param ellipse_fit: ellipse arguments output by fit_ellipse_to_2D_cloud()
109
+ : type ellipse_fit: dict
110
+
111
+ : param alpha: ellipse transparency
112
+ : type alpha: float [0-1]
113
+
114
+ : param color: color of ellipse
115
+ : type color: str or RGB tuple
116
+ """
117
+ cxy = ellipse_fit['cxy']
118
+ major_length = ellipse_fit['major_sd'] * 2
119
+ minor_length = ellipse_fit['minor_sd'] * 2
120
+ angle_deg = ellipse_fit['angle_deg']
121
+ ellipse = Ellipse(cxy, major_length, minor_length, angle=angle_deg,
122
+ alpha=alpha, color=color)
123
+ ax.add_artist(ellipse)
124
+ return
125
+
126
+ # def get_mean_image(file_path, max_inner_face_contrast=False):
127
+ # with io.open(file_path + '/landmarks.txt', 'r') as f:
128
+ # imported_landmarks = json.loads(f.readlines()[0].strip())
129
+ # guys = list(imported_landmarks.keys())
130
+ # gray_0 = np.array(PilImage.open(file_path + guys[0]).convert("L"))
131
+ # shape_0 = gray_0.shape
132
+ #
133
+ # if max_inner_face_contrast:
134
+ # # Normalize contrast within aperture, common mean of 127.5
135
+ # the_aperture = place_aperture(file_path, file_path, no_save=True)
136
+ # inner_map = (the_aperture * 255) > 16
137
+ # gray_0 = contrast_stretch(gray_0, inner_locs=inner_map, type="mean_127")
138
+ # else:
139
+ # # UINT8 to double. Center and normalize
140
+ # gray_0 = gray_0.astype(float)
141
+ # gray_0 -= gray_0.mean()
142
+ # gray_0 = gray_0 / gray_0.std()
143
+ #
144
+ # mean_image = gray_0
145
+ # for guy in guys[1:]:
146
+ # gray = np.array(PilImage.open(file_path + guy).convert("L"))
147
+ # if gray.shape==shape_0:
148
+ #
149
+ # if max_inner_face_contrast:
150
+ # # Normalize contrast within aperture, common mean of 127.5
151
+ # gray = contrast_stretch(gray, inner_locs=inner_map, type="mean_127")
152
+ # else:
153
+ # # UINT8 to double. Center and normalize
154
+ # gray = gray.astype(float)
155
+ # gray -= gray.mean()
156
+ # gray = gray / gray.std()
157
+ #
158
+ # mean_image += gray
159
+ # else:
160
+ # print("_get_mean_image() requires that all images are same dimensions!!")
161
+ # mean_image = None
162
+ # return mean_image
163
+ # print("Go back to [0-255]")
164
+ #
165
+ # return mean_image
166
+
167
+
168
+ # END
169
+ # -----------------------------------------------------------------------------
170
+ # -----------------------------------------------------------------------------
@@ -0,0 +1,217 @@
1
+ # Module for doing Genearlized Procrustes Analysis (GPA).
2
+ #
3
+ # Initial is a modified and unit-tested version of:
4
+ # https://medium.com/@olgakravchenko_34975/generalized-procrustes-analysis-with-python-numpy-c571e8e8a421
5
+ # https://gist.github.com/olgakravchenko
6
+ import numpy as np
7
+ from math import atan, sin, cos
8
+ from scipy.linalg import norm
9
+
10
+
11
+ def _shape_array_to_matrix(shape):
12
+ """ From [x1 y1 x2 y2 ... xp yp]
13
+ to [[x1 y1]
14
+ [x2 y2]
15
+ .
16
+ .
17
+ .
18
+ [xp yp]]
19
+ """
20
+ assert len(shape.shape) == 1
21
+ temp_shape = shape.reshape((-1, 2))
22
+ return temp_shape
23
+
24
+
25
+ def _shape_matrix_to_array(shape):
26
+ assert len(shape.shape) == 2
27
+ assert shape.shape[1] == 2
28
+ temp_shape = shape.reshape(-1)
29
+ return temp_shape
30
+
31
+
32
+ def get_translation(shape):
33
+ '''
34
+ Calculates a translation for x and y
35
+ axis that centers shape around the
36
+ origin
37
+ Args:
38
+ shape(2n x 1 NumPy array) an array
39
+ containing x coodrinates of shape
40
+ points as first column and y coords
41
+ as second column
42
+ Returns:
43
+ translation([x,y]) a NumPy array with
44
+ x and y translationcoordinates
45
+ '''
46
+ mean_x = np.mean(shape[::2])
47
+ mean_y = np.mean(shape[1::2])
48
+
49
+ return np.array([mean_x, mean_y])
50
+
51
+
52
+ def translate(shape):
53
+ '''
54
+ Translates shape to the origin
55
+ Args:
56
+ shape(2n x 1 NumPy array) an array
57
+ containing x coodrinates of shape
58
+ points as first column and y coords
59
+ as second column
60
+ '''
61
+ mean_x, mean_y = get_translation(shape)
62
+ NS = np.copy(shape)
63
+ NS[::2] -= mean_x
64
+ NS[1::2] -= mean_y
65
+ return NS
66
+
67
+
68
+ def get_rotation_matrix(theta):
69
+
70
+ return np.array([[cos(theta), -sin(theta)], [sin(theta), cos(theta)]])
71
+
72
+
73
+ def rotate(shape, theta):
74
+ '''
75
+ Rotates a shape by angle theta
76
+ Assumes a shape is centered around
77
+ origin
78
+ Args:
79
+ shape(2nx1 NumPy array) an shape to be rotated
80
+ theta(float) angle in radians
81
+ Returns:
82
+ rotated_shape(2nx1 NumPy array) a rotated shape
83
+ '''
84
+ matr = get_rotation_matrix(theta)
85
+ temp_shape = _shape_array_to_matrix(shape)
86
+ rotated_shape = np.dot(matr, temp_shape.T).T
87
+
88
+ return _shape_matrix_to_array(rotated_shape)
89
+
90
+
91
+ def procrustes_distance(reference_shape, shape):
92
+
93
+ ref_x = reference_shape[::2]
94
+ ref_y = reference_shape[1::2]
95
+
96
+ x = shape[::2]
97
+ y = shape[1::2]
98
+
99
+ dist = np.sum(np.sqrt((ref_x - x)**2 + (ref_y - y)**2))
100
+
101
+ return dist
102
+
103
+
104
+ def procrustes_analysis(reference_shape, shape):
105
+ '''
106
+ Scales, and rotates a shape optimally to
107
+ be aligned with a reference shape
108
+ Args:
109
+ reference_shape(2nx1 NumPy array), a shape that
110
+ serves as reference alignment
111
+
112
+ shape(2nx1 NumPy array), a shape that is aligned
113
+
114
+ Returns:
115
+ aligned_shape(2nx1 NumPy array), an aligned shape
116
+ translated to the location of reference shape
117
+ '''
118
+ temp_ref = translate(reference_shape)
119
+ temp_sh = translate(shape)
120
+
121
+ # get scale and rotation
122
+ scale, theta = get_rotation_scale(temp_ref, temp_sh)
123
+
124
+ # scale, rotate both shapes
125
+ temp_sh = temp_sh / scale
126
+ aligned_shape = rotate(temp_sh, theta)
127
+
128
+ return aligned_shape
129
+
130
+
131
+ def generalized_procrustes_analysis(shapes, tol=0.001):
132
+ '''
133
+ Performs superimposition on a set of
134
+ shapes, calculates a mean shape
135
+ Args:
136
+ shapes(a list of 2nx1 Numpy arrays), shapes to be aligned
137
+ 'raw values' acceptable as input; centering etc done here.
138
+ Returns:
139
+ mean(2nx1 NumPy array), a new mean shape
140
+ aligned_shapes(a list of 2nx1 Numpy arrays), superimposed shapes
141
+ '''
142
+ # initialize Procrustes distance
143
+ current_distance = np.inf # ensure at least 2 iterations are done.
144
+
145
+ # initialize a mean shape
146
+ reference_shape = np.array(shapes[0])
147
+
148
+ num_shapes = len(shapes)
149
+
150
+ # create array for new shapes, add
151
+ new_shapes = np.zeros(np.array(shapes).shape)
152
+
153
+ D = []
154
+ while True:
155
+
156
+ # superimpose all shapes to current mean
157
+ for sh in range(0, num_shapes):
158
+ new_sh = procrustes_analysis(reference_shape, shapes[sh])
159
+ new_shapes[sh] = new_sh
160
+
161
+ # calculate new reference
162
+ new_reference = new_shapes.mean(axis=0)
163
+
164
+ new_distance = procrustes_distance(new_reference, reference_shape)
165
+ D.append(new_distance)
166
+
167
+ if (current_distance - new_distance) < tol:
168
+ break
169
+
170
+ # align the new_reference to old mean
171
+ new_reference = procrustes_analysis(reference_shape, new_reference)
172
+
173
+ # update mean and distance
174
+ reference_shape = new_reference
175
+ current_distance = new_distance
176
+
177
+ return reference_shape, new_shapes, D
178
+
179
+
180
+ def get_rotation_scale(reference_shape, shape):
181
+ '''
182
+ Calculates rotation and scale
183
+ that would optimally align shape
184
+ with reference shape
185
+ Args:
186
+ reference_shape(2nx1 NumPy array), a shape that
187
+ serves as reference for scaling and
188
+ alignment
189
+
190
+ shape(2nx1 NumPy array), a shape that is scaled
191
+ and aligned
192
+
193
+ Returns:
194
+ scale(float), a scaling factor
195
+ theta(float), a rotation angle in radians
196
+ '''
197
+
198
+ a = np.dot(shape, reference_shape) / norm(reference_shape)**2
199
+
200
+ # separate x and y for the sake of convenience
201
+ ref_x = reference_shape[::2]
202
+ ref_y = reference_shape[1::2]
203
+
204
+ x = shape[::2]
205
+ y = shape[1::2]
206
+
207
+ b = np.sum(x*ref_y - ref_x*y) / norm(reference_shape)**2
208
+
209
+ scale = np.sqrt(a**2+b**2)
210
+ theta = atan(b / max(a, 10**-10)) # avoid dividing by 0
211
+
212
+ return scale, theta
213
+
214
+
215
+ # END
216
+ # -----------------------------------------------------------------------------
217
+ # -----------------------------------------------------------------------------
@@ -0,0 +1 @@
1
+ 0.15263286731517,-0.0233503998306733,0.194450638076161,-0.0926431211286779,-0.0336122279690435,-0.00734621176067407,-0.280697212025713,-0.092850146966234,-0.30998751297991,-0.0616722636760975,-0.325578410326962,-0.0361122546325383,-0.318043897315238,0.0361253180761994,-0.189471135490295,0.0980109015425813,0.0203682927595147,0.0991128772329541,0.188526413090588,0.0772780607837867,0.351343135400763,0.0658663455202737,0.550069049464964,-0.0624191051609006
@@ -0,0 +1,40 @@
1
+ 0.186598692107214,-0.0236351148475881,0.211205113044429,-0.0896839289422176,-0.0322689467553829,0.00485653044813477,-0.274447931769025,-0.0909790037283868,-0.313300175354102,-0.0624873584326644,-0.31589032492644,-0.0534218349294797,-0.341791820649824,0.0372334001023652,-0.177317322806334,0.107167438555502,0.0156488203328779,0.103282214196995,0.185303617321045,0.0734954941151031,0.30833572200712,0.0851511671906257,0.547924557448424,-0.0909790037283868
2
+ 0.180009515941398,-0.0114670796387273,0.192617005039119,-0.0636708841384254,-0.0378547226868291,0.0141492916281017,-0.284563629585674,-0.0972213068319979,-0.314415336631494,-0.0716171718387022,-0.325161231631806,-0.0571890855723459,-0.324147708714118,0.0259799311529894,-0.179430940192877,0.109225189604824,0.0224852937981799,0.0998632539040355,0.194367112612304,0.085234471101986,0.338382541275774,0.059765563168544,0.537712100776022,-0.0930521725402823
3
+ 0.182077411826254,0.00104234222768545,0.199599405173178,-0.0575323455960798,-0.0445594310077117,0.00171738147586405,-0.285956841579028,-0.106381310903718,-0.313244328469615,-0.0691219490639651,-0.324756539316507,-0.0514688174984554,-0.323188793261465,0.0318861460414284,-0.185315825689115,0.093025014788369,0.0298088062979583,0.1100031071057,0.194124386983633,0.0847541735469065,0.34581039517184,0.0668387655442249,0.525601353870578,-0.10476250766796
4
+ 0.180798686746689,-0.00476278957248128,0.197740671344958,-0.0854472209533351,-0.0431929103999539,-0.00158140925302985,-0.267949649548504,-0.123767253366526,-0.306139116407634,-0.0756249606453794,-0.32336991694899,-0.0376176556052381,-0.310904895238817,0.044616566263899,-0.196680368463683,0.101637277066346,0.00952324609115134,0.121810351546493,0.19248881321272,0.0921749354508765,0.326775355398411,0.0803986046964685,0.540910084213651,-0.111836445628095
5
+ 0.183451272549671,-0.00749577477846127,0.206165259822271,-0.0715329894486444,-0.0162642277645453,0.000968424657788237,-0.27973359494988,-0.108447748083583,-0.323548990258516,-0.0647691024615969,-0.330126659775279,-0.0418693490283343,-0.331739239011843,0.0425264346900457,-0.194516636147165,0.0911992645599031,0.0402277698469361,0.0972196355946791,0.209429811998458,0.0789622309394918,0.306189304943324,0.0762059607712808,0.530465928746568,-0.0929669874125688
6
+ 0.176109090544991,-0.00492324034381936,0.194742383101851,-0.0793092814085996,-0.0514063759684915,0.00109000118987201,-0.272461021537864,-0.091476864661528,-0.295603023155037,-0.064878055741853,-0.318745187717538,-0.0546591625208453,-0.324755333290009,0.0290437692403554,-0.198674414460656,0.0944119033485272,0.0132127508095388,0.112743279149682,0.196697590946868,0.0855417773358874,0.335701455227059,0.0847890222632161,0.545182085499289,-0.112373147850896
7
+ 0.182823202314784,0.00273045477445731,0.217751388027971,-0.0622541436926804,-0.0289493401195598,-0.00599167841658834,-0.293765171654347,-0.0925364059461927,-0.320347291080252,-0.0577320023378714,-0.331519472518417,-0.0428341868905955,-0.322526172171805,0.0277988654069742,-0.187549146641593,0.0832714321622021,0.0274340749078973,0.0932776481757403,0.189890850486574,0.0874903063551075,0.341943628437781,0.0499826255829354,0.524813450010967,-0.0832029151734879
8
+ 0.160277223719377,-0.00972807662962476,0.214181869338274,-0.0735788673372197,-0.00625051250277926,-0.000351959566139972,-0.281687775898227,-0.107288745974902,-0.315024619027363,-0.063741700550082,-0.326731843328072,-0.0338634451690583,-0.325331224085069,0.0321291412661274,-0.194477025739994,0.0925849149015204,0.0253252514143453,0.103734686716555,0.184258206331601,0.0861518467117145,0.320601716354506,0.0729692574706492,0.5448587334234,-0.0990170518395392
9
+ 0.192403132470124,-0.0122175969474229,0.211800614673959,-0.0845682753229018,-0.0510194516894558,-0.00460977525189493,-0.271621495717169,-0.0897646443067364,-0.302133773116796,-0.0698596660998962,-0.337928644247267,-0.0457285821193843,-0.327278617543438,0.0351586852106246,-0.19394534215482,0.100028646808804,0.0212470032238206,0.0987177950701898,0.210533414116297,0.0914482527283375,0.319608654551159,0.0731489083778199,0.528334505433586,-0.0917537481475375
10
+ 0.19077974537159,4.25404975220346e-05,0.209066934132085,-0.0624014842448635,-0.0318778152914734,-0.000754769047338884,-0.286788815307311,-0.108459603622343,-0.312496803709164,-0.0727661553201837,-0.320307887330358,-0.0403064129206985,-0.318607414705051,0.0407035622460701,-0.190390878586844,0.0977450853350638,0.0104670257491617,0.100633151485068,0.186338958220816,0.0890001898532307,0.318996281489797,0.0570840635865158,0.544820669966752,-0.100520167848045
11
+ 0.164747284793415,-0.0452171939250119,0.210826345661567,-0.110017310200737,-0.0527674194421671,-0.0257286812357717,-0.293528021032409,-0.081422396645405,-0.308607809522289,-0.0430257661127656,-0.325861014768402,-0.0225479080763559,-0.316816504589206,0.0442179646062745,-0.170838881248573,0.0936313288687316,0.0155720737197039,0.0812951014973685,0.192725684444485,0.0673104286724355,0.3199100142607,0.0620903675605282,0.564638247723173,-0.0205859350092889
12
+ 0.152726547835199,-0.0452020101401087,0.21616864554593,-0.10780497296262,-0.0542393340269803,-0.0225760596480039,-0.262041293809548,-0.0824488481726809,-0.30755165652907,-0.0505955520856624,-0.328839890469322,-0.0239138168036922,-0.31727456742362,0.0508716634160693,-0.185954577632739,0.100918172593605,0.0105192032722864,0.0835306707643323,0.19238126754034,0.0622454937919125,0.304866556561841,0.074272958510276,0.579239099135683,-0.0392976992634291
13
+ 0.15159573481574,-0.0375985548546869,0.194797758931349,-0.110259777831083,-0.0464222841165639,-0.0114212521526349,-0.287992919013003,-0.0871378819184327,-0.317696598819875,-0.0461845984774764,-0.323280291104483,-0.0273507668425147,-0.306430551372816,0.0461372900739029,-0.17240331648073,0.0975806662245959,0.0190763497354532,0.0776606236543327,0.196305608743149,0.0564427768286293,0.309073113395208,0.0670442522168833,0.583377395286571,-0.0249127769215174
14
+ 0.144101528884856,-0.0305102260053417,0.211934613651042,-0.103472119782025,-0.0726559083492955,-0.0317328155547682,-0.278672300273903,-0.10300862218884,-0.307491339134082,-0.0667873785765732,-0.323453081676686,-0.0189554143718917,-0.29033628428945,0.0693063092853845,-0.194256830638367,0.109385800007256,0.0433714024401602,0.078880674004467,0.18824438380136,0.0735441023731111,0.28977892901793,0.0601940312149535,0.589434886566435,-0.0368443404057318
15
+ 0.160425616470651,-0.0325467054084224,0.200139254025578,-0.122920000650851,-0.0388287121909093,-0.0110613046325831,-0.282536320564131,-0.0799901666542736,-0.306552788915264,-0.060800523017037,-0.34031432467774,-0.0366569165742089,-0.31713313711363,0.0445722936277759,-0.180020287894287,0.100145958586335,0.0457248667977223,0.0921733656265061,0.192985187491328,0.0790072639980051,0.300771416493088,0.0679845562021863,0.565339230077592,-0.0399078211034337
16
+ 0.150771756815404,-0.0215547864327492,0.197560302841232,-0.138103600239892,-0.0341986146737965,-0.008086888648142,-0.291704855457204,-0.0970145178203622,-0.310994967761824,-0.0529560751887363,-0.323750302951839,-0.0258834719076324,-0.313251452023507,0.0471852580801342,-0.178462213282786,0.0982612592537858,0.0259507988831811,0.0879833405535446,0.198011016236495,0.0796886040470296,0.315454698468808,0.0562318102903959,0.564613832905835,-0.0257509319873742
17
+ 0.159361040007824,-0.03694542012339,0.204407560052775,-0.107790985040107,-0.0520543527706345,-0.0271752329040519,-0.278025007351236,-0.0910716648761376,-0.302445640061327,-0.0564904395157608,-0.317593667824994,-0.0223377311386876,-0.314765455735186,0.0388614615077085,-0.203603695696915,0.111780546051337,0.0315776563556018,0.0934781307182688,0.183134157096984,0.0753233262563699,0.325932273271908,0.0687241647134837,0.564075132655199,-0.0463561556490341
18
+ 0.149514824313754,-0.0432286804033794,0.201390853832784,-0.106967551941103,-0.0514572563664625,-0.00280602487163196,-0.270179996516864,-0.0879584704793887,-0.305237775404374,-0.0593816209556079,-0.33416517856607,-0.030653172510377,-0.317623558230321,0.0445922081088851,-0.190250058281307,0.102949166991644,0.0357116058400723,0.093815105559048,0.197146084032189,0.064682968381647,0.316287611602981,0.0590414614416364,0.568862843743618,-0.0340853893213727
19
+ 0.13503476751923,-0.0305489033282715,0.214887905663873,-0.112166306468745,-0.0689638677397935,-0.0186536162913546,-0.280413422890407,-0.0912533085304671,-0.313572212882353,-0.0548300125708402,-0.320384320522964,-0.0266163191606486,-0.302043695932442,0.0422584571645929,-0.184349607174229,0.0983361982418081,0.0350515973044025,0.0926918101737176,0.205255665721781,0.078895263390268,0.303503836889741,0.0673123380075626,0.575993354043161,-0.0454256006276205
20
+ 0.117351723119529,-0.0316724466140988,0.194225485253863,-0.0945298264828337,-0.0346586880368417,-0.0190019309484117,-0.292077730008532,-0.0821858598247144,-0.312905382238149,-0.0470290877021094,-0.330018971723276,-0.0264425699049772,-0.306021211166636,0.0417426147155516,-0.167617814518391,0.0800651853002703,0.0244229435349089,0.0858135733645362,0.203232408172558,0.0611105307555309,0.315033023552012,0.0689199851144831,0.589034214058955,-0.0367901677732277
21
+ 0.143605323363363,-0.0342063080260224,0.191385047832338,-0.108502411700261,-0.0229057312654263,-0.0141349513170622,-0.272870399991988,-0.0805576068147776,-0.30598776996233,-0.0572497994588059,-0.326035016046084,-0.0350581809274806,-0.321534244968704,0.0347731674481749,-0.194797608988799,0.0970912254352649,0.0143603889754147,0.0967830570702308,0.167925340698132,0.0792801251733152,0.391109614614267,0.0719228030535233,0.535745055739816,-0.0501411199361006
22
+ 0.131744212182439,-0.03739455646015,0.166093022397068,-0.0987663013293264,-0.0341728704484698,-0.0101433381708672,-0.279718843168038,-0.0836438649916936,-0.309051211667077,-0.058904397047206,-0.324163059543707,-0.0400137048296675,-0.303487948074224,0.0264647363628917,-0.185580390835873,0.095011344197992,0.0159873868577088,0.10421012887431,0.178307899106798,0.0836235072691203,0.399234155111103,0.0774526638126421,0.544807648082273,-0.0578962176880473
23
+ 0.147807629851722,-0.0164827841667505,0.189588818350347,-0.0944869624196662,-0.0437889269705729,-0.0107357839229577,-0.287539533521962,-0.0881214513069647,-0.31115778985566,-0.0641600816104619,-0.323038536250751,-0.0348703456327545,-0.313676134958751,0.0224662323400338,-0.184131214683595,0.0925996158966533,0.0253418013906593,0.102046011614273,0.186424608402565,0.0902329810758831,0.383295492637254,0.0713083015855625,0.530873785608745,-0.0697957334528524
24
+ 0.153647376159325,-0.020431727728029,0.182619093583102,-0.0796445753329574,-0.0247826405131381,-0.00906783365740956,-0.281061345904913,-0.0985814638499958,-0.311967008668006,-0.0737472412733889,-0.326354135276543,-0.032676574266087,-0.312617436663754,0.040909295361185,-0.187640745336847,0.0987963118639652,0.00398999567306822,0.0987838243086389,0.18394492468525,0.0743038334177259,0.388635344170687,0.0692652620850676,0.53158657809177,-0.067909110928717
25
+ 0.135180122192109,-0.0277572663150597,0.195141018647012,-0.0936247546319915,-0.0230875543961284,-0.00771735561206446,-0.274824865398752,-0.0983612317099473,-0.301511939210357,-0.0624294427287367,-0.322350588173022,-0.0362301121985144,-0.317602940237533,0.0313288122180709,-0.194374354790522,0.10436029043154,0.00589503282269214,0.105993559518104,0.177040877481215,0.0916544088674974,0.377554136735121,0.0649024589821233,0.542941054328165,-0.0721193668210218
26
+ 0.138675505710165,-0.0336236477883656,0.17345111894043,-0.111900354410722,-0.0308520229911968,-0.0166256811613557,-0.273611672869251,-0.102879871722527,-0.300328879819731,-0.0577055276238293,-0.313473403109573,-0.0238174908244388,-0.313660509181314,0.0463592779537399,-0.193138075377785,0.0988084948443046,0.00326251065651431,0.103084104252784,0.172347321536344,0.0772711719717273,0.374862893943299,0.0695745611725007,0.562465212562098,-0.0485450366638172
27
+ 0.106969665779488,-0.025856958400061,0.166308355035572,-0.120687994920954,-0.0365371177336535,-0.00316470665654708,-0.266243383902689,-0.121664417861239,-0.298572329293515,-0.0766089945872197,-0.316425125379163,-0.0319258371330362,-0.308418837468823,0.0507777330573774,-0.179316300812005,0.114092080646644,0.0137960366483514,0.121737141123456,0.170410887061585,0.08192140891833,0.395884317133286,0.0656423321364361,0.552143832931566,-0.0542617863231891
28
+ 0.149292004821228,-0.0228286065495209,0.183779987608652,-0.0858031524939319,-0.0165784989304622,0.00681761716375695,-0.290173993412207,-0.0959850315397104,-0.322647443749081,-0.0633365072422927,-0.331001408551932,-0.0386311238305126,-0.324287557880093,0.0256059363875296,-0.166928185569034,0.096629658472761,0.0251185138884444,0.0981732819621186,0.189705414505897,0.0749993868404707,0.37137466304859,0.0610311468780916,0.532346504219998,-0.0566726060487589
29
+ 0.127896863585268,-0.0216450243643287,0.165517024709056,-0.108941799578503,-0.0353045688269997,0.00352768687954919,-0.275680723776661,-0.0892135059240246,-0.303404303576894,-0.0744182916067185,-0.321114092930107,-0.0463354787737873,-0.320696255335676,0.0290641046029781,-0.190446295853523,0.10952024087128,0.0291462335778305,0.111974926307032,0.19646922835672,0.079122768712971,0.394660322771826,0.0575620725675343,0.532956567299163,-0.0502176996939821
30
+ 0.141293270397397,-0.0225553275194414,0.201882493755316,-0.0889449580831494,-0.00658111805364107,-0.000416424044273128,-0.263775713343188,-0.076799736368609,-0.307664162632333,-0.0614968855854267,-0.331369083663825,-0.0467249021743065,-0.337350134467379,0.0221243864191163,-0.204325006597378,0.1058746188075,0.0187424943519655,0.108722148592604,0.187706600861078,0.0659335773306081,0.369681994394392,0.0539704851196333,0.531758364997596,-0.0596869824942541
31
+ 0.13886181279869,-0.0349482237765752,0.179481198257805,-0.0890559542146744,-0.0259464975218204,-0.0103636934101408,-0.276821734526796,-0.0810955540085523,-0.305555726918596,-0.0541100867884242,-0.326439783315641,-0.036133805667092,-0.320475168490402,0.0274250671705275,-0.191323037371833,0.0842073264580067,0.00815231185852319,0.100084340014714,0.185847423814416,0.0846773600521131,0.401169963801191,0.0643913559848589,0.533049237614463,-0.0550781318147627
32
+ 0.157692413265636,-0.0356253705965222,0.193232160852374,-0.0879269625855282,-0.034372877152837,-0.00238113251569142,-0.287347727442592,-0.0764597274229341,-0.30965862195039,-0.0585800801258403,-0.326400527004999,-0.0377961735062781,-0.323161940916121,0.0193807873818847,-0.182644761053005,0.0985642678695645,0.00934567113846771,0.0971570874138417,0.19096161836768,0.0726306121373311,0.383151658218943,0.0595215664909036,0.529202933676844,-0.048484874540733
33
+ 0.138196459400304,-0.0180222374607762,0.178189309543462,-0.0772529493878801,-0.0357517194737357,-0.00142749766031571,-0.27918058654476,-0.0892545022015823,-0.299822352724037,-0.0583513231685918,-0.320456113294633,-0.0364669084260117,-0.316645824201135,0.0253794776833805,-0.205905620471642,0.0950511568303579,0.0221379892691116,0.097830374161442,0.184503194297695,0.067052997550602,0.384214696510803,0.0556347105123256,0.550520567688568,-0.0601732984329483
34
+ 0.134515577655479,-0.0193633944051698,0.164690089055574,-0.0739083982809401,-0.0089035221006333,-0.00292629179576702,-0.281329389367487,-0.0826703893618447,-0.296500149810352,-0.058557296626759,-0.313709890940115,-0.0517792021356629,-0.31802459551809,0.0242136282171634,-0.208475311681052,0.101939401632753,0.013017351486192,0.108731706446713,0.179589239434986,0.0711321584479805,0.367281820401702,0.0551056940405295,0.567848781383797,-0.0719176161789961
35
+ 0.150960300946652,-0.019997057831774,0.19130884213628,-0.0966557778293561,-0.0227229427844745,-0.00475685303419855,-0.283588299726287,-0.0907919146882904,-0.318184621115118,-0.0621652604115984,-0.329940215759164,-0.0370101626540505,-0.318223395821122,0.0289983198654783,-0.193731936804714,0.0890240816384824,0.0300259345208872,0.113751885235685,0.191321895770665,0.0793418369145334,0.38167940591982,0.0491462900929465,0.521095032716576,-0.0488853872978573
36
+ 0.13399548091206,-0.0184856167813508,0.178329754457997,-0.084976313105427,-0.0394791951407522,0.00354601327939344,-0.276015352565975,-0.0914372531455867,-0.305390298073191,-0.0610456159637035,-0.31992832737134,-0.0361189579705607,-0.303714626661861,0.0223272843574739,-0.186109099017522,0.0942360392819029,-0.00284594897929147,0.104761365132991,0.178317850019297,0.0751018180412974,0.379362245675121,0.0659866091189811,0.563477516745456,-0.0738953722454119
37
+ 0.138863504274602,-0.021159487954991,0.187551870004999,-0.0894011466090844,0.00184966944043035,-0.0152502493984006,-0.286559209226653,-0.0850659203285857,-0.311545998321594,-0.0637807524120329,-0.316599146650212,-0.0302693719693539,-0.310658674006599,0.0393550479219931,-0.209205974276545,0.0902608782990506,0.00535619306327634,0.099078115980101,0.170643009724424,0.0758368956631774,0.386004799869925,0.0515932619516263,0.544299956103946,-0.0511972711434999
38
+ 0.112798237098144,-0.0269648041585922,0.181063765111181,-0.0964198246533053,-0.0253851225389048,-0.014377933408013,-0.278176591639292,-0.0993567439611229,-0.307159408502976,-0.0564513970035817,-0.318834542665386,-0.030589170364962,-0.306511888217522,0.0445119382594052,-0.188611326804482,0.0943990326898793,0.00818518684538839,0.096964803287204,0.177480017677183,0.066991088768427,0.385039236742021,0.0745151545172179,0.560112436894646,-0.0532221439725582
39
+ 0.149779366366746,-0.0251711760377164,0.189379262752005,-0.084005428229185,-0.0237329068570753,-0.00921376181752187,-0.280458817143667,-0.0964889029847107,-0.313425230882473,-0.0641361342803545,-0.331042016167981,-0.0264072550079493,-0.320540311990258,0.0387798808620946,-0.190631132889862,0.0956004228135054,0.0287979791207372,0.0846559910852844,0.185670240169577,0.0716754840278115,0.364971269502444,0.0751039076423624,0.541232298019807,-0.0603930280736225
40
+ 0.157529107486724,-0.0237544899217142,0.198648464222251,-0.0816710908889828,-0.00224816339529695,-0.00556009554250057,-0.289081970539683,-0.0766058866027405,-0.320086692544762,-0.0628945374622412,-0.330156224672225,-0.0317576518944146,-0.327136411362356,0.0243831431693207,-0.19678944617221,0.0913539261188511,0.0325515183639547,0.0916098510507909,0.174993458024619,0.0682139140313081,0.376953682636562,0.0563780087389382,0.524822677952422,-0.0496950907966166
@@ -0,0 +1,40 @@
1
+ 8.89372,53.77644,9.2684,52.77072,5.56104,54.21028,1.8734,52.751,1.2818,53.18484,1.24236,53.32288,0.84796,54.70328,3.3524,55.76816,6.29068,55.709,8.874,55.25544,10.7474,55.43292,14.3956,52.751
2
+ 8.679762,54.578186,8.935628,53.83027,5.451914,54.656914,1.987882,52.688714,1.515514,53.023308,1.338376,53.220128,1.239966,54.440412,3.24753,55.857516,6.219512,55.99529,8.75849,56.014972,10.903828,55.837834,14.033266,53.869634
3
+ 9.805328,56.069026,10.137712,55.279614,6.64768,55.736642,3.448484,53.866982,3.01223,54.344784,2.825264,54.573298,2.721394,55.736642,4.549506,56.796116,7.520188,57.357014,9.846876,57.253144,11.986598,57.23237,14.74954,55.113422
4
+ 9.637164,58.032944,9.952104,56.773184,6.109836,57.94896,2.645496,55.891352,2.015616,56.626212,1.721672,57.2141,1.868644,58.515852,3.632308,59.481668,6.865692,59.922584,9.76314,59.565652,11.883736,59.460672,15.369072,56.563224
5
+ 11.035692,58.750089,11.33511,57.851835,8.255382,58.921185,4.555431,57.466869,3.956595,58.087092,3.871047,58.407897,3.871047,59.584182,5.795877,60.225792,9.068088,60.247179,11.420658,59.947761,12.768039,59.8836,15.847767,57.466869
6
+ 7.946625,55.711139,8.4764,54.821117,4.979885,54.905881,2.479347,52.850354,2.076718,53.104646,1.737662,53.147028,1.335033,54.206578,2.712448,55.541611,5.382514,56.601161,7.861861,56.961408,9.663096,57.491183,13.13842,55.753521
7
+ 8.849841,58.669611,9.396387,57.828771,5.990985,58.312254,2.501499,56.840784,2.1021,57.282225,1.933932,57.471414,1.975974,58.43838,3.741738,59.342283,6.642636,59.720661,8.849841,59.825766,10.951941,59.48943,13.579566,57.891834
8
+ 9.331504,56.36904,10.154872,55.31344,6.671392,56.622384,2.195648,55.081208,1.68896,55.799016,1.520064,56.284592,1.5834,57.340192,3.715712,58.226896,7.241416,58.26912,9.774856,57.889104,11.949392,57.593536,15.432872,54.701192
9
+ 9.840795,58.494532,10.179403,57.372893,6.031455,58.494532,2.624212,57.055448,2.137463,57.35173,1.566062,57.711501,1.69304,58.981281,3.745851,60.060594,7.110768,60.145246,10.073588,60.124083,11.787791,59.89129,15.131545,57.415219
10
+ 9.56351,56.517395,9.90055,55.506275,5.919265,56.36994,1.81159,54.453025,1.369225,55.02178,1.22177,55.548405,1.200705,56.8755,3.265075,57.88662,6.551215,58.05514,9.43712,57.97088,11.62788,57.528515,15.41958,55.084975
11
+ 8.211782,57.041432,8.337794,55.529288,4.83046,59.477664,0.336032,60.9058,0.462044,61.682874,0.378036,62.186922,1.176112,63.195018,4.053386,62.58596,6.993666,60.569768,9.76593,58.616582,11.803124,57.293456,15.01643,53.5551
12
+ 8.691998,54.7196,9.660114,53.56207,5.240454,55.435164,1.641588,54.761692,0.926024,55.372026,0.610334,55.856084,0.926024,57.097798,3.220038,57.729178,6.503214,57.118844,9.533838,56.466418,11.449024,56.487464,15.88973,54.130312
13
+ 10.707338,61.445782,11.724882,60.266356,7.030304,61.2839,2.89075,59.133182,2.220096,59.78071,2.058214,60.104474,2.127592,61.492034,4.39394,62.856468,7.932218,63.110854,11.21611,63.295862,13.228072,63.850886,18.5008,63.064602
14
+ 8.470779,53.328738,9.155484,52.663596,6.397101,53.21136,4.460364,52.42884,4.166919,52.761411,3.990852,53.21136,4.264734,54.072132,5.164632,54.502518,7.453503,54.326451,8.842476,54.346014,9.820626,54.267762,12.735513,53.485242
15
+ 11.532672,74.428448,12.226768,72.61312,7.635056,75.042456,2.776384,73.921224,2.322552,74.321664,1.681848,74.828888,2.215768,76.403952,4.965456,77.365008,9.396992,76.991264,12.28016,76.590824,14.389144,76.270472,19.48808,73.894528
16
+ 8.9199,55.177452,9.675468,53.015688,5.56182,55.576224,0.797544,54.170028,0.482724,54.98856,0.272844,55.492272,0.5247,56.814516,3.022272,57.633048,6.737148,57.276252,9.86436,56.98242,11.984148,56.45772,16.454592,54.757692
17
+ 9.914553,55.944909,10.459539,55.169352,7.524999,55.944909,5.009679,55.106469,4.716225,55.483767,4.527576,55.861065,4.527576,56.552778,5.743314,57.43314,8.405361,57.349296,10.124163,57.22353,11.73816,57.22353,14.484051,56.049714
18
+ 10.661782,62.899858,11.616221,61.666071,6.867305,63.761181,2.677085,62.248046,2.025273,62.806742,1.489856,63.365438,1.839041,64.785457,4.283336,65.833012,8.566672,65.553664,11.616221,64.925131,13.874284,64.762178,18.6232,62.876579
19
+ 8.313908,51.3448,9.735764,50.021684,4.83826,51.384296,1.303368,49.982188,0.710928,50.574628,0.572692,51.04858,0.829416,52.23346,2.784468,53.280104,6.51684,53.359096,9.419796,53.260356,11.098376,53.141868,15.818148,51.44354
20
+ 8.50627,57.074997,9.813331,55.996153,5.912895,57.303214,1.514531,56.245117,1.161832,56.84678,0.871374,57.199479,1.286314,58.361311,3.651472,59.004468,6.929498,59.087456,9.979307,58.651769,11.888031,58.776251,16.556106,56.950515
21
+ 10.310018,55.686696,11.086944,54.678792,7.895248,55.770688,4.388582,54.510808,3.88463,54.80478,3.56966,55.098752,3.548662,56.106656,5.291496,57.156556,8.29421,57.408532,10.519998,57.345538,13.732692,57.513522,15.95848,55.938672
22
+ 8.168564,57.411531,8.189617,56.043086,5.579045,59.411566,0.694749,60.42211,0.42106,61.116859,0.336848,61.580025,1.305286,62.52741,3.957964,62.611622,7.494868,60.906329,10.084387,59.053665,13.810768,56.906259,15.052895,53.243037
23
+ 8.514847,55.942754,9.163398,54.833941,5.732354,55.921833,2.238547,54.666573,1.88289,55.001309,1.694601,55.419729,1.799206,56.256569,3.640254,57.344461,6.673799,57.595513,9.016951,57.511829,11.883128,57.344461,14.100754,55.377887
24
+ 7.52874,58.00074,7.90728,57.24366,5.23647,58.12692,1.95579,56.94924,1.55622,57.26469,1.36695,57.79044,1.53519,58.73679,3.13347,59.49387,5.59398,59.5149,7.90728,59.22048,10.53603,59.17842,12.38667,57.43293
25
+ 9.660255,58.00344,10.498455,57.16524,7.5438,58.17108,4.253865,56.809005,3.876675,57.270015,3.583305,57.605295,3.60426,58.50636,5.19684,59.55411,7.858125,59.700795,10.14222,59.616975,12.82446,59.38647,15.108555,57.66816
26
+ 8.374318,56.474044,8.83722,55.106379,5.554824,57.02111,1.346624,55.948019,0.967886,56.747577,0.799558,57.336725,0.904763,58.515021,3.008863,59.209374,6.3123,58.977923,9.110753,58.28357,12.498354,57.841709,15.465135,55.569281
27
+ 8.634288,57.98208,9.66368,56.133376,5.945264,58.549296,1.491568,56.532528,0.924352,57.414864,0.63024,58.276192,0.861328,59.830784,3.36128,60.902192,7.016672,60.860176,9.936784,59.956832,14.1804,59.431632,17.01648,57.015712
28
+ 9.9957,57.0141,10.6392,55.74855,6.7353,57.7005,1.26555,55.83435,0.6435,56.4993,0.49335,56.99265,0.66495,58.2582,3.8181,59.56665,7.61475,59.48085,10.8537,58.92315,14.43585,58.53705,17.5461,56.1132
29
+ 9.29305,56.80955,9.860725,55.37985,6.664925,57.293125,2.73325,55.905475,2.291725,56.157775,2.0184,56.620325,2.06045,57.839775,4.205,59.08025,7.758225,59.017175,10.449425,58.40745,13.645225,57.965925,15.831825,56.157775
30
+ 8.395014,57.541704,9.238734,56.52924,6.243528,57.963564,2.425695,57.014379,1.792905,57.267495,1.455417,57.499518,1.413231,58.511982,3.417066,59.651004,6.686481,59.545539,9.133269,58.807284,11.790987,58.511982,14.090124,56.74017
31
+ 9.536103,56.41668,10.188684,55.532538,6.862626,56.8377,2.778732,55.721997,2.31561,56.164068,1.978794,56.458782,2.084049,57.490281,4.189149,58.395474,7.431003,58.627035,10.31499,58.353372,13.809456,57.995505,15.935607,56.037762
32
+ 9.28998,57.66999,9.43845,56.39739,6.1509,60.06672,0.91203,61.10601,0.67872,61.63626,0.57267,62.16651,1.16655,63.16338,4.43289,63.26943,7.86891,61.44537,10.90194,59.30316,14.23191,57.267,15.84387,53.95824
33
+ 9.45411,57.01684,10.10108,56.05682,6.63666,57.28815,2.69223,55.86899,2.35831,56.36987,2.02439,56.72466,2.087,57.72642,3.88182,58.8534,7.57581,58.89514,10.20543,58.39426,13.44028,58.20643,16.13251,56.32813
34
+ 7.130627,56.33819,7.546407,55.631364,5.238828,56.504502,1.683909,55.361107,1.476019,55.672942,1.24734,55.756098,1.164184,56.75397,2.577836,57.814209,5.488296,57.980521,7.69193,57.543952,10.165821,57.398429,12.847602,55.797676
35
+ 9.093168,58.074191,9.745687,56.790202,6.209455,58.368877,1.852312,57.000692,1.283989,57.484819,1.094548,57.905799,1.305038,59.000347,3.388889,59.968601,7.114562,60.326434,9.787785,59.716013,12.945135,59.168739,15.239476,57.505868
36
+ 8.076244,58.161642,8.837356,57.210252,5.412352,58.267352,1.945064,56.512566,1.458798,56.935406,1.205094,57.29482,1.37423,58.203926,3.06559,59.451304,5.835192,59.853002,8.625936,59.641582,11.691526,59.768434,14.672548,57.886796
37
+ 8.4621,56.89815,9.28305,55.97195,6.4413,56.77185,2.3155,55.29835,1.91555,55.572,1.78925,56.05615,1.7682,57.0876,3.17855,57.99275,6.315,58.45585,8.77785,58.37165,11.97745,58.3506,14.46135,57.0876
38
+ 8.58024,57.72735,9.65277,56.27628,6.07767,58.31619,1.21974,57.4119,0.79914,58.27413,0.65193,58.77885,1.07253,60.12477,3.3648,60.73464,6.98196,60.27198,10.01028,59.28357,13.83774,58.884,16.71885,56.08701
39
+ 9.389055,56.735211,10.000926,55.849053,6.75168,56.946201,2.869464,55.574766,2.363088,56.060043,2.088801,56.629716,2.236494,57.621369,4.198701,58.507527,7.532343,58.380933,9.91653,58.212141,12.638301,58.296537,15.338973,56.271033
40
+ 9.494001,56.669292,10.125531,55.57464,6.694218,57.25872,1.494621,56.479833,0.968346,56.774547,0.84204,57.342924,0.989397,58.332321,3.410262,59.300667,7.473105,58.921749,9.957123,58.269168,13.514742,57.721842,15.956658,55.595691
File without changes