Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
##
#
# Most of the source code, except for the ones dealing with matplotlib are
# a rough and direct translation from javascript code for bezier clipping.
# This was written to accompany the ipython notebook viewable at
# http://nbviewer.ipython.org/gist/hkrish/6527b9ad7cb7c2cc0cb0
#
# The original javascript source code is available under MIT licence from
# https://github.com/paperjs/paper.js/
#
# The author disclaims copyright to this source code.
#
# /Harikrishnan Gopalakrishnan
# /2015
#
##
from math import *
import matplotlib
from matplotlib.path import Path
import matplotlib.patches as patches
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.text import Text
from operator import lt, gt
class Point:
x = 0
y = 0
def __init__(self, x, y):
self.x = x
self.y = y
def __repr__(self):
return str.format("< {}, {} >", self.x, self.y)
def getSignedDistance(l1x, l1y, l2x, l2y, x, y):
vx = l2x - l1x;
vy = l2y - l1y;
if (np.abs(vx) <= 1e-10):
return l1x - x if vy >= 0 else x - l1x;
m = vy / vx; # slope
b = l1y - m * l1x; # y offset
# Distance to the linear equation
return (y - (m * x) - b) / np.sqrt(m * m + 1);
def getConvexHull(dq0, dq1, dq2, dq3) :
p0 = [ 0, dq0 ]
p1 = [ 1. / 3, dq1 ]
p2 = [ 2. / 3, dq2 ]
p3 = [ 1, dq3 ]
# Find signed distance of p1 and p2 from line [ p0, p3 ]
dist1 = getSignedDistance(0, dq0, 1, dq3, 1. / 3, dq1)
dist2 = getSignedDistance(0, dq0, 1, dq3, 2. / 3, dq2)
flip = False
hull = None;
# Check if p1 and p2 are on the same side of the line [ p0, p3 ]
if (dist1 * dist2 < 0) :
# p1 and p2 lie on different sides of [ p0, p3 ]. The hull is a
# quadrilateral and line [ p0, p3 ] is NOT part of the hull so we
# are pretty much done here.
# The top part includes p1,
# we will reverse it later if that is not the case
hull = [[p0, p1, p3], [p0, p2, p3]];
flip = dist1 < 0;
else:
# p1 and p2 lie on the same sides of [ p0, p3 ]. The hull can be
# a triangle or a quadrilateral and line [ p0, p3 ] is part of the
# hull. Check if the hull is a triangle or a quadrilateral.
# Also, if at least one of the distances for p1 or p2, from line
# [p0, p3] is zero then hull must at most have 3 vertices.
pmax = None
cross = 0
distZero = dist1 == 0 or dist2 == 0;
if (abs(dist1) > abs(dist2)):
pmax = p1;
# apex is dq3 and the other apex point is dq0 vector dqapex ->
# dqapex2 or base vector which is already part of the hull.
cross = (dq3 - dq2 - (dq3 - dq0) / 3.) * (2 * (dq3 - dq2) - dq3 + dq1) / 3.;
else:
pmax = p2;
# apex is dq0 in this case, and the other apex point is dq3
# vector dqapex -> dqapex2 or base vector which is already part
# of the hull.
cross = (dq1 - dq0 + (dq0 - dq3) / 3.) * (-2 * (dq0 - dq1) + dq0 - dq2) / 3.;
# Compare cross products of these vectors to determine if the point
# is in the triangle [ p3, pmax, p0 ], or if it is a quadrilateral.
hull = [[p0, pmax, p3], [p0, p3]] if cross < 0 or distZero else [[p0, p1, p2, p3], [p0, p3]];
flip = dist1 < 0 if dist1 else dist2 < 0;
if flip:
hull.reverse();
return hull;
def clipConvexHull(hullTop, hullBottom, dMin, dMax) :
if (hullTop[0][1] < dMin):
# Left of hull is below dMin, walk through the hull until it
# enters the region between dMin and dMax
return clipConvexHullPart(hullTop, True, dMin);
elif (hullBottom[0][1] > dMax) :
# Left of hull is above dMax, walk through the hull until it
# enters the region between dMin and dMax
return clipConvexHullPart(hullBottom, False, dMax);
else :
# Left of hull is between dMin and dMax, no clipping possible
return hullTop[0][0];
def clipConvexHullPart(part, top, threshold) :
px = part[0][0];
py = part[0][1];
for i in range(1, len(part)):
qx = part[i][0];
qy = part[i][1];
if (qy >= threshold if top else qy <= threshold):
return px + (threshold - py) * (qx - px) / (qy - py);
px = qx;
py = qy;
return None;
def addLocation(locations, t1, point1, t2, point2) :
loc = [t1, point1, t2, point2];
# var loc = new CurveLocation(curve1, t1, point1, curve2, t2, point2);
locations.append(loc);
def subdivide(v, t = None) :
p1x = v[0]
p1y = v[1]
c1x = v[2]
c1y = v[3]
c2x = v[4]
c2y = v[5]
p2x = v[6]
p2y = v[7]
if(t == None):
t = 0.5;
# Triangle computation, with loops unrolled.
u = 1 - t
# Interpolate from 4 to 3 points
p3x = u * p1x + t * c1x
p3y = u * p1y + t * c1y
p4x = u * c1x + t * c2x
p4y = u * c1y + t * c2y
p5x = u * c2x + t * p2x
p5y = u * c2y + t * p2y
# Interpolate from 3 to 2 points
p6x = u * p3x + t * p4x
p6y = u * p3y + t * p4y
p7x = u * p4x + t * p5x
p7y = u * p4y + t * p5y
# Interpolate from 2 points to 1 point
p8x = u * p6x + t * p7x
p8y = u * p6y + t * p7y;
# We now have all the values we need to build the sub-curves:
return [[p1x, p1y, p3x, p3y, p6x, p6y, p8x, p8y], [p8x, p8y, p7x, p7y, p5x, p5y, p2x, p2y]];
def getPart(v, frm, to) :
if (frm > 0):
v = subdivide(v, frm)[1]; # [1] right
# Interpolate the parameter at 'to' in the new curve and cut there.
if (to < 1):
v = subdivide(v, (to - frm) / (1. - frm))[0]; # [0] left
return v;
def evaluate(v, t, typ) :
EPSILON = 1e-10
TOLERANCE = 1e-5
p1x = v[0]
p1y = v[1]
c1x = v[2]
c1y = v[3]
c2x = v[4]
c2y = v[5]
p2x = v[6]
p2y = v[7]
tolerance = TOLERANCE
x = 0.
y = 0.
# Handle special case at beginning / end of curve
if (typ == 0 and (t < tolerance or t > 1 - tolerance)):
isZero = t < tolerance;
x = p1x if isZero else p2x;
y = p1y if isZero else p2y;
else :
# Calculate the polynomial coefficients.
cx = 3. * (c1x - p1x)
bx = 3. * (c2x - c1x) - cx
ax = p2x - p1x - cx - bx
cy = 3. * (c1y - p1y)
by = 3. * (c2y - c1y) - cy
ay = p2y - p1y - cy - by
if (typ == 0):
# Calculate the curve point at parameter value t
x = ((ax * t + bx) * t + cx) * t + p1x;
y = ((ay * t + by) * t + cy) * t + p1y;
else :
# 1: tangent, 1st derivative
# 2: normal, 1st derivative
# 3: curvature, 1st derivative & 2nd derivative
# Prevent tangents and normals of length 0:
# http:#stackoverflow.com/questions/10506868/
if (t < tolerance and c1x == p1x and c1y == p1y or t > 1 - tolerance and c2x == p2x and c2y == p2y):
x = c2x - c1x;
y = c2y - c1y;
elif (t < tolerance) :
x = cx;
y = cy;
elif (t > 1 - tolerance) :
x = 3. * (p2x - c2x);
y = 3. * (p2y - c2y);
else :
# Simply use the derivation of the bezier function for both
# the x and y coordinates:
x = (3. * ax * t + 2 * bx) * t + cx;
y = (3. * ay * t + 2 * by) * t + cy;
pass
if (typ == 3):
# Calculate 2nd derivative, and curvature from there:
# http:#cagd.cs.byu.edu/~557/text/ch2.pdf page#31
# k = |dx * d2y - dy * d2x| / (( dx^2 + dy^2 )^(3/2))
x2 = 6. * ax * t + 2. * bx;
y2 = 6. * ay * t + 2. * by;
return (x * y2 - y * x2) / pow(x * x + y * y, 3. / 2);
# The normal is simply the rotated tangent:
return Point(y, -x) if typ == 2 else Point(x, y);
def addCurveIntersections(v1, v2, locations, curves=None, tMin=0., tMax=1., uMin=0., uMax=1., oldTDiff=1., reverse=False, recursion=0, recursionLimit=32, notes=[], data=None, tLimit=0.8) :
# Avoid deeper recursion.
# NOTE: @iconexperience determined that more than 20 recursions are
# needed sometimes, depending on the tDiff threshold values further
# below when determining which curve converges the least. He also
# recommended a threshold of 0.5 instead of the initial 0.8
# See: https:#github.com/paperjs/paper.js/issues/565
if data <> None:
prevSubdivide = data['subdivide'] if 'subdivide' in data else 0;
if data['branchpoint']:
prevSubdivide += 1
_instrProxy = {'reverse': reverse, 'step': recursion + 1,
'subdivide': prevSubdivide, 'limited': False,
'ixFound': False, 'relTDiff': 0, 'tDiff': 0,
'exit': False, 'children': [],
'branchpoint':False};
data['children'].append(_instrProxy)
else:
_instrProxy = None;
if (recursion > recursionLimit):
if data <> None:
_instrProxy['limited'] = True;
return;
# Let P be the first curve and Q be the second
TOLERANCE = 1e-5
q0x = v2[0]
q0y = v2[1]
q3x = v2[6]
q3y = v2[7]
tolerance = TOLERANCE
epsilon = 1e-10 # Numerical.EPSILON,
# Calculate the fat-line L for Q is the baseline l and two
# offsets which completely encloses the curve P.
d1 = getSignedDistance(q0x, q0y, q3x, q3y, v2[2], v2[3]) or 0
d2 = getSignedDistance(q0x, q0y, q3x, q3y, v2[4], v2[5]) or 0
factor = 3. / 4. if d1 * d2 > 0 else 4. / 9.
dMin = factor * min(0, d1, d2)
dMax = factor * max(0, d1, d2)
# Calculate non-parametric bezier curve D(ti, di(t)) - di(t) is the
# distance of P from the baseline l of the fat-line, ti is equally
# spaced in [0, 1]
dp0 = getSignedDistance(q0x, q0y, q3x, q3y, v1[0], v1[1])
dp1 = getSignedDistance(q0x, q0y, q3x, q3y, v1[2], v1[3])
dp2 = getSignedDistance(q0x, q0y, q3x, q3y, v1[4], v1[5])
dp3 = getSignedDistance(q0x, q0y, q3x, q3y, v1[6], v1[7])
tMinNew = 0.
tMaxNew = 0.
tDiff = 0.
# NOTE: the recursion threshold of 4 is needed to prevent issue #571
# from occurring: https:#github.com/paperjs/paper.js/issues/571
if (q0x == q3x and uMax - uMin <= epsilon and recursion > 4):
# The fatline of Q has converged to a point, the clipping is not
# reliable. Return the value we have even though we will miss the
# precision.
tMaxNew = tMinNew = (tMax + tMin) / 2.;
tDiff = 0;
if data <> None:
_instrProxy['tDiff'] = 0;
_instrProxy['relTDiff'] = 0;
else :
# Get the top and bottom parts of the convex-hull
hull = getConvexHull(dp0, dp1, dp2, dp3)
top = hull[0]
bottom = hull[1]
tMinClip = None
tMaxClip = None
# Clip the convex-hull with dMin and dMax
tMinClip = clipConvexHull(top, bottom, dMin, dMax);
top.reverse();
bottom.reverse();
tMaxClip = clipConvexHull(top, bottom, dMin, dMax);
# No intersections if one of the tvalues are null or 'undefined'
if (tMinClip == None or tMaxClip == None):
if data <> None:
_instrProxy['exit'] = True;
return;
# Clip P with the fatline for Q
v1d = v1
v1 = getPart(v1, tMinClip, tMaxClip);
tDiff = tMaxClip - tMinClip;
if curves <> None:
curves.append({'before': v1d, 'after': v1, 'clipper': v2,
'notes':notes, 'tdiff': tDiff,
'ix': 0, 'subdivide': None})
# tMin and tMax are within the range (0, 1). We need to project it
# to the original parameter range for v2.
tMinNew = tMax * tMinClip + tMin * (1 - tMinClip);
tMaxNew = tMax * tMaxClip + tMin * (1 - tMaxClip);
if data <> None:
_instrProxy['tDiff'] = tMaxNew - tMinNew;
_instrProxy['relTDiff'] = tDiff;
pass
# Check if we need to subdivide the curves
if (oldTDiff > tLimit and tDiff > tLimit):
# Subdivide the curve which has converged the least.
if data <> None:
_instrProxy['branchpoint'] = True
if (tMaxNew - tMinNew > uMax - uMin):
parts = subdivide(v1, 0.5)
if curves <> None:
curves[-1]['subdivide'] = [parts[1][0], parts[1][1]]
t = tMinNew + (tMaxNew - tMinNew) / 2.
recursion += 1
addCurveIntersections(v2, parts[0], locations, curves, uMin, uMax, tMinNew, t, tDiff, not reverse, recursion, recursionLimit, notes=['left'], data=_instrProxy, tLimit=tLimit);
addCurveIntersections(v2, parts[1], locations, curves, uMin, uMax, t, tMaxNew, tDiff, not reverse, recursion, recursionLimit, notes=['right'], data=_instrProxy, tLimit=tLimit);
else :
parts = subdivide(v2, 0.5)
if curves <> None:
curves[-1]['subdivide'] = [parts[1][0], parts[1][1]]
t = uMin + (uMax - uMin) / 2.;
recursion += 1
addCurveIntersections(parts[0], v1, locations, curves, uMin, t, tMinNew, tMaxNew, tDiff, not reverse, recursion, recursionLimit, notes=['left'], data=_instrProxy, tLimit=tLimit);
addCurveIntersections(parts[1], v1, locations, curves, t, uMax, tMinNew, tMaxNew, tDiff, not reverse, recursion, recursionLimit, notes=['right'], data=_instrProxy, tLimit=tLimit);
pass
pass
elif (max(uMax - uMin, tMaxNew - tMinNew) < tolerance) :
# We have isolated the intersection with sufficient precision
t1 = tMinNew + (tMaxNew - tMinNew) / 2.
t2 = uMin + (uMax - uMin) / 2.
if data <> None:
_instrProxy['ixFound'] = True
if curves <> None:
curves[-1]['ix'] = len(locations) + 1;
if (reverse):
addLocation(locations, t2, evaluate(v2, t2, 0), t1, evaluate(v1, t1, 0));
else :
addLocation(locations, t1, evaluate(v1, t1, 0), t2, evaluate(v2, t2, 0));
pass
pass
else:
recursion += 1
addCurveIntersections(v2, v1, locations, curves, uMin, uMax, tMinNew, tMaxNew, tDiff, not reverse, recursion, recursionLimit, notes, _instrProxy, tLimit=tLimit);
pass
def getFatline(v):
"This method returns a tuple containing maximum and minimum offset width for the 'fatline'."
# Starting point of the curve
q0x = v[0]
q0y = v[1]
# End point of the curve
q3x = v[6]
q3y = v[7]
# Calculate the fat-line L, for Q is the baseline l and two
# offsets which completely encloses the curve P.
d1 = getSignedDistance(q0x, q0y, q3x, q3y, v[2], v[3]) or 0
d2 = getSignedDistance(q0x, q0y, q3x, q3y, v[4], v[5]) or 0
factor = 3. / 4. if d1 * d2 > 0 else 4. / 9.
dMin = factor * min(0, d1, d2)
dMax = factor * max(0, d1, d2)
# The width of the 'fatline' is |dMin| + |dMax|
return (dMin, dMax)
def getCrossings(v1, v2, steps=32, fig=None, subplots=None, size=None, labels=None):
loc = []
curves = []
addCurveIntersections(v1, v2, locations=loc, curves=curves,
recursionLimit=steps)
colors = ['#e74c3c', '#34495e']
labels = ['$Curve\ A$', '$Curve\ B$'] if labels == None else labels;
ty = 0
tx = 0
boldText = matplotlib.font_manager.FontProperties(weight='bold')
if subplots <> None:
count = min(len(subplots), len(curves))
for i in range(count):
clip = curves[i]
ax = subplots[i]
if size == None:
size = drawCurve(ax, v1, setsize=True, color='#eeeeee')[0]
else:
ax.set_xlim(left=-size-10, right=size+10)
ax.set_ylim(bottom=-size-10, top=size+10)
drawCurve(ax, v1, color='#eeeeee')
drawCurve(ax, v2, color='#eeeeee')
drawCurve(ax, clip['before'], color='#aaaaaa')
drawCurve(ax, clip['after'], color=colors[(i+1)%2], label=labels[(i+1)%2])
drawCurve(ax, clip['clipper'], color=colors[i%2],
fatdist=getFatline(clip['clipper']), label=labels[i%2])
tx = -size-5
ty = size
ix = clip['ix']
if ix > 0:
ax.text(tx, ty, str.format('Intersection {} found', ix),
color=colors[0], fontproperties=boldText)
ty -= 9
notes = clip['notes']
ax.text(tx, ty, '$Length\ after\ clip$: ' +
str.format('${:3.0f}\%\ of\ prev.$', clip['tdiff']*100))
if len(notes) > 0:
ty -= 9
ax.text(tx, ty, '$Side$: ' + str(notes[0]))
sub = clip['subdivide']
if sub <> None:
ty -= 18
ax.text(tx, ty, str.format('$Clipped\ <20\%\ of\ the\ length.$\n$Subdividing...$', ix), color=colors[0])
ax.plot([sub[0]], [sub[1]], 'x', markeredgecolor='w', markeredgewidth=3, markersize=7.0)
ax.plot([sub[0]], [sub[1]], 'x', markeredgecolor='#3498db', markeredgewidth=2, markersize=6.0)
for i in range(count, len(subplots)):
fig.delaxes(subplots[i])
return loc
def accumulateTDiffs(dat, tDiffs):
"Just collect the data we need at the moment."
tDiffs.append((dat['step'], dat['subdivide'], dat['branchpoint'], dat['exit'], dat['ixFound'], dat['tDiff'],dat['relTDiff']))
children = dat['children']
dat.pop('children')
dat['name'] = str.format("<{}, {}>", dat['step'], dat['subdivide'])
if len(children) == 0:
return Tree(node=dat, children=[])
chArray = []
for f in children:
chArray.append(accumulateTDiffs(f, tDiffs))
return Tree(node=dat, children=chArray)
def getCrossingsInstr(v1, v2, tLimit=0.8):
loc = []
data = {'reverse': False, 'step': 0,
'subdivide': 0, 'limited': False,
'ixFound': False, 'relTDiff': 1, 'tDiff': 1,
'exit': False, 'children': [],
'branchpoint':False}
addCurveIntersections(v1, v2, locations=loc, data=data, tLimit=tLimit)
tDiffs = []
tree = buchheim(accumulateTDiffs(data, tDiffs))
return (loc, tDiffs, tree)
def getCrossingsPlain(v1, v2, tLimit=0.8):
loc = []
addCurveIntersections(v1, v2, locations=loc, tLimit=tLimit)
return loc
# Helper methods
def drawCurve(ax, v, color="#000000", fatcolor=None, lw=2, fatdist=(0,0), setsize=False, label='', annotate=False, points=True):
v = np.array(v)
codes = [Path.MOVETO, Path.CURVE4, Path.CURVE4, Path.CURVE4]
xy = v.reshape((2,4), order='F')
verts = xy.T
path = Path(verts, codes)
ret = [0, 0]
# plot
if setsize:
x, y = xy
size = np.max((np.max(x) - np.min(x), np.max(y) - np.min(y))) / 2.
ax.set_xlim(left=-size-10, right=size+10)
ax.set_ylim(bottom=-size-10, top=size+10)
ret[0] = size
if color == None:
return ax
if fatdist != (0, 0):
colorconv = matplotlib.colors.ColorConverter()
fatcolor = color if fatcolor == None else fatcolor;
ret[1] = drawFatLine(ax, v, fatdist, fatcolor, fatcolor)
patch = patches.PathPatch(path, facecolor='none', edgecolor=color, lw=lw)
ax.add_patch(patch)
if points:
x, y = zip(*verts)
ax.plot(x, y, ls='--', marker='o', markeredgecolor='w', color=color, label=label)
if annotate:
for i, v in enumerate(verts):
ax.text(v[0], v[1], str.format('$V_{}$', i), size=15)
return ret
def drawLine(ax, v, color="#000000", lw=2, setsize=False, zorder=1):
codes = [Path.MOVETO, Path.LINETO]
xy = v.reshape((2,2), order='F')
verts = xy.T
path = Path(verts, codes)
# plot
if setsize:
x, y = xy
size = np.max((np.max(x) - np.min(x), np.max(y) - np.min(y))) / 2.
ax.set_xlim(left=-size-10, right=size+10)
ax.set_ylim(bottom=-size-10, top=size+10)
patch = patches.PathPatch(path, facecolor='none', edgecolor=color, lw=lw, zorder=zorder)
ax.add_patch(patch)
return ax
def drawPoly(ax, v, ecolor='none', fcolor='#000000', lw=1, setsize=False):
ncodes = (len(v) / 2) - 1
codes = [Path.MOVETO].extend(
[Path.LINETO for i in range(ncodes)]);
xy = v.reshape((2,-1), order='F')
verts = xy.T
path = Path(verts, codes)
# plot
if setsize:
x, y = xy
size = np.max((np.max(x) - np.min(x), np.max(y) - np.min(y))) / 2.
ax.set_xlim(left=-size-10, right=size+10)
ax.set_ylim(bottom=-size-10, top=size+10)
patch = patches.PathPatch(path, facecolor=fcolor, edgecolor=ecolor, lw=lw, alpha=0.3)
ax.add_patch(patch)
return ax
def drawRect(ax, x, y, width, height, ecolor='none', fcolor='#000000', lw=1):
patch = patches.Rectangle(xy=(x, y), width=width, height=height, facecolor=fcolor, edgecolor=ecolor, lw=lw)
ax.add_patch(patch)
return ax
def drawFatLine(ax, crv, fatDist, ecolor='#000000', fcolor=(0,0,0,0.3)):
baseline = np.concatenate([crv[0:2], crv[6:8]])
drawLine(ax, baseline, ecolor, lw=0.5)
baselineSlope = np.arctan2(baseline[3] - baseline[1], baseline[2] - baseline[0])
signum = 1
baselineSlope = (baselineSlope + 2*np.pi) % (2*np.pi)
if baselineSlope <= 3*np.pi/2. and baselineSlope > np.pi/2.:
signum *= -1
cosa = np.cos(baselineSlope)
sina = -np.sin(baselineSlope)
fatline = np.array([])
fatDist = np.add(fatDist, (-0.5, 0.5)) # Offset the line thickness
lines = []
for d in fatDist:
ln = baseline.copy()
mat = np.matrix([[cosa, sina, 0.], [-sina, cosa, 0.], [0., 0., 1.]])
coeffs = np.array((mat * np.matrix([[0], [signum * d], [1]]))[0:2, :]).reshape(-1)
mat = np.identity(3, dtype=np.float64)
mat[0][2] = coeffs[0]
mat[1][2] = coeffs[1]
m = np.matrix(np.vstack((ln.reshape((2,2), order='F'), np.ones(2))))
ln = np.array((mat * m)[0:2,:]).reshape((-1), order='F')
drawLine(ax, ln, ecolor, lw=0.5)
fatline = np.hstack((fatline, ln))
lines.append(ln)
fatlineVert = fatline.reshape((2, 4), order='F').T
fatlineVert[[2,3], :] = fatlineVert[[3,2], :]
drawPoly(ax, fatlineVert.reshape((-1)), fcolor=fcolor)
return lines
def rotate(v, angle):
cosa = np.cos(angle)
sina = np.sin(angle)
mat = np.matrix([[cosa, sina, 0.], [-sina, cosa, 0.], [0., 0., 1.]])
ncols = len(v) / 2
verts = np.matrix(np.vstack((v.reshape((2,-1), order='F'), np.ones(ncols))))
verts = np.array((mat * verts)[0:2, :]).reshape(-1, order='F')
return verts
# Below are some methods, which just visualises various information
def drawNonParamCurveI(fig, gs, curve1r, curve2, fatDist, nonParamB, chull, tclips):
ax1 = plt.subplot(gs[0, 0])
ax2 = plt.subplot(gs[0, 1])
titles = ['non-parametric version of $B$']
ax1.set_xlabel('px')
ax1.set_ylabel('px')
ax1.set_title('$B$ in cartesian space')
ax2.set_xlabel('$t_i$')
ax2.set_ylabel('distance from $L$')
ax2.set_title('Non-parametric version of $B$')
# plot the curves
colorconv = matplotlib.colors.ColorConverter()
drawFatLine(ax1, curve1r, fatDist=fatDist, fcolor=colorconv.to_rgba('#e74c3c', alpha=0.3))
drawCurve(ax1, curve2, '#34495e', setsize=True, annotate=True)
sp = curve1r[0:2]; ep = curve1r[6:];
txy=sp + 3. * (ep - sp) / 4.
ax1.text(txy[0], txy[1]+2.5, "$L$", ha="center", color='black', va="center",size=20)
ax1.text(txy[0], txy[1]+fatDist[0]-3.5, "$d_{min}$", ha="center", color='black', va="center",size=20)
ax1.text(txy[0], txy[1]+fatDist[1]+3.5, "$d_{max}$", ha="center", color='black', va="center",size=20)
# plot non-parametric curve
drawPoly(ax2, chull, ecolor='#3498db', fcolor=colorconv.to_rgba('#3498db', alpha=0.3))
drawCurve(ax2, nonParamB, '#34495e', annotate=True)
ax2.axhline(0, color='k')
ax2.axhline(fatDist[0], color='#e74c3c')
ax2.text(0.1, fatDist[0], "$d_{min}$", ha="center", color='black', size=20)
ax2.axhline(fatDist[1], color='#e74c3c')
ax2.text(0.1, fatDist[1], "$d_{max}$", ha="center", color='black', size=20)
# plot tMin and tMax
nonParamBxy = nonParamB.reshape((2,-1), order='F')
ymin = min(nonParamBxy[1])
ymax = max(nonParamBxy[1])
tMin, tMax = tclips
tMinL = np.array([tMin, ymin, tMin, fatDist[0]])
drawLine(ax2, tMinL, color='#2ecc71')
tMaxL = np.array([tMax, ymin, tMax, fatDist[1]])
drawLine(ax2, tMaxL, color='#2ecc71')
dx = ymin + (ymax - ymin)/20.
ax2.text(tMin, dx, "$t_{min}$", ha="center", color='black', size=20)
ax2.text(tMax, dx, "$t_{max}$", ha="center", color='black', size=20)
ax2.plot([tMin], [fatDist[0]], 'o', markeredgecolor='#2ecc71', color='#e74c3c')
ax2.plot([tMax], [fatDist[1]], 'o', markeredgecolor='#2ecc71', color='#e74c3c')
ax2.set_xlim(left=0., right=1.)
ax2.set_ylim(bottom=ymin, top=ymax)
# plot the same points on curve B also
curve2P = getPart(curve2, tMin, tMax)
drawCurve(ax1, curve2P, '#3498db', points=False)
pMin = evaluate(curve2, tMin, 0)
ax1.plot([pMin.x], [pMin.y], 'o', markeredgecolor='#2ecc71', color='#e74c3c')
ax1.text(pMin.x + 1, pMin.y, "$t_{min}$", ha="left", color='black', size=20)
pMax = evaluate(curve2, tMax, 0)
ax1.plot([pMax.x], [pMax.y], 'o', markeredgecolor='#2ecc71', color='#e74c3c')
ax1.text(pMax.x + 1, pMax.y, "$t_{max}$", ha="left", color='black', size=20)
hull_patch = patches.Patch(color='#3498db', label='convex-hull')
plt.legend(handles=[hull_patch], loc=0)
plt.tight_layout();
#-----------------------------------------------------------------------------
# Test data generation
def genBezTestCasesBatch(nCases, slope=(0.,np.pi/2), size=(50., 100.),
spread=(5., 100.)):
"""Generates a number of random bezier curves that roughly fits a centerline
(slope) with defined size (pixels) and spread (distance of points of the
curve spread from the centerline)"""
# Generate a set of random values for x and y in the range of [-0.5, 0.5)
randNums = np.random.rand(2 * nCases, 8) - 0.5
xvals, yvals = (randNums[:,:4], randNums[:,4:])
del(randNums)
# Arrange the random values as x, y pairs for each curve
# xvals.sort(axis=1)
# xvals = np.hstack([np.repeat(-0.45, 2 * nCases).reshape((-1,1)),
# xvals,
# np.repeat(0.45, 2 * nCases).reshape((-1,1))])
# randNums = np.random.rand(2 * nCases, 6) - 0.5
# xvals, yvals = (randNums[:,:2], randNums[:,2:])
# del(randNums)
# # Arrange the random values as x, y pairs for each curve
# xvals.sort(axis=1)
# xvals = np.hstack([np.repeat(-0.45, 2 * nCases).reshape((-1,1)),
# xvals,
# np.repeat(0.45, 2 * nCases).reshape((-1,1))])
verts = np.hstack([xvals[:,np.newaxis],
yvals[:,np.newaxis],
np.ones(xvals.shape)[:,np.newaxis]])
verts = verts.transpose((0,2,1))
# Initialise the transformation matrix
transMat = np.ones(18 * nCases).reshape((-1,3,3))
arr = np.array([(i, j) for i in range(3) for j in range(3) if i <> j])
arr = np.vsplit(arr.T,1)[0]
transMat[:, arr[0], arr[1]] = 0.
del(arr)
# Transformation: rotation
slopeMat = transMat.copy()
angle = slope[0] + np.random.random(2 * nCases) * (slope[1] - slope[0])
cosa = np.cos(angle)
sina = np.sin(angle)
slopeMat[:, 0, 0] = slopeMat[:, 1, 1] = cosa
slopeMat[:, 0, 1] = sina
slopeMat[:, 1, 0] = -sina
# Transformation: Scale
sizes = size[0] + np.random.random(2 * nCases) * (size[1] - size[0])
spreads = spread[0] + np.random.random(2 * nCases) * (spread[1] - spread[0])
transMat[:, 0, 0] = sizes
transMat[:, 1, 1] = spreads
transVerts = []
# Apply the transformation and return
for i, vert in enumerate(verts):
m = np.dot(transMat[i], slopeMat[i])
a = np.dot(vert, m)
transVerts.append(a[:,:2].reshape(-1))
transVerts = np.array(transVerts).reshape(-1, 2, 8)
return transVerts
def genBezTestCases(nCases, slope=(0.,np.pi/2), size=(50., 100.),
spread=(5., 100.), ix=(1, 9)):
"""This method makes sure we have enough number of intersections in our
test cases, and discards the ones that does not fit the criteria"""
count = 0
cases = []
ixMin, ixMax = ix
if ixMax < ixMin:
ixMax, ixMin = (ixMin, ixMax)
# if ixMin > 4:
print 'Limiting the intersections to 4! It will take a long time to generate.'
# ixMin = 4;
batchLen = nCases if nCases > 1000 else 1000
while count < nCases:
batch = genBezTestCasesBatch(batchLen, slope, size, spread)
for b in batch:
ixc = len(getCrossingsPlain(b[0], b[1]))
if ixc >= ixMin and ixc <= ixMax:
cases.append(b)
count += 1
# print str(count) + ", ",
if count >= nCases:
break;
return cases
def drawClippingTree(fig, ax, tree, color='#3498db', ecolor=None,
r=10, figsize=6, zorder=1, yshift=0, labels=None):
"Visualises how the clipping algorithm recurves and subdivides using a tree."
if labels == None:
labels = {}
labels['o'] = None
labels['>'] = None
labels['x'] = None
labels['s'] = None
wid, hei, span, depth = drawTree(ax, tree, r=r, color=color,
ecolor=ecolor, zorder=1,
yshift=yshift, labels=labels)
drawTreeEdges(ax, tree, r=r, color=color, ecolor=ecolor,
zorder=1, yshift=yshift)
hei += yshift
ax.set_xlim(left=-1, right=wid+1)
ax.set_ylim(top=hei+1, bottom=-1)
# resize the plot
maxDepth = depth
maxSpan = span
maxD, minD = (max(span, depth), min(span, depth))
aspect = minD / (1. * maxD)
maxD = figsize * 1.
minD = aspect * maxD
span, depth = (maxD, minD) if span > depth else (minD, maxD)
fig.set_size_inches((depth, span))
return (wid, hei-yshift, maxSpan, maxDepth)
def drawStackedTDiffs(fig, ax, tDiffs, maxY, minY=0.01):
spacing = 1.
maxDepth = max(tDiffs)[0]
tDiffForDepth = [[] for x in range(maxDepth+1)]
# Palette generated with the excellent seaborn package
# http://stanford.edu/~mwaskom/software/seaborn/index.html
palette = ["#66c2a5", "#fa8d62", "#8d9fca", "#e68ac3", "#a6d853",
"#fed82f", "#e4c394", "#b3b3b3", "#66c2a5", "#fa8d62",
"#8d9fca", "#e68ac3", "#a6d853", "#fed82f", "#e4c394",
"#b3b3b3", "#66c2a5", "#fa8d62", "#8d9fca", "#e68ac3",
"#a6d853", "#fed82f", "#e4c394", "#b3b3b3", "#66c2a5",
"#fa8d62", "#8d9fca", "#e68ac3", "#a6d853", "#fed82f"]
paletteDesat = ["#86a199", "#c5a497", "#a2a8b5", "#c6aabb", "#9aa982",
"#b6aa77", "#c8beb0", "#b3b3b3", "#86a199", "#c5a497",
"#a2a8b5", "#c6aabb", "#9aa982", "#b6aa77", "#c8beb0",
"#b3b3b3", "#86a199", "#c5a497", "#a2a8b5", "#c6aabb",
"#9aa982", "#b6aa77", "#c8beb0", "#b3b3b3", "#86a199",
"#c5a497", "#a2a8b5", "#c6aabb", "#9aa982", "#b6aa77"]
# np.random.shuffle(palette)
minYaxes = 0
maxY = maxY if maxY > minYaxes else minYaxes + 1
ax.set_ylim(top=maxY, bottom=0)
for tdiff in tDiffs:
dep = tdiff[0]
tDiffForDepth[dep].append(tdiff)
sumTDiffs = map(lambda x: reduce(lambda tsum, y: tsum+y[5], x, 0), tDiffForDepth)
maxtDiff = max(sumTDiffs)
yPerT = 1 #/ (maxtDiff * 1.)
blocks = [0]
lastC = 0
for dep, tdep in enumerate(tDiffForDepth):
totalT = sumTDiffs[dep]
ybot = 0
diffB = []
# Plot each stack while keeping a tab on branching and
# cancelled recursion as a diff
for j, t in enumerate(tdep):
bHei = minY + t[5] * yPerT
color = palette[blocks[j]] if not t[3] else 'k'
color = color if not t[2] else paletteDesat[blocks[j]]
drawRect(ax, dep*spacing-spacing/2, ybot, spacing, bHei,
fcolor=color, ecolor='k', lw=0.5)
ax.plot(dep*spacing-spacing/2, ybot+bHei, marker='o', markersize=0)
ybot+= bHei
if t[2]:
diffB.append(('+', j))
elif t[3]:
diffB.append(('-', j))
pass
# print 'diff ', diffB
adjB = 0
for d in diffB:
if d[0] == '+':
idx = d[1] + adjB
blocks[idx:idx+1] = [lastC+1, lastC+2]
lastC = (lastC + 2) % (len(palette)-2)
adjB += 1
elif d[0] == '-':
idx = d[1] + adjB
blocks[idx:idx+1] = []
adjB -= 1
pass
##==============================================================================
# The following code draws a tree in O(n) time.
# From http://billmill.org/pymag-trees/
# https://github.com/llimllib/pymag-trees/
class Tree:
def __init__(self, node={}, children=[]):
self.node = node
self.width = len(node['name'])
self.children = children
def __str__(self):
return "%s" % (self.node)
def __repr__(self):
return "%s" % (self.node)
def __getitem__(self, key):
if isinstance(key, int) or isinstance(key, slice):
return self.children[key]
if isinstance(key, str):
for child in self.children:
if child.node == key: return child
def __iter__(self): return self.children.__iter__()
def __len__(self): return len(self.children)
class DrawTree(object):
def __init__(self, tree, parent=None, depth=0, number=1):
self.x = -1.
self.y = depth
self.tree = tree
self.children = [DrawTree(c, self, depth+1, i+1)
for i, c
in enumerate(tree.children)]
self.parent = parent
self.thread = None
self.mod = 0
self.ancestor = self
self.change = self.shift = 0
self._lmost_sibling = None
#this is the number of the node in its group of siblings 1..n
self.number = number
def left(self):
return self.thread or len(self.children) and self.children[0]
def right(self):
return self.thread or len(self.children) and self.children[-1]
def lbrother(self):
n = None
if self.parent:
for node in self.parent.children:
if node == self: return n
else: n = node
return n
def get_lmost_sibling(self):
if not self._lmost_sibling and self.parent and self != \
self.parent.children[0]:
self._lmost_sibling = self.parent.children[0]
return self._lmost_sibling
lmost_sibling = property(get_lmost_sibling)
def __str__(self): return "%s: x=%s mod=%s" % (self.tree, self.x, self.mod)
def __repr__(self): return self.__str__()
def buchheim(tree):
dt = firstwalk(DrawTree(tree))
min = second_walk(dt)
if min < 0:
third_walk(dt, -min)
return dt
def third_walk(tree, n):
tree.x += n
for c in tree.children:
third_walk(c, n)
def firstwalk(v, distance=1.):
if len(v.children) == 0:
if v.lmost_sibling:
v.x = v.lbrother().x + distance
else:
v.x = 0.
else:
default_ancestor = v.children[0]
for w in v.children:
firstwalk(w)
default_ancestor = apportion(w, default_ancestor, distance)
# print "finished v =", v.tree, "children"
execute_shifts(v)
midpoint = (v.children[0].x + v.children[-1].x) / 2
ell = v.children[0]
arr = v.children[-1]
w = v.lbrother()
if w:
v.x = w.x + distance
v.mod = v.x - midpoint
else:
v.x = midpoint
return v
def apportion(v, default_ancestor, distance):
w = v.lbrother()
if w is not None:
#in buchheim notation:
#i == inner; o == outer; r == right; l == left; r = +; l = -
vir = vor = v
vil = w
vol = v.lmost_sibling
sir = sor = v.mod
sil = vil.mod
sol = vol.mod
while vil.right() and vir.left():
vil = vil.right()
vir = vir.left()
vol = vol.left()
vor = vor.right()
vor.ancestor = v
shift = (vil.x + sil) - (vir.x + sir) + distance
if shift > 0:
move_subtree(ancestor(vil, v, default_ancestor), v, shift)
sir = sir + shift
sor = sor + shift
sil += vil.mod
sir += vir.mod
sol += vol.mod
sor += vor.mod
if vil.right() and not vor.right():
vor.thread = vil.right()
vor.mod += sil - sor
else:
if vir.left() and not vol.left():
vol.thread = vir.left()
vol.mod += sir - sol
default_ancestor = v
return default_ancestor
def move_subtree(wl, wr, shift):
subtrees = wr.number - wl.number
# print wl.tree, "is conflicted with", wr.tree, 'moving', subtrees, 'shift', shift
#print wl, wr, wr.number, wl.number, shift, subtrees, shift/subtrees
wr.change -= shift / subtrees
wr.shift += shift
wl.change += shift / subtrees
wr.x += shift
wr.mod += shift
def execute_shifts(v):
shift = change = 0
for w in v.children[::-1]:
# print "shift:", w, shift, w.change
w.x += shift
w.mod += shift
change += w.change
shift += w.shift + change
def ancestor(vil, v, default_ancestor):
#the relevant text is at the bottom of page 7 of
#"Improving Walker's Algorithm to Run in Linear Time" by Buchheim et al, (2002)
#http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.16.8757&rep=rep1&type=pdf
if vil.ancestor in v.parent.children:
return vil.ancestor
else:
return default_ancestor
def second_walk(v, m=0, depth=0, min=None):
v.x += m
v.y = depth
if min is None or v.x < min:
min = v.x
for w in v.children:
min = second_walk(w, m + v.mod, depth+1, min)
return min
def drawTree(ax, root, depth=0, color='b', ecolor=None, r=10, zorder=1,
yshift=0, labels={'o': None, '>': None, 'x': None, 's': None}):
"""Draw the nodes of the *clipping algorithm progression as a tree*"""
rh = 1.
rw = 1.
ew = 1.5
siz = r
shape = 'o'
ecolor = 'w' if ecolor == None else ecolor
node = root.tree.node
label1 = '$t_{diff} \leq t_{limit}\ ({\\bf good\ clip})$'
label2 = ''
if node['branchpoint']:
shape='>'
label1 = '$t_{diff} > t_{limit}\ ({\\bf subdivide})$'
elif node['exit']:
shape='x'
label1 = ''
label2 = '$degenerate ({\\bf no\ intersections})$'
ew = 3
elif node['ixFound']:
shape='s'
label1 = '$\\bf t_{diff} < \epsilon\ (isolated\ an\ intersection)$'
else:
siz = 2 * r / 3.
if labels[shape] <> None:
label1 = label2 = ''
plt1, = ax.plot(depth * rh, root.x * rw + yshift, marker=shape,
color=color,
markersize=siz, markerfacecolor=color,
markeredgecolor=ecolor, markeredgewidth=ew,
zorder=zorder, label=label1)
if shape == 'x':
plt2, = ax.plot(depth * rh, root.x * rw + yshift, marker=shape,
markersize=r-1, markerfacecolor=color, color=color,
markeredgecolor=color, markeredgewidth=ew-1.5,
zorder=zorder, label=label2)
# Save one of each kind of node, we will use this later to create a legend.
if shape=='o' and labels['o'] == None:
labels['o'] = plt1
elif shape=='>' and labels['>'] == None:
labels['>'] = plt1
elif shape=='x' and labels['x'] == None:
labels['x'] = plt2
elif shape=='s' and labels['s'] == None:
labels['s'] = plt1
if len(root.children) == 0:
return (depth * rh, root.x * rw, 1, depth);
maxWid = 0
maxHei = 0
maxDepth = 0
maxSpan = 0
for child in root.children:
wid, hei, span, dep = drawTree(ax, child, depth+1, color=color,
ecolor=ecolor, r=r, zorder=zorder,
yshift=yshift, labels=labels)
if hei > maxHei:
maxHei = hei
if wid > maxWid:
maxWid = wid
if dep > maxDepth:
maxDepth = dep
maxSpan += span
return (maxWid, maxHei, maxSpan, maxDepth);
def drawTreeEdges(ax, root, depth=0, color='k', ecolor=None, r=10,
zorder=1, yshift=0):
"""Draw the edges of the *clipping algorithm progression as a tree*"""
rh = 1.
rw = 1.
ew = 1.5
for child in root.children:
lineVerts = np.array([depth * rh, root.x * rw + yshift,
(depth+1) * rh, child.x * rw + yshift])
if ecolor <>None:
drawLine(ax, lineVerts, color=ecolor, lw=2 * ew, zorder=zorder)
drawLine(ax, lineVerts, color=color, lw=1, zorder=zorder)
drawTreeEdges(ax, child, depth+1, color=color, ecolor=ecolor,
r=r, zorder=zorder, yshift=yshift)
pass;
def getSpanDepth(root, depth=0):
if len(root.children) == 0:
return (1, depth);
maxDepth = 0
maxSpan = 0
for child in root.children:
span, dep = getSpanDepth(child, depth+1)
return maxSpan, maxDepth
# Display some values as HTML table in the IPython notebook.
class ListTable(list):
""" Overridden list class which takes a 2-dimensional list of
the form [[1,2,3],[4,5,6]], and renders an HTML Table in
IPython Notebook. """
def _repr_html_(self):
html = ["<table>"]
for row in self:
html.append("<tr>")
for col in row:
html.append("<td>{0}</td>".format(col))
html.append("</tr>")
html.append("</table>")
return ''.join(html)
NTestCases = [40, 50, 60, 80, 100, 130, 170]
TestCases = [[[ -1.15760382, -2.76776272, 6.6977651 , 22.28660586, 13.30435513, -23.39730095, -12.30217207, 21.87816308], [ 32.0874067 , 2.98046476, -36.55734046, 5.23158303, 18.78170825, -6.18099771, -0.91089607, 3.75307092]],
[[ 0.34982435, -3.41776592, 4.74348587, 43.10934556, 0.48332265, -40.22826718, 7.05948604, 28.34632482], [ -6.58771514, -12.26127162, 18.99280234, 37.09348883, -14.33116483, -29.1722836 , 9.33972382, 19.58110055]],
[[-18.2944722 , -18.30785126, 19.42815669, 22.18130901, -18.82762921, -22.89335522, -4.23980879, 3.41761334], [ -8.18025534, -12.3954196 , -13.80161132, 13.97522835, 29.35929689, -21.93176647, -28.63937916, 16.39219953]],
[[ 2.66650963, 6.25819828, -19.85949946, -2.05239985, 34.32546718, 0.30251486, 0.7039871 , -0.57691475], [ 6.92243663, -2.79157643, 2.74647068, 30.33316458, 18.25488573, -42.44637596, -11.97222912, 24.45535175]],
[[ 16.55138841, 21.08060897, 39.28301033, 21.34541977, -22.90282464, -33.36874209, 30.62439238, 32.07444285], [ 0.0614361 , 34.85389063, 49.12354856, -0.62734611, -1.56805605, 31.12743395, 28.6934768 , 18.73730788]],
[[-19.28308429, -6.80480345, -26.75354394, -15.65715889, 24.46077362, 5.38615607, -31.29855112, -10.62724753], [-22.61341518, -4.24236639, -5.02516757, -22.15199254, -9.13698288, 20.84331502, -10.92016605, -12.54236252]],
[[ 3.34564052, -3.67996704, -25.64091891, -3.17894313, 20.30089872, 0.45994574, -20.87536753, -0.78224274], [ -1.55043769, 12.03599049, -9.18502746, -32.16012166, -5.89745284, 18.91203968, -2.36219912, -12.5599439 ]],
[[ 5.08205642, -25.6902063 , -12.96413692, 10.14495216, 21.05167493, -26.36093792, -3.34536101, 9.95826933], [ -7.02269201, -20.2848656 , 23.24096873, 23.01558073, -6.46366704, -23.66197163, 4.62030627, -2.100488 ]],
[[ -0.55774545, 4.24909656, 14.45329828, 20.41711872, -3.95064962, -23.2233381 , 11.82637701, 16.58651754], [ -9.6342311 , 27.22559791, 27.40224223, -31.2745973 , -6.75879597, 26.0671975 , 1.30072006, 4.44835284]],
[[-10.20662596, -7.78334208, -30.53759789, 33.70666268, 8.77175091, -15.89964056, -26.24099654, -10.35282018], [ 6.69049273, -3.75379787, -37.87907549, -15.73034405, -6.5988593 , 33.66459152, -14.06798955, -11.17447857]],
[[ 15.04279904, 3.06302963, 14.22156605, 34.33123927, -14.61962903, -10.97710422, 19.18851556, 17.20857943], [ 14.93871066, 7.48208994, 7.14993845, 29.74832726, 9.12991476, -5.29461089, 12.92804535, 19.36442098]],
[[ 7.00276281, 8.16703323, -28.68181997, 3.25265588, 22.06288618, -8.8743765 , -7.80268206, -0.67022626], [ 3.44681262, 16.79098272, -2.86427219, -30.25198795, 0.84074789, 23.82918993, -6.8153312 , -15.28963525]],
[[ -4.30143501, -3.71791341, 12.49735541, -0.70021409, -8.61950373, -2.07552923, 6.23148531, 1.36323509], [ -1.34478521, -23.19095053, 8.60915148, 37.33828508, -5.854509 , -47.96426525, 6.50044877, 28.20903382]],
[[ -4.99649003, -28.06100369, 21.26645401, 22.09333968, -20.38365688, -24.47310281, 12.87438639, 15.89166331], [ 6.59255398, 5.72748731, -30.82212287, -1.98836976, 42.78469822, -10.78108532, -1.5372961 , -1.75519702]],
[[ 15.34491695, 21.94326245, -22.64705734, -34.26938021, 10.8294192 , 18.69302704, 4.16922218, 7.71164308], [-10.57660659, 4.18174677, 29.94251354, 7.49141246, -19.85351993, 7.11968717, 15.10748567, 9.26794683]],
[[ 2.34189107, 2.38353795, -5.44944662, 22.67603859, 11.58541031, -23.94427551, -6.1820595 , 26.9817143 ], [ 12.68068996, 16.90184508, -23.45586744, -29.24878148, 27.83664011, 25.93974143, -14.91962247, 8.5203512 ]],
[[ 17.84894281, -0.93103985, -30.18634064, -9.74189851, 9.87220476, -2.55176108, -0.88296338, -1.82313371], [ -2.39375034, -6.38939451, 4.36757292, 7.81917132, -9.677059 , -12.23296324, -3.65513199, -3.87487458]],
[[ 4.87341609, 5.21611708, -7.67412398, -42.14345169, 3.16887671, 32.98976232, -5.62474946, -20.70967885], [ 22.05336808, 8.63935275, -28.49217006, -11.0715318 , 18.20306415, 5.82917889, -14.51317057, -7.06147316]],
[[-12.13433538, -32.9644061 , 9.75049781, 32.66948537, -11.67998029, -42.03512969, 1.1914561 , 5.35460231], [ -1.25298523, -16.14428184, -24.70659066, 1.03293231, 33.01612666, -13.63129147, -34.20203351, -10.35725488]],
[[ 23.38264765, 24.54287885, -20.72530477, -27.72493124, -2.44999212, 6.18403394, -5.31650059, -11.59500143], [ -3.20469078, -38.55160563, -6.69108002, 34.70105342, -7.26995955, -29.58052755, -2.39753965, 1.84795233]],
[[ 2.12124483, 1.18999846, -18.45330893, -7.86972399, 39.06637995, 16.41071162, -13.35505479, -2.18274052], [ 1.23312176, 15.2375289 , -9.11261016, -30.04724482, 7.95750419, 33.54940259, -8.7538489 , -14.12622651]],
[[ 5.41300397, 26.33440082, 39.64288715, 15.33411965, -20.09384611, 12.30686748, 14.36131341, 23.06641662], [ 2.76291726, 16.17919547, 12.45376667, 34.98810907, -8.78979688, -24.12180221, 12.58289756, 39.33633406]],
[[-13.3571048 , -4.41333599, 6.65826349, 34.25184472, -4.63372334, -34.40425268, -2.92055679, 17.31344064], [ 3.97574123, 0.35079617, -21.5278754 , -2.63138338, 23.40245348, 2.81228963, -18.5879874 , -4.36008667]],
[[ -4.71410323, -21.05932007, 19.98829738, 24.58643577, -15.34616339, -20.01491023, 8.78783327, 14.94848349], [ -4.89067916, -3.9688209 , 30.52126518, -22.33059823, -30.55040569, 29.47567581, 26.01817462, -16.53287475]],
[[-27.27971019, -11.14778975, -7.74023946, 31.47514743, -29.09437522, -35.4030804 , -9.96250249, -4.21264753], [-24.19219216, -3.47609259, 7.22050284, -40.69536359, -41.35467065, 7.60215958, -5.45274521, -10.69613647]],
[[-14.80659507, -16.72225472, 42.2689183 , 17.9145493 , -36.99097668, -15.57369465, 42.72387577, 2.25548686], [ -6.5340935 , -9.86047678, 3.04458323, -29.15449461, 9.60381959, 19.89370136, 5.86620929, -7.63790846]],
[[ -2.44863689, -18.44744731, 3.78650553, 31.02027549, -12.45817452, -29.23197473, 8.69724269, 22.35012072], [ -3.00188588, 1.2532922 , 10.78759803, -3.79880099, -29.65448406, -0.96595414, 15.11928661, 1.9684333 ]],
[[ -6.3472435 , -5.81168127, 19.79882432, -44.43595267, -11.67392145, 41.26445467, 13.59234856, -7.1996652 ], [ -8.01988006, -13.90920999, 35.41436788, 28.67813413, -22.78924682, -12.65639046, 10.327383 , 5.69699168]],
[[ -5.5455581 , -4.69697993, 25.426815 , 13.40288497, -21.97528488, -13.06177283, 11.64142059, 5.69640859], [ 1.63917594, -21.71405432, 3.39796427, 18.65243884, 3.90931818, -0.93741665, 3.16112585, 0.51995543]],
[[-12.40292809, -10.38291571, 24.10800274, -12.98641936, -27.69770722, -12.45908925, 14.72468546, -18.55022743], [ 2.89655015, -15.68650426, -3.0268899 , -21.70421854, -16.88308474, 12.03467997, 1.17688226, -16.65929132]],
[[ 9.22295658, -23.84058596, -11.07720791, 19.18630542, 9.90707564, -8.62883284, -6.84549944, -7.24222682], [ -5.92398738, -7.42371167, 24.49755615, 22.15528823, -26.26365824, -31.64018389, 15.12631488, 17.34032357]],
[[ -9.46643031, -5.76556659, 30.59492593, 1.54787291, -32.1074097 , 0.68750413, 30.74181503, -0.45609733], [ 17.40562298, 7.88745508, -17.77477927, -26.43390876, 34.18845992, 34.9547926 , -32.39059926, -35.0734386 ]],
[[ 0.8756553 , 5.8623043 , -1.19217369, 28.8848624 , 24.06852951, -25.12529898, -15.56371284, 17.61850566], [ -8.44449535, -7.05198696, 24.62768269, 43.41607247, -19.7680578 , -24.40024064, 10.78908436, 27.41356298]],
[[ 0.36224433, 9.69893264, -0.33646896, -14.03248538, 15.88434307, 28.74424781, -4.95818733, -1.14863341], [-19.0886927 , -8.53908751, 35.1485024 , 19.06192815, -41.07513839, -12.76700971, 6.68940096, 5.23851332]],
[[ 38.26351459, 6.23088313, -45.46613078, 1.41093847, 29.79251484, 10.38225146, 2.56309416, 7.06379254], [-17.54080228, -19.12722849, 29.27303652, 35.07925826, -9.44128855, -13.04605145, 17.10930362, 18.75479347]],
[[ -4.83435506, 0.98698118, 26.02070298, -9.4806056 , -29.8083479 , 13.90266988, 3.01732997, -9.19795958], [-12.79308224, -23.61914152, 10.39339102, 27.73517013, -6.38176437, -15.19139086, 3.67306569, 1.33179511]],
[[ 8.78743348, 1.62665785, -21.66958199, -19.43554007, 30.43926842, 22.14890969, -21.16046411, -24.76487833], [ 31.79676378, -12.02465447, -30.5179646 , 22.73278917, 9.15330718, -51.71331386, -3.22154484, 23.49420714]],
[[ 15.82657898, 14.97036062, -29.2447723 , -16.31810566, 24.03781376, 22.61163434, -0.98819079, 1.31175475], [ 29.55579737, 14.60946721, -41.53756815, 9.97530117, 30.83646907, 8.06578817, -3.87943675, 3.18167884]],
[[ -7.39232227, 1.92951664, -43.75563131, -8.04383728, 27.08382994, 3.80050571, -31.857977 , -5.98822413], [-20.58419694, 4.92901591, 10.55634492, -25.28345131, -33.5273879 , 15.72553543, -29.84352347, -6.28272523]],
[[-22.95602982, -15.57399428, 18.29711446, 14.93858979, -28.42812337, -23.72755583, 8.08820119, 7.07847579], [-27.56759061, 1.49625616, 22.8204374 , -13.62820143, -38.35836309, 5.78998686, 31.32863785, -0.3891427 ]],
[[ 16.21940923, 12.83085702, -25.32767126, -0.55580232, -34.0797616 , 3.02783474, 35.77722512, 10.92481953], [-17.19265718, 25.731355 , 1.75732666, -40.64223879, -9.01621455, 33.03946459, 6.67253872, 5.04286167]],
[[ 34.88027228, 0.25199081, -24.14242729, -8.77836709, -16.5243691 , 35.23900669, 2.21871195, -23.7015988 ], [ -2.93034372, 5.16918964, -22.46528735, -13.16116549, 35.10715792, 12.89339167, -5.48279307, -8.83970138]],
[[ 5.10444254, -15.55777318, 30.97407638, 9.58846694, -13.59481881, -20.61375654, -5.29124727, -25.49797219], [ 5.80823216, -7.17782033, 19.36420041, -31.99962723, -11.21610725, 7.19707997, 26.64673144, -12.487347 ]],
[[ -0.77481037, -14.31402889, 5.04606566, 21.04748912, -4.27412057, -8.55759966, -6.86950187, -2.04346758], [ 15.06463056, 12.70432315, -19.13352144, -14.01697082, -15.23649079, -8.85091355, 1.52093068, 3.98801597]],
[[ -2.67988282e+01, -8.24403254e+00, 2.81337867e+01, 4.39890639e-02, -4.82706693e+01, 4.44185066e+00, 1.18696083e+01, 9.35184161e+00], [ -2.22967745e+01, 1.75192412e+01, 9.73691015e+00, 5.04276171e+00, -1.65713500e+01, -3.43704213e+01, -8.18702416e+00, 2.19348038e+01]],
[[ 13.78265632, -8.21589663, -27.21183596, 10.30929972, -48.34840987, -8.11284554, 47.91379433, -1.19281717], [ 1.07160421, -1.85673309, -8.51329744, -17.61400386, 3.00003431, 37.58710172, -6.12358488, -13.04853483]],
[[ 3.48131124, -10.56084477, -18.43409527, -10.71122247, 9.63145193, 6.76434146, -6.65642718, -2.76266829], [ -2.80682828, -14.62812623, -7.16029798, 30.68020834, 2.36966276, -24.21957969, 1.7986641 , -19.90062725]],
[[-48.44889562, 27.29899898, 24.52556274, -14.23103741, -38.64211453, 2.01904407, -13.73619347, 1.96820798], [-11.72899061, 7.09003258, -24.21255676, -17.28151381, -32.67191397, 13.6255725 , 17.06110187, 0.14404718]],
[[ 19.26269708, 7.37134994, -6.87189714, -5.07087528, 9.29177857, 20.39829067, 11.07830297, -0.97307856], [ 29.24549135, -5.5772184 , 37.08555032, 9.8205743 , -42.32452844, 3.68064491, 27.39928938, 7.71754051]],
[[ -9.31675579, -22.03926319, 35.40943413, 24.09816206, -14.60955147, -19.32884078, 20.08076504, 0.45618804], [ 16.81513532, -2.33766206, -5.60128398, 0.33218498, 19.80625535, 35.70173257, 4.54703451, -20.39116872]],
[[ 25.34805099, 33.95746592, -31.98183309, -19.64026532, 19.35953951, 15.53006537, 8.93929171, 45.98455897], [ 2.30629583, 5.34728149, 1.07443846, 25.55336116, 9.81711796, 14.96403502, -1.53029131, 7.79045743]],
[[ 33.42974768, 1.05168684, -33.48789362, -5.60840323, -18.32880655, -3.15868105, 17.07134415, -1.27713698], [ 1.51344445, -0.88807226, -13.50774687, -20.3604927 , -11.23236708, 8.46781237, -8.02140959, -3.94748109]],
[[-21.25018847, 20.06613738, 3.35443202, -49.42214715, 8.38338146, 5.96152114, -18.87813195, -8.47960397], [-15.76902683, 10.42577233, -23.59831818, -16.20195122, 28.38133714, -11.74216024, -25.29401323, -14.50498179]],
[[ 15.69834492, 36.23417409, -13.30402014, -9.5192207 , -22.81303891, -34.79924352, 7.88428822, 22.48480987], [ -0.47272856, 2.79219321, -12.24090985, 17.53736289, 41.96508535, 27.98698108, -14.82258131, -7.45441489]],
[[ 15.55415346, 32.99979247, -6.3661496 , -11.35210668, -17.26746704, -36.58790029, 6.83578465, 12.31122555], [ -9.93118851, 6.10007517, 39.26730146, 3.21735171, -33.56659808, -18.64390948, 5.97082926, -2.95892722]],
[[ 6.5673313 , 40.82067159, -2.87227292, -20.31979134, 0.72783797, -41.7866061 , -4.48670369, -8.67066352], [-13.11253563, -16.26894415, 28.20587534, -3.48054285, -36.50740732, -17.0115998 , 15.58226409, -7.25856608]],
[[-29.94585594, 7.04437177, 45.48464265, -17.69476765, -39.78257117, -1.57392387, 26.84201919, 14.43539135], [ 3.8120237 , 31.26136557, 0.85559166, -39.6587861 , 6.41963673, -27.51960461, 1.89231893, 7.32161565]],
[[ 10.06762931, -11.03274808, -8.49505086, 14.49086602, 3.27740383, -25.85487721, -0.58498366, -12.1599055 ], [-14.30863943, -33.83062363, -4.19937817, -17.67369509, 21.09285555, 15.32157841, -6.63075159, -22.88847855]],
[[ -4.86522626, 9.99387878, 25.47758698, -20.33281192, -16.36876754, 32.43595856, 20.79624587, 3.15445292], [ 30.06975749, 11.87390421, -32.98326415, -10.32230708, 28.28909009, 6.33454817, 30.81291498, 21.48571907]],
[[ 16.8795688 , 9.94703578, -32.04394091, 18.2640716 , 32.33206346, -5.26445074, -19.14326357, 8.58796935], [ -6.91500519, 23.0659654 , -1.25468979, 37.26000222, 6.66767114, -36.09165499, -4.51988161, 34.82281115]],
[[-23.17665309, -10.70410658, 16.04991605, 8.42698018, 1.9138584 , 2.51957761, -19.47226123, -9.89938921], [ -3.12525798, -18.05363054, -24.14527439, 18.85300251, 1.42371223, -24.43299709, 0.3134669 , 15.30421742]],
[[ -3.39100311, -7.90617654, 0.06570122, -30.54106195, -1.84454506, 12.05666495, -5.82124762, -17.32601216], [ 14.28111879, -25.44606731, 24.32258956, -11.09468683, -25.92963044, -12.28914018, 2.09168939, -12.01558366]],
[[ 8.36705949, 27.54506571, -2.34507362, -17.94421341, 4.91831028, 3.24883099, 8.79494685, 17.47566408], [ 15.66637933, 9.63793094, -18.18326106, -1.57491701, 21.87720499, 6.98217441, -6.14274105, 0.4388106 ]],
[[ 2.00596159, 8.71293085, -23.4317203 , -32.61682193, -24.17163954, -17.49441303, 21.66725203, 25.4058433 ], [ 25.8008204 , -31.11524827, -30.51710014, 25.0509392 , -2.55127958, -29.11980608, -12.21243502, -6.21626759]],
[[ -4.5082035 , -1.4342067 , 21.30255134, -1.77542213, 19.13743335, 9.58108658, -32.86180745, -16.95813508], [ 17.75619245, 15.45833548, -15.19846636, -26.94182958, 3.64854594, 20.77911653, 2.71034826, -12.42348424]],
[[-33.30759883, -17.93977781, 33.0754419 , 33.93535924, 30.97800961, -19.98129795, -21.71255876, 12.54964624], [ 3.58140765, 16.24659428, 9.81024204, -27.80939001, -4.69104441, 35.27703321, 1.41726021, -10.79662453]],
[[ 34.57787634, 34.47060997, -25.92176596, 18.46292485, 37.80432691, -6.58838545, -38.31333271, 18.48047853], [ 15.99907637, 27.6836589 , -16.18603199, 6.69241406, -7.25285848, -28.24622619, 13.31921467, 39.06719333]],
[[ -7.26743573, -5.21535528, -27.37342429, -29.1853062 , 29.87377804, 28.41557554, -14.30378579, -15.06200345], [-16.89582039, 14.97746127, -22.50681494, -18.3904861 , 45.49493003, -8.64241533, -41.91103197, -2.02507955]],
[[ 7.24641877, 14.21746123, -7.72636693, 2.70585954, -7.65302447, -17.32946462, 16.53027223, 11.79139285], [ 11.02351407, -6.62044275, -17.69402805, 37.87228806, 10.4927026 , -38.07715802, -3.47271717, 12.30488298]],
[[ -4.95137397, 16.77750269, -8.07757545, -29.43175925, -3.43990893, 34.44255436, -4.82703034, -24.88794958], [ -6.02521288, 0.82726271, 11.18758365, -2.54934634, -29.1414757 , 1.81027118, -15.0581955 , -4.14193776]],
[[-17.95838846, -5.58177893, 9.6946512 , 19.56435528, 0.43283488, -28.1122112 , -28.92219333, 12.28667443], [-15.23959167, -6.95674696, 1.42954074, 25.02378855, -0.91836109, -40.74567388, -23.49007178, 9.39963545]],
[[ -2.11202071, 6.25747644, -11.41557434, 36.39484046, 17.14824235, -41.88310858, -4.53742919, 15.18287361], [ 13.17723167, 24.82317439, 26.17291722, -6.52296761, -35.07989435, -0.65913658, 21.69543147, 31.73948307]],
[[ -6.24912714, 5.74723601, -5.7369664 , -32.30964413, -2.05519457, 36.48566328, 17.91611479, -29.0469068 ], [ 35.8891275 , -7.2227824 , -27.0548428 , -3.5154674 , -36.03875996, 0.54445315, 19.88130874, -4.0619678 ]],
[[ 4.08215618, 3.80026398, -41.50202025, -6.01541816, 18.94220822, 6.14546779, -3.40805259, 5.77833079], [ -5.02585758, -1.36865991, -1.32771684, 21.54398977, -0.12648891, -17.15373636, -2.7016881 , -2.41045815]],
[[ -5.34748921, -10.20398254, 33.31213888, 9.88681371, 28.60399779, 16.31487588, 1.49646784, -4.8043012 ], [ 22.15789924, -24.49465467, -20.23414829, 29.59102382, 28.75624758, -35.26551678, 18.31674722, 17.96594622]],
[[ -4.68978357, 27.30724613, 13.29648768, 0.70053946, -43.61046736, -19.91301029, 2.78886558, 15.22767531], [ -9.23091429, -5.6282445 , -20.52609002, 22.88489604, 24.32495242, -5.51371153, -21.42275112, 4.76290678]],
[[-21.52537623, 14.20645117, 32.78211608, -34.40136251, -36.12430611, 32.90170702, 40.12180125, -22.66599174], [-22.52349493, -5.90411774, 10.72850154, 2.46092093, 18.89985008, 3.08407403, -16.66763287, -10.05678362]],
[[ -8.54632366, -14.18300468, -23.59853691, -31.09614836, 2.75539643, 14.21438166, -14.99149835, -15.93623547], [-21.10789881, -6.91521531, -1.65148199, -24.90904437, -8.75552 , -16.34051463, -22.05173627, 21.96761064]],
[[ 12.67262489, 0.616169 , 17.05668581, -27.36116103, 0.50743125, 15.65860177, 2.81183253, -6.89944288], [ 23.80771211, 3.95088937, -23.98127951, -12.91957684, -33.30235261, -8.08378718, 30.41490421, -5.13656274]],
[[ -4.05691237, -17.605209 , 2.4633772 , -1.87602606, 12.70653629, 29.38521898, -14.06588348, -41.95463429], [ 23.24842341, -0.20356879, -23.5304873 , -0.26111758, 17.31963964, 2.06065883, 0.49334232, -1.74091313]],
[[ -7.31387706e+00, -1.49568337e+01, 8.13683530e+00, 1.63083707e+01, -1.00530388e+01, -1.83396556e+01, 2.10008946e+00, 3.06624357e+00], [ 1.75969522e+01, 9.80024764e-01, 2.24465108e+01, 1.64956359e-02, -3.03654538e+01, -8.39549775e+00, 2.18556779e+01, 5.92833854e+00]],
[[-10.18595808, -46.63880786, -1.99744619, 14.81828202, 7.69852661, 34.537948 , -12.18464948, -46.05847785], [-18.62820817, 3.93669695, 21.57044987, -36.40182048, -44.75542989, -9.97378794, 9.994621 , -4.9668106 ]],
[[ -2.97247803, -24.59515193, 1.75630938, 14.45917992, 6.80231126, 20.74620187, -5.15350393, -8.70635531], [ -1.2957486 , -21.39396914, -5.54061572, 22.37671759, 7.81326344, -1.20830699, -3.12760454, -1.1176689 ]],
[[ 8.90454266, -11.00496464, -16.38756658, -3.79387106, 3.27996176, 33.08292592, -6.10389113, -12.35699586], [-20.13261377, -10.87222859, 14.53674087, 9.41341304, -20.75582769, -3.6660939 , 4.81012718, -1.46160959]],
[[ 13.14986954, 3.01385124, -15.34235166, 0.54839591, 39.13310365, 10.54517972, 8.20226374, 11.55887936], [ -5.40826169, -11.0186789 , 23.45026514, 17.03690466, 16.77145857, 30.36936369, 4.83831528, -4.54313259]],
[[ 19.17917603, -10.56981921, -41.98569274, -8.17977043, 10.91022255, 5.086682 , 19.3698367 , -15.77301404], [ 3.25543525, -15.57954367, -2.40259309, 16.90708363, 1.0523841 , -27.01648308, -6.63617139, -0.35401778]],
[[-25.45372033, -42.26739821, 22.38117405, -1.00911667, -30.43190173, -25.16293717, -2.08346796, -18.8263611 ], [ -0.94156274, -37.15703135, -11.25680782, -40.68183834, -8.89196791, 24.22285796, -4.68301913, -26.74558142]],
[[-28.24020306, -31.17126219, 9.67607592, 36.21185982, -6.1476741 , -13.01777197, -35.66544758, -32.197921 ], [ -4.22891651, 17.22069353, -11.36024709, -35.31061632, -35.12185037, -3.74679169, -5.53528514, -1.93646732]],
[[ 1.17240387e+01, 6.47866978e+00, -1.34759528e+01, -9.96026496e+00, -1.67258126e+01, -1.98780203e+01, -2.22078444e-02, 1.61690707e-01], [ -3.09527097e+00, -1.22448791e+01, -2.13262008e+01, 1.50862292e+00, 4.24709763e+01, -4.63433448e+00, -2.80844216e+01, -1.12898923e+01]],
[[ 24.66415889, 11.43290452, -14.47410576, -2.87073479, -10.23414762, 0.82966662, 19.30854449, 15.93027444], [-15.77602756, 11.54410821, 14.09730766, -12.92446085, 1.35256526, 26.51227682, 15.44444115, 5.78894648]],
[[ -1.37291822e+01, 4.56125435e+00, 1.60272300e+01, -1.60116212e+01, -2.79099895e+01, -3.56733391e+00, 2.73724144e+00, -1.65569520e+01], [ -1.21435508e+01, -1.55698228e+01, 9.14229091e+00, 7.74516712e+00, -2.93149305e+01, 4.99107486e-03, -1.02132085e+00, -5.71746247e-01]],
[[ 19.44344031, -2.69277059, -2.68456062, 24.94140347, -6.62089472, -24.34931799, 3.28358191, 17.0098094 ], [ 6.22481434, -3.11505341, -28.62939068, 17.49125378, 18.89692305, -7.44152918, 39.33078789, -5.13291337]],
[[ 2.54710189, -2.89796159, -5.77907755, 0.87995553, -11.4282713 , -15.31680187, 8.36740611, 7.44826436], [-16.08147678, -13.75816531, -5.01111286, 9.75344623, 28.48773315, -12.72834898, -21.03937429, 1.64486719]],
[[ 8.68351369, 23.91607826, -4.20396625, -27.97581719, -1.06570602, 29.88357614, -1.85945139, -13.59784257], [ 2.58691136, 12.11598914, 15.84103972, 7.71295065, -20.47340962, -18.36784562, 11.65960055, 17.82742752]],
[[ 13.2060931 , -8.83213322, 4.00846832, 17.69209274, 9.85651633, -15.89681479, 39.77089818, -15.16080306], [ 22.13842195, -8.64132617, -35.35901238, -2.39056022, 36.84781289, 16.09469901, 36.98392871, -26.05330981]],
[[-37.77765717, -2.15340644, 10.42161015, 22.59176985, 21.19765527, -9.07450802, -3.54452258, 13.63028934], [-27.85015115, 2.76604454, 22.19985373, 12.58601125, 23.19102052, 16.00098957, -28.30323018, -25.97987934]],
[[ -9.71519675, 0.7744459 , 4.2691164 , -16.17926534, -6.01289111, -8.98321207, 12.20299626, 20.10766837], [-11.39796053, 0.3073958 , 22.71503518, -3.94140903, -11.95259648, -12.18789128, -8.17120656, 3.17387166]],
[[ 9.54146898, 12.86538104, 14.96365987, -37.82187942, -7.40470088, -15.92831228, 23.28217406, 31.91381366], [ -3.30336675, 29.87026596, 29.74909476, -1.70483927, -7.27898572, -16.60305694, 8.52979894, -13.00175097]],
[[ -6.33563899, -9.75123228, 16.93625222, 6.12962132, -17.46142011, 3.46773878, -9.97662516, -25.30031293], [-27.25581146, -24.51554592, 12.05199492, 10.39670497, 12.17948582, 13.91279576, -29.08956443, -38.62175045]],
[[-22.17929468, 6.69423501, -6.66167961, -9.11927596, 7.9272233 , 20.85219267, -28.86659493, 4.73829509], [-33.40376711, 1.20301242, 20.2225252 , 17.0087774 , 14.41306153, -16.95147914, -35.29697595, 12.94063074]],
[[ 0.43342933, -14.82694172, -13.75284602, 34.43558174, 6.1705297 , 25.79604993, -2.76027726, 8.73907469], [-11.36869429, -24.13374487, 24.68580572, 23.29828971, -21.99595495, 4.21824383, 2.3438194 , 11.59974927]],
[[ -5.25311157, -5.62669304, 14.41650369, 2.41154022, 22.11920413, 7.67803616, -13.20789837, -4.21748839], [ 8.55344115, 4.88151734, -3.38178983, -44.33839621, -4.74808936, 29.03214336, -8.99759993, -13.33619942]],
[[-25.64256722, 10.03255199, 29.79896458, -30.7470818 , -42.80990252, -6.67980999, 9.30146339, 19.79001745], [ -6.68903975, -9.6332061 , -9.39781257, -22.70254105, 6.76546121, 22.08110605, -40.19614856, 6.9195271 ]],
[[ -1.02215931, 5.89624827, -17.37401765, -10.46838795, -16.21948724, 1.07982522, -7.34164869, -2.07300819], [-15.47042287, -4.56562285, 4.15893502, 5.61952648, -39.64979717, -13.30082577, 32.25237146, 12.47042575]],
[[ -0.26866371, 30.46664061, 29.20728672, 10.53278248, -32.15744225, -11.18379716, 13.71706391, 6.85232535], [ 8.07493159, 40.28584134, -24.85920593, 8.44842365, 27.31910787, -29.180972 , -7.74396055, 35.16465734]],
[[-19.73959657, -7.06205088, 15.90616329, -0.7080532 , 9.40094698, 10.18745944, -6.35590853, -10.03229732], [ 2.33569375, -6.41316738, -24.91773023, 12.75994564, 16.51285978, -15.88032369, -5.34686653, -6.80054569]],
[[ 33.53857705, -17.24269726, -40.48167728, 15.74385575, 20.35523669, 13.87275761, 32.74492704, -31.95259172], [ 7.21755458, 1.58532192, 23.26318911, 0.92429668, -32.60676122, -21.17574963, 33.89260991, 16.81165279]],
[[ -2.86402802, -7.83123957, -0.0436112 , 12.64168589, -9.92015917, -10.85084942, 8.6430769 , -11.50389353], [-14.04515977, 16.66395271, 12.4538299 , -14.83874729, -18.25512137, -14.97864968, 5.55189852, -0.33240183]],
[[-30.95005353, 40.63712311, 27.38123917, -44.69778242, 8.77446395, -15.054074 , -3.99403628, 23.96362186], [ 10.18564637, -9.99109433, -9.26914528, -30.8157851 , 30.91902112, 13.91243339, -5.46180344, 10.67531733]],
[[-34.01711039, -14.22106024, -2.63803875, -7.5605395 , 22.64609121, 6.43783789, 3.02330552, 2.4293938 ], [ 11.84419365, 31.57456726, -6.84314019, -29.26669826, 8.6369112 , 11.60421429, 5.28387734, 1.46788871]],
[[-13.92685868, -23.2967396 , 11.88795923, -4.50741335, -15.22661018, 13.25196909, -7.72404827, -15.23747736], [-20.2152899 , -33.15485547, 26.98139642, 35.16145468, 27.99233701, 40.6816426 , -20.23778777, -24.44318708]],
[[ 17.55657557, -32.29024258, 3.73147017, 26.56154022, -27.3090332 , -15.13512988, 7.93610274, 5.76515753], [ 6.89012406, 16.44200446, -0.08021679, -23.86141168, -2.40095712, 11.66631734, 4.5751153 , 2.64680867]],
[[ -9.58632848, -0.97554159, 21.43828912, 12.71505223, -9.52364345, -6.00762953, 3.53378567, 3.40927332], [ 10.03806142, -2.55509509, -35.03753334, 13.69626508, -9.80302919, 20.75749602, 24.0818651 , -11.85771201]],
[[ 3.41635532, 1.61519238, -24.79152842, -16.32571361, 27.39274675, 13.87056013, -3.30590913, 0.19858665], [ -6.65988379, -14.31070423, -2.45387158, 14.73880065, -1.78119772, -20.11212794, 5.35263885, 18.09499813]],
[[ 18.05347442, -0.48739947, -25.23066179, -32.81815708, -22.19484225, 8.75341484, 3.55495381, -36.36378767], [ 1.17191234, -33.65105556, 19.40831447, 33.43692893, -38.54428043, 7.27862268, 1.73877741, -32.505517 ]],
[[ 9.8873061 , 3.82683186, -17.8779903 , -15.65602549, 5.80985979, 40.26799472, 6.83999838, -23.4729214 ], [ 11.67453432, -4.51231729, -12.12899331, 1.80567766, 11.24162397, 2.69724806, 4.0466431 , -3.97708833]],
[[ -4.88057382, 43.51170556, 9.55340291, -39.94410126, 16.93609855, 26.73433482, 41.20317852, -15.25915841], [ 47.86239077, -0.92791422, -42.05536295, -2.48136374, 26.84334665, 11.91559061, 35.46725688, -7.91000146]],
[[-16.36201577, 10.77685547, 6.21809449, 26.56851977, -15.86674476, -16.61514836, -3.95532626, 6.88690574], [-40.2162958 , 37.25516638, 23.15622802, -42.26965565, -17.48369212, 24.1181463 , -6.2372752 , 20.27364908]],
[[ 5.67630859, 14.3046341 , -14.33427575, -2.72033668, 23.81466606, 10.86973217, -7.45095412, -38.24192409], [ -0.30937022, -18.04072306, 0.82258693, 25.64590387, 0.23615599, 14.89839983, -4.13580024, -39.14447126]],
[[-26.55370782, -4.88814763, 0.84779604, 1.11496029, 5.13004171, 15.3260892 , -1.27293606, -35.1537869 ], [-23.69731158, -24.41097759, -19.44105317, 24.87710473, 32.08784138, -12.19692223, -26.6661902 , -4.84428 ]],
[[ -2.15504387, 20.19053427, -6.81185565, -22.51249222, -22.42708476, 14.29722721, 16.83926185, 11.38737591], [ -2.3155604 , 8.61660775, -20.63498925, -3.40892082, 4.59009812, 11.35559695, 7.63427834, -11.01015194]],
[[-12.4935606 , -0.31826943, 21.9396856 , 4.80665925, -38.49167382, -11.03222811, 42.86146879, 13.62410254], [ 36.25496072, 2.22547101, -11.65105072, 11.27040529, -13.83295721, -12.94765534, 26.70842786, 10.27041601]],
[[ 2.98983755, 1.89983358, -30.58257023, -5.61409016, 36.31184641, 7.37124627, -16.42440617, -1.85828929], [ 11.27286206, 19.43402185, 0.52157863, 15.19743082, -3.61790961, -21.2016369 , 7.26989697, 13.39646771]],
[[ 11.1938701 , 0.8132139 , -37.49708974, -11.14634991, 22.53694605, 15.82775189, -5.50975838, -3.90011646], [-21.65791649, -24.60650585, 16.85294414, 16.96718363, 4.80149223, 8.96686769, -23.39506311, -19.66814217]],
[[ 37.91356291, -1.8063928 , -49.70889713, -1.26419933, 32.47945773, -7.38349845, -15.70444461, 2.7060379 ], [ -8.12796938, 5.5907581 , -1.71611924, -15.30585409, -8.01776527, 26.34546073, 3.99362138, -35.09215228]],
[[ -1.26170154e+01, -1.22976835e+01, 2.08964207e+01, 1.69050595e+00, -4.40429321e+01, -1.47847068e+01, 4.03435240e+01, 9.75780079e+00], [ -9.32255786e+00, -8.17272732e+00, 1.50542356e+00, 1.18957214e-02, -2.40597750e+00, -9.90315033e-01, -9.32335025e+00, -1.18661969e+01]],
[[-19.04324755, -4.4330766 , 36.64645898, 11.11820635, 25.57157767, 10.80097904, -5.15863363, -1.15975584], [ -6.58320314, 46.51682802, 8.55085673, -35.99802988, -8.20431683, 17.04378797, -9.70056594, -4.97956324]],
[[ 28.51738986, -15.39306589, -23.92998066, 27.94485105, -24.98943423, 18.24881954, 23.84043903, 7.82630127], [ 25.23025104, 10.54661866, -19.27032413, -20.50304352, 6.37111803, 33.99984885, 0.27873345, 12.63960403]],
[[ -0.77098557, 5.87813573, 1.18912077, -5.76572992, -7.76816771, -27.31973628, 1.42901474, 15.50529448], [ -4.81160313, 13.76288336, 38.16287336, 16.03737025, -33.74615321, -27.65750481, 3.12847859, 1.6957503 ]],
[[ 8.33195973, 39.38295232, -6.49820653, -11.75128791, -19.79714281, -6.6902902 , 6.25427969, 14.18714436], [ -7.50508725, 4.88523208, 5.31086034, -34.42086882, -16.51016733, 5.52526079, 2.62717379, 15.45702183]],
[[-30.63588567, -16.51185613, -13.44568952, 34.3463119 , -5.24452491, -27.17563673, -22.51300485, -9.36815871], [-43.63236331, -3.59312747, 27.47568664, -28.52415714, 32.18943084, -3.38765375, -23.77303131, 2.58745141]],
[[ 5.29184349, 16.12134686, -22.9426987 , -33.86157654, -21.48768879, -20.5897181 , 9.40563439, 24.55036228], [ -7.14268421, -4.7742639 , 20.8072038 , 14.16277031, -37.30553246, 4.65391 , 17.35324384, -27.24042596]],
[[-12.43738005, -13.32812006, 8.9391941 , 15.97325378, -11.87982441, -23.2524971 , 12.43135641, 15.40918297], [ -1.62221944, -3.17805823, 18.37628833, 9.34312327, -7.9427143 , -15.87034326, -14.74882081, 8.61456409]],
[[ 1.6919511 , 14.60604262, -9.04327383, -22.55620694, 18.58518854, -15.21986692, -18.24466446, 11.32240771], [-13.06782238, -14.78265357, 31.3504776 , 16.24713742, -26.60493761, -6.69089464, -9.5768225 , 12.77736453]],
[[-19.30278644, -21.30823216, 12.64742128, 3.55448302, -5.77174184, 8.57150244, 0.96987722, -5.79823262], [ 18.03588798, 9.96032003, -34.8100213 , -31.09501687, 12.8547956 , 23.83125562, -4.31573256, -8.88395343]],
[[-20.14464864, -14.13431298, -1.3759091 , 45.2299457 , 10.88100178, -30.87859477, -9.27217417, 20.39636137], [-17.68893485, -19.89971588, 19.05990402, 38.63894752, 14.85623482, 5.44259679, -38.38875811, -16.96310514]],
[[ -4.81100715, 0.80529825, -2.72115603, -31.2791861 , -10.68406919, 21.92365659, -24.1592458 , -20.77709761], [ -5.57786792, -2.49316935, -30.68184592, -24.72475727, 26.05397912, 21.71207817, -10.46471998, -10.25393415]],
[[-11.05030575, -2.78014492, -19.87624905, -4.53820133, 26.368354 , 19.65959623, -13.55263334, -0.33463207], [ -2.37912625, -45.12412229, -9.03012708, -6.68221701, 10.23643303, 40.00328995, -16.53098901, -13.07548088]],
[[ 3.42668939, 9.53427685, 7.79985525, -16.24231823, 4.08255784, -23.53491968, 6.27962416, 33.86325836], [ 5.51098005, -5.77153314, 3.82667002, -0.27758262, 15.24053901, -1.09565216, -20.66892547, 5.17516873]],
[[ 21.39841324, -38.66059918, 16.6052754 , -9.88173539, -0.56851929, 52.5741404 , -3.00830675, -31.89046882], [-16.25312163, 4.465399 , 42.39088113, 11.59062334, -20.9878129 , 2.68699033, 6.94324982, 7.71067354]],
[[ -0.59157819, -5.4111282 , -8.1960971 , 3.98636214, 31.81221737, 15.29792437, -16.5019746 , -2.84677191], [-14.39961577, 8.74785166, -21.77021974, -23.18962341, 17.05319404, 27.63152024, -4.67006349, -8.392997 ]],
[[-14.57293616, -28.59881672, 12.40451796, -4.58270936, -16.74543134, -16.84015007, -4.68741507, -3.48233137], [ -8.64973367, -22.82175043, 1.39240383, 19.01692011, -14.08812142, -23.06048857, -6.79567901, -21.92036072]],
[[ 9.80612659, -39.40423423, -5.66600192, 32.13417648, 2.87787825, 3.84610471, -10.95785943, -27.95405588], [-15.27173374, 10.00233539, 29.76452295, -4.54072738, -26.01709711, -2.40838647, 1.39743664, -16.88406086]],
[[ 1.40439844, -1.64468972, -5.39626313, 16.14280251, -2.49348606, -20.29894407, 9.80342801, 24.06539591], [-17.03793875, -10.10977022, 14.0311618 , 20.57040481, -6.36069511, -8.9536583 , 2.98753674, 3.72762213]],
[[ 27.47778721, -14.37394549, -36.26812423, -21.04582083, 33.06404597, 33.29417663, -16.92188167, -30.28134783], [ -1.01656015, -42.73054741, -38.14723213, -9.12338688, 51.75845468, 4.47758371, -25.6995578 , -2.50633346]],
[[ -8.60188501e+00, -1.35037875e+01, 1.71019325e+01, 3.39310083e+01, -3.58594859e+00, -3.13148504e+01, 3.55777677e+00, -1.81659571e+00], [ 1.80800825e+01, 2.88917710e-02, -3.97030863e+01, -1.27696867e+01, -1.64499520e+01, 2.42740095e+01, 1.81296658e+01, -1.28654134e+01]],
[[ 18.57187438, 12.7779019 , -11.83110916, 17.07254533, 23.04702778, 4.34361511, 20.4331313 , 24.15440867], [ 28.55085493, 26.81799701, 12.35693163, 20.33935239, -14.68075478, -32.55566773, 15.90121152, 31.12836675]],
[[ 3.28147321, 31.48175607, 8.04993576, -21.3075009 , -15.14451236, 25.14070598, 12.1599461 , 0.48111663], [ 3.61832339, 7.14773889, -13.74309118, -3.66459428, 13.80786454, 23.25918801, -0.62157564, -17.2698525 ]],
[[ -7.41779981, 11.88352494, 17.02037405, 4.53687026, -13.12156576, -24.2424266 , 4.91773594, 8.33549147], [ 1.53398767, 27.86669974, -21.7716475 , -7.73232868, 36.17246419, -5.70800724, -1.70205652, 0.18900079]],
[[ -2.86171351e+01, 4.25459948e-01, 3.69694810e+01, 3.70636891e+00, -3.24186875e+01, 6.46376186e+00, -1.27071297e+01, 7.66696789e-01], [ 1.47298976e+00, -2.17975388e+01, -8.75611732e+00, 1.28856442e+01, -1.59010669e-02, 1.25133089e+01, -2.24804805e+01, -6.34572690e+00]],
[[ 28.01603518, 27.35760689, -22.81274937, -23.51419078, -7.71979401, 3.15599433, 33.99873723, 35.67636311], [-35.20219185, 19.55313369, 55.04799967, -1.79716477, -19.78543736, 16.80609926, -26.64175964, -26.7234568 ]],
[[ 13.65944592, -2.97514546, -15.12683092, 32.39229131, -41.99013256, -24.50632552, 43.01373123, 33.84499641], [-19.15687389, 26.08166537, 13.81466178, 14.55948401, -0.37549951, -22.08987723, -4.66833001, 33.35701152]],
[[ 2.54746374, 11.17124058, -13.48919557, 0.98051508, 0.31173729, -32.70425482, -5.99076513, -13.15976292], [ 30.40368277, 23.05055398, -2.44625071, -30.33650348, -41.06477096, -25.2048034 , 11.09576183, -14.22438868]],
[[-31.2581716 , -22.15459207, 23.55373525, 36.04919092, -0.89520742, -0.16158318, -30.07244372, -22.42209553], [ -6.4651839 , -15.93967257, -28.49611264, 5.44118801, 17.24330623, 22.40591935, 16.33004637, -4.04321143]],
[[ 9.2374645 , 16.28793615, -8.62831241, -19.41239936, -2.89636055, -10.83267577, 14.57304732, 30.81334462], [ 1.01360119, 0.88565663, -4.14878525, -38.0391743 , 7.27129776, 22.38484934, 2.46429654, 26.84843578]],
[[ -7.55561287, -9.22100052, 9.69370478, 5.16512494, 3.2859999 , 27.90193398, -9.61723019, -6.27435017], [ 17.65333566, 1.76168197, -32.82918768, 10.44088256, -6.42318463, -4.81545622, -6.94502022, -11.38330568]],
[[ 3.44486663, -4.60956759, -13.51963652, -25.65041301, -6.74371994, 16.54032639, 3.84318818, 32.17728398], [ 20.53136009, -28.4877599 , -33.98202226, 1.10072639, -14.37331243, 37.7118617 , 18.80744373, -38.27971234]],
[[-22.34648742, 10.43187492, -21.25173987, -7.02688455, 15.54297372, -35.59163948, -30.47085093, 15.84312505], [-24.67047975, -46.08017826, 30.43782883, 37.45649205, -26.93461112, -41.6759741 , -12.0042108 , 5.6157505 ]],
[[ 2.67786168, -8.70318815, -41.56460796, -7.17276577, -24.07755641, -11.26914902, 30.78658267, -6.16668637], [ 3.83134013, 13.27945351, 3.04046235, -3.33475025, -12.19143349, -23.24155064, -7.45087883, -2.03918158]],
[[-13.64194462, 19.49614633, 15.78078905, -9.16440254, -32.9063069 , -20.78481118, 3.02168157, -1.61900842], [ 16.45421328, 11.46288878, -16.89891649, -19.58109974, -30.03196384, -16.70595653, 21.28480927, 11.34330418]],
[[ 12.72741855, -3.69328128, -11.26643442, 30.77795055, -8.60110842, -15.40302894, 5.8817758 , 1.84754805], [-42.09845775, -11.71011293, 21.6212039 , 14.41615238, 5.48788971, -17.26036181, -0.09243147, 11.74719301]],
[[ 15.65000757, 6.77860764, -14.12313401, 8.77621954, -17.1938368 , -1.83162288, 29.53354253, -1.20611008], [ 8.33186603, 14.37817168, 23.82781093, 27.67578966, -27.50618805, -32.18340113, 17.02218737, 23.99884562]],
[[ 16.16333546, -6.06576172, -18.53741185, 6.12634434, -21.68073312, -24.56013424, 26.24625873, -8.40651232], [ 17.69669199, 5.86224074, -17.03680517, -33.08251867, -14.62360925, -8.28899253, 11.49164366, 7.68174262]],
[[ 9.45378464, 41.66900159, -2.80897008, -17.56101914, -11.04779877, -46.36252927, 1.67411712, 1.69375184], [ -6.36463612, 2.11783144, 2.1790029 , -31.26325829, -6.59774709, -14.44281285, -4.04346611, -5.94033372]],
[[ -6.52823567, -17.28497388, 11.57887114, 13.01997396, 14.26516202, 12.1196394 , -1.37092959, -6.43441473], [ 16.75049622, 38.03362907, -1.33313821, -38.63652381, -8.8994405 , -39.15610566, 5.76091003, 8.39815559]],
[[ 9.48018964e-01, 2.50114859e+01, 1.39013193e+01, -2.96998040e+00, -2.20442725e+01, 1.47967879e+01, -7.12549383e-03, -1.13041841e+01], [ -1.26225891e+01, -3.32307609e+01, 2.07733225e+01, 3.95911469e+01, 3.33819306e+00, 1.87762440e+01, -2.28879542e+01, -2.57321245e+01]],
[[ -6.75672393, 10.23622374, -0.62792833, -33.93868784, 25.66180717, 0.09238277, -43.67440066, -9.1675925 ], [ 0.70742228, 16.49341494, 4.38038356, -9.74482887, -25.91253776, -18.21492696, 18.99525066, 1.14856937]],
[[-34.71058755, -1.02232185, 24.82981277, 43.60768488, -16.58098252, 25.05198274, -38.65505387, -12.74244811], [-10.31738614, 21.74595015, 21.43229557, -16.76278805, -4.84700094, 22.07001104, -21.87876963, 11.12551017]],
[[ 10.36316627, 47.21856049, -5.90582261, -26.12307013, 12.42687543, -40.81623682, -3.98848386, 43.31508993], [ -1.39916692, 6.0627178 , 10.97507082, 14.68065368, 2.67991879, 10.19880132, 1.1261353 , -5.29733269]],
[[ 12.58960576, -19.80688664, -47.05333755, 0.24868489, -23.58828413, -4.73258306, 1.69539785, 7.46021372], [ 0.8703576 , -39.02833212, -39.11779982, 5.25654234, -29.99988692, 31.82197426, 16.3021493 , -26.68344115]],
[[-25.4134557 , 27.26559551, 36.57359262, -22.92876211, 7.0001363 , 20.94335646, -46.7492346 , 11.94310068], [ -4.32933014, 3.64574779, -18.98523094, -2.43360134, -3.85653967, 38.45091019, 14.34586224, -9.12579155]],
[[-11.38137377, -6.79900227, -8.6646168 , 23.84977372, -19.01728561, 2.16225207, 14.96400614, -3.46177898], [ 13.06532653, 41.70803928, -1.68970743, -47.12854308, 19.76909438, 29.53672869, -24.4499657 , -8.64085668]],
[[-11.98071392, 7.90621525, -34.93497116, -22.35330636, -11.96194967, -12.87671443, 8.46811157, 24.71596551], [ 11.72676444, 5.56060101, -35.03197238, -19.85750335, -19.48401282, 44.02213382, 37.43331758, -40.05786954]],
[[ -5.87028828, 12.62118587, -24.54603748, 26.43130188, 34.58580093, -6.92560243, -12.03987684, 33.00527646], [ -0.26715759, -14.99432166, 4.73730815, 12.91832291, 7.20924684, 41.45779988, -2.43611783, -11.31895248]],
[[-23.61636524, 7.14748833, 20.61575807, 27.42792237, 4.92125839, -34.43315746, -20.02351885, 12.40557913], [ 7.19467236, 2.79819795, -34.17958237, -18.61390249, -6.64361628, 0.81399336, 7.8777955 , 11.06821456]],
[[ 25.06319863, 27.76006022, -17.86957322, 0.8331495 , -16.44108679, -31.29005576, 4.53028211, 10.39419669], [ 21.72487319, -13.83892695, 7.3251747 , -9.21555092, -43.02951151, -9.55708904, -1.59621819, -4.54941521]],
[[ 10.14047799, 38.38386074, 22.35315376, -3.08432896, -51.9784283 , -6.25862959, 13.01605139, -5.92167284], [ -8.64902536, 1.20645528, 33.94512155, -19.90593291, -2.19860685, 13.22435402, -8.14806782, 4.19784325]],
[[-11.01960874, 29.57294679, -6.26278844, -29.12682598, 11.35847618, -6.51055153, -15.53516536, 29.89626585], [ 35.38971667, 6.42644487, -47.91468333, 7.94498018, 10.01265931, 25.18010493, -0.40997672, 19.92082205]],
[[ 22.5103705 , 15.43045186, 30.5287547 , 19.53639085, -24.13476066, -25.83307249, 4.97173674, 4.53144251], [ -7.71876133, 14.42368277, -14.29067794, -23.7968828 , 27.10900647, 8.77062019, -10.12013162, -3.10156706]],
[[ -8.92642364, -6.26467672, 15.9606129 , 10.62213784, -0.08291611, 0.72961279, -2.14877842, -9.29146835], [ -7.72368952, 28.52529979, 10.04460281, -30.2046115 , -2.88132752, -0.22150135, -9.789053 , 15.4598954 ]],
[[-12.10895759, -3.69702421, -23.67020079, -13.70390898, 25.09834709, 23.59644879, -18.28748315, -9.50248214], [-11.59542997, -1.35725255, 11.60096759, -6.02735043, -33.10634928, 11.38352743, -41.60863612, 11.33410465]],
[[ 0.67598552, -44.34581068, 13.96984927, 39.97993551, -9.67400424, 33.22791615, -9.81017615, -0.62502586], [ 10.76907191, -5.1322065 , -14.78264922, 32.18514211, 37.28239735, 5.02331191, -39.15775795, 0.29955311]],
[[-17.38687284, 6.72888407, 34.24739969, 1.43542509, 13.41994407, -42.31442986, -8.47604716, 8.7250484 ], [ 14.65543865, -10.49576347, -10.89005146, 4.26775377, 0.68420921, 12.81782363, -0.0594355 , -7.17468459]],
[[ 0.86150248, -20.60706566, -15.22135888, 5.00820961, -34.30300925, -3.27585273, 4.58396003, -11.58851224], [ -8.02654365, 20.49056259, -26.64203985, -24.3462155 , -15.37405692, -23.10914924, 19.58044557, 17.90617777]],
[[ 6.72691093, 13.202751 , -35.0027421 , -42.48568656, 14.02887193, -6.09238021, -15.21795703, 27.75142483], [-23.19231106, -24.5777013 , 29.79672711, 13.46072801, -28.29434913, 32.12008967, 6.98809696, 11.03186339]],
[[ 21.25764934, 9.40415637, -23.47132491, 8.52599302, -8.17954999, -11.07431485, 20.6178379 , 6.15130472], [ 21.08655278, 0.89970587, -14.25671017, 4.62913252, -15.94562896, -31.68995153, 16.58681536, 27.36674336]],
[[ -5.88597679, -21.69675835, -8.79134081, -22.93088064, 6.48678109, 15.50618891, -15.64603638, -23.83171966], [ 51.56603977, -9.52191102, -43.66576642, 2.02934648, -16.14388728, -30.54590946, 49.69959567, -4.1189568 ]],
[[-45.80493035, -1.34906654, 1.82885743, 9.04125422, 23.26508037, -21.7198631 , -3.90306832, 1.053783 ], [ 28.56023146, 18.41142129, 21.4110859 , -2.08071949, -43.20847183, -2.62708549, 22.92206291, -3.41083859]],
[[ -1.75986267, -8.03217913, -21.88394739, -5.37802951, -6.84015098, 34.17552826, 12.22598916, -20.39526075], [-17.11077106, -7.46355139, 18.36434075, 3.36669131, -36.32554759, 6.39775827, 3.57876938, -10.85238158]],
[[ 5.11911237, 3.11787761, -27.23519869, -24.09679156, 7.8602722 , 19.20159919, -3.73631115, -16.87464115], [ -8.5402146 , 9.72254652, -8.06969987, 3.80655858, 5.41043913, -13.49977142, -5.87090106, -11.13589386]],
[[ -7.47714305, 19.6130707 , 36.61958239, -2.28576344, 13.57908157, -17.07783705, -7.46719036, 0.20923476], [ -3.57414083, -3.86441104, 37.60569291, 35.59134578, -27.88016438, -27.73160075, 14.90656839, -41.92529006]],
[[-19.83094178, 8.28106741, 30.87365881, 0.64544304, -29.61632772, 25.41173993, 25.66971315, -21.86501095], [ 2.10733729, 5.61256305, 7.53406566, 27.58180842, -8.51628777, -25.18728349, -17.37353158, 14.28555119]],
[[ 8.60975456, -0.15578563, -6.94067994, 23.02091293, -0.81039743, -14.83689334, 33.17758512, -19.4504405 ], [ -5.65775816, -17.74608117, 8.82628905, 25.54189546, 5.77467702, 7.49865572, -4.03160523, -15.90562263]],
[[ 23.74798824, 8.32275991, -30.64791552, -10.52814002, -17.70808415, -10.53662482, 30.52331702, 12.43751358], [-23.7742807 , -6.04308142, 14.04307079, 8.94645788, 14.41958572, -7.55505019, 12.63018064, 17.36329843]],
[[ 7.17984679, 9.40396022, -6.36936168, -4.72827167, 3.39139822, -7.42943729, 5.36463204, 28.10548078], [ -2.66221534, 6.95468546, 12.7740868 , -29.47252731, 43.1699327 , -3.16380372, -27.5706051 , 20.15035498]],
[[ 12.08281982, 15.71022099, -22.08580043, -10.97014082, -24.16539507, -5.21520018, 25.62145878, -4.66590984], [ 0.14178548, -13.59466256, 3.96574394, 34.6168668 , -0.16743118, 25.73417996, -4.91434074, -36.35253267]],
[[-15.00801856, -21.66536968, 18.78961628, 27.26286766, -6.07921144, -9.8399449 , -1.08140424, -2.07703415], [-10.60632371, 5.7717639 , -11.66068229, 0.88611188, 26.63055632, 8.49058287, -12.61324925, -6.3741722 ]],
[[ 2.82200152e+01, 3.45936927e+00, -1.33092741e+01, 2.63724513e+00, -3.80326473e+01, -4.89027418e+00, 3.15491756e+01, 1.99844715e+01], [ 6.80300727e+00, -1.01027487e-03, 2.02150006e+01, 1.82830804e+01, 2.42404602e+01, 2.68276347e+01, -9.34545732e+00, -1.05972705e+01]],
[[ -6.71531076, -13.59406807, 20.60969602, 39.27608712, 14.97295595, -7.48331057, -36.22147183, -1.42052236], [ 17.59060154, -10.02862111, 22.31353789, 5.40056211, -19.35100494, 45.40939609, -2.64408446, -8.06575733]],
[[ -9.6251985 , -17.30413999, 31.50279489, 38.57294269, -3.5286353 , 23.41798598, -9.8168286 , -34.26412139], [ -2.85605152, -10.703749 , -25.59798361, 14.30785614, -11.86811484, -17.68169914, 30.39916772, 4.45562022]],
[[ 10.99868524, 7.87315743, -7.40963645, -15.9925284 , -4.13489156, -3.49679953, 14.20728572, 11.35641573], [ 16.16958404, 15.75338419, -9.7112072 , -22.40861862, 12.26338523, 10.47533809, -24.86203919, -2.31304164]],
[[-47.00065346, -19.87081529, -1.68008038, -8.66350041, 38.79107829, -15.24323659, -44.20209562, -15.93405958], [-26.49815178, -25.60478721, -7.22669779, -14.42908805, -52.10945901, 22.94986306, -13.8566197 , -36.50141537]],
[[ 5.33521821, 8.35551842, 5.942846 , -10.39351858, -29.03619518, -2.57031876, 22.67259091, 5.7392049 ], [ -5.8479248 , -22.31779528, -6.61326329, 20.19948695, 19.16889015, 7.61841139, 4.25628034, -5.61426446]],
[[ -3.24243626, 32.59672405, -19.30763706, -40.44045351, 16.02484014, 27.57358305, -37.8522856 , -4.13820402], [ -1.29288515, 9.64956295, -30.46013456, -4.97756577, 6.0741146 , -6.20992543, 36.22882651, -1.85416399]],
[[ 14.21826268, 22.92784771, -14.92911535, -23.44343398, -25.75997613, 37.0653469 , -28.40191743, -15.87601675], [ 7.06961822, 29.73132848, 7.95120497, -6.11237302, 35.78430284, 38.19192503, -41.01315238, -4.30604857]],
[[-18.60195928, 35.29103716, 11.00989268, -15.19177652, -7.96764533, -35.6153898 , -7.301661 , 32.42565441], [-22.58223431, -23.98306948, 21.48093317, 28.94817331, -9.55632847, 5.06564085, -28.3918314 , -20.59549504]],
[[ -1.27484407, -33.58246014, -21.46982953, 6.06414424, 9.88939804, 42.07147595, -4.76535452, -0.0890333 ], [ 5.99261202, 24.21465771, -23.61214121, -10.63605398, 1.04878041, 2.92033573, 19.17785821, 14.62401475]],
[[-21.84421725, -28.25484087, -34.99433382, -30.59861812, 30.64729129, 29.831801 , -28.661742 , -14.24589676], [-27.36133988, 25.16832528, 8.69968982, -2.68045636, 2.74600987, -31.17178212, -27.46470164, -2.16600735]],
[[ 15.77591553, -40.09141338, 25.7495285 , 0.70937349, -11.91938967, 6.75539659, 36.16044161, -16.44258192], [-21.55217235, -8.83204741, 47.84557773, 5.82287081, 14.93651973, -21.83348111, 15.03689449, -20.51298927]],
[[ 15.20191419, 21.56173934, -31.94470533, -23.61431129, -17.51396135, -18.3904167 , 6.97925793, 8.8339758 ], [ 16.82008513, -6.28964637, -34.66509677, 5.47992765, -27.52562027, 17.5165436 , -9.48545072, -9.86066773]],
[[-10.42102569, -4.12371226, 27.084836 , 4.02840325, -31.72902172, -0.06682422, -15.7103798 , -13.61321041], [-42.91722476, 1.86311352, 3.77593991, -5.5276032 , 21.21044798, -6.24836158, -34.41598549, 3.73425102]],
[[ 13.8923197 , 21.56130252, -22.5182255 , -20.74974852, -26.54037715, -1.50826309, 21.62622081, 21.89604655], [ 8.31857754, 38.13980456, -26.40139513, 17.07081535, 28.09188586, -9.63979331, -11.49239099, 24.14275032]],
[[ 13.36503289, 15.33793565, -15.10967965, 17.56985854, 5.584457 , 17.72405845, 7.99669766, -9.4006527 ], [ 4.85665931, 23.30671576, 4.95533753, 0.32822993, -24.03539555, 9.74356451, 23.69089299, 20.12828708]],
[[ -1.66823168, 38.28676177, 7.40709305, 19.01302379, -4.41110717, -5.2374063 , 2.00593873, 20.92502979], [ -0.05319352, 15.59183451, 7.4112697 , 19.74214473, 8.99751308, 9.92080631, -12.27814777, 6.49614746]],
[[ 0.62105533, -0.53018678, 23.69433769, 17.47675234, 16.42497399, 10.39607097, 5.83018374, 7.60216122], [ 12.83176574, -9.38692051, 10.40813259, -2.47250725, -7.1305265 , 42.46054539, 13.8763044 , 6.1477155 ]],
[[-20.95186465, -11.14238471, -33.92174711, 37.24765597, 36.53445414, -25.40589174, -31.24448224, 16.95177973], [-21.70821381, 2.14214821, -12.76161558, 7.07258375, 7.76987358, 24.01496687, -16.25659122, -32.24171059]],
[[ 10.43380161, 26.78540685, -12.45831731, -33.94105609, 10.14488479, -2.53759846, 6.33322037, 11.43197015], [ 19.55182577, -10.86427098, -8.98102242, 3.56049252, -7.33970465, 11.79134265, 15.52491746, 2.22252312]],
[[ 30.37387679, -6.84905159, 0.48802101, 35.45371172, -25.74975516, 9.58246885, 35.92935706, -20.62392646], [ 6.14949389, 36.31090035, 23.14656224, -8.95433062, 5.74453297, -34.75321653, 13.1700458 , 22.94649504]],
[[ 9.95998707, 21.31272139, -13.41548606, -47.75164376, -5.43776432, -8.26013131, 12.09220465, 37.3040774 ], [ 37.10155665, 7.83036518, 0.21034476, 22.1017266 , -25.82865497, -0.21429363, 22.62151208, -3.97762905]],
[[ 13.11124713, 22.83865289, -16.55162434, -13.13298344, -3.2028626 , 33.65065913, 18.00256365, 1.349685 ], [-12.67705376, -14.03349503, 6.04500422, 27.34911577, 2.51862341, 46.32615291, -1.7925584 , -7.93080317]],
[[-14.40351438, -31.07078085, 31.09390148, 35.14152074, 15.47037052, 27.33985279, 7.75027831, -10.63647185], [-15.36583456, -15.75017247, -0.3122327 , -12.21710717, 27.68300431, 20.1283201 , 11.96135358, 20.43788919]],
[[-33.60546303, -10.28448683, 23.98692843, 6.02634344, 17.45763069, 3.44567239, -19.01112916, -8.71943132], [ 7.41178013, 12.39004222, 4.9101026 , -37.64452485, 4.09842201, -19.3063203 , 6.2347937 , 27.72002158]],
[[ -3.26263945, -2.77144037, -4.24297181, -1.39460344, 33.27854099, 28.33037125, -27.64102119, -21.248126 ], [ 18.64521366, 9.88613778, 0.28254216, -11.0208023 , -3.8661849 , 4.79418703, 10.5147938 , 7.72843953]],
[[ -4.99440205, -22.43524401, 1.34204607, 21.21553867, 13.51082597, -3.39094107, -10.42069084, -20.41832007], [ 6.03608749, -14.04680956, -11.62686214, 22.22587756, -25.44700067, -17.47894551, 32.54992001, -1.03644658]],
[[ -3.2296236 , -32.62180641, 1.63837345, 28.73861195, -28.1273242 , 2.64403202, 10.21620211, -18.01216044], [ -0.46673768, 9.70520536, 16.32161773, -11.16601077, -22.86228339, -32.0981172 , 8.34544185, 23.28382436]],
[[ -1.48691392e+01, -3.39334630e+01, 1.35078275e-02, -9.48824895e+00, 9.73855275e+00, 3.09334142e+01, -5.65155788e-01, -5.55074347e+00], [ 1.98540955e-01, -3.95371332e+00, -7.43959684e+00, -6.00244877e+00, -8.87727573e+00, -2.05654914e-02, 2.67503459e+01, 1.83441183e+01]],
[[ 4.63107187, -2.01096882, -14.27077902, -12.24855774, 25.30144505, 12.51971175, 3.71426068, 5.72732976], [ 0.76837976, -20.61730327, 2.46805179, 21.63765714, 10.07210009, 22.05299868, 6.80865957, -18.5308729 ]],
[[ 7.18227344, 1.45359726, -37.82273809, -21.7896307 , -7.34471802, -5.46812473, 8.99070001, 10.20316582], [-23.57639447, 3.74561891, 11.32612279, -20.04695342, 6.07608443, -1.93151183, -8.51610045, 12.73201663]],
[[ -6.5025887 , -2.35277334, 34.03578255, 10.69952825, -17.83923315, -7.37041502, 16.72632551, 6.00717646], [ 7.76537896, 1.11156044, -20.48156854, -5.75333118, -0.45155038, 2.41940424, 23.44896186, 3.80276586]],
[[ 22.00453541, 10.89552048, -41.10322032, -12.80269475, -40.59020954, -10.57915241, 23.26258936, -0.71537097], [ -4.01225782, 28.55002956, -0.71623025, -34.21499203, -32.5703081 , -18.78904548, 25.74762192, 14.6781206 ]],
[[-28.64200361, 11.52111341, 25.15116405, -0.80497449, -1.87106925, 3.35141151, 13.38545825, 2.84888253], [ 9.66608893, 16.24566409, -13.97533437, -24.18321877, 3.19658635, 30.79232153, -15.77333216, -3.42527756]],
[[ 7.04254762, 27.60597239, 2.79806044, 18.24345756, -9.33559371, -11.61958533, -10.45824217, -4.29369825], [ 2.4000007 , 31.26345599, 6.4372235 , -7.92046536, -21.48552284, 11.75047547, 12.49256515, 17.45129023]],
[[-13.43597453, 1.59318011, -30.21333237, -3.98814721, -31.45008135, 12.76499505, -26.77213114, 27.7537933 ], [-41.8101152 , 25.41377654, 7.19039679, -11.36744553, 37.48602765, -29.20855406, -35.05858159, 14.65037693]],
[[ 29.9784395 , -13.46039355, 8.23187489, -41.64960416, -19.24317986, -9.17394627, 9.32498258, -1.00692664], [ 38.98863765, -25.25859408, -33.03474471, 3.0703892 , 19.8493382 , 5.20001344, 16.61083452, -11.87241354]],
[[ -6.76946345, -13.98572518, -23.08520279, -13.26983371, 24.61952265, 17.46792957, -5.13729722, -3.55489899], [-27.77669771, -20.41101355, 11.28090693, 3.14843216, -21.3719837 , -20.02291805, 19.48569358, 20.13380759]],
[[ 9.09401174, -3.02427956, -17.72386994, 14.70510409, -11.31563498, 11.65767762, -1.39026642, -12.88893627], [ 1.32492297, -7.04775246, 27.91417703, 13.61188903, 12.47846742, 5.3748415 , -23.52416548, -13.51547577]],
[[ 1.31648763, 17.42200017, 7.7347688 , 15.19943136, -7.55889329, -26.05841276, -7.67459686, -7.19012826], [ 3.87548117, -36.30068938, -38.38996512, 7.30416072, 48.20660177, -10.63997237, -12.69499913, 11.78388059]],
[[ 30.15868734, 22.8930004 , -13.9366002 , -8.29411582, -20.33169263, -3.31169511, 0.08656236, -9.34161136], [ -1.43315349, -0.80223131, -29.90913991, -1.31010352, 29.87308616, -1.11379267, 0.34849317, 4.33161326]],
[[ 22.15301069, 1.15773797, 27.260129 , 2.50985432, -23.55859815, 15.13093322, 3.58206199, -10.15084363], [ -0.98457734, -2.17119717, 6.6691485 , 23.48154241, -4.64897727, -16.88979789, -5.03692363, 8.31960664]],
[[ 13.51291935, 0.13431095, 10.37355603, 37.19248894, 12.74817978, 22.09178831, -23.62861214, -24.30840076], [ 30.68694387, 10.00024695, -0.9646313 , 28.35429621, 0.22043017, 6.90691754, -3.15451337, -1.38911443]],
[[-36.6163615 , 0.11670269, 33.72945283, 16.90467836, 3.52279864, 28.6418207 , 1.90321169, 9.96888864], [ 19.53259977, 31.41075082, -27.90542732, -7.61212351, 13.1861713 , -13.88982537, 42.14383026, -2.67135693]],
[[ -9.98483509, -33.1601696 , -2.33109416, -0.96523145, -5.39237567, 35.38817838, 4.2226232 , -4.92717583], [ 1.24151907, -4.16207805, -18.61704288, -15.14794978, -1.43362892, -27.7619694 , 17.3932878 , 25.05009155]],
[[ 21.97749475, 1.32849776, 14.07080786, 16.9548965 , 15.70440057, -9.38619148, 14.43737418, -28.10055607], [ 30.26870412, 22.88290969, -2.37202911, -21.83039194, -17.92614421, -45.25677596, 47.46828322, -9.13851298]],
[[ -4.43630112, -48.1022984 , -34.91116403, -28.69332692, 13.44777947, 21.71550986, 29.78987174, 32.2917367 ], [ 44.89891946, 18.94239905, -22.00463484, 12.36856919, 31.0204941 , 19.62017346, -13.06609124, -5.0266199 ]],
[[-13.60546952, 16.7543849 , -2.5596975 , -27.97231656, -4.47516882, 4.77792471, 4.86141849, 7.1060878 ], [ 7.12912612, 7.3019098 , -13.46699734, -16.83182987, -29.14408969, 3.42295971, 12.37153146, 10.70351222]],
[[ 4.2828571 , -1.18093972, -9.50787811, -8.37906847, -6.67709436, -25.33321476, 8.80964956, 7.04136413], [ 3.00345664, -5.65223114, 5.02057861, -15.16703014, 0.39630673, 25.79274147, 7.24797628, -0.4788809 ]],
[[ -9.61711772, 29.12602624, -6.71389204, 0.1288687 , -34.75178457, -19.11125532, -0.38404526, -17.48830383], [ -3.64384349, 31.65257852, -18.73586138, -2.70812159, -33.25212554, -3.76173962, 6.61383732, -25.23413987]],
[[ 17.71354997, -29.0340773 , -7.51604018, 16.7385913 , 42.5703103 , -4.26610724, -38.32214206, -8.6811703 ], [-21.78421991, -25.83536997, -18.95101045, 6.4679276 , -14.70761654, 0.73797519, 11.19262611, -13.09435696]],
[[ 38.46587612, 17.63200825, 45.70203929, -3.76158739, -42.08948301, -22.93286987, -24.41457451, 8.26189144], [ 3.74253774, -6.07920665, 25.18745624, -20.38174471, 0.83066353, -2.7174085 , 25.99511637, -0.91680638]],
[[ -1.42550344, -50.04039748, 29.62093101, 33.18649285, -34.00854844, 22.68727686, 31.40073212, 12.68252998], [ 36.98104231, -19.64027845, 5.80005137, 41.65172083, 51.89444085, 21.85273781, -14.52019505, -32.6723026 ]],
[[ 0.47640393, 38.940502 , -25.31441951, -32.61090932, -29.92994969, -24.85450798, -22.79479264, 6.23423065], [-30.57524619, 6.46501332, 27.82893867, -15.16645435, -35.42464542, 20.62381716, -15.00945868, 13.62538292]],
[[ -5.11192927, 36.85863122, 17.15222727, -7.83944892, 2.93972374, -27.160336 , 2.50077701, 0.65250435], [ 18.11973001, 8.24972036, -38.65319748, 24.13843304, 14.84277043, -3.94787274, 14.69383824, -35.77761101]],
[[ 23.96830474, 10.34031931, -28.54141662, -5.09200216, 34.71761347, 27.66141625, -6.0500175 , 8.86241351], [-39.5842116 , 33.37064221, 13.68658918, 31.56573779, -7.27258273, 2.21158161, 39.83842675, -11.47812043]],
[[ 19.56442204, 34.23081582, -38.00545242, -30.33877186, -8.9249737 , -23.18407914, 15.46703617, 39.26454717], [ -1.85033553, 7.4468654 , -35.17682846, 8.07413372, 1.17302781, -1.77658025, 35.47322775, -8.19603781]],
[[ -2.92134924, -10.98257453, 1.47451432, 5.09385329, 7.91303012, 12.26060792, -6.67413 , -30.61619172], [ 38.01924051, 12.0635241 , -26.06100483, -35.53741629, -42.68333032, -19.42362471, 35.79635529, 12.4469997 ]],
[[-32.18145555, -14.37585235, 24.51841987, 6.69705859, 5.48208556, 24.33959488, 28.52387256, -0.88375061], [ 9.4914816 , 7.82344196, -13.56142341, 4.83212205, 12.57583101, 4.74435516, 2.58738955, 4.46016181]],
[[ -0.79013649, 42.55593695, -12.98785348, -23.49978188, 9.66756799, -19.15782391, 31.56738665, 6.60868556], [ 7.8900459 , 31.74278434, -46.24456303, 16.06898104, 19.60026137, 16.44366247, -3.55414185, -16.67455635]],
[[ 4.89955561, 34.26090386, 4.02823447, 26.28555751, 9.93832523, 5.33460169, -11.62782143, -13.11499994], [ 10.79360049, 13.79491637, -27.85291359, -4.94275425, -5.72907906, -43.00673003, 4.28554197, 32.53334985]],
[[ 11.66103928, 25.19423885, 3.54658093, -2.69286359, -2.22607262, 2.64501987, -14.96367416, -15.50395762], [ 31.6678709 , 26.27909791, -36.1135949 , -1.1346746 , 26.47777244, -23.29391917, -31.66174249, 2.98092686]],
[[ 11.87795258, 6.12567929, -12.3082905 , -7.03136934, 26.93056555, -8.55597072, 4.57975914, 23.87186275], [ 11.11238601, 3.22914171, -50.06796784, 8.30928624, 13.67960829, 42.5106558 , 11.7467173 , -1.10682855]],
[[-23.49985419, -16.47915375, -9.01784459, -16.7751909 , 19.02447435, 14.47299421, 16.68937262, -17.50996779], [ 27.41688861, -18.63969616, -14.25015474, 29.97602106, -30.93806916, -16.35182126, 14.50728698, -16.22262791]],
[[ 5.63240444, -33.13645998, -28.53646875, 28.45168724, 6.90166457, 33.59620181, 25.76467814, 6.07971714], [ 8.05342133, 15.13454478, 22.10779077, 36.31728566, 7.64971674, -8.44084826, -2.91281477, 28.15158784]],
[[ 16.38341152, 7.1447978 , 13.46554621, -3.20681873, -31.11732824, 11.76511903, 9.60033442, -2.64055428], [ 25.7230543 , -16.32864643, -10.51082781, 13.65191952, -21.44985315, 5.43490741, 36.8326007 , 4.84624712]],
[[-10.83694484, -29.02363841, 11.72411085, 30.71577287, 11.94164197, 22.65787202, 2.97476282, 12.60338141], [ 30.11655799, 11.55917358, -29.06386266, 13.94470802, 34.08644903, 7.62898882, -16.1116801 , -22.36561847]],
[[ 22.89441128, -0.58308528, -13.48003584, -28.50284712, 5.96931378, 28.91340126, 11.90345501, 4.22779124], [-18.64789695, 3.07421834, 0.78159406, -17.33602571, 34.23277581, -2.93269908, 14.31034118, -1.33103736]],
[[ -7.44517769, 10.28875712, 10.18425595, 30.79090028, -1.0518451 , -23.22646693, -7.22548783, -5.74317358], [ -1.70612612, -2.48065858, 8.82498486, 28.50648766, 3.56837927, 2.57809853, 1.33990858, 13.39772831]],
[[-33.6214873 , -19.8811291 , 51.76335329, -3.66190132, -9.0313282 , 13.14474471, 31.74230559, 2.6847875 ], [ 20.48728322, 1.90169459, -28.34525627, -9.45723984, -5.46797581, -5.30503587, 30.07376013, 8.77672895]],
[[ 31.70441854, -15.56007386, 9.10911507, 12.48452336, 27.65308248, -17.31494616, 8.58917561, 30.43503391], [ 22.80013717, 2.37875265, -16.83567414, 3.57446059, 41.8449654 , 19.51879862, 17.13910432, 3.32104698]],
[[ -2.97889237, -8.92310444, -15.37423778, -18.2568534 , 11.16000486, 4.51451741, -14.12218273, -21.71068433], [ 15.21444695, 5.57970865, -27.14504003, -23.52858522, 2.49108824, -14.03293008, 9.99564642, 8.0551885 ]],
[[-19.34060544, -7.31142495, -22.48803129, -5.60057282, 19.34120605, -0.81493792, -30.51915076, -2.02284129], [-29.64053055, -12.47141173, 8.09335875, 38.66571103, -26.90452661, -27.68636387, 25.73224125, -27.83020066]],
[[ 31.28471908, 27.10909268, -5.29364504, 15.97644178, -40.13269678, -22.69450006, 44.78841507, 3.40834729], [ -3.23501124, 6.83681382, -36.89606035, 32.84644506, 31.09928623, -12.37125153, -20.87949487, -41.188752 ]],
[[ -4.50838115, -3.62585541, -11.56174071, -25.86534931, 4.10743158, 15.22176049, -12.15523004, -32.70486369], [ -2.27699543, -30.64938133, 33.52588125, -25.679695 , -17.74644789, -0.75332777, -33.2649186 , 0.05956265]],
[[-16.99647665, -19.07953954, 12.93955074, 14.57261906, 17.85273718, 21.08465609, -16.57662619, -30.11778212], [ 2.06480876, -28.01529881, 34.30408647, -21.43930525, -3.9264369 , 31.33465417, -0.67047031, -2.13955041]],
[[ 19.63079993, 2.45523988, 10.32070022, 15.34573291, -7.63702233, 20.46162388, -18.52098217, -21.15012101], [ 2.80566777, 13.79599902, 1.16007467, -5.39147581, -31.17016921, 3.52912838, -0.50091386, 4.95301269]],
[[ 7.19883371, 18.42676947, 10.72216043, -0.97052003, -32.75914325, -17.53542895, -3.40934666, 6.58687226], [ 5.0868778 , 16.72920321, 25.72295772, 9.1617487 , 5.61933054, -14.47336025, -12.85380886, 5.12124291]],
[[-14.72953842, -1.88440732, 2.27851724, 17.89936463, -0.98709974, 18.58962883, 22.76208715, -8.98662628], [ 8.9463862 , 6.63649737, 19.84271168, 1.69909142, -41.00274396, -11.9964978 , 20.88481505, 11.6655982 ]],
[[ 15.15568532, 20.51319919, 3.01552078, 17.51584295, 8.51749016, 2.69763886, -14.6130431 , -3.20436848], [-21.32802596, -12.99917385, 14.81968304, 7.548219 , -26.45164927, -23.63208878, 17.40193365, 25.07854967]],
[[ 9.0038323 , 4.16784384, -36.69826953, 27.0577405 , -12.46249868, 26.80847975, 19.2104698 , -19.6006765 ], [ 26.31963844, -4.25903686, -18.58981068, -7.10317664, -1.74359648, 8.06604488, 4.87759453, 30.21081181]],
[[ 4.39301027, -6.66838507, 9.26670291, 19.08861483, -3.45841591, 24.03778648, -0.08346476, 11.35364807], [ 20.56896601, -4.32921373, -35.57221995, 1.31127156, 18.34189366, 7.58526834, -7.71365299, 19.03202706]],
[[ 30.57346179, 3.26339517, 18.17263227, 16.41616725, -30.24507572, -15.86318416, -32.89048587, -17.50318258], [ 4.86906256, 16.27059323, -17.7296068 , -32.38843573, 12.65418263, 28.13871025, 9.95558772, -5.0304405 ]],
[[-11.10065082, -16.46016118, 38.90827012, 3.29173257, -35.55468724, -12.50968678, 24.99053158, -26.06575551], [ 7.68956295, 4.90913359, -3.75000911, -23.40376501, 13.60414656, -11.64287504, -0.49862205, -13.11351014]],
[[-21.62221912, -6.62648824, -1.76058508, -43.05819478, -5.46303123, -24.40102824, 13.53793456, 13.87607265], [ 19.74790622, -4.8699281 , -22.97934531, -23.64657697, 25.61404137, -3.01588087, 3.79181794, 6.35330796]],
[[ 19.85415289, -30.91962078, 9.12569465, -7.31076946, -22.80281856, 7.81459528, -12.97834138, 1.75900394], [ 21.67451164, 11.37972701, -9.23479793, -30.88354914, 3.11642771, 16.67909931, -22.47507809, -8.13194279]],
[[-17.44350978, -11.23414414, 11.29240076, -25.0978488 , 20.25696124, 2.45574177, -20.86368519, 4.61775616], [ -2.67697097, -10.96393586, 4.24288371, 17.80662753, 6.44311251, 29.58206663, -5.14040674, -15.53308207]],
[[ 12.98239294, 16.18556096, -12.71448501, -14.50293204, -2.74934268, -10.19627895, 3.4684105 , 10.67282132], [ 12.03267112, 11.20692071, -21.51177723, 35.73709886, 24.77875484, 24.40292004, -18.19240677, -32.12302743]],
[[ 13.74298102, 23.46809624, -9.97268366, -26.99355105, -4.087887 , 4.55754221, -3.6768334 , 0.91679811], [ 13.48158852, 24.83851966, -22.50984049, -38.75912259, -18.10234251, 29.83742493, 27.16649959, -34.8594695 ]],
[[-23.85684177, -25.73707138, 23.13763179, 11.0914475 , 23.96871095, 13.72362447, -22.11356126, -13.63112536], [-20.23378796, -2.6652909 , 32.42377139, 1.63022838, -13.24873637, 5.37371371, -12.31963536, -16.00706184]],
[[ -1.36125651, 3.53709074, -21.97777231, -8.22208963, -30.10673657, 5.33202597, 7.34002954, -0.83182833], [-25.65355377, 7.82099457, 9.55933371, -31.00312858, -9.41380881, 32.86339048, 40.0866021 , 10.88677125]],
[[ 25.09831629, 23.53830941, 7.38363882, 27.1485634 , -7.38815709, -18.73562799, 16.66635484, 4.98762841], [ 11.55555552, -1.02011089, 12.60368422, 16.23592476, -9.77374068, -28.25263607, 19.85895532, 10.85035966]],
[[ -1.99877270e+01, -1.81046071e+01, 5.71741758e+00, 4.59521125e+01, -5.93101969e+00, -2.51592913e+01, -4.76461927e+00, -3.13673742e+01], [ -2.19242572e+01, 2.15454346e+01, 2.42124405e+01, -2.38366914e+01, 1.86594730e+01, 3.33541728e-02, -3.38772457e+01, -2.51650486e+01]],
[[-30.80869033, -28.19917146, 39.05812828, 27.67341742, 34.64341973, 30.28008676, 16.83490283, 9.01646556], [ 20.1445213 , 4.12755899, 22.92332763, 29.97129664, 5.47721462, 3.47871756, -18.59343899, -39.27912604]],
[[-26.76429965, 11.36567723, 5.53059015, 18.56836402, 6.44237985, -31.68068878, -13.21724587, 12.70667292], [-15.24143724, 14.35552012, 5.64067998, -5.23109304, -13.20333488, -25.7572119 , 3.05435656, -35.8746799 ]],
[[ 1.7702765 , 3.92302176, -5.8337748 , -19.00156212, 8.24144371, 28.49215299, 1.29433263, -10.80137883], [ -3.58066276, 3.32629659, -5.43842379, -5.43682558, 24.85000496, 8.63132817, 25.88459461, -13.53330432]],
[[ 3.60925507, 33.81597844, -18.91486705, -28.91010985, 0.28222236, -28.35173046, -8.5461095 , 10.1524203 ], [-17.69721359, 13.01572928, 3.66886021, -28.28262892, -3.47467824, -44.06769186, -2.15875329, 24.06701385]],
[[ 24.06260756, -6.08038075, -40.49677209, -20.12104458, 34.17086701, 23.97729723, 7.57226408, 2.05807068], [-35.48575439, -24.80682542, 7.04891427, -5.63334213, 30.63871837, 11.07154709, -11.68132551, 4.38489873]],
[[-12.83183134, 55.94476299, -25.83133596, 43.54540268, 22.90676844, -40.34983784, 6.3024207 , 39.9202565 ], [ 3.4794831 , 8.30870033, 2.13642402, 0.25115766, 28.86116462, 21.12675211, -12.66694485, 9.42723013]],
[[ 0.30548529, -9.63953631, -9.68517063, -20.8374002 , -1.21656509, -0.5584676 , -6.61802107, 5.4346558 ], [ 13.25830515, -36.26651454, 4.17144987, -5.81450608, -21.84054665, -15.1512235 , -0.80222963, 1.53064297]],
[[ 22.08522565, 20.91013817, -23.6210822 , -0.34459721, -9.21292282, -15.80624268, 3.05870987, 27.31120121], [ 3.14557294, 23.54842964, -38.282492 , 0.5794566 , -1.02240441, 18.47125302, 7.50926277, 1.34156176]],
[[ 2.03064586, -17.53043962, 2.22093558, 5.30969524, -29.16177678, 26.684747 , 23.20774556, 31.81505678], [-15.71060232, -29.96951608, 24.73168007, 13.63371839, -19.76839121, 33.55078569, 31.4217167 , 31.58391617]],
[[ -2.40160085e+01, 1.41342923e+00, 4.65005571e+01, 9.88906345e-01, -3.40458429e+01, 5.13528057e+00, -3.64617371e+01, -5.76436797e+00], [ 8.24554913e+00, 3.03762867e-02, -2.81142253e+01, -1.88823185e+01, 5.58726195e+00, 8.51545631e+00, -1.18067567e+00, 1.68605501e+00]],
[[ 13.43146981, 1.51407598, 3.85060711, 16.32499422, -3.2330589 , -8.28202944, -13.93216054, -37.53936151], [ 40.34521357, 20.28460326, 4.41081199, 0.55662365, -25.75284223, -16.49032398, 7.08177148, -0.64437398]],
[[ -9.3308262 , -12.11439103, -11.86669164, -28.69074611, -24.2762633 , -13.97648949, 31.80404487, 23.74285281], [ 12.67930642, 16.79050728, -7.5234491 , -24.13918201, -18.00546894, -27.81647374, -24.87670294, 23.39985779]],
[[-16.79850417, -14.75592093, 17.8920993 , 20.64822739, -3.36031883, -9.51566476, 21.52746056, 15.3573457 ], [-15.82031497, -30.54367919, -7.6179837 , 14.1449692 , 33.23043321, 13.33476366, -28.42252057, -21.19553251]],
[[ 13.33734901, 2.83774253, -19.87506323, -12.59935802, 10.69844256, 12.50400449, 2.0582978 , -8.35577499], [-16.81558756, -17.26939347, -38.01004835, 17.0318815 , 49.63057362, -12.10136457, -1.89309103, -23.51822715]],
[[ 0.47157971, 36.07167076, -5.67171836, -38.33204533, -33.31614587, -28.4619009 , -33.14466146, -31.98457958], [-17.11271181, -19.66244545, -0.27131631, -16.85439671, -28.7673256 , -3.92190866, 2.86591296, 29.36247546]],
[[-12.46617797, 2.44673009, -2.20437196, -39.34763758, 11.42774934, 32.84131442, -17.96745303, -20.7580903 ], [-19.92410518, 36.27202928, -35.78985752, -4.17046266, 26.02804929, 1.87680415, -24.57655636, -11.12042743]],
[[ 21.49082634, -26.43582705, -7.02983307, -25.18890803, 23.13247249, 12.22399909, -29.0512305 , 11.22736956], [ 39.86995347, -37.02745737, -1.03407847, -18.44032368, -5.21212854, -7.77439744, -15.93593097, 15.37456155]],
[[ 23.30049125, 0.51064271, -30.99586566, -21.18547007, -22.71119137, 3.13809328, 13.52701002, -10.90532843], [ 25.48173233, 0.53810456, -23.98143308, -13.08516196, -21.57868405, -27.38530076, -39.4740045 , 4.6587921 ]],
[[-19.15990345, -21.46163612, 27.77390448, 39.14718675, 16.07132516, -33.47230216, -22.7575201 , 17.98340592], [ 7.78062481, -9.59561047, 17.87182123, -44.28053481, 27.38573959, -9.38327121, -26.20613961, 15.81651401]],
[[ 5.37720748, 36.17234332, 30.66275683, -17.1480949 , -28.4194277 , -0.70507011, -42.14085256, -21.97784666], [-30.42113361, -11.82757399, 40.27437631, 22.77091653, 6.40886294, 17.66797711, 7.36577556, -1.41200791]],
[[ 16.32553683, 7.9491116 , 9.72437607, -14.59225706, 11.95558104, 16.67418144, -2.88349883, 28.54269179], [ 7.7344808 , 8.12133463, 7.78411639, 37.35457647, -1.51088369, -5.77714976, 14.52067201, 26.73532125]],
[[ 7.07897219, 25.91141502, 18.4673435 , 18.20115677, 26.22714765, 9.67890095, -7.29261231, -9.14378498], [ 2.15562491, -0.70295083, 20.52108871, 0.13060775, -15.27841314, -3.27527417, 15.15363601, -1.23739535]],
[[ 38.37432454, 11.79453479, -10.07290021, 0.16056947, -23.70933047, -10.35016859, -9.34260983, 3.11685685], [-17.94991191, -3.38547132, -16.62741527, -3.10984335, 1.10823907, -0.19340818, 26.34118809, 9.51307679]],
[[ 0.60012751, 3.42110582, 2.20455271, 0.60537329, 17.43603315, 19.51430571, -22.33159157, -23.029369 ], [-11.32074753, -14.74185406, -25.6259105 , 15.24916699, 18.80495218, 14.61615477, 7.91008734, -26.13152016]],
[[ 23.24419072, 50.74556224, -40.74391824, -0.53997339, -7.31979843, -34.72816461, 22.33536515, 27.68316716], [ -9.00039735, -0.4313851 , -28.10690711, -15.17426838, -10.36738109, 25.45012536, -0.30786277, -31.29519458]],
[[ -2.88916149, -29.59926414, -22.78224934, 15.84188056, -31.31540371, 32.65311977, -8.58676893, -28.91751547], [-34.83803633, -12.1128906 , 24.77182377, -10.15024943, -17.82510819, 17.04184401, -13.73690951, -9.1507857 ]],
[[ 0.65191235, 1.85576093, 34.08318797, 2.42168131, 21.75138489, 1.25086685, -17.56458088, -1.37465948], [ -5.68794849, -8.91174756, 15.0924526 , 26.75388613, 10.31440896, 23.76950719, -12.64951852, -26.95575704]],
[[ 15.30341386, -0.29152619, -20.16191766, 14.44933041, 2.12002147, -40.29562371, 3.55750017, -4.88552325], [-22.87637161, -14.77067474, 15.79862708, -15.25364455, 11.68942766, -28.96335683, 11.94309841, 11.11419992]],
[[ -4.4542798 , 8.92688583, 35.33262116, -8.43999857, 26.6485294 , -18.4959137 , 4.49665925, -0.11460367], [-33.42859195, -6.02706415, 7.19341808, 1.23158709, -14.20939364, 27.39499191, 19.08268512, -12.34487722]],
[[ 32.67164955, 15.81856433, -46.02344454, 1.19597493, 38.65748275, 4.25770524, 0.83536162, -8.47302736], [ 19.5104098 , -42.24502085, -3.26464915, -18.34854905, 8.38938715, -21.40944616, 17.44847536, 33.27823802]],
[[ -2.61965454, -0.26438928, -28.23409631, -29.07708493, -15.88074845, -35.97393253, -16.69756776, 6.31343358], [-15.26100889, -1.52780046, -34.08807904, -13.96044301, 6.33391263, -16.17207632, -38.26519309, -6.10549532]],
[[ 12.94149278, 8.38681161, 2.75264652, -16.62123794, 12.04177637, -27.94702921, -2.05037495, -18.80205406], [ 16.0745654 , -15.02415397, -32.01437407, 9.16149286, 33.46791106, 5.89615698, 3.50695683, -15.70138314]],
[[-25.40037799, 13.3268012 , 23.89002098, 2.31782666, 22.65089013, 5.9292003 , -21.49521036, -17.72137778], [ -5.58993064, 4.05007058, 20.37605693, 23.80766128, 0.90275852, -34.74908283, 1.21266942, 25.51744364]],
[[ 13.52198873, 17.80780861, 7.88105547, 0.65224959, 19.27073893, -15.91181285, -12.07383073, 7.22056385], [ 35.46577366, 5.32787369, -17.62408789, 5.3170167 , -30.53815597, -28.63789474, 1.44177244, 13.60652012]],
[[ -8.68154757, 0.45739053, -14.00513693, 9.91384909, 35.06739756, -17.5321137 , -22.21449382, 6.48038141], [ 8.98329055, 10.51939866, -35.88211602, -8.98706537, -12.8041084 , -7.67171936, -8.66771559, -18.25780476]],
[[ -6.60389926, 1.77368951, 16.74848627, 26.31761326, -16.62705591, -21.79970878, 24.61764909, 20.48134905], [ -7.20845389, -21.50539775, -22.9177169 , 26.28257334, -16.315644 , 8.32958256, 10.75037214, 5.44518906]],
[[-16.26125563, 20.32323307, 22.3132575 , -39.74251826, 16.42167577, 4.56935192, -8.15214704, -15.06021662], [-30.21755311, 5.75753637, 19.32198316, -21.28780006, -9.45970995, -40.89910697, -0.97244696, 1.54827555]],
[[ 1.03544013, 6.96250189, -44.73254681, -5.38369938, -15.58792654, 2.85569991, -14.90431014, -7.65040817], [ 3.84906517, 8.56931595, -41.86600461, -22.14609972, 0.54223995, -2.89255523, 29.7568983 , 41.83692281]],
[[ 0.91184079, 26.84826543, 27.77148671, -21.42118586, 12.6649407 , -41.78501818, -27.08088385, -4.7565128 ], [ 7.05067826, -10.56263065, 28.49921254, 34.16634371, 1.98489981, 15.07239421, 7.8544864 , -29.76267095]],
[[ -6.57888428, 17.87115543, 11.82836341, 36.03758341, -9.16970375, -27.9479882 , -1.96457304, -25.55644534], [-19.31463737, -10.8461576 , 25.74139371, 28.61371013, 23.30966032, 4.73124466, -9.62971783, 21.09847982]],
[[ 2.79346226, 19.73980305, 23.74249847, -22.77406059, 20.06648821, 3.03657364, -24.50914481, -10.57104992], [ -9.32432155, -0.71699288, -14.49297628, -25.65456035, -19.01680193, -20.54679668, -25.13035694, -6.2698339 ]],
[[ -4.6879606 , -5.97693165, 7.65681264, 18.00920061, 1.12125482, 42.20425253, 23.67109057, -1.70795287], [-16.59920906, -12.63962868, -20.01849921, -7.11880577, 20.0806897 , 14.43128882, -15.538371 , -11.46241122]],
[[-21.3286506 , 1.45232719, -35.69035958, -6.74732484, 19.57139737, -4.81184728, -13.30489812, 4.00208279], [ -5.69423446, -41.22781446, 4.55016481, -15.18589559, -19.74006769, 14.52854786, -7.73860601, -11.32113538]],
[[ -3.1025344 , 1.61762615, -8.95069594, -2.49091605, -26.73945152, -8.90318586, 9.20643507, 4.79761196], [-26.70611164, -5.66878223, 24.2989641 , 6.67332319, -28.14532509, 1.577277 , 1.7294689 , -2.67614923]],
[[ 9.65940341, 39.18056808, -19.21296213, -20.58699655, -23.83640014, -41.18973 , -38.85076008, -2.86934155], [ 8.47937474, 30.53222687, -29.08346694, -12.45729382, -26.83296827, 15.65212794, -2.13573169, -12.98979714]],
[[-47.10642583, -1.00292655, 21.44211569, 36.13325298, -25.63977442, -15.34551925, 25.48411639, -20.26320599], [ 7.3109831 , -12.84637168, -19.27942902, -1.05777399, 1.65094388, 27.94306627, 1.83139064, -9.41944769]],
[[ 13.40120822, -46.62662112, 30.86917838, -11.27954535, -7.90693889, 6.07795615, -11.22631923, 22.20267676], [-12.17050855, -47.26216308, 45.83105463, -2.91611476, -9.00878043, 24.30857948, 13.32783531, -43.44767588]],
[[ -7.31795758, 49.12465299, -13.32894935, 14.79208999, 2.0322517 , -44.08932656, 8.12155179, 25.82463136], [-10.57928664, -25.80581112, -6.17911818, -11.38147912, -21.43837802, -1.73439576, 14.92847524, 21.61419722]],
[[ 6.3262321 , 22.3132125 , 22.02068762, 33.19767897, -33.60462179, -13.92394918, 4.83543987, -29.0353682 ], [ -9.54322491, 11.5835519 , 26.4785945 , 20.56851303, -6.03087573, 25.00453188, -0.16563022, 24.7235034 ]],
[[ 14.14710823, 13.50192394, -19.86473648, -26.87759241, -30.38520196, -19.35068088, 10.25814615, -14.26851119], [-34.79745534, -30.45964148, -4.42523642, -24.718436 , 35.38924489, 19.92055316, -26.41072765, -7.78206957]],
[[ 25.7813498 , 36.99780864, -5.86904271, -21.53810403, 2.12542214, -11.42078724, 14.42586071, 28.21989881], [ 11.31795896, 2.4303734 , 2.12331395, 7.5336947 , 11.47012382, -1.78203503, -5.92464785, -9.19448342]],
[[ 23.71055132, 7.31164809, -17.31267021, -10.57851251, -29.98962174, -11.30608541, -24.94405617, -20.9992158 ], [ 2.03688385, -17.4911781 , -23.75963638, -5.72975173, -45.4002968 , -15.62476567, -12.52049358, -19.98272562]],
[[ -0.84827508, -33.51990892, 12.37222216, 10.48705043, -5.61679395, 1.54428448, -26.36284668, 6.60647806], [ 19.24659563, -18.18169977, 4.33161065, -11.55800204, 18.99082391, -9.8843867 , -17.65946008, 8.52034214]],
[[ -4.15097825, 14.18678461, -4.3565604 , -24.80715673, -1.29210293, -22.20338315, 2.45442543, 41.03898438], [ 17.24994834, 24.61554849, 4.79950425, -56.07367911, 9.35881698, 10.65028855, -26.74605214, -4.56100108]],
[[-31.56087546, 18.65849523, 6.67311311, -52.14346402, 50.39446805, -2.1657321 , 52.67101305, 17.51411138], [ 8.19353593, -35.1455106 , 20.41029674, 19.83046418, 13.56436205, 7.53752964, -14.61293142, -20.25259968]],
[[-38.03309951, 13.96801928, 10.19869746, 23.05845087, 4.84657638, -41.10163075, -37.26858032, 7.33506308], [ 25.3517915 , 22.41966533, 25.86840373, 2.82764372, -29.86245261, -15.42232494, -0.79437034, 3.24898181]],
[[ 41.23196797, 3.53120168, 15.82547465, 25.87847411, 44.64964185, -1.36774639, -25.21942399, -10.89324249], [ 1.47869073, 20.39903142, 11.19623951, -27.90583279, -9.06899576, -45.37556453, 6.46517687, -2.69692327]],
[[ 43.00117004, 3.14918544, 33.2595388 , -24.44924833, -20.82048085, 2.43328101, -19.23563295, 19.27043657], [-30.24871658, -0.88990913, -1.83881692, -18.2120875 , 42.83923194, -5.5335578 , -25.22187602, 9.90961949]],
[[ 12.96047976, 13.19598182, -14.53540913, -37.68163248, 26.63577971, 35.8868721 , 21.14989721, 8.81966772], [ 18.04118861, 2.14167315, -11.41322547, -6.04440508, -4.41339376, -28.17085674, -13.42526835, -3.66257419]],
[[ 2.71720776, 2.89569733, -3.49129945, 11.55013338, -5.28555112, 15.06920136, 4.54998597, -0.02758705], [-18.38089783, -14.08869712, 16.64635225, 6.56216546, -16.80272081, -5.90329677, 9.90983295, 25.59039557]],
[[ 28.03008553, 26.53824335, -25.6720026 , -32.17144301, -35.07039024, 14.37128399, 7.4889289 , 30.94846448], [ 20.65234394, 12.0051442 , 14.93981452, 14.31936436, -28.27875609, -1.90499833, 35.76276806, 13.22376193]],
[[-20.8883684 , -20.42805536, 0.45322758, -45.46604719, -27.37150369, 0.56802013, 21.16698708, 18.78232607], [-12.04490751, -7.99706174, -12.25619616, -5.14662864, 23.06380015, 12.29914171, -18.19843805, -8.06128523]],
[[ 18.81988007, -10.50273269, -10.27114271, 31.79343739, -37.65120642, -19.59649414, 20.94649896, 44.71363216], [ -5.75126389, 23.52870534, -6.78681277, 45.82252018, 2.94881004, 9.44547246, -20.46988274, 3.24555527]],
[[ 9.38243489, 19.03846177, -13.72240091, -25.55150942, -8.90489005, -18.86303786, 15.0725547 , 24.12835914], [ 45.89244652, -20.779656 , -2.30435021, -30.17242767, 7.70640174, -26.54772807, -5.52481142, 37.27019191]],
[[ 25.27715779, 17.9065699 , 29.24714695, -10.73290483, -23.34930484, -44.88790158, 21.69715465, -17.97484942], [ 14.27459269, -36.65954784, 0.94993527, -24.61947618, -9.16206208, -30.84884066, 16.19994902, 41.80897807]],
[[ 26.93735163, 6.81968738, -26.17909647, 38.42500157, -1.13235692, 21.58621221, 9.34734395, -28.26461116], [ 24.02135855, 11.58551055, 3.93608974, 13.21358273, 19.2225182 , -2.51982056, -2.4627054 , 2.54380716]],
[[ 16.76074652, 14.12750987, 8.49782326, 8.44212482, -7.42654718, -7.36246212, -4.33426116, -31.41626357], [ -8.45901726, -28.83130849, 21.6965496 , 32.852126 , -23.54552538, -35.59960286, -14.80882661, -40.07295225]],
[[-12.11754885, -17.46813121, 12.45999205, -13.07009647, 9.87299793, -1.92519112, -23.50877862, -2.71660065], [-22.8837689 , 9.67273813, -35.80059856, 16.78496531, 9.35603552, -21.59178324, -13.66221666, -28.62049802]],
[[-30.07471295, -10.93352278, 19.25700064, 2.61366037, 18.84779977, -1.93958135, 6.17902174, 36.37104667], [ 1.07519165, 31.81881822, -1.82804672, -34.12181384, 25.09455919, 12.31632266, -7.27478838, -2.33281281]],
[[ 8.22101451, 3.76774576, -31.74029684, -7.5182633 , -15.3798159 , -4.70609018, -28.10428092, -4.10594239], [ 3.51284484, 39.84548172, 2.25991187, -38.61453186, -5.36745879, -2.81135081, 5.83256866, 36.35614753]],
[[ 22.96961115, -5.12379083, 6.77755044, -12.25110852, 7.33039322, 17.07246594, 4.47137576, -21.9570028 ], [ -2.65954103, -20.61403199, 21.78398235, -19.9355921 , -11.6820918 , 50.14613652, -13.66094768, -39.57946202]],
[[ -3.84009104, 57.99640219, -4.10819873, 31.46606759, -21.49948203, -39.73390366, -18.43870902, 24.00974105], [ 5.5508965 , 13.80330474, -12.67701672, -18.0096837 , -6.12836453, 2.67952446, -34.72347802, 10.92201921]],
[[-28.68242904, -28.28397087, 1.48364572, 12.60049979, -33.90000794, 18.57852656, 26.09867459, 10.59778223], [-32.22848662, 12.18856114, -6.5095702 , -26.89344457, 24.15416121, -12.26421213, 1.14493304, 16.64955412]],
[[ 8.70879425, 11.92174804, 26.84118914, -10.95879129, -27.26594069, 15.42968533, -11.09231984, -39.12800964], [ 18.5999771 , 10.76034793, 27.12818231, 10.0262082 , -23.40860395, -5.15184506, 21.22245141, 9.97716322]],
[[-10.42508755, -45.34009704, 22.04059086, -25.96769436, -9.2182333 , 20.41645716, 24.34092834, -16.55454014], [-11.15089424, -40.10896689, 5.20748151, 1.70595395, 24.17989183, 14.30190659, 32.02903779, 23.59253192]],
[[ 47.75870848, 10.97980122, -20.69382268, -28.35239429, -23.8190236 , -30.45712187, -37.11417772, -4.96902297], [ 14.56557698, -19.43131431, 8.62147195, 22.99117726, 7.86923105, -16.17042136, -12.63415594, -31.27928043]],
[[-32.25371416, 1.603804 , 9.02111346, -1.36023064, 18.98169497, 15.13322465, 3.31828335, -4.22302045], [ 12.72981216, 25.40969243, 15.52134069, 4.3261579 , -14.03441415, -23.06801361, 30.33767115, 27.81410479]],
[[ 7.13522965, 9.38897351, -4.71805875, -28.09576121, -2.56723465, -19.91586652, -4.15484177, -4.207346 ], [ 14.11424444, 8.82055113, -8.20271018, -7.03793703, -13.8543973 , -21.67666725, 9.0467311 , 26.09165143]],
[[-10.53356559, 27.67538796, -45.34972912, -1.77047275, 5.54829471, 39.25356632, 31.24775553, -13.95920277], [-17.10835839, 23.91058259, 38.5409813 , 19.22685328, 20.2375674 , -24.67200271, -48.36568046, -12.08972404]],
[[-42.92494521, -19.86242988, 18.74688685, -14.97354381, -19.9119913 , -0.59082574, 13.19314163, 23.01994309], [-18.52975151, -13.65768698, -27.85990123, -9.09607305, 20.08971051, 4.26831571, -18.1666194 , -6.55473778]],
[[ -1.05078983, -1.465337 , 29.95898018, 7.01808314, 32.29304849, 21.0866302 , 2.19905339, 31.82348022], [ 22.67092123, -12.29961242, 4.78834574, 33.21897886, 17.39562053, 17.70131465, -1.72302099, -46.78442781]],
[[-19.86608569, -1.45158117, 27.17806235, -15.15097925, 4.27529123, -7.45248239, -40.07070392, 17.94822857], [ -6.09903613, -12.38920844, -11.43821013, -19.50986331, 12.07491097, 25.07110187, 3.56262113, 15.40760915]],
[[ 44.81648686, 6.47521601, -15.48652728, -1.84341816, -22.74617399, -2.96142995, -12.21848546, 2.76195563], [ -6.87210786, 11.59644746, 24.06983464, 1.08398376, -17.40302404, -22.6509052 , -9.49402301, 22.81005564]],
[[-36.85583443, -8.20721907, 5.25208856, -4.75526932, -11.47857139, -3.74531383, 10.09951724, -1.17125162], [ 3.13807057, -15.37885456, 3.9616893 , 31.20340575, 7.42994461, -28.39722787, 11.02009199, -37.79760536]],
[[ 8.07456246, 9.54543484, -20.81902059, -14.39041318, -4.84546738, -0.85598968, 11.56862468, 4.50416563], [ 4.13126707, -20.86923268, 28.74373663, -24.22151202, -8.03832532, 41.10959303, -26.21979418, -10.3824188 ]],
[[ 0.40874368, 7.17699346, 35.81159291, -3.26924746, 33.24409741, -9.52754606, 3.15982608, -19.78943467], [ 28.82193637, -10.97481911, -3.94187048, -17.83210547, 10.44368177, 4.10792194, 40.45769846, -11.04294523]],
[[-23.57976601, 7.53704253, 18.81273941, -33.99209922, 10.27504476, -37.65800291, -42.21075342, -9.01203801], [ 15.96533205, 25.52906762, 4.60351417, 2.87416947, -4.18520766, -12.99969513, -14.07204015, -29.21307686]],
[[ 21.45966667, -9.04303859, 9.51234811, 4.43049177, -13.1904345 , -13.10321766, 29.74949159, 2.13401391], [ 14.80865272, 27.12261287, 37.01228742, -15.38357693, -27.37330783, -3.21155699, 24.9889367 , -28.47094351]],
[[-36.05369351, -19.63461395, 36.27721166, 13.46282098, 12.18282322, 12.45598818, -7.9234782 , 22.37541669], [-16.18643231, -35.59527317, -35.65697225, -13.62792712, -9.05275231, -28.55430152, -3.08551462, 21.46016192]],
[[-15.15451573, 22.71968291, -16.16362585, 4.45567268, 3.9780637 , -14.17129039, 12.4358832 , -10.02834541], [-22.56114848, 15.06182785, 34.72861104, -3.77532133, -11.5347505 , -3.02875835, -27.01978678, 23.61021431]],
[[ 0.65959024, -2.73499723, 4.34032759, 13.08027798, 6.13528968, 2.56453316, 1.09042354, -3.40927731], [ -8.94175977, 12.60479345, -36.94464769, -2.01562067, 14.75272817, -14.86691624, 20.5339714 , 18.96730476]],
[[ 6.64940729, -2.56999765, 27.46097726, -21.94510231, 34.06173965, -21.1347859 , -3.05277617, 39.12383886], [ -5.20751976, -2.16112918, 3.79305568, -1.35932264, -20.99394202, -15.49356028, 25.06726353, -5.26028235]],
[[ -6.83063442, 15.79177203, 3.71197125, -8.29417935, 3.03748796, -22.31918984, 14.16808752, 3.81844582], [-10.62024949, -12.78195001, 11.93027749, 12.24041212, -10.99944959, -7.71900857, 20.38327232, 4.37997034]],
[[-24.33255823, -2.31102055, 21.79063459, 10.23496345, 7.50425893, -36.32530274, -14.81104588, 5.14964066], [ -1.46790075, 25.38980212, -2.74243982, -5.68542303, -0.29479556, -8.47121639, 4.29708521, -27.58499865]],
[[ 5.8058267 , 15.69556252, 23.80194422, 2.45490161, -0.55564058, -0.13299054, -7.43590481, -14.03210448], [ 21.15759648, -6.55014662, 3.17919603, -5.50964939, 14.91445343, 53.63608088, -10.23134513, -5.36125448]],
[[-29.84776837, -18.33219235, 6.96936392, 12.5419477 , 9.41666909, 14.07849798, -14.6834242 , -13.18069394], [-34.25721198, 18.49593018, 7.85239497, -8.08452316, 1.91265102, 17.79884364, 23.77393413, -9.63573834]],
[[ 1.21621895, -2.74128247, -14.23241069, -15.86016165, -2.5728981 , -21.9733029 , -3.5504089 , -7.69271128], [ 6.13349855, 31.96756211, 8.94837788, -41.01946697, -22.42406022, -7.62115321, -5.55809953, 49.45522104]],
[[-20.00325706, -12.35394547, -5.0801809 , 12.18137773, 10.85554063, -39.19544489, -16.22329895, 29.53501708], [ 29.35597427, 2.01310198, -2.45155335, -12.07627037, 3.05259881, 9.64239653, -26.01131945, -20.63838596]],
[[ 17.75085632, 0.26632133, 11.33372445, -18.16061615, -12.9192883 , 33.2729603 , -15.68843473, -29.75153841], [ -1.7336045 , -5.91604077, -15.18034056, -16.90803286, -5.99300539, 34.13844875, -5.06054491, -32.16064897]],
[[ 15.16252966, -0.74407457, 4.56774588, -5.40207941, -21.74962935, -24.57077228, -11.47213395, 14.86104266], [ 3.75831339, 7.56676766, -17.00249863, -21.73881167, -19.3614853 , -23.88033277, 27.16642469, 29.63984624]],
[[ 32.57100795, 15.05539975, 29.38469055, 7.70403214, -36.17852251, -1.55706014, -6.95953881, -7.77688579], [ 27.85442517, 19.98111564, 12.37287893, 11.9245431 , -31.83577053, -25.56810664, 27.29489602, 18.22256433]],
[[-16.10732248, 15.56224371, 7.02110776, -3.84096792, 29.01969567, 24.04978659, 17.82117409, -16.57226401], [-27.68468857, -1.56243465, 6.59406888, 10.46004759, 16.56053508, 21.18542331, -22.25155525, -7.81517716]],
[[ -1.67570305, -11.77467256, 6.77693216, -16.07977944, -3.67557037, 24.29610376, -4.18187178, -7.88559534], [ -5.97731949, -13.8796202 , 15.67783829, 43.32815878, -8.33997381, -21.22759927, -1.85351357, -2.16253506]],
[[-33.47649894, -8.42141844, -18.37211617, -39.58375266, -15.56969118, 4.00707111, -24.66124167, -0.99950403], [-17.90974912, -12.96514772, 26.69550253, -9.22493027, 24.9827352 , 10.34815368, -30.83341114, -19.53725899]],
[[-19.68188067, -31.88501999, -15.66010782, -34.15902553, 24.27454615, 46.41071363, 8.25450885, -49.33801466], [-14.31175949, -2.4579479 , -8.89699642, 6.46055997, -27.97818138, -7.18799701, 11.18645674, -5.68063162]],
[[-23.16825061, 0.14262231, 37.84535367, -7.86678988, 29.68906011, 25.47748337, 24.8475161 , -34.57079948], [ -6.11321133, 15.02225224, 22.28338045, -22.37433325, 29.98204865, -1.37386028, 25.78665338, -24.36738186]],
[[-16.44302672, -12.99729774, -15.7529622 , -25.42668852, 41.14923001, -12.47627293, -40.95884082, 7.39576908], [ 1.53482875, -21.99175731, 4.45018802, 17.16110632, 13.24514305, 33.6967488 , 4.26425144, 25.0572552 ]],
[[ 30.38495569, 39.107771 , -31.90911762, -44.17395179, 0.69824694, -7.83928425, 26.27170738, -44.4202528 ], [ 1.54609498, -21.9745141 , -8.61454521, 25.8245778 , 3.32592211, 4.61527982, -2.63271016, -8.75518316]],
[[-31.44527021, 33.33466313, -1.8490394 , -37.82091933, -24.58088649, 35.24533982, 38.07366981, -10.27332294], [-10.72976229, -15.73388072, 8.30340993, 18.71163541, -9.1304105 , 11.61850029, 9.56410241, -4.841261 ]],
[[ 28.64847171, 6.45017025, 23.1275673 , 5.22819677, -30.79203379, -11.55954506, 22.62992602, 19.97855765], [ 4.184174 , -31.90521038, -33.62115276, -10.88719376, 29.58178312, -13.37295554, -11.32009672, 22.28347959]],
[[-37.76163403, -1.85542004, 29.43345382, -5.79713507, -6.39243033, 31.73591825, 17.05572144, -20.37734673], [-23.5578497 , 10.98854295, -1.90177146, 7.48412765, 20.96063763, -10.12700899, -23.47466534, 10.20543759]],
[[ 5.29872319, 12.54390644, 28.00154502, 0.3853608 , -4.77277565, -27.16123278, 3.68031038, 19.33085582], [ 14.38285277, 3.30926895, 14.80212519, 11.66910511, 18.34911974, -1.0957689 , 2.89619962, -11.42209014]],
[[ 6.99513953, 52.92753315, 5.74042118, -49.91360369, 42.00090922, -1.36154453, -16.89460059, 12.17663464], [ -0.05317499, -9.94914311, 26.06694587, 17.06909402, 36.01133173, 11.55271761, 23.29777987, -9.22696015]],
[[-21.9959058 , -22.68529597, -7.27978446, -23.53418012, 37.46586743, 8.5654213 , 27.45365908, 19.14443768], [ 26.91492181, -5.28800574, 23.20373098, 11.96414669, -22.54670699, -13.40451185, 0.36749415, -15.81024193]],
[[ 39.17806845, -21.46757989, -24.05485357, -19.3122433 , -14.17916987, -11.86226056, 30.45676678, 18.21667953], [-32.17304751, -19.3388865 , -0.43559478, 23.19067449, 29.09765013, 28.95983173, -15.5024687 , -37.81092039]],
[[ 6.79182651, -4.90350842, -18.30254912, -18.68398264, -22.85251581, -10.92860443, 9.39092123, 9.11308047], [ 11.70029914, -17.80278818, 12.25427371, -27.2480128 , -0.5572066 , 0.79674998, 0.33681624, 14.43668037]],
[[-11.71136865, -23.63841191, -35.41437646, -0.38868116, 45.73992306, -0.90295572, 8.21917858, -0.492184 ], [ 22.00084743, -10.99329892, 32.23018544, -2.33397292, -17.77953047, 3.52403415, 1.24146249, 18.57946106]],
[[ 3.63065946, 0.1786215 , -23.62850544, -27.38952779, 3.5967805 , -13.11083213, -4.58766719, -3.84810398], [ -9.85837719, -0.3124594 , 7.51482364, -14.21143152, 6.21236824, -5.60327151, -4.18159576, -43.82931771]],
[[ 10.6824933 , 10.65056215, 22.71773456, 41.94923811, 1.40485632, -2.34924326, -16.38274688, -31.85523655], [ 3.37673017, -6.76375544, 16.2766462 , -1.8982929 , -20.84243194, 13.44254099, 34.93482409, 5.1152714 ]],
[[ 33.06423959, -22.5981433 , 12.56685034, 28.09364181, -12.72299402, -23.06625717, -4.24218694, 11.6572691 ], [ 2.44765269, -8.93290263, 15.76159074, 25.55011418, 30.683771 , 29.07064388, -16.10602974, -19.38924283]],
[[ -1.13350821, -4.84302182, 1.49747785, -0.41865386, 35.31699775, 5.73496579, -27.84845717, -6.30921456], [ -9.82990933, 11.7757289 , 37.68400869, -22.87867123, -7.26914645, 26.00153331, 15.63358547, 0.45738288]],
[[-11.57119091, -9.29270194, -9.47644545, -10.04526506, 17.58093212, 5.64906169, -11.25696357, -11.29816323], [ 24.45517755, -10.1152321 , 40.43922085, 15.33975222, 1.89921963, -31.63089123, -9.4093253 , 15.62387912]],
[[ 25.75917156, 21.11945625, -31.67030001, 29.45729461, 28.01511908, -2.9653475 , -22.27660228, -11.03805772], [ -0.79065944, -5.13281277, 9.01903642, 1.6471058 , -17.46968323, 0.95014245, -9.39884327, -19.87075379]],
[[ 4.55018576, 4.81029292, -8.18072013, -5.64665321, -16.29433019, -15.63124094, -5.70297217, -6.23778476], [ -8.36600426, -10.17483658, -2.53089232, 29.72194059, 16.68069196, 14.56424263, -20.00130922, 26.44464788]],
[[ 25.62563085, 21.16798339, 23.44482373, 14.75041104, 29.12077717, 15.68635853, -22.50211468, -2.15533848], [ 5.34492709, 12.35644136, -11.67597177, -15.99294418, -10.47374066, -13.58387096, -4.6660041 , 18.09323706]],
[[ 31.19675552, 20.60502339, -19.1400528 , 0.2252638 , -8.85448126, -23.84065955, -1.22175594, -20.28046522], [ 4.69859823, 8.02757499, 6.23457205, 16.04349198, 7.39543629, 10.0411611 , -13.34494529, -19.74441613]],
[[ -7.36267824, -17.75541037, 0.09941856, 23.30883113, -14.99337685, -13.50785568, 16.76108914, 0.5565069 ], [ 13.52596441, 0.18790472, -19.40910234, -3.51144517, -29.88615637, -1.39347232, -14.77788691, -0.57194874]],
[[ 11.17004706, -10.57712612, 17.90704851, -4.87484041, 10.04446385, 30.94012222, -40.4703729 , -22.27132815], [-19.36151711, 14.74408026, 40.84581498, -11.41429399, -38.77801849, 1.6241143 , -4.23183067, 10.169074 ]],
[[ 16.84123956, -16.2462594 , 14.76849521, 11.07127057, -9.92564802, 6.00027549, -4.5455495 , 18.0186883 ], [ 15.71665325, -16.88293943, 8.7763481 , 11.20278089, 22.17500657, 7.59444536, -23.39204305, 14.4248023 ]],
[[ -0.04810116, -1.2280519 , 18.82134009, 5.1930146 , -41.09108527, -21.03423007, 18.84089379, -22.63553408], [ -9.5621664 , 7.81341853, -21.49972188, 16.22458072, 6.49843639, -11.23439621, -7.64827945, -19.34729771]],
[[-14.68127571, -8.02325903, 5.06114453, 24.0758249 , -27.63186363, -13.15903036, -11.68395798, -18.29187139], [-16.91397751, 23.93397737, 8.2002409 , -17.06837725, 22.57386574, -20.01051225, -36.6498219 , 27.27414913]],
[[ -5.03326871, 0.98721545, -23.21297858, -9.78904568, 20.15022553, 18.66668612, -11.54389677, -4.0235891 ], [-14.00424662, 16.89587504, -18.03475204, -2.49284894, 18.79700595, 19.70590762, 8.40248153, -34.98122314]],
[[-24.26514479, -10.04252896, 32.08980256, 4.6053205 , 23.63665012, 4.27533177, 0.35484407, 2.88425104], [ 21.89785582, 20.79770052, 3.24244915, -10.05872277, 3.80973821, 2.79192662, -13.6234932 , -32.14878407]],
[[ -8.02177297, 13.09828997, -2.41659898, -11.96107795, 13.32401944, 25.34747692, 5.31645663, -34.9766305 ], [ -3.62394798, 7.36110124, -4.17612371, -44.94850177, 36.75868636, -1.97090228, -5.25878626, 19.32762237]],
[[-14.84902458, -19.94405024, 27.46656743, 14.09382876, -4.36059572, 8.26747581, -19.62419982, -14.75734321], [ -6.02969435, 1.92989869, 24.88430563, -23.23221783, -8.87299803, 8.5172361 , 13.56672676, -4.89702489]],
[[ -0.77963127, 16.69794659, 25.13753663, 3.9016633 , -27.70274875, 7.08576874, 1.23979221, -27.81689809], [-19.96293738, -15.81214537, -11.65129919, 12.7207115 , 38.89416762, 0.99874051, 2.13226533, 5.29599912]],
[[ -8.57619587, -0.84791628, 28.03025152, 8.73420048, 26.08079789, -16.24610794, 2.39835731, 14.86123622], [-41.5751964 , -2.53396087, -5.30553157, 9.91320337, -16.4715494 , -43.50528025, 9.93724247, 7.03338741]],
[[-19.07633968, -5.53514041, -10.30335643, 0.92218244, 28.88437521, 5.42670911, -26.41476263, -8.08583643], [ 18.44750278, -7.35208003, -27.82055293, -11.75934766, 24.46351231, 5.67526782, -12.24831164, 14.01897671]],
[[-13.13683589, 10.45189835, 24.71231331, 8.64170248, 21.89463976, 25.2731544 , 26.10976619, 35.81892568], [ 20.06780901, 5.14661453, -31.53852311, 27.64190573, 10.74651091, 25.53822174, -4.64513287, -0.70916997]],
[[ 7.1946763 , -28.9936554 , -11.38490941, 35.76785231, -47.42715221, -9.79149711, 13.57055214, -12.70055747], [ -2.07860049, 6.2840176 , -34.26554864, 2.49766835, 1.24884116, -6.43995416, 12.73512832, -1.94317952]],
[[ 9.15177128, 11.80134854, 10.49625176, 39.97358179, -12.23901327, 37.15319746, -18.65330128, -23.33016519], [ 5.01325284, 46.14431743, -2.55134008, 12.44362625, 14.53443977, -14.49111247, -13.40403092, 20.68829431]],
[[ 21.56619573, 10.71828694, -11.41794316, -8.23861139, -18.06585644, -2.74780101, 9.99628568, 4.12853232], [ -8.77571928, 33.21531165, -9.28971698, -19.49372398, 38.66837873, -12.35244544, 11.14192234, 3.71793796]],
[[ -0.7270095 , -10.06920057, -32.5448561 , 5.93624125, 23.23944629, -34.96504554, 22.84791855, -40.0820699 ], [ -4.53449792, -30.1609996 , 2.13760221, 25.51064889, 2.53938658, 40.23814153, 2.47993423, 1.59037761]],
[[ 11.50017491, -1.03331437, 20.72161067, 0.07384115, 1.24144529, 14.57777115, -7.65400865, 29.56064941], [ 29.972953 , 18.45854228, -19.09139159, -22.97449179, -15.94652894, 10.04320816, 33.02484497, 29.44029357]],
[[ 7.10614386, -0.36434498, 20.87439053, 12.76098416, -22.75504428, -5.75917705, -7.63511836, -10.24351941], [-27.32547384, -23.7118047 , -22.92170336, -18.04316558, 30.73464008, 28.76653937, 11.79189275, 6.98741743]],
[[ 1.97189191, -37.97083632, 24.69048728, 20.13343304, -23.37568685, -5.61507799, -3.1952446 , 15.13059564], [-12.39787429, -0.66775526, -24.99012448, -8.20193564, 20.23321063, 10.33092784, -35.05031769, 18.38864779]],
[[ 30.22680969, 9.94306553, -30.87243657, -36.53648311, 20.13996291, 19.44123377, 12.74604722, 37.54382169], [ -6.27194084, -13.76603871, -22.53142857, -5.49588696, 9.86775605, -5.02753888, 11.37766386, -12.26661573]],
[[-12.94972243, -18.03749378, 14.76019147, 16.77245932, -1.03018873, -2.49169061, 0.89491143, 12.23836073], [-19.83608007, -17.13598407, 25.28602663, -2.19108646, -32.95109516, 1.12147826, -10.49653743, -12.78315933]],
[[ 0.40783903, 18.99087818, 31.62670878, -1.66515456, 30.84702664, 3.86568448, 1.18413931, 17.42962173], [ 26.15699628, 13.5653353 , 16.75917518, 28.73460821, -19.03417632, -37.3997117 , -32.11937324, 6.55130151]],
[[ 19.42672134, 18.32716832, 2.36587551, -20.46601474, -30.12969621, 1.1374475 , 16.62209829, 18.86017677], [ 42.17024982, -3.51987297, 23.70041474, 25.93820958, -29.87625317, 22.0735834 , -24.9409034 , 40.48937582]],
[[ 20.7037703 , -8.13907849, 7.94153765, 23.62987055, 8.40988924, -16.92161421, -34.38824068, 21.33325295], [ 26.33783337, 11.17621706, 15.83736587, -3.75908369, -25.6446638 , -25.52998881, 34.13482017, 24.09914257]],
[[ 20.1481247 , 9.980495 , 32.08079562, 21.47734598, 12.35981557, -9.5270033 , -0.51914976, -35.81405245], [ 12.6039547 , -12.75774587, -3.69508289, 1.78691173, -25.33591332, 17.74032401, 27.62223679, 3.09384306]],
[[ 2.807696 , -9.46225501, -9.41987221, -12.15214964, -24.90603595, -0.96442342, 18.50399339, 11.27739672], [ 10.82603219, 1.27863705, -1.2148965 , 27.2367716 , -26.23329176, 38.53143449, 48.29729563, -13.75679461]],
[[ 7.48643732, 6.53341771, 3.0531094 , -3.63073816, -9.04112477, 29.99973926, -21.16784708, -20.21532879], [-17.3599432 , 7.8568157 , 31.42934643, 14.5434 , -4.58773135, -1.49356911, -41.60960709, -3.53062064]],
[[-26.39823714, -13.18524927, -19.18888482, -1.32607072, -22.02449775, -30.21740133, 24.08976861, 4.38315094], [-13.9541461 , -20.55513775, 15.23790912, 40.24897316, -10.35402903, -39.7937253 , 9.24571119, -13.59051245]],
[[ 26.81342123, 12.71351388, -20.50345819, -26.581847 , -36.56426744, 7.4707355 , -11.84200676, 14.9611679 ], [ 12.83452594, -16.41622056, -12.63677905, 34.07559305, -6.43004702, 34.08980677, 30.7849815 , -15.32956989]],
[[-24.39984614, -18.54056068, 40.09529479, 7.69599199, -21.9174134 , -3.11704402, -32.62482396, -10.51988935], [ 0.18365561, -18.52005086, -38.94154234, 1.63934619, 9.0457573 , -30.71422609, -14.74157154, 18.28976418]],
[[ 29.14960795, 24.41396836, -10.65402587, 11.48054621, -12.50562814, -23.40250552, 35.15413702, -7.06736984], [-30.28477246, -27.41098802, 19.3431091 , -19.30477935, 1.03726373, -10.30271474, 5.43994935, 19.68817187]],
[[ 9.17545721, 12.51704433, -18.83090241, -34.11548332, 17.1742094 , -10.36576878, -16.16957024, -22.05272591], [ 14.4005431 , -6.32668184, -26.5941829 , 15.74439255, -28.16599064, 23.32267236, -14.85990117, -22.67589158]],
[[-17.50458032, -22.25928653, 10.67725663, 14.8453867 , 17.23802441, 12.52172253, 12.37861618, 9.9250974 ], [ -8.34763679, -21.76280229, 5.04617894, 7.58694692, 23.35448307, 20.64746975, 3.48137532, 2.41987076]],
[[ -6.6611128 , -5.90554664, 2.30356597, 5.79561178, 29.82471334, 21.51400293, 32.06895988, 26.66835237], [-19.28599892, -5.3121554 , 24.03200815, -10.01624873, 13.44703407, 15.0716039 , -8.18128979, -2.37189063]],
[[ 6.0400672 , 2.81975578, 21.00079521, 35.02030414, 14.44653975, 9.93577311, 7.13348489, -3.01429611], [ 27.68507929, 29.21616584, -13.07127397, -7.16038449, -15.50488516, -40.28850879, -22.06070582, -29.97614745]],
[[ -1.19090784, 15.50221452, -10.85731682, 12.74773977, 34.88603766, -20.9293729 , -40.42867767, 32.24401289], [ 9.707001 , 16.64613718, -1.50184408, -13.04498756, -3.39938808, 8.27853012, 0.44253943, -13.47183034]],
[[-12.01967036, -1.36413368, -11.18567699, 32.42296966, 22.00302028, -11.32077424, 2.49817675, -23.69490781], [-25.75489882, -22.33727024, 9.96228628, 17.41823083, 22.4063361 , 9.48852316, -9.08885766, -2.94981034]],
[[ 16.02328713, 45.21573312, -9.73213333, -25.16084663, -8.24543859, -14.85928328, -3.33901957, -12.20042647], [ -1.22992642, 31.86937899, -0.92978595, -23.14359587, 1.69378173, 9.4612601 , -2.22004619, 15.41974634]],
[[ -4.40087067, 20.43314327, 3.08098704, -29.95759241, -7.40171522, -24.55709211, -6.08026646, -25.89737909], [ 11.76049529, 14.57576414, -27.1201377 , -1.92786463, -19.35337716, -22.96943534, 18.89101505, 10.50972043]],
[[ 23.61962379, -10.18265426, -32.94098391, -4.81298399, 0.58177459, 2.86876988, -11.26970271, -13.48230106], [-35.34716109, -2.87005434, 23.51716452, 10.67640408, 45.00753548, -29.54295794, -22.22015794, -0.54710051]],
[[-37.4853572 , -21.16972254, 10.04262938, 25.77297378, 1.64220334, 23.71480849, 9.34696752, 5.29748874], [ 27.40194289, 11.56882398, 20.1190131 , 3.16807598, 1.56404399, 21.73443651, -29.75161667, 13.69720169]],
[[-29.43392908, 17.28278474, 33.01104948, 32.30878465, -22.05313068, 1.24995751, -39.39145784, 17.21195411], [ 14.14933237, 6.38859586, -17.3577145 , 4.99719385, -0.21968009, -13.49235108, -8.26851425, 24.09415815]],
[[ -8.24177435, -1.91997543, -8.96537913, -6.64660337, 23.89472726, -16.750736 , -21.01179662, 2.66298722], [-28.27872495, -5.65680032, 11.23554552, -9.82380381, 20.93902042, 2.87481209, 20.02655814, 11.39918642]],
[[-30.64413758, -20.27162016, 10.15084093, -11.02467689, -27.71122882, -19.99905838, 9.7658424 , 8.29823489], [-23.76148751, 29.42155794, -29.36321701, -13.19220349, -0.39290548, -45.17425319, 14.89022159, -37.0494125 ]],
[[ 13.05064388, 2.40699468, 27.28651833, 1.14411966, -3.82088487, 20.83241534, -15.99835654, -0.65981136], [ -4.45495075, 4.60806176, -4.92254442, 13.96076094, 0.97655524, 30.93643899, 1.46449634, 17.4197035 ]],
[[-23.69049009, -12.38515986, 6.21463653, 29.42852985, -16.40754549, -26.21899735, 1.11842648, 22.30461871], [-47.2781458 , 24.22007242, -48.2853032 , 9.90405209, -16.35320743, -8.9229963 , 25.60941876, 1.34420892]],
[[-13.52899806, 0.24287795, 7.18704875, -5.90638074, 7.27341503, -25.65532165, -13.85364627, -3.59504036], [ -2.91504734, -3.21465318, 0.72516835, 7.29706723, -15.70367301, -6.71153859, -12.11784186, -3.00772615]],
[[ -8.93896608, -9.08203112, -3.66220767, -14.26306376, -0.2974631 , -20.69584492, 32.02141325, 13.24414004], [-28.62088235, -10.8703038 , -21.32136816, -31.86454553, -21.70315656, 35.62413451, 20.73434214, -29.83733549]],
[[ 0.26091242, -13.5845052 , -7.33405383, 5.27793715, -4.77288454, -8.4874038 , -5.90832503, 20.07090076], [-20.04236838, -27.66382483, 19.51144051, 5.94871704, 14.35825032, -22.44614573, 19.9412306 , -19.49210396]],
[[ -3.85416515, -24.12864475, 16.38109008, 30.07134157, 10.43806643, 27.62965944, -7.43436082, -0.09186188], [-27.96716684, -27.05673683, 42.73472769, 10.61990266, 13.39924349, -10.96510907, -12.53296235, -34.56882375]],
[[ 12.84088576, 42.38760893, 2.46734833, 18.3602314 , 4.81435209, 31.48695552, -10.73070292, -43.66538722], [-24.32043152, -24.03377282, 13.8258537 , 29.74940996, 5.02872761, 14.15425757, 29.10677414, 21.47745457]],
[[ 20.58998898, 22.16690516, -0.93888748, 3.2150258 , -26.52181167, -4.50249511, 7.83635725, 13.33486511], [ -0.68898638, 10.65621592, 31.56981662, 23.3579868 , -19.29740949, 9.89988609, 29.90224925, -12.82784082]],
[[ 4.54601871, 3.24648103, -4.89070901, -25.9158515 , 9.42241166, 38.20623979, 3.68688126, 27.31515694], [ 5.93789401, 4.18536443, -13.42219749, 2.4729887 , 14.66924704, 5.81088696, -17.48909749, 0.31206931]],
[[ 12.92218044, 15.07681705, -9.07133274, -10.93784544, 6.56895929, 19.07444538, -10.12813124, -21.59078066], [ 15.82853161, 2.72684008, 11.03949367, 23.33632642, -9.46560462, -15.70435688, -2.26266488, 0.71966999]],
[[-26.58042243, -6.23095271, -0.30549017, 27.19571599, -25.71199973, -0.46704275, 13.95170772, 15.91860358], [-19.51033359, 13.79027129, 27.15168085, 14.46897799, -31.60667949, -18.80792655, -14.00437587, 2.43020653]],
[[-17.06359355, -13.16827683, 41.63519523, 28.10756039, 12.00285979, -37.18332464, 26.56653497, 1.59411276], [ 3.82417106, 17.11851256, -42.71197333, -17.7644493 , -6.2637869 , 5.07333138, 10.2243396 , -13.88086213]],
[[ 6.50868677, -1.19995756, 16.90728283, 11.82944617, 30.90938533, 9.82882911, -13.99331906, 1.59959157], [-26.62001039, -28.04093209, 14.08476531, 12.85072485, 26.67091928, 32.03337294, 27.95482964, 19.52151855]],
[[ 9.44306188, 14.61540921, 27.30213277, 16.6408559 , -22.63908755, -9.78640334, -12.84201756, -7.0994713 ], [ 1.50606693, 19.46583072, 33.06249194, -11.91880994, 16.82370401, 7.52337161, 5.68258807, 38.06575303]],
[[ 33.65380969, -27.72502407, 38.76086577, 5.3288143 , 3.01387726, -26.59947067, -32.0125258 , 21.95084585], [-26.93378331, 1.54251211, -19.45870782, -6.66200681, -4.97031864, 15.07597601, -4.79490059, 11.89054502]],
[[ 11.84632346, 16.47719006, 16.66815856, 5.69776931, 11.71848207, 7.58384209, -14.06851064, 2.62715084], [ 20.0303519 , -8.05945128, 8.94656577, 37.32935506, -16.44129924, -1.29165263, -35.22756809, 12.37004876]],
[[ 10.15213412, 4.827616 , 26.70863688, 2.30191616, -16.91956367, 5.07007867, -17.34687261, 3.67054909], [ 41.38651151, 15.92476772, 18.1909208 , -45.26587783, -13.43217703, 41.41121523, -5.96137685, 34.44958844]],
[[-16.42610926, -33.38986038, -6.3226348 , 4.72474509, 8.91249047, -1.75275819, -13.88820168, 11.17965201], [ -8.45519652, -5.09242389, 2.27914982, 4.21881487, -18.68054276, 1.54722763, 22.48897793, 7.55269141]],
[[-20.16507721, -15.78815363, -11.61094727, -19.18460438, 13.19479106, 13.03984126, -1.68516591, 4.12971207], [-22.07980364, -9.30140413, -33.13392367, 4.76282258, -6.79171078, -38.70029757, 2.38478429, -35.1417654 ]],
[[-40.54446928, -10.08897419, -16.17968626, -6.85065435, -39.67183766, -6.70342651, 3.86003316, 0.31162236], [ 6.69502882, -44.87811042, -35.31749871, -0.9473105 , -43.1537218 , 9.1393663 , 3.74597783, 26.87231825]],
[[ 5.30561662, -23.97905231, -24.93188764, 12.22503438, -29.09698869, 4.23049158, 1.43728532, 2.68238213], [ 8.11087218, -52.43759467, -33.24645983, 21.11630555, 20.28015156, -30.26801901, 40.78556222, -2.79986908]],
[[ -9.86543895, -1.25214936, 22.08071218, -1.50492453, -4.20654039, 6.87741871, -18.11315565, -17.96029085], [ 9.16509189, 18.62439016, -23.41953176, 8.08928086, -24.54828583, -5.48101004, -3.22888894, -18.02206005]],
[[-53.2805746 , 8.33506585, 47.35951097, -12.54885326, -4.03188328, 45.49152079, 1.48901732, 13.37037305], [ -4.44603977, 23.06440207, 16.77517767, -32.31771629, -2.66643641, 3.03445372, 29.88479112, -4.08245294]],
[[-12.48546168, 10.38031088, 29.08901572, -6.78701859, 2.8800826 , -33.28717164, 34.28147878, 1.34282589], [ 25.12739217, -0.25682964, -37.52332671, 19.90266204, -9.93151227, 26.99269647, 25.31272686, -23.57013416]],
[[-19.25780179, 18.75444922, 14.61250387, -36.2210365 , -0.60960306, 11.61163722, 14.72313009, 5.70246815], [ 30.315961 , -15.65562598, 36.93721892, 5.2184901 , -43.48499781, 12.03567868, 1.21926758, 37.99172291]],
[[ 0.28945089, -4.47636677, 26.25035747, 28.11407555, -4.1854492 , 11.44013858, 4.8615893 , 4.07686783], [ -3.17905206, 1.84247606, -15.72722698, -20.38625878, 28.16239674, 19.65079182, 20.5750415 , -4.13862464]],
[[-15.18351096, -7.51825696, 28.4480092 , 10.60513589, 23.55191549, 10.87657771, 11.64848968, 4.84566413], [-11.90869893, -36.97459792, 3.32131902, 7.46890371, 1.67827722, -8.97082651, 10.08355157, 27.44861527]],
[[-19.30013096, 6.89690054, -25.44744701, 13.11560849, -16.9192419 , 7.35371134, 20.63541807, -16.58875283], [ 12.1486873 , 1.89727057, -5.30991594, 4.02289899, -3.96080659, -9.30203575, -44.64313127, 0.77339393]],
[[ 27.79928821, 2.84331157, 3.33981861, 7.48046901, 13.71650432, 35.93170878, -15.47014996, 20.4520675 ], [ 23.49670489, 17.82570955, -22.79162158, -22.78774613, -0.90326816, -3.32032206, 1.70980284, 4.55110484]],
[[ 7.02767116, -38.1816229 , -34.07553295, -26.50793296, 29.35762535, -15.99090593, 10.34338893, 31.68647936], [ 9.62765158, -3.5610583 , -2.38422976, -11.11683089, -9.18963034, -23.54706438, -11.65553551, -14.16443545]],
[[ 9.34228623, -8.53963229, 39.79116836, 7.61647277, 2.71062572, -17.99211324, 37.46359228, -12.59952284], [-19.04917628, -1.57901584, 9.00525272, 12.17626655, 12.83999162, 10.28109016, 15.43333167, -30.49576856]],
[[ 31.61166735, 1.37503852, -28.21078442, 4.02713663, 25.68229193, 6.51934121, -5.14817478, -6.86642099], [ 14.47699041, 22.42483357, 39.5027688 , 15.18714054, 29.07879634, 30.0836785 , 16.56941028, -9.46983254]],
[[ 41.90899282, 19.35178371, 9.06517597, 14.28571987, -19.36341799, -11.24064289, 10.28624967, -8.35083324], [ 15.7192978 , -4.30926189, -5.45128151, -12.83485146, -24.71440689, -13.5060673 , -10.77338863, -10.17785054]],
[[ -1.21708584, -4.6953768 , 11.49751985, 6.99776759, 10.53068212, 23.20218898, 20.09230862, 34.73228172], [-17.78041217, 11.73275946, -6.74498627, -24.99812428, -17.55165215, 24.42181684, 15.76497483, -12.14440832]],
[[ 24.56503305, 7.12849905, -6.58360704, 8.0159926 , -31.40980964, -7.50522777, -18.51995736, 0.77347447], [ 27.53464837, -4.72612962, -28.76999448, 16.01586276, 8.67490022, -33.84658892, -19.21010087, 10.62276164]],
[[-18.62762202, 2.31870149, 7.57104501, -23.1422762 , 33.66419612, -24.57181529, 16.98782153, 20.40071001], [ 16.31399603, 6.79124921, -19.24008898, 19.75942754, -2.36154191, 11.45155599, 24.42753307, -0.76217021]],
[[ 16.45752742, 19.32351733, 12.52123864, 15.63884312, -24.18781951, -32.44506258, -16.71338558, -24.77497153], [-19.14094212, -18.71765363, -39.63149168, 16.19553026, 35.80490543, 19.96866064, 17.98994849, -4.49191217]],
[[-24.24183313, -21.36045774, -16.88314616, -19.6478052 , 4.30796962, 4.29225655, 13.7180628 , 22.53067214], [ 14.41620143, 28.86154648, -4.63515839, 18.66017906, -7.65439055, 24.93741433, -7.1527864 , -17.34299747]],
[[ 2.04770231, -19.38987626, -12.94612786, 3.04584707, 6.94058059, 20.90835945, 15.45477339, -2.12637347], [ -2.30160035, 2.57974165, 10.23019985, 1.34391338, -6.54860413, -14.67529132, -14.81802658, -6.73453994]],
[[-19.98867045, -8.20745345, 10.07300343, 12.99014855, -21.16581883, -17.9041998 , 29.11365694, 21.66157811], [-35.64090346, -26.95087277, -9.92889322, 13.85159479, -1.94915706, -11.85106363, 15.35996684, 8.38093853]],
[[ 24.28134813, 13.46114895, 14.90639269, -32.66897702, -41.39119716, 38.39209459, -22.72591032, 3.32594096], [ 19.24411435, -7.75161196, 10.69632966, 9.69158957, -4.64999031, -1.05812273, -14.55269671, 32.29023639]],
[[ 10.63687982, 7.43105668, -39.00916162, -4.2609074 , 14.56243603, -9.22554497, -17.20862313, -15.57767245], [ -1.80539741, -9.82628226, -5.71005402, -0.11884557, 6.54348617, 10.54435805, 20.03654323, 15.8453592 ]],
[[ 13.96014118, -22.81693927, 23.38972764, -10.93738423, 26.62295933, -3.48422558, -2.46866391, 7.77381365], [ 30.32275013, 6.50340555, 7.19585076, 4.37794759, -1.71317199, -2.78297923, -47.90348892, -15.00728014]],
[[-16.05739194, 8.61363377, -9.23034427, -10.05085898, -17.31774679, -9.48887574, 5.83298365, -19.33817715], [-20.25825105, -1.51571683, 13.9406875 , 0.19601559, -26.30597655, -2.44249481, 34.89188573, 10.00821542]],
[[ -0.31916196, 24.60213084, -14.09976664, -22.40321203, -3.87197708, 2.10259046, -14.79038948, -10.93825502], [ 18.02829819, -40.53144659, -4.25574157, 2.80053925, -13.28125561, 17.95856743, 7.90960306, 38.10385608]],
[[-10.25974928, 0.10849198, 25.51485481, -21.15922981, -17.46908415, -12.88752251, -6.99154145, 33.85048384], [ 26.79503755, -7.38165167, 15.04835163, 5.84229407, -20.8262053 , 7.05946255, -36.35968772, -8.42634377]],
[[-15.99884856, 2.70869922, -18.63355314, -28.54292146, 35.38709663, -26.47391856, 9.09979743, 21.13152663], [ 13.81911544, 22.88591238, 13.10345174, 37.79768832, 4.45146462, 32.08955328, -8.29251528, -35.04745486]],
[[ 19.17421907, -17.66578139, -6.96950826, 48.7581151 , -42.56169093, 24.45609596, -4.74200407, 14.64353284], [ -5.06419896, 7.7715362 , -39.62066449, -33.25809696, 5.04926154, -30.4689193 , 45.86629507, 23.75061582]],
[[ 8.08103539, -22.98043375, -38.24912819, -8.19518711, -30.52088432, -22.92720925, 10.97998187, 18.25976557], [-25.43707148, -6.66360702, 16.7026724 , -3.38682304, 41.9091715 , -3.04730271, 18.06999924, 6.55044925]],
[[-26.13244819, -14.45159542, 23.79253441, 12.93681431, 5.03929279, 4.59262147, 39.36200364, 28.3804181 ], [ 22.66788192, 13.53814393, 12.02677636, -18.49277632, 6.74828228, 9.92026908, 8.33644225, 7.88473821]],
[[ -8.08073236, 7.31408988, 21.39080599, -21.14616796, 23.97644636, 14.52835563, 5.64263631, -9.90358957], [ 17.10945896, 2.43654606, -10.50483978, -4.74007238, -19.84579239, -14.05896377, -24.89423027, -7.35699578]],
[[-19.29486797, 2.95104589, 10.43484135, 19.60443715, 42.36841029, 8.31458395, 16.68641082, -13.4684382 ], [ 32.49667165, 26.05905746, 4.82521778, -11.22516477, 4.48672952, -19.5262942 , -18.29057656, 0.55377894]],
[[ 1.52328454, 16.80187649, 11.6759297 , 14.77613626, 26.78727901, 1.09811838, -21.60115498, -16.16449974], [ -4.20427858, -3.0300359 , 25.59391066, 1.87324711, -16.34418278, 7.8006969 , 18.99932714, 4.53535415]],
[[ 3.87397605, 2.44734641, 4.41873955, 1.73372912, 15.79910185, 21.87043015, 2.26323781, 4.97894145], [ 10.71606392, -13.93301529, 32.0409835 , -6.51720159, -16.15720593, 6.18624601, -7.34652037, 24.48802613]],
[[ 7.64052313, -0.20030049, -31.67230474, -9.93823333, 35.64347868, -5.59454516, -21.16026628, 30.72578125], [ 22.70339497, 9.99951431, 10.31218857, -0.27162754, -27.22021986, -10.46705762, -21.04054428, -21.86915519]],
[[ 1.43471338, 0.98223895, 3.79395764, -4.32138728, 10.64385901, 16.48088453, 18.18061545, 26.15946021], [ 4.16097533, 6.58858943, 11.4492127 , 38.66009272, 11.9579702 , -13.78851608, 24.81727115, 6.87316946]],
[[-42.46717693, 31.44526195, 11.82547462, 10.27719489, -33.46186509, -3.69497092, 1.22968364, -39.92709344], [ 8.77428922, 13.37366496, -1.79367824, -21.49063199, -2.79174171, -15.22942651, -8.70358076, -36.36639658]],
[[ 48.85784759, 10.31348138, 5.07155134, -10.19835774, -54.76133985, -6.24209051, 22.41548863, 48.04258705], [-20.75020714, -22.72128356, -5.3718158 , -12.60566326, 9.9525251 , 11.19470534, 25.44534148, 24.76894199]],
[[ -3.78331857, 11.09419357, -31.24231765, -7.85436643, 45.47840504, -1.77688956, 3.63004349, 16.53966562], [ 0.39811105, 2.68231362, -0.51023684, 7.37616898, -0.54722964, 14.69102568, -0.17025567, -11.93359373]],
[[-17.95267469, -12.9268042 , -12.79211724, -5.26915591, 16.73994647, 14.12157351, 10.48833199, 0.1576138 ], [ 10.02178531, 33.2259912 , -6.86906027, -28.91229272, -19.80240595, 1.20581424, -8.03439654, -23.17363671]],
[[ -9.43095648, -16.81541295, 4.70250907, 23.50332463, -4.84760152, 20.04959577, 2.32802573, -46.39236287], [-20.80413538, -39.25697904, 21.95045444, -21.43697547, -6.55076996, 26.75095022, 9.16878169, -32.55603282]],
[[ 4.45188732e+00, -1.28066329e+01, -3.45827564e+00, -9.32560514e+00, -7.53504091e+00, -2.19714130e+01, -3.49195406e+00, 2.78270651e+01], [ 1.58475378e+01, 1.44744372e-02, 4.08526369e+00, 4.47637366e+00, -6.87338839e+00, -9.20361246e+00, -1.44471881e+01, -6.37642906e+00]],
[[ 19.96494741, 39.70608573, 6.88556794, -51.84776637, 11.62870692, 26.06145413, -8.05029935, 15.94332647], [ -2.69768196, -13.26515775, -1.20006605, -3.61644639, 0.51372766, -25.14474749, 7.05969965, 25.14420581]],
[[ -3.05747936, -12.40918092, -1.15193466, -13.93596785, 7.82934182, 14.45014805, 9.97658079, 27.7708078 ], [-30.9816185 , -37.43412015, -16.05740121, 21.60718885, 0.0923701 , 3.14655807, 24.10466392, -24.71443739]],
[[ 18.04002738, -15.45926492, -0.31110063, -8.77152286, -24.25670124, -5.15441991, 11.14865763, 10.57666266], [ -5.62352155, -11.75925416, -12.99924805, -28.12628209, 32.99105133, 12.79412597, 5.00476983, 35.9050063 ]],
[[-25.31821185, -24.21347275, 10.66101522, 14.67155976, 9.38221047, 15.89555218, 20.86797718, 20.17434982], [-23.77658636, -11.05679046, -6.60866085, -4.33980515, 2.07222649, -4.94893906, -5.6960692 , -4.70058557]],
[[ 27.6957606 , 32.3156322 , -0.15410876, -14.76730625, -15.04525837, -24.62460367, 39.9404889 , -8.86896918], [ 16.13326183, 20.01999672, 29.29375591, -22.11017405, 14.41131471, 22.63923546, 39.09517204, 8.15439172]],
[[ 20.06888073, 31.89430927, -15.50301609, 8.43297656, -6.47149133, 11.0210901 , -33.84072749, -30.85591336], [ 8.97894522, -8.09310909, -44.51021415, -8.95123096, 6.59508174, 24.29191474, -37.62714465, -21.57621388]],
[[ 47.92382607, -3.50061051, -42.1843049 , 21.69776225, 32.08437436, -16.08485258, -22.10672306, -36.29282708], [-14.42118403, 50.01698579, -4.84808673, -9.86463842, 31.18792622, -3.89088016, 6.35351946, -1.8110924 ]],
[[ 15.29069378, -41.62341248, 8.40782159, -0.28631324, 21.60621697, 37.18104509, -53.86079582, -26.85347166], [ -6.92842477, -2.98052383, 19.75018064, 0.66791904, -14.82350439, 28.48348345, -19.78799273, 30.51356908]],
[[ -2.87158694, 17.40997178, -0.10042184, 32.82638481, 5.58323916, -27.20317354, 3.1611695 , -14.36091555], [-19.72310355, -14.08969661, -0.24160089, -5.90229183, 19.09368971, 0.99017937, 19.74638034, 5.91412446]],
[[ 5.1132857 , 0.08120465, 37.59714542, 6.15787633, 30.7559673 , 14.63720261, -30.29657096, -4.10937938], [ -6.8183623 , 23.35642163, -5.56302803, -6.06857462, 10.46875044, 6.35119478, 7.04895229, -22.45650323]],
[[ 25.76359109, 26.89791066, -32.64361468, 3.13830924, 0.59604882, -14.22007776, -22.86639604, 16.57995618], [ 3.42789902, -22.1722474 , -3.59115 , -18.25504343, -8.21949854, 11.09238401, 12.09354557, 36.90524487]],
[[ 26.1350717 , 10.05169142, -26.41603476, 16.81489884, 15.04072258, -2.68507932, -3.73877512, 0.46148697], [ 7.48869062, -1.59183785, 14.02975898, 6.50549924, 5.95465895, 5.4891415 , -29.56909944, 4.26127495]],
[[ 33.00918924, -0.50504364, 11.03840336, 17.46791031, 12.62821963, -28.95477543, 1.45075947, -41.62936667], [ 11.2634049 , 22.97749892, -7.14108054, -25.11635673, 13.70487699, 24.44110022, 25.34667298, 1.60976836]],
[[-16.08587172, -28.17792122, -11.42737895, -31.21080346, 27.78802822, 29.55017348, 15.56329473, 16.44792031], [ 0.92186024, -5.97745913, 17.73798602, 20.77510218, 6.07677105, -11.43916531, 31.10486941, 22.68067523]],
[[-17.5981913 , 45.44210702, -3.19657511, -38.86932988, -34.94493127, -2.22702717, 15.35260054, -44.56487939], [ -0.47311726, -7.25840369, -26.74269675, 5.36550486, 22.15652674, -7.37606724, -22.64338784, -18.45963149]],
[[-32.90075114, -21.8625069 , -4.48359912, -6.24295557, -11.91768749, -13.97475353, 27.97989388, 6.88088217], [ 14.86418334, -20.61538555, -23.50117773, -0.29630402, 11.52988745, 4.66747699, 8.48474863, 20.7034567 ]],
[[ 38.27392765, -4.66372662, -9.72872064, 21.62848722, 4.4575833 , -25.92767374, -10.70070875, 24.96355212], [ 16.15824325, 6.24303761, -23.61830069, 9.86634735, -0.73474928, 15.47213091, -1.36794968, -20.01762644]],
[[ 20.38769827, 19.86224505, 11.97019907, 11.74747951, -13.68036712, -7.07229775, -12.9840495 , -15.7968242 ], [ 10.50622544, 53.46353756, 20.07619684, -11.44780025, 31.46580923, -2.00577016, -20.41497614, -32.32131091]],
[[ 20.13697524, 6.24853873, 19.42031531, -7.83196291, -14.59936806, -18.06610749, -42.15695986, -1.40569378], [-34.49369472, -7.37889159, 11.5775807 , -17.49411553, -21.7382108 , -32.92395326, -11.29553233, -5.08656613]],
[[ 6.24149592, -1.39433655, -13.54773108, -26.31245832, 28.30025601, -9.47047899, -10.36568864, -30.50216988], [-12.90474197, -16.29663299, -19.06376469, -21.66462429, 8.20346059, 14.61664128, -9.99312221, -30.36382828]],
[[ 2.02414179, 41.38853802, -0.14304734, -61.65214062, -21.4214223 , -24.7303893 , -2.42144372, 30.97916577], [ -4.66879389, -11.28628935, -22.86255994, -1.06471197, 24.40523006, 24.32279157, 7.55690306, -9.12116477]],
[[ -2.37192758, 10.61998188, -18.1268381 , -47.32983861, -14.6878425 , -39.68523199, 14.35972376, -10.27443502], [ 2.7530187 , -35.83237478, 17.64074829, -9.82835194, -9.50748117, -34.35124948, 28.50722446, 17.47814129]],
[[ 35.69345989, 14.49958383, 33.17372514, 16.74386325, -15.6880793 , 0.32894151, -37.61977033, -26.49461943], [ -5.25826625, -7.95195664, -39.739874 , 20.2397318 , -26.23249998, -3.50321176, -32.70061327, 37.66773954]],
[[ -6.28612124, -13.88386718, 3.92861443, 0.22592088, -37.08783321, -32.65388034, -36.73817435, -29.31638247], [-14.40326267, -6.73003873, 7.49538804, -40.4793942 , -7.53183268, -38.61633404, 47.82711087, -0.37749216]],
[[ 16.62572958, 36.71756881, -1.59490162, -1.81049448, -1.07292827, 10.67556776, 9.95367062, 29.38114024], [ 43.62091005, 16.59854614, 10.53468987, 41.09282444, 6.51115639, 49.30224724, -16.12605387, -16.98275101]],
[[ -4.05204814, -34.91793291, -17.04135103, -38.49148737, -3.56445466, 37.5054772 , 1.79687383, -35.10707637], [ -3.75944872, 25.01186401, -23.86077138, -2.64026394, -16.36809998, 1.32542036, -2.60215399, -29.94039892]],
[[ 14.26670575, 25.95252606, -4.31614284, -27.35936904, 32.96274108, 9.54759803, 3.63865142, -3.90424994], [ 15.35259883, 14.71048247, -9.90878608, 8.88381318, -2.51232442, -6.95932927, -0.7703665 , -11.23668782]],
[[ 29.21315274, -5.70872166, 5.64149097, 2.36118035, 32.81482921, 8.99392163, 14.23427718, -8.35845247], [ 32.37598308, -11.54883292, 5.80147453, 2.37420083, 13.10269454, -16.13571375, 4.52739122, 5.91515042]],
[[ 27.58417588, -3.85576403, -18.01370905, -16.36461118, 3.63688561, 8.32466971, -12.40868361, -3.15025623], [ 36.44348409, -14.90877439, 44.77359852, 19.19517448, -45.66001074, -25.85638179, -23.41091307, -38.69602906]],
[[ 11.64469642, 44.8749692 , -18.59510995, 32.14838652, -15.59724179, -30.19365043, 15.44842794, -31.31360995], [ 11.12666333, -1.11903248, -17.37252716, -0.77550334, -1.06361855, -44.47701773, -14.27938785, 2.92707558]],