Full Code of ewust/keys for AI

master 55834a449a52 cached
57 files
1.0 MB
464.6k tokens
1 requests
Download .txt
Showing preview only (1,058K chars total). Download the full file or copy to clipboard to get everything.
Repository: ewust/keys
Branch: master
Commit: 55834a449a52
Files: 57
Total size: 1.0 MB

Directory structure:
gitextract_hw6po8ej/

├── Automated-Keyway-Modeling/
│   ├── Generic-Key.jscad
│   ├── Generic-Key.scad
│   ├── Keyway-Detection-JSCAD.py
│   ├── KeywayDetection.py
│   ├── README
│   ├── Sample_Output.scad
│   └── Sample_Output.stl
├── README.md
├── Schlage SC1.scad
├── custom-models/
│   ├── BEST G.scad
│   ├── Kwikset KW1.scad
│   ├── Medeco Biaxial.scad
│   ├── Medeco Keymark.scad
│   ├── SEB-145.ipt
│   └── SED-v5.ipt
└── data/
    ├── CEDAR DID04.py
    ├── bestg-cud-1.out
    ├── bestg-cud-2.out
    ├── bestg-mp-1.out
    ├── bestg-mp-2.out
    ├── bestg-mp-3.out
    ├── bestg-mp-4.out
    ├── bestg-wsfp-1.out
    ├── bestg-wsfp-2.out
    ├── bestg-wsfp-3.out
    ├── bestg-wsfp-4.out
    ├── kw1-cud-1.out
    ├── kw1-cud-2.out
    ├── kw1-mp-1.out
    ├── kw1-mp-2.out
    ├── kw1-mp-3.out
    ├── kw1-mp-4.out
    ├── kw1-ns-1.out
    ├── kw1-rbs-1-bent.out
    ├── kw1-rbs-1.out
    ├── kw1-rbs-2.out
    ├── kw1-rbz-1.out
    ├── kw1-rbz-2.out
    ├── kw1-ss-1.out
    ├── kw1-ss-2-no-springs.out
    ├── kw1-ss-2-opened.out
    ├── kw1-ss-2.out
    ├── kw1-wsfp-1.out
    ├── kw1-wsfp-2.out
    ├── kw1-wsfp-3.out
    ├── kw1-wsfp-4.out
    ├── notes
    ├── sc1-cud-1.out
    ├── sc1-cud-2.out
    ├── sc1-mp-1.out
    ├── sc1-mp-2.out
    ├── sc1-mp-3.out
    ├── sc1-mp-4.out
    ├── sc1-wsfp-1.out
    ├── sc1-wsfp-2.out
    ├── sc1-wsfp-3.out
    └── sc1-wsfp-4.out

================================================
FILE CONTENTS
================================================

================================================
FILE: Automated-Keyway-Modeling/Generic-Key.jscad
================================================
function mm(i) {
    return i*25.4;
}
function pixel(i) {
    return mm(i*###SCALE_FACTOR###);
}
function channels(blade_length) {
    return union(
###CHANNELS###
    );
}
function bit(cut_depth, blade_width) {
    return difference(
        cube({size: [blade_width, 20, 20]}).translate([0, -20, 0]).rotateX(45),
        cube({size: [blade_width, mm(0.025), mm(0.05)]}).translate([0, -mm(0.025), -mm(0.05)/2]) 
    ).translate([0, mm(0.025 + (cut_depth * 0.0125)), 0]);
}
function bow_edges(bow_height, inner_radius, outer_radius, amount_show) {
    outer_radius = 2*outer_radius;
    return difference(
        cylinder({h: 2*bow_height, r: outer_radius}),
        cylinder({h: 2*bow_height, r: inner_radius}),
        cube({size: [2*outer_radius, 2*outer_radius, 2*bow_height]}).translate([-inner_radius + amount_show, -outer_radius, 0])   
    ).translate([inner_radius, 0, 0]);
}
function bow(input_x_len, input_y_len) {
    bow_height = input_y_len;
    bow_x_length = input_x_len * 2.808888889;
    bow_y_length = input_x_len * 2.891851852;
    return difference(
        cube({size: [bow_x_length, bow_y_length, bow_height]}),
        cylinder({h: bow_height, r: bow_x_length/2 - input_x_len/2}),
        cylinder({h: bow_height, r: bow_x_length/2 - input_x_len/2}).translate([bow_x_length, 0, 0]),
        cylinder({h: bow_height, r: bow_x_length/2 - input_x_len/2}).translate([0, 0.925 * bow_y_length, 0]),
        cylinder({h: bow_height, r: bow_x_length/2 - input_x_len/2}).translate([bow_x_length, 0.925 * bow_y_length, 0]),
        bow_edges(bow_height, 0.173442623 * bow_y_length, 0.192110656 * bow_y_length, 0.074367089 * bow_x_length)
        .translate([0, 0.4615 * bow_y_length, 0]),
        bow_edges(bow_height, 0.173442623 * bow_y_length, 0.192110656 * bow_y_length, 0.074367089 * bow_x_length)
        .rotateY(180).translate([bow_x_length, 0.4615 * bow_y_length, 3*bow_height/2]),
        bow_edges(bow_height, bow_y_length - 8*(0.074367089 * bow_x_length), bow_y_length - 2*(0.074367089 * bow_x_length), 0.074367089 * bow_x_length)
        .rotateZ(270).translate([bow_x_length/2, bow_y_length - 0.1*bow_y_length, 0]),
        difference(
            cube({size: [input_x_len, 0.15*bow_y_length, bow_height]}).translate([bow_x_length/2 - input_x_len/2, 0, 0]),
            cube({size: [bow_x_length/2 - input_x_len/2, 0.3*bow_y_length, bow_height]}).rotateZ(-15),
            cube({size: [bow_x_length/2 + input_x_len/2, 0.3*bow_y_length, bow_height]}).rotateZ(105).translate([bow_x_length/2 + input_x_len/2 + cos(15) * 0.3*bow_y_length, sin(15) * 0.3*bow_y_length, 0])
        ).translate([-0.006*bow_x_length, 0.65*bow_y_length, 0])
    );
}
function blade(key_cuts) {
    ###BLADE_LENGTH###
    ###BLADE_WIDTH### 
    shoulder = mm(0.195);
    cut_spacing = mm(0.15);
    return difference(
        channels(blade_length).translate([-blade_width, 0, 0]).rotateY(180),
        cube({size: [blade_width, mm(0.159), mm(0.159)]}).rotateY(45).translate([0, 0, -blade_length - mm(9*0.0125)]),
        ###TIP_STOP###
        bit(key_cuts[0], blade_width).translate([0, 0, -shoulder - (0 * cut_spacing)]),
        bit(key_cuts[1], blade_width).translate([0, 0, -shoulder - (1 * cut_spacing)]),
        bit(key_cuts[2], blade_width).translate([0, 0, -shoulder - (2 * cut_spacing)]),
        bit(key_cuts[3], blade_width).translate([0, 0, -shoulder - (3 * cut_spacing)]),
        bit(key_cuts[4], blade_width).translate([0, 0, -shoulder - (4 * cut_spacing)]),
        bit(key_cuts[5], blade_width).translate([0, 0, -shoulder - (5 * cut_spacing)]),
        bit(key_cuts[6], blade_width).translate([0, 0, -shoulder - (6 * cut_spacing)])
    );
}
function main() {
    ###X_LENGTH###
    ###Y_LENGTH###
    return union(
        blade(###KEY_CUTS###),
        bow(y_length, x_length).rotateX(90).rotateZ(90).translate([0, -((y_length*2.808888889)/2 - y_length/2), 0])
    );
}


================================================
FILE: Automated-Keyway-Modeling/Generic-Key.scad
================================================
$fn=100;

function mm(i) = i*25.4;
###SCALE_FACTOR###

//Auto generated channels
module channels(blade_length)
{
    ###CHANNELS###
}

module bit(cut_depth, blade_width)
{
	translate([0, mm(.025 + (cut_depth * .0125)), 0])
        difference() 
        {
            rotate([45, 0, 0]) translate([0, -20, 0]) cube([blade_width, 20, 20]);
            translate([0, -mm(.025), -mm(.05)/2]) cube([blade_width, mm(.025), mm(.05)]);
        }
}

module blade(key_cuts)
{
    ###BLADE_LENGTH###
    ###BLADE_WIDTH###
    shoulder = mm(.195);
    cut_spacing = mm(.15);
    difference()
    {
        //Generate Blade With Channels
        translate([0, 0, -blade_length]) channels(blade_length);
        //Contour Tip
        translate([0, 0, -blade_length - mm(9*.0125)]) 
            rotate([45, 0, 0])  cube([blade_width, mm(.159), mm(.159)]);
        //Cut Tip Stop
        ###TIP_STOP###
        //Place cuts on the key 
        for (counter = [0:###NUMBER_OF_CUTS###])
        {
            translate([0, 0, -shoulder - (counter * cut_spacing)]) 
                bit(key_cuts[counter], blade_width);
        }
    }  
}

module bow_edges(bow_height, inner_radius, outer_radius, amount_show)
{
    outer_radius = 2*outer_radius;
    translate([inner_radius, 0, 0]) difference()
    {
        cylinder(h = 2*bow_height, r = outer_radius);
        cylinder(h = 2*bow_height, r = inner_radius);
        translate([-inner_radius + amount_show, -outer_radius, 0]) cube([2*outer_radius, 2*outer_radius, 2*bow_height]);
    }
    
}

module bow(input_x_len, input_y_len)
{
    bow_height = input_y_len;
    bow_x_length = input_x_len * 2.808888889;
    bow_y_length = input_x_len * 2.891851852;
    difference()
    {
        cube([bow_x_length, bow_y_length, bow_height]);
        cylinder(h = bow_height, r = bow_x_length/2 - input_x_len/2);
        translate([bow_x_length, 0, 0]) cylinder(h = bow_height, r = bow_x_length/2 - input_x_len/2);
        translate([0, .925 * bow_y_length, 0]) cylinder(h = bow_height, r = bow_x_length/2 - input_x_len/2);
        translate([bow_x_length, .925 * bow_y_length, 0]) cylinder(h = bow_height, r = bow_x_length/2 - input_x_len/2);
        translate([0, 0.4615 * bow_y_length, 0]) 
        bow_edges(bow_height, 0.173442623 * bow_y_length, 0.192110656 * bow_y_length, 0.074367089 * bow_x_length);
        translate([bow_x_length, 0.4615 * bow_y_length, 3*bow_height/2]) 
        rotate([0, 180, 0]) bow_edges(bow_height, 0.173442623 * bow_y_length, 0.192110656 * bow_y_length, 0.074367089 * bow_x_length);
        translate([bow_x_length/2, bow_y_length - .1*bow_y_length, 0]) 
        rotate([0, 0, 270]) bow_edges(bow_height, bow_y_length - 8*(.074367089 * bow_x_length),  bow_y_length - 2*(.074367089 * bow_x_length), 0.074367089 * bow_x_length);
        translate([-.006*bow_x_length, .65*bow_y_length, 0]) difference()
        {
            translate([bow_x_length/2 - input_x_len/2, 0, 0]) cube([input_x_len, .15*bow_y_length, bow_height]);
            rotate([0, 0, -15]) cube([bow_x_length/2 - input_x_len/2, .3*bow_y_length, bow_height]);
            translate([bow_x_length/2 + input_x_len/2 + cos(15) * .3*bow_y_length, sin(15) * .3*bow_y_length, 0]) rotate([0, 0, +105]) cube([bow_x_length/2 + input_x_len/2, .3*bow_y_length, bow_height]);
        }
    }
}

module key(key_cuts)
{
    ###X_LENGTH###
    ###Y_LENGTH###
    union()
    {
        blade(key_cuts);
        translate([0, -((y_length*2.808888889)/2 - y_length/2), 0]) rotate([90, 0, 90]) bow(y_length, x_length);
    }
}

key(###KEY_CUTS###);


================================================
FILE: Automated-Keyway-Modeling/Keyway-Detection-JSCAD.py
================================================
import argparse
import cv2
import exifread
import os.path
import subprocess
import sys
from skimage import measure
from skimage import img_as_ubyte
from skimage.transform import rotate
parser = argparse.ArgumentParser(description='3D Key Blank Model Generation Utility.')
parser.add_argument('input', default = 'input.pgm', 
					help='the file to read from (default: input.pgm)')
parser.add_argument('--output', '-o', default='output.pgm', 
					help='the file to output the image mask to (default: output.pgm)')
parser.add_argument('--threshold', '-t', default=-1, type=float, 
					help='the threshold value to use when filtering the image (default: automatically generated)')
parser.add_argument('--min_threshold', default=25, type=int,
					help='set the minimum threshold value for the automated threshold detector (default: 25)')
parser.add_argument('--max_threshold', default=80, type=int,
					help='set the maximum threshold value for the automated threshold detector (default: 80)')
parser.add_argument('--step_size_threshold', default=5, type=int,
					help='set the step size for the automated threshold detector (default: 5)')
parser.add_argument('--print_threshold', '-pt', default=False, type=bool,
					help='print the automatically selected threshold value (default: False)')
parser.add_argument('--overhangs', '-oh', default=1, type=int, 
					help='set if the image has overhangs (default: True)')
parser.add_argument('--generic_scad', '-gs', default='Generic-Key.scad', 
					help='set the location of the generic-key.scad file (default: ./generic-key.scad)')
parser.add_argument('--no_arg', '-na', default=False, type=bool, 
					help='disable argument checking (default: False)')
parser.add_argument('--keyway_height', '-kh', default=.320, type=float, 
					help='set the height of the keyway in inches (default: .320")')
parser.add_argument('--blade_length', '-bl', default=1.25, type=float, 
					help='set the length of the key blade in inches (default: 1.25")')
parser.add_argument('--scad_output_file', '-sof', default='output.scad',  
					help='the file to output the OpenSCAD data to (default: output.scad)')
parser.add_argument('--key_cuts', '-kc', nargs='+', default=['0', '0', '0', '0', '0', '0', '0'],  
					help='the cuts to place on the key (default: 0 0 0 0 0 0 0)')
parser.add_argument('--output_stl', '-os', default='output.stl',  
					help='the file to render to (default: output.stl)')
parser.add_argument('--disable_stl_output', '-dso', default=False,  
					help='disable the automatic rendering of the OpenSCAD data (default: False)')
parser.add_argument('--trim', '-tr', default=10, type=int,
					help='scale stuff (default: False)')
args = parser.parse_args()
#START ARG CHECKING
if(args.no_arg == False):
	if((args.threshold > 255) | ((args.threshold < 0) and (args.threshold != -1)) | 
		(args.min_threshold > 255) | (args.min_threshold < 0) | 
		(args.max_threshold > 255) | (args.max_threshold < 0) | 
		(args.step_size_threshold > (args.max_threshold - args.min_threshold)) | 
		(args.min_threshold > args.max_threshold)):
		print 'Error: threshold value out of range'
		sys.exit(1)
	if(os.path.isfile(args.input) == False):
		print 'Error: input file does not exist'
		sys.exit(1)
	if(os.path.isfile(args.output) == True):
		print 'Warning: output file exists'
		print 'Would you like to overwrite? (y/n)'
		input_data = raw_input()
		if((input_data == 'y') | (input_data == 'yes')) == False:
			sys.exit(1)
	if(os.path.isfile(args.generic_scad) == False):
		print 'Error: generic_scad file does not exist'
		sys.exit(1)
#END ARG CHECKING

#READ GENERIC SCAD TEMPLATE
print "Reading Generic SCAD Template"
f = open(args.generic_scad, 'r+')
generic_scad = f.read()
f.close()
#END READ GENERIC SCAD TEMPLATE

#THRESHOLDING
img = cv2.imread(args.input, 0)
new_img = cv2.imread(args.input, 0)
exif = open(args.input, 'rb')
exif_data = exifread.process_file(exif, details=False)
try:
        exif_orientation = str(exif_data['Image Orientation'])
except KeyError, e:
#       print "EXIF DATA: NOT FOUND"
        exif_orientation = str("NotRotated A")
#print "EXIF DATA: FOUND"
exif_orientation_array = exif_orientation.split(" ")
threshold_array = []
area_array = []
first_run = True
if(args.threshold == -1):
	print "Determining Optimal Thresholding Value"
	for threshold in range(args.min_threshold, args.max_threshold, args.step_size_threshold):
		ret,new_img = cv2.threshold(img,threshold,255,cv2.THRESH_BINARY)
		labels = measure.label(new_img)
		max = 0
		region_label = -1
		region_image = []
		avg = 0
		for region in measure.regionprops(labels, intensity_image=None, cache=True):
			if region.area > max:
				max = region.area
				region_label = region.label
				region_image = region.filled_image
		counter = 0
		for i in range(0, int(.15*len(region_image))):
			avg += len(region_image[i])
			counter += 1
		if counter != 0:
			avg = avg/counter
		if(first_run):
			last_area = len(region_image)*len(region_image[1])
			first_run = False
		else:
			if(len(region_image)*len(region_image[1]) > 2*last_area or
				len(region_image)*len(region_image[1]) < last_area/2 or
					avg > 1.15 * last_avg):
				break
		counter = 0	
		image = region_image
		threshold_array.append(threshold)
		last_avg = avg
		last_area = len(region_image)*len(region_image[1])
		area_array.append(last_area)
		last_threshold = threshold
	print "Thresholding Image"
	if(args.print_threshold):
		print 'Automatically detected threshold value:'
		print last_threshold
else:
	print "Thresholding Image"
	ret,new_img = cv2.threshold(img,args.threshold,255,cv2.THRESH_BINARY)
	labels = measure.label(new_img)
	max = 0
	region_label = -1
	region_image = []
	for region in measure.regionprops(labels, intensity_image=None, cache=True):
		if region.area > max:
			max = region.area
			region_label = region.label
			region_image = region.filled_image
	image = region_image
#END THRESHOLDING
#for i in range(0, len(area_array)):
	#print "%s %.23f" % (threshold_array[i], float(area_array[i])/(float(len(new_img)*len(new_img[1]))))


#FIX IMAGE ROTATION AND CONVERT TO OPENCV2 FORMAT
if(exif_orientation_array[0] == "Rotated"):
	if(exif_orientation_array[2] == "CCW"):
		image = rotate(image, -int(exif_orientation_array[1]), resize = True)
	if(exif_orientation_array[2] == "CW"):
		image = rotate(image, int(exif_orientation_array[1]), resize = True)
cv_image = img_as_ubyte(image)
for y in range(int(.8*len(cv_image)), len(cv_image)):
	counter = 0
	for x in range(0, len(cv_image[0])):
		if cv_image[y][x] > 140:
			counter += 1
		if cv_image[y][x] < 140:
			if counter < .1 * len(cv_image[0]) :
				for i in range(x - counter, x):
					cv_image[y][i] = 0
			counter = 0
labels = measure.label(cv_image)
max = 0
region_label = -1
region_image = []
for region in measure.regionprops(labels, intensity_image=None, cache=True):
	if region.area > max:
		max = region.area
		region_label = region.label
		region_image = region.filled_image
cv_image = img_as_ubyte(region_image)
cv2.imwrite(args.output, cv_image)
#END FIX IMAGE ROTATION AND CONVERT TO OPENCV2 FORMAT

#OPENSCAD CONVERSION
#LENGTH ARE SOMETIMES OVERALLOCATED FOR CUT AWAYS TO PREVENT ARTIFACTS FROM RENDERING PROBLEMS 
FMT = '''\tcube({size: [pixel(%d), pixel(%d), blade_length]}).translate([pixel(%d), pixel(%d), 0]),\n'''
SCALE_FACTOR = '''%.12f'''
BLADE_LENGTH = '''blade_length = mm(%f); '''
BLADE_WIDTH = '''blade_width = pixel(%f); '''
TIP_STOP = '''cube([3*blade_width/2, 0.6*pixel(%d), mm(0.065)]).translate([-blade_width/4, .5*pixel(%d), -blade_length - mm(0.0001)]),'''
BOW_CONNECTION = ''' cube([pixel(%d), pixel(%d), mm(%f)]); '''
X_LENGTH = '''x_length = pixel(%f); '''
Y_LENGTH = '''y_length = pixel(%f); '''
CONNECTOR_HEIGHT = '''connector_height = pixel(%f); '''
channels = ''
channel_data = []
num_elems = 0

print "Determining Keyway Profile"
if (args.overhangs == False):
	for y in range(0, len(cv_image)):
		first_wall_found = False
		for x in range(0, len(cv_image[y])):
			if(cv_image[y][x] < 127 and x + 1 < len(cv_image[y]) 
				and cv_image[y][x+1] > 127 and first_wall_found == False):
				last_black_pixel_x_position = x
				first_wall_found = True
			if(cv_image[y][x] and x == 0  and first_wall_found == False):
				last_black_pixel_x_position = 0
				first_wall_found = True
			if ((cv_image[y][x] > 127 and x + 1 < len(cv_image[y]) and cv_image[y][x+1] < 127) or
				(cv_image[y][x] > 127 and x + 1 == len(cv_image[y]))):
				length_of_white_segment = x - last_black_pixel_x_position
				channel_data.append([last_black_pixel_x_position, y, length_of_white_segment, 1, -1])
				num_elems += 1
if (args.overhangs == True):
	for y in range(0, len(cv_image)):
		for x in range(0, len(cv_image[y])):
			if(cv_image[y][x] < 127 and x + 1 < len(cv_image[y]) and cv_image[y][x+1] > 127):
				last_black_pixel_x_position = x
			if(cv_image[y][x] and x == 0):
				last_black_pixel_x_position = 0
			if((cv_image[y][x] > 127 and x + 1 < len(cv_image[y]) and cv_image[y][x+1] < 127) or
				(cv_image[y][x] > 127 and x + 1 == len(cv_image[y]))):
				length_of_white_segment = x - last_black_pixel_x_position 
				channel_data.append([last_black_pixel_x_position, y, length_of_white_segment, 1, -1])
				num_elems += 1


print "Optimizing Keyway Profile"
channel_data_classifier = 1
for i in range(0, len(channel_data)):
	if(i - 1 >= 0):	
		if((channel_data[i-1][0] == channel_data[i][0]) and
			channel_data[i-1][2] == channel_data[i][2]):
			channel_data[i][4] = channel_data[i-1][4]
		else:
			channel_data[i][4] = channel_data_classifier
			channel_data_classifier += 1
	else:
		channel_data[i][4] = channel_data_classifier
		channel_data_classifier += 1
max_channel = channel_data_classifier
channel_data_classifier = 1
data_stor = [0, 0, 0, 0]
last_index = 0
first_index = 0
first_j = False

print "Converting Keyway Profile Into OpenSCAD" 
for i in range(channel_data_classifier, max_channel):
	counter = 0
	first_j = False
	for j in range(last_index, len(channel_data)):
		if(channel_data[j][4] == i):
			if(first_j == False):
				first_index = j
				first_j = True
			counter += 1
		else:
			last_index = j
			break
	channels += (FMT % (channel_data[first_index][2] - args.trim*2, counter, channel_data[first_index][0] + args.trim, channel_data[first_index][1]))

print "Creating .scad File"
generic_scad = generic_scad.replace('###SCALE_FACTOR###', SCALE_FACTOR % (float(args.keyway_height)/float(len(cv_image))))
generic_scad = generic_scad.replace('###CHANNELS###', channels)
generic_scad = generic_scad.replace('###BLADE_LENGTH###', BLADE_LENGTH % (args.blade_length - (7 - len(args.key_cuts))*.15))
generic_scad = generic_scad.replace('###BLADE_WIDTH###', BLADE_WIDTH % (len(cv_image[0]) - 1))
generic_scad = generic_scad.replace('###TIP_STOP###', TIP_STOP % (len(cv_image) - 1, len(cv_image) - 1))
generic_scad = generic_scad.replace('###BOW_CONNECTION###', BOW_CONNECTION % (len(cv_image[0]) - 1, len(cv_image) - 1, args.blade_length * .1))
generic_scad = generic_scad.replace('###NUMBER_OF_CUTS###', str(len(args.key_cuts) - 1))
generic_scad = generic_scad.replace('###X_LENGTH###', X_LENGTH % (len(cv_image[0]) - 1))
generic_scad = generic_scad.replace('###Y_LENGTH###', Y_LENGTH % (len(cv_image) - 1))
generic_scad = generic_scad.replace('###CONNECTOR_HEIGHT###', CONNECTOR_HEIGHT % (args.blade_length * .1))
generic_scad = generic_scad.replace('###KEY_CUTS###', str(args.key_cuts).replace("'", ""))

#WRITE SCAD TO DISK
f = open(args.scad_output_file, 'w')
f.write(generic_scad)
f.close()

#RENDER SCAD
if(args.disable_stl_output == False):
	print "Rendering .stl File (This Will Take Awhile)"
	OPENSCAD_CALL = '''openscad -o %s %s 2>OpenSCAD_output.log 1>OpenSCAD_output.log'''
	subprocess.Popen(OPENSCAD_CALL % (args.output_stl, args.scad_output_file), shell=True, stdout=subprocess.PIPE).stdout.read()


================================================
FILE: Automated-Keyway-Modeling/KeywayDetection.py
================================================
import argparse
import cv2
import exifread
import os.path
import subprocess
import sys
from skimage import measure
from skimage import img_as_ubyte
from skimage.transform import rotate
parser = argparse.ArgumentParser(description='3D Key Blank Model Generation Utility.')
parser.add_argument('input', default = 'input.pgm', 
					help='the file to read from (default: input.pgm)')
parser.add_argument('--output', '-o', default='output.pgm', 
					help='the file to output the image mask to (default: output.pgm)')
parser.add_argument('--threshold', '-t', default=-1, type=float, 
					help='the threshold value to use when filtering the image (default: automatically generated)')
parser.add_argument('--min_threshold', default=25, type=int,
					help='set the minimum threshold value for the automated threshold detector (default: 25)')
parser.add_argument('--max_threshold', default=80, type=int,
					help='set the maximum threshold value for the automated threshold detector (default: 80)')
parser.add_argument('--step_size_threshold', default=5, type=int,
					help='set the step size for the automated threshold detector (default: 5)')
parser.add_argument('--print_threshold', '-pt', default=False, type=bool,
					help='print the automatically selected threshold value (default: False)')
parser.add_argument('--overhangs', '-oh', default=1, type=int, 
					help='set if the image has overhangs (default: True)')
parser.add_argument('--generic_scad', '-gs', default='Generic-Key.scad', 
					help='set the location of the generic-key.scad file (default: ./generic-key.scad)')
parser.add_argument('--no_arg', '-na', default=False, type=bool, 
					help='disable argument checking (default: False)')
parser.add_argument('--keyway_height', '-kh', default=.320, type=float, 
					help='set the height of the keyway in inches (default: .320")')
parser.add_argument('--blade_length', '-bl', default=1.25, type=float, 
					help='set the length of the key blade in inches (default: 1.25")')
parser.add_argument('--scad_output_file', '-sof', default='output.scad',  
					help='the file to output the OpenSCAD data to (default: output.scad)')
parser.add_argument('--key_cuts', '-kc', nargs='+', default=['0', '0', '0', '0', '0', '0', '0'],  
					help='the cuts to place on the key (default: 0 0 0 0 0 0 0)')
parser.add_argument('--output_stl', '-os', default='output.stl',  
					help='the file to render to (default: output.stl)')
parser.add_argument('--disable_stl_output', '-dso', default=False,  
					help='disable the automatic rendering of the OpenSCAD data (default: False)')
parser.add_argument('--trim', '-tr', default=10, type=int,
					help='scale stuff (default: False)')
args = parser.parse_args()
#START ARG CHECKING
if(args.no_arg == False):
	if((args.threshold > 255) | ((args.threshold < 0) and (args.threshold != -1)) | 
		(args.min_threshold > 255) | (args.min_threshold < 0) | 
		(args.max_threshold > 255) | (args.max_threshold < 0) | 
		(args.step_size_threshold > (args.max_threshold - args.min_threshold)) | 
		(args.min_threshold > args.max_threshold)):
		print 'Error: threshold value out of range'
		sys.exit(1)
	if(os.path.isfile(args.input) == False):
		print 'Error: input file does not exist'
		sys.exit(1)
	if(os.path.isfile(args.output) == True):
		print 'Warning: output file exists'
		print 'Would you like to overwrite? (y/n)'
		input_data = raw_input()
		if((input_data == 'y') | (input_data == 'yes')) == False:
			sys.exit(1)
	if(os.path.isfile(args.generic_scad) == False):
		print 'Error: generic_scad file does not exist'
		sys.exit(1)
#END ARG CHECKING

#READ GENERIC SCAD TEMPLATE
print "Reading Generic SCAD Template"
f = open(args.generic_scad, 'r+')
generic_scad = f.read()
f.close()
#END READ GENERIC SCAD TEMPLATE

#THRESHOLDING
img = cv2.imread(args.input, 0)
new_img = cv2.imread(args.input, 0)
exif = open(args.input, 'rb')
exif_data = exifread.process_file(exif, details=False)
try:
        exif_orientation = str(exif_data['Image Orientation'])
except KeyError, e:
#       print "EXIF DATA: NOT FOUND"
        exif_orientation = str("NotRotated A")
#print "EXIF DATA: FOUND"
exif_orientation_array = exif_orientation.split(" ")
threshold_array = []
area_array = []
first_run = True
if(args.threshold == -1):
	print "Determining Optimal Thresholding Value"
	for threshold in range(args.min_threshold, args.max_threshold, args.step_size_threshold):
		ret,new_img = cv2.threshold(img,threshold,255,cv2.THRESH_BINARY)
		labels = measure.label(new_img)
		max = 0
		region_label = -1
		region_image = []
		avg = 0
		for region in measure.regionprops(labels, intensity_image=None, cache=True):
			if region.area > max:
				max = region.area
				region_label = region.label
				region_image = region.filled_image
		counter = 0
		for i in range(0, int(.15*len(region_image))):
			avg += len(region_image[i])
			counter += 1
		if counter != 0:
			avg = avg/counter
		if(first_run):
			last_area = len(region_image)*len(region_image[1])
			first_run = False
		else:
			if(len(region_image)*len(region_image[1]) > 2*last_area or
				len(region_image)*len(region_image[1]) < last_area/2 or
					avg > 1.15 * last_avg):
				break
		counter = 0	
		image = region_image
		threshold_array.append(threshold)
		last_avg = avg
		last_area = len(region_image)*len(region_image[1])
		area_array.append(last_area)
		last_threshold = threshold
	print "Thresholding Image"
	if(args.print_threshold):
		print 'Automatically detected threshold value:'
		print last_threshold
else:
	print "Thresholding Image"
	ret,new_img = cv2.threshold(img,args.threshold,255,cv2.THRESH_BINARY)
	labels = measure.label(new_img)
	max = 0
	region_label = -1
	region_image = []
	for region in measure.regionprops(labels, intensity_image=None, cache=True):
		if region.area > max:
			max = region.area
			region_label = region.label
			region_image = region.filled_image
	image = region_image
#END THRESHOLDING
#for i in range(0, len(area_array)):
	#print "%s %.23f" % (threshold_array[i], float(area_array[i])/(float(len(new_img)*len(new_img[1]))))


#FIX IMAGE ROTATION AND CONVERT TO OPENCV2 FORMAT
if(exif_orientation_array[0] == "Rotated"):
	if(exif_orientation_array[2] == "CCW"):
		image = rotate(image, -int(exif_orientation_array[1]), resize = True)
	if(exif_orientation_array[2] == "CW"):
		image = rotate(image, int(exif_orientation_array[1]), resize = True)
cv_image = img_as_ubyte(image)
for y in range(int(.8*len(cv_image)), len(cv_image)):
	counter = 0
	for x in range(0, len(cv_image[0])):
		if cv_image[y][x] > 140:
			counter += 1
		if cv_image[y][x] < 140:
			if counter < .1 * len(cv_image[0]) :
				for i in range(x - counter, x):
					cv_image[y][i] = 0
			counter = 0
labels = measure.label(cv_image)
max = 0
region_label = -1
region_image = []
for region in measure.regionprops(labels, intensity_image=None, cache=True):
	if region.area > max:
		max = region.area
		region_label = region.label
		region_image = region.filled_image
cv_image = img_as_ubyte(region_image)
cv2.imwrite(args.output, cv_image)
#END FIX IMAGE ROTATION AND CONVERT TO OPENCV2 FORMAT

#OPENSCAD CONVERSION
#LENGTH ARE SOMETIMES OVERALLOCATED FOR CUT AWAYS TO PREVENT ARTIFACTS FROM RENDERING PROBLEMS 
FMT = '''translate([pixel(%d), pixel(%d), 0]) cube([pixel(%d), pixel(%d), blade_length]);\n'''
SCALE_FACTOR = '''function pixel(i) = mm(i*%.12f); '''
BLADE_LENGTH = '''blade_length = mm(%f); '''
BLADE_WIDTH = '''blade_width = pixel(%f); '''
TIP_STOP = '''translate([-blade_width/4, .5*pixel(%d), -blade_length - mm(.0001)]) cube([3*blade_width/2, .6*pixel(%d), mm(.065)]); '''
BOW_CONNECTION = ''' cube([pixel(%d), pixel(%d), mm(%f)]); '''
X_LENGTH = '''x_length = pixel(%f); '''
Y_LENGTH = '''y_length = pixel(%f); '''
CONNECTOR_HEIGHT = '''connector_height = pixel(%f); '''
channels = ''
channel_data = []
num_elems = 0

print "Determining Keyway Profile"
if (args.overhangs == False):
	for y in range(0, len(cv_image)):
		first_wall_found = False
		for x in range(0, len(cv_image[y])):
			if(cv_image[y][x] < 127 and x + 1 < len(cv_image[y]) 
				and cv_image[y][x+1] > 127 and first_wall_found == False):
				last_black_pixel_x_position = x
				first_wall_found = True
			if(cv_image[y][x] and x == 0  and first_wall_found == False):
				last_black_pixel_x_position = 0
				first_wall_found = True
			if ((cv_image[y][x] > 127 and x + 1 < len(cv_image[y]) and cv_image[y][x+1] < 127) or
				(cv_image[y][x] > 127 and x + 1 == len(cv_image[y]))):
				length_of_white_segment = x - last_black_pixel_x_position
				channel_data.append([last_black_pixel_x_position, y, length_of_white_segment, 1, -1])
				num_elems += 1
if (args.overhangs == True):
	for y in range(0, len(cv_image)):
		for x in range(0, len(cv_image[y])):
			if(cv_image[y][x] < 127 and x + 1 < len(cv_image[y]) and cv_image[y][x+1] > 127):
				last_black_pixel_x_position = x
			if(cv_image[y][x] and x == 0):
				last_black_pixel_x_position = 0
			if((cv_image[y][x] > 127 and x + 1 < len(cv_image[y]) and cv_image[y][x+1] < 127) or
				(cv_image[y][x] > 127 and x + 1 == len(cv_image[y]))):
				length_of_white_segment = x - last_black_pixel_x_position 
				channel_data.append([last_black_pixel_x_position, y, length_of_white_segment, 1, -1])
				num_elems += 1


print "Optimizing Keyway Profile"
channel_data_classifier = 1
for i in range(0, len(channel_data)):
	if(i - 1 >= 0):	
		if((channel_data[i-1][0] == channel_data[i][0]) and
			channel_data[i-1][2] == channel_data[i][2]):
			channel_data[i][4] = channel_data[i-1][4]
		else:
			channel_data[i][4] = channel_data_classifier
			channel_data_classifier += 1
	else:
		channel_data[i][4] = channel_data_classifier
		channel_data_classifier += 1
max_channel = channel_data_classifier
channel_data_classifier = 1
data_stor = [0, 0, 0, 0]
last_index = 0
first_index = 0
first_j = False

print "Converting Keyway Profile Into OpenSCAD" 
for i in range(channel_data_classifier, max_channel):
	counter = 0
	first_j = False
	for j in range(last_index, len(channel_data)):
		if(channel_data[j][4] == i):
			if(first_j == False):
				first_index = j
				first_j = True
			counter += 1
		else:
			last_index = j
			break
	channels += (FMT % (channel_data[first_index][0] + args.trim, channel_data[first_index][1], channel_data[first_index][2] - args.trim*2, counter))

print "Creating .scad File"
generic_scad = generic_scad.replace('###SCALE_FACTOR###', SCALE_FACTOR % (float(args.keyway_height)/float(len(cv_image))))
generic_scad = generic_scad.replace('###CHANNELS###', channels)
generic_scad = generic_scad.replace('###BLADE_LENGTH###', BLADE_LENGTH % (args.blade_length - (7 - len(args.key_cuts))*.15))
generic_scad = generic_scad.replace('###BLADE_WIDTH###', BLADE_WIDTH % (len(cv_image[0]) - 1))
generic_scad = generic_scad.replace('###TIP_STOP###', TIP_STOP % (len(cv_image) - 1, len(cv_image) - 1))
generic_scad = generic_scad.replace('###BOW_CONNECTION###', BOW_CONNECTION % (len(cv_image[0]) - 1, len(cv_image) - 1, args.blade_length * .1))
generic_scad = generic_scad.replace('###NUMBER_OF_CUTS###', str(len(args.key_cuts) - 1))
generic_scad = generic_scad.replace('###X_LENGTH###', X_LENGTH % (len(cv_image[0]) - 1))
generic_scad = generic_scad.replace('###Y_LENGTH###', Y_LENGTH % (len(cv_image) - 1))
generic_scad = generic_scad.replace('###CONNECTOR_HEIGHT###', CONNECTOR_HEIGHT % (args.blade_length * .1))
generic_scad = generic_scad.replace('###KEY_CUTS###', str(args.key_cuts).replace("'", ""))

#WRITE SCAD TO DISK
f = open(args.scad_output_file, 'w')
f.write(generic_scad)
f.close()

#RENDER SCAD
if(args.disable_stl_output == False):
	print "Rendering .stl File (This Will Take Awhile)"
	OPENSCAD_CALL = '''openscad -o %s %s 2>OpenSCAD_output.log 1>OpenSCAD_output.log'''
	subprocess.Popen(OPENSCAD_CALL % (args.output_stl, args.scad_output_file), shell=True, stdout=subprocess.PIPE).stdout.read()


================================================
FILE: Automated-Keyway-Modeling/README
================================================


Dependencies
---
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
sudo pip install exifread
sudo pip install scikit-image



Running the tool
---
E.g. generate a bump key:

python KeywayDetection.py ./sample-lock.jpg -kc 9 9 9 9 9 9 9



================================================
FILE: Automated-Keyway-Modeling/Sample_Output.scad
================================================

$fn=100;

function mm(i) = i*25.4;
function pixel(i) = mm(i*0.000960960961); 

//Auto generated channels
module channels(blade_length)
{
    translate([pixel(4), pixel(0), 0]) cube([pixel(1), pixel(1), blade_length]);
translate([pixel(4), pixel(0), 0]) cube([pixel(15), pixel(1), blade_length]);
translate([pixel(3), pixel(1), 0]) cube([pixel(51), pixel(1), blade_length]);
translate([pixel(4), pixel(2), 0]) cube([pixel(51), pixel(1), blade_length]);
translate([pixel(4), pixel(3), 0]) cube([pixel(52), pixel(1), blade_length]);
translate([pixel(4), pixel(4), 0]) cube([pixel(53), pixel(1), blade_length]);
translate([pixel(3), pixel(5), 0]) cube([pixel(55), pixel(9), blade_length]);
translate([pixel(2), pixel(14), 0]) cube([pixel(56), pixel(2), blade_length]);
translate([pixel(2), pixel(16), 0]) cube([pixel(57), pixel(18), blade_length]);
translate([pixel(2), pixel(34), 0]) cube([pixel(58), pixel(2), blade_length]);
translate([pixel(2), pixel(36), 0]) cube([pixel(57), pixel(6), blade_length]);
translate([pixel(3), pixel(42), 0]) cube([pixel(56), pixel(1), blade_length]);
translate([pixel(2), pixel(43), 0]) cube([pixel(57), pixel(4), blade_length]);
translate([pixel(2), pixel(47), 0]) cube([pixel(56), pixel(1), blade_length]);
translate([pixel(2), pixel(48), 0]) cube([pixel(57), pixel(5), blade_length]);
translate([pixel(2), pixel(53), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(2), pixel(54), 0]) cube([pixel(59), pixel(2), blade_length]);
translate([pixel(2), pixel(56), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(1), pixel(57), 0]) cube([pixel(57), pixel(2), blade_length]);
translate([pixel(1), pixel(59), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(2), pixel(60), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(1), pixel(61), 0]) cube([pixel(58), pixel(2), blade_length]);
translate([pixel(2), pixel(63), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(1), pixel(64), 0]) cube([pixel(59), pixel(2), blade_length]);
translate([pixel(2), pixel(66), 0]) cube([pixel(57), pixel(1), blade_length]);
translate([pixel(2), pixel(67), 0]) cube([pixel(56), pixel(1), blade_length]);
translate([pixel(1), pixel(68), 0]) cube([pixel(57), pixel(3), blade_length]);
translate([pixel(1), pixel(71), 0]) cube([pixel(58), pixel(6), blade_length]);
translate([pixel(2), pixel(77), 0]) cube([pixel(57), pixel(1), blade_length]);
translate([pixel(1), pixel(78), 0]) cube([pixel(58), pixel(2), blade_length]);
translate([pixel(2), pixel(80), 0]) cube([pixel(57), pixel(1), blade_length]);
translate([pixel(1), pixel(81), 0]) cube([pixel(58), pixel(2), blade_length]);
translate([pixel(2), pixel(83), 0]) cube([pixel(57), pixel(2), blade_length]);
translate([pixel(2), pixel(85), 0]) cube([pixel(56), pixel(5), blade_length]);
translate([pixel(2), pixel(90), 0]) cube([pixel(55), pixel(2), blade_length]);
translate([pixel(2), pixel(92), 0]) cube([pixel(54), pixel(1), blade_length]);
translate([pixel(2), pixel(93), 0]) cube([pixel(53), pixel(1), blade_length]);
translate([pixel(2), pixel(94), 0]) cube([pixel(51), pixel(1), blade_length]);
translate([pixel(2), pixel(95), 0]) cube([pixel(50), pixel(1), blade_length]);
translate([pixel(2), pixel(96), 0]) cube([pixel(49), pixel(1), blade_length]);
translate([pixel(2), pixel(97), 0]) cube([pixel(48), pixel(2), blade_length]);
translate([pixel(2), pixel(99), 0]) cube([pixel(47), pixel(1), blade_length]);
translate([pixel(1), pixel(100), 0]) cube([pixel(48), pixel(3), blade_length]);
translate([pixel(0), pixel(103), 0]) cube([pixel(47), pixel(1), blade_length]);
translate([pixel(1), pixel(104), 0]) cube([pixel(45), pixel(1), blade_length]);
translate([pixel(1), pixel(105), 0]) cube([pixel(42), pixel(1), blade_length]);
translate([pixel(0), pixel(106), 0]) cube([pixel(43), pixel(1), blade_length]);
translate([pixel(1), pixel(107), 0]) cube([pixel(42), pixel(1), blade_length]);
translate([pixel(1), pixel(108), 0]) cube([pixel(43), pixel(1), blade_length]);
translate([pixel(0), pixel(109), 0]) cube([pixel(44), pixel(3), blade_length]);
translate([pixel(1), pixel(112), 0]) cube([pixel(44), pixel(1), blade_length]);
translate([pixel(0), pixel(113), 0]) cube([pixel(46), pixel(1), blade_length]);
translate([pixel(0), pixel(114), 0]) cube([pixel(47), pixel(1), blade_length]);
translate([pixel(0), pixel(115), 0]) cube([pixel(49), pixel(1), blade_length]);
translate([pixel(0), pixel(116), 0]) cube([pixel(51), pixel(1), blade_length]);
translate([pixel(0), pixel(116), 0]) cube([pixel(55), pixel(1), blade_length]);
translate([pixel(0), pixel(116), 0]) cube([pixel(60), pixel(1), blade_length]);
translate([pixel(0), pixel(116), 0]) cube([pixel(67), pixel(1), blade_length]);
translate([pixel(0), pixel(116), 0]) cube([pixel(76), pixel(1), blade_length]);
translate([pixel(0), pixel(117), 0]) cube([pixel(77), pixel(1), blade_length]);
translate([pixel(0), pixel(118), 0]) cube([pixel(78), pixel(1), blade_length]);
translate([pixel(0), pixel(119), 0]) cube([pixel(80), pixel(1), blade_length]);
translate([pixel(0), pixel(120), 0]) cube([pixel(82), pixel(1), blade_length]);
translate([pixel(0), pixel(121), 0]) cube([pixel(84), pixel(1), blade_length]);
translate([pixel(0), pixel(122), 0]) cube([pixel(86), pixel(1), blade_length]);
translate([pixel(0), pixel(123), 0]) cube([pixel(88), pixel(1), blade_length]);
translate([pixel(0), pixel(124), 0]) cube([pixel(89), pixel(1), blade_length]);
translate([pixel(1), pixel(125), 0]) cube([pixel(89), pixel(1), blade_length]);
translate([pixel(1), pixel(126), 0]) cube([pixel(91), pixel(1), blade_length]);
translate([pixel(1), pixel(127), 0]) cube([pixel(92), pixel(3), blade_length]);
translate([pixel(1), pixel(130), 0]) cube([pixel(93), pixel(1), blade_length]);
translate([pixel(2), pixel(131), 0]) cube([pixel(92), pixel(1), blade_length]);
translate([pixel(2), pixel(132), 0]) cube([pixel(93), pixel(1), blade_length]);
translate([pixel(2), pixel(133), 0]) cube([pixel(94), pixel(3), blade_length]);
translate([pixel(3), pixel(136), 0]) cube([pixel(94), pixel(2), blade_length]);
translate([pixel(3), pixel(138), 0]) cube([pixel(95), pixel(4), blade_length]);
translate([pixel(3), pixel(142), 0]) cube([pixel(96), pixel(3), blade_length]);
translate([pixel(3), pixel(145), 0]) cube([pixel(97), pixel(1), blade_length]);
translate([pixel(3), pixel(146), 0]) cube([pixel(98), pixel(3), blade_length]);
translate([pixel(4), pixel(149), 0]) cube([pixel(98), pixel(1), blade_length]);
translate([pixel(5), pixel(150), 0]) cube([pixel(98), pixel(1), blade_length]);
translate([pixel(6), pixel(151), 0]) cube([pixel(98), pixel(1), blade_length]);
translate([pixel(7), pixel(152), 0]) cube([pixel(99), pixel(1), blade_length]);
translate([pixel(8), pixel(153), 0]) cube([pixel(99), pixel(1), blade_length]);
translate([pixel(10), pixel(154), 0]) cube([pixel(98), pixel(1), blade_length]);
translate([pixel(11), pixel(155), 0]) cube([pixel(3), pixel(1), blade_length]);
translate([pixel(11), pixel(155), 0]) cube([pixel(98), pixel(1), blade_length]);
translate([pixel(32), pixel(156), 0]) cube([pixel(78), pixel(1), blade_length]);
translate([pixel(34), pixel(157), 0]) cube([pixel(76), pixel(1), blade_length]);
translate([pixel(35), pixel(158), 0]) cube([pixel(76), pixel(1), blade_length]);
translate([pixel(35), pixel(159), 0]) cube([pixel(77), pixel(2), blade_length]);
translate([pixel(36), pixel(161), 0]) cube([pixel(76), pixel(2), blade_length]);
translate([pixel(36), pixel(163), 0]) cube([pixel(77), pixel(3), blade_length]);
translate([pixel(36), pixel(166), 0]) cube([pixel(78), pixel(1), blade_length]);
translate([pixel(38), pixel(167), 0]) cube([pixel(77), pixel(1), blade_length]);
translate([pixel(39), pixel(168), 0]) cube([pixel(76), pixel(1), blade_length]);
translate([pixel(41), pixel(169), 0]) cube([pixel(74), pixel(1), blade_length]);
translate([pixel(42), pixel(170), 0]) cube([pixel(75), pixel(1), blade_length]);
translate([pixel(42), pixel(171), 0]) cube([pixel(73), pixel(1), blade_length]);
translate([pixel(42), pixel(172), 0]) cube([pixel(72), pixel(1), blade_length]);
translate([pixel(42), pixel(173), 0]) cube([pixel(73), pixel(1), blade_length]);
translate([pixel(42), pixel(174), 0]) cube([pixel(74), pixel(1), blade_length]);
translate([pixel(42), pixel(175), 0]) cube([pixel(75), pixel(2), blade_length]);
translate([pixel(43), pixel(177), 0]) cube([pixel(74), pixel(1), blade_length]);
translate([pixel(44), pixel(178), 0]) cube([pixel(73), pixel(2), blade_length]);
translate([pixel(44), pixel(180), 0]) cube([pixel(74), pixel(1), blade_length]);
translate([pixel(45), pixel(181), 0]) cube([pixel(73), pixel(3), blade_length]);
translate([pixel(44), pixel(184), 0]) cube([pixel(74), pixel(1), blade_length]);
translate([pixel(45), pixel(185), 0]) cube([pixel(73), pixel(1), blade_length]);
translate([pixel(45), pixel(186), 0]) cube([pixel(74), pixel(1), blade_length]);
translate([pixel(46), pixel(187), 0]) cube([pixel(73), pixel(2), blade_length]);
translate([pixel(47), pixel(189), 0]) cube([pixel(72), pixel(1), blade_length]);
translate([pixel(49), pixel(190), 0]) cube([pixel(70), pixel(1), blade_length]);
translate([pixel(50), pixel(191), 0]) cube([pixel(70), pixel(2), blade_length]);
translate([pixel(57), pixel(193), 0]) cube([pixel(11), pixel(1), blade_length]);
translate([pixel(57), pixel(193), 0]) cube([pixel(63), pixel(1), blade_length]);
translate([pixel(62), pixel(194), 0]) cube([pixel(4), pixel(1), blade_length]);
translate([pixel(62), pixel(194), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(82), pixel(195), 0]) cube([pixel(39), pixel(1), blade_length]);
translate([pixel(83), pixel(196), 0]) cube([pixel(38), pixel(1), blade_length]);
translate([pixel(84), pixel(197), 0]) cube([pixel(37), pixel(1), blade_length]);
translate([pixel(85), pixel(198), 0]) cube([pixel(36), pixel(1), blade_length]);
translate([pixel(86), pixel(199), 0]) cube([pixel(35), pixel(1), blade_length]);
translate([pixel(86), pixel(200), 0]) cube([pixel(36), pixel(2), blade_length]);
translate([pixel(86), pixel(202), 0]) cube([pixel(37), pixel(1), blade_length]);
translate([pixel(87), pixel(203), 0]) cube([pixel(36), pixel(3), blade_length]);
translate([pixel(86), pixel(206), 0]) cube([pixel(37), pixel(2), blade_length]);
translate([pixel(85), pixel(208), 0]) cube([pixel(39), pixel(1), blade_length]);
translate([pixel(84), pixel(209), 0]) cube([pixel(40), pixel(1), blade_length]);
translate([pixel(82), pixel(210), 0]) cube([pixel(42), pixel(1), blade_length]);
translate([pixel(82), pixel(211), 0]) cube([pixel(43), pixel(2), blade_length]);
translate([pixel(81), pixel(213), 0]) cube([pixel(44), pixel(1), blade_length]);
translate([pixel(80), pixel(214), 0]) cube([pixel(45), pixel(2), blade_length]);
translate([pixel(77), pixel(216), 0]) cube([pixel(48), pixel(1), blade_length]);
translate([pixel(78), pixel(217), 0]) cube([pixel(48), pixel(1), blade_length]);
translate([pixel(76), pixel(218), 0]) cube([pixel(51), pixel(1), blade_length]);
translate([pixel(75), pixel(219), 0]) cube([pixel(52), pixel(1), blade_length]);
translate([pixel(74), pixel(220), 0]) cube([pixel(53), pixel(1), blade_length]);
translate([pixel(72), pixel(221), 0]) cube([pixel(55), pixel(3), blade_length]);
translate([pixel(71), pixel(224), 0]) cube([pixel(56), pixel(1), blade_length]);
translate([pixel(69), pixel(225), 0]) cube([pixel(59), pixel(2), blade_length]);
translate([pixel(68), pixel(227), 0]) cube([pixel(60), pixel(1), blade_length]);
translate([pixel(65), pixel(228), 0]) cube([pixel(62), pixel(1), blade_length]);
translate([pixel(66), pixel(229), 0]) cube([pixel(61), pixel(1), blade_length]);
translate([pixel(65), pixel(230), 0]) cube([pixel(64), pixel(1), blade_length]);
translate([pixel(64), pixel(231), 0]) cube([pixel(62), pixel(1), blade_length]);
translate([pixel(64), pixel(231), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(64), pixel(232), 0]) cube([pixel(62), pixel(1), blade_length]);
translate([pixel(64), pixel(232), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(64), pixel(233), 0]) cube([pixel(62), pixel(1), blade_length]);
translate([pixel(64), pixel(233), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(64), pixel(234), 0]) cube([pixel(64), pixel(1), blade_length]);
translate([pixel(64), pixel(234), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(63), pixel(235), 0]) cube([pixel(67), pixel(1), blade_length]);
translate([pixel(63), pixel(236), 0]) cube([pixel(68), pixel(1), blade_length]);
translate([pixel(62), pixel(237), 0]) cube([pixel(69), pixel(1), blade_length]);
translate([pixel(61), pixel(238), 0]) cube([pixel(69), pixel(1), blade_length]);
translate([pixel(61), pixel(239), 0]) cube([pixel(68), pixel(2), blade_length]);
translate([pixel(61), pixel(240), 0]) cube([pixel(71), pixel(1), blade_length]);
translate([pixel(61), pixel(241), 0]) cube([pixel(68), pixel(1), blade_length]);
translate([pixel(61), pixel(241), 0]) cube([pixel(72), pixel(1), blade_length]);
translate([pixel(61), pixel(242), 0]) cube([pixel(69), pixel(1), blade_length]);
translate([pixel(61), pixel(242), 0]) cube([pixel(72), pixel(1), blade_length]);
translate([pixel(62), pixel(243), 0]) cube([pixel(67), pixel(1), blade_length]);
translate([pixel(62), pixel(243), 0]) cube([pixel(71), pixel(1), blade_length]);
translate([pixel(62), pixel(244), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(62), pixel(244), 0]) cube([pixel(71), pixel(1), blade_length]);
translate([pixel(62), pixel(245), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(62), pixel(245), 0]) cube([pixel(71), pixel(1), blade_length]);
translate([pixel(61), pixel(246), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(61), pixel(246), 0]) cube([pixel(72), pixel(1), blade_length]);
translate([pixel(61), pixel(247), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(61), pixel(247), 0]) cube([pixel(72), pixel(1), blade_length]);
translate([pixel(61), pixel(248), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(61), pixel(248), 0]) cube([pixel(71), pixel(1), blade_length]);
translate([pixel(61), pixel(249), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(61), pixel(249), 0]) cube([pixel(70), pixel(1), blade_length]);
translate([pixel(62), pixel(250), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(62), pixel(250), 0]) cube([pixel(69), pixel(1), blade_length]);
translate([pixel(62), pixel(251), 0]) cube([pixel(64), pixel(1), blade_length]);
translate([pixel(62), pixel(251), 0]) cube([pixel(68), pixel(1), blade_length]);
translate([pixel(62), pixel(252), 0]) cube([pixel(67), pixel(1), blade_length]);
translate([pixel(62), pixel(253), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(62), pixel(254), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(61), pixel(255), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(62), pixel(256), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(62), pixel(257), 0]) cube([pixel(54), pixel(1), blade_length]);
translate([pixel(62), pixel(257), 0]) cube([pixel(63), pixel(1), blade_length]);
translate([pixel(62), pixel(258), 0]) cube([pixel(54), pixel(1), blade_length]);
translate([pixel(62), pixel(258), 0]) cube([pixel(59), pixel(1), blade_length]);
translate([pixel(64), pixel(259), 0]) cube([pixel(52), pixel(1), blade_length]);
translate([pixel(64), pixel(259), 0]) cube([pixel(56), pixel(1), blade_length]);
translate([pixel(64), pixel(260), 0]) cube([pixel(52), pixel(1), blade_length]);
translate([pixel(64), pixel(260), 0]) cube([pixel(56), pixel(1), blade_length]);
translate([pixel(64), pixel(261), 0]) cube([pixel(54), pixel(1), blade_length]);
translate([pixel(64), pixel(262), 0]) cube([pixel(53), pixel(1), blade_length]);
translate([pixel(64), pixel(263), 0]) cube([pixel(52), pixel(1), blade_length]);
translate([pixel(64), pixel(264), 0]) cube([pixel(51), pixel(1), blade_length]);
translate([pixel(65), pixel(265), 0]) cube([pixel(49), pixel(1), blade_length]);
translate([pixel(65), pixel(266), 0]) cube([pixel(48), pixel(1), blade_length]);
translate([pixel(65), pixel(267), 0]) cube([pixel(47), pixel(1), blade_length]);
translate([pixel(65), pixel(268), 0]) cube([pixel(46), pixel(1), blade_length]);
translate([pixel(66), pixel(269), 0]) cube([pixel(43), pixel(1), blade_length]);
translate([pixel(66), pixel(270), 0]) cube([pixel(44), pixel(1), blade_length]);
translate([pixel(66), pixel(271), 0]) cube([pixel(45), pixel(1), blade_length]);
translate([pixel(66), pixel(272), 0]) cube([pixel(40), pixel(1), blade_length]);
translate([pixel(66), pixel(273), 0]) cube([pixel(39), pixel(1), blade_length]);
translate([pixel(66), pixel(274), 0]) cube([pixel(40), pixel(3), blade_length]);
translate([pixel(67), pixel(277), 0]) cube([pixel(39), pixel(1), blade_length]);
translate([pixel(67), pixel(278), 0]) cube([pixel(40), pixel(1), blade_length]);
translate([pixel(68), pixel(279), 0]) cube([pixel(39), pixel(2), blade_length]);
translate([pixel(68), pixel(281), 0]) cube([pixel(41), pixel(6), blade_length]);
translate([pixel(68), pixel(287), 0]) cube([pixel(42), pixel(1), blade_length]);
translate([pixel(69), pixel(288), 0]) cube([pixel(42), pixel(2), blade_length]);
translate([pixel(68), pixel(290), 0]) cube([pixel(43), pixel(2), blade_length]);
translate([pixel(68), pixel(292), 0]) cube([pixel(44), pixel(1), blade_length]);
translate([pixel(68), pixel(293), 0]) cube([pixel(45), pixel(1), blade_length]);
translate([pixel(68), pixel(294), 0]) cube([pixel(51), pixel(1), blade_length]);
translate([pixel(68), pixel(295), 0]) cube([pixel(53), pixel(1), blade_length]);
translate([pixel(67), pixel(296), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(66), pixel(297), 0]) cube([pixel(63), pixel(1), blade_length]);
translate([pixel(66), pixel(298), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(66), pixel(299), 0]) cube([pixel(68), pixel(1), blade_length]);
translate([pixel(66), pixel(300), 0]) cube([pixel(69), pixel(1), blade_length]);
translate([pixel(66), pixel(301), 0]) cube([pixel(70), pixel(1), blade_length]);
translate([pixel(65), pixel(302), 0]) cube([pixel(72), pixel(2), blade_length]);
translate([pixel(64), pixel(304), 0]) cube([pixel(73), pixel(1), blade_length]);
translate([pixel(63), pixel(305), 0]) cube([pixel(74), pixel(2), blade_length]);
translate([pixel(62), pixel(307), 0]) cube([pixel(75), pixel(1), blade_length]);
translate([pixel(61), pixel(308), 0]) cube([pixel(76), pixel(1), blade_length]);
translate([pixel(60), pixel(309), 0]) cube([pixel(77), pixel(2), blade_length]);
translate([pixel(59), pixel(311), 0]) cube([pixel(76), pixel(1), blade_length]);
translate([pixel(59), pixel(312), 0]) cube([pixel(75), pixel(1), blade_length]);
translate([pixel(57), pixel(313), 0]) cube([pixel(74), pixel(1), blade_length]);
translate([pixel(58), pixel(314), 0]) cube([pixel(68), pixel(1), blade_length]);
translate([pixel(58), pixel(315), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(58), pixel(316), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(58), pixel(317), 0]) cube([pixel(63), pixel(1), blade_length]);
translate([pixel(58), pixel(318), 0]) cube([pixel(61), pixel(1), blade_length]);
translate([pixel(58), pixel(319), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(58), pixel(320), 0]) cube([pixel(54), pixel(1), blade_length]);
translate([pixel(58), pixel(321), 0]) cube([pixel(53), pixel(1), blade_length]);
translate([pixel(58), pixel(322), 0]) cube([pixel(52), pixel(1), blade_length]);
translate([pixel(58), pixel(323), 0]) cube([pixel(49), pixel(1), blade_length]);
translate([pixel(58), pixel(324), 0]) cube([pixel(47), pixel(1), blade_length]);
translate([pixel(58), pixel(325), 0]) cube([pixel(43), pixel(1), blade_length]);
translate([pixel(58), pixel(326), 0]) cube([pixel(38), pixel(1), blade_length]);
translate([pixel(58), pixel(327), 0]) cube([pixel(36), pixel(1), blade_length]);
translate([pixel(57), pixel(328), 0]) cube([pixel(33), pixel(1), blade_length]);
translate([pixel(56), pixel(329), 0]) cube([pixel(27), pixel(1), blade_length]);
translate([pixel(55), pixel(330), 0]) cube([pixel(25), pixel(1), blade_length]);
translate([pixel(55), pixel(331), 0]) cube([pixel(14), pixel(1), blade_length]);
translate([pixel(55), pixel(332), 0]) cube([pixel(4), pixel(1), blade_length]);

}

module bit(cut_depth, blade_width)
{
	translate([0, mm(.025 + (cut_depth * .0125)), 0])
        difference() 
        {
            rotate([45, 0, 0]) translate([0, -20, 0]) cube([blade_width, 20, 20]);
            translate([0, -mm(.025), -mm(.05)/2]) cube([blade_width, mm(.025), mm(.05)]);
        }
}

module blade(key_cuts)
{
    blade_length = mm(1.250000); 
    blade_width = pixel(137.000000); 
    shoulder = mm(.195);
    cut_spacing = mm(.15);
    difference()
    {
        //Generate Blade With Channels
        translate([0, 0, -blade_length]) channels(blade_length);
        //Contour Tip
        translate([0, 0, -blade_length - mm(9*.0125)]) 
            rotate([45, 0, 0])  cube([blade_width, mm(.159), mm(.159)]);
        //Cut Tip Stop
        translate([0, .5*pixel(332), -blade_length]) cube([blade_width, .5*pixel(332), mm(.065)]); 
        //Place cuts on the key 
        for (counter = [0:6])
        {
            translate([0, 0, -shoulder - (counter * cut_spacing)]) 
                bit(key_cuts[counter], blade_width);
        }
    }  
}

module bow_smooth(x_length, y_length)
{
    difference()
    {
        rotate([0, 90, 0]) cylinder(h = x_length*2, r = y_length/2);
        rotate([0, 90, 0]) cylinder(h = x_length*2, r = 3*y_length/8);
        translate([0, -y_length/2, -y_length/2]) cube([x_length, y_length/2, y_length]);
    }
}

module bow()
{
    x_length = pixel(137.000000); 
    y_length = pixel(332.000000); 
    connector_height = pixel(0.125000); 
    difference()
    {
        union()
        {
            translate([0, -y_length/2, connector_height]) cube([x_length, 2*y_length, 3*y_length/2]); 
             cube([x_length, y_length, connector_height]); 
            difference()
            {
                translate([0, y_length/2, connector_height + 3*y_length/2]) rotate([0, 90, 0]) cylinder(h = x_length, r = y_length/2);
                translate([0, y_length/2, connector_height + 3*y_length/2]) rotate([0, 90, 0]) cylinder(h = x_length, r = y_length/2-y_length/4);
            }
        }
        translate([0, -y_length/2, connector_height]) rotate([0, 90, 0]) 
            cylinder(h = x_length, r = y_length/2);
        translate([0, 3*y_length/2, connector_height]) rotate([0, 90, 0]) 
            cylinder(h = x_length, r = y_length/2);
        translate([0, -y_length/2, connector_height + 3*y_length/2]) 
            rotate([0, 90, 0]) cylinder(h = x_length, r = y_length/2);
        translate([0, 3*y_length/2, connector_height+ 3*y_length/2]) 
            rotate([0, 90, 0]) cylinder(h = x_length, r = y_length/2);
        translate([0, 3*y_length/2 - 3*y_length/8, connector_height + 3*y_length/4]) 
            bow_smooth(x_length, y_length);
        translate([x_length, -y_length/8, connector_height + 3*y_length/4])
            rotate([0, 0, 180]) bow_smooth(x_length, y_length);
    }      
}

module key(key_cuts)
{
    union()
    {
        blade(key_cuts);
        bow();
    }
}

key([3, 8, 5, 9, 8, 6, 5]);


================================================
FILE: Automated-Keyway-Modeling/Sample_Output.stl
================================================
solid OpenSCAD_Model
  facet normal -1 0 0
    outer loop
      vertex 0.0976334 0 -3.3655
      vertex 0.0976334 0.0244083 0
      vertex 0.0976334 0.0244083 -3.38991
    endloop
  endfacet
  facet normal -1 -0 0
    outer loop
      vertex 0.0976334 0.0244083 0
      vertex 0.0976334 0 -3.3655
      vertex 0.0976334 0 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 3.05105 0
      vertex 0 3.05105 0
      vertex 0.0244083 3.1975 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0488167 3.1975 0
      vertex 0.0244083 3.1975 0
      vertex 0.0488167 3.31954 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.073225 3.31954 0
      vertex 0.0488167 3.31954 0
      vertex 0.073225 3.63685 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0976334 3.63685 0
      vertex 0.073225 3.63685 0
      vertex 0.0976334 3.66126 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.122042 3.66126 0
      vertex 0.0976334 3.66126 0
      vertex 0.122042 3.68567 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.14645 3.68567 0
      vertex 0.122042 3.68567 0
      vertex 0.14645 3.71008 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.170858 3.71008 0
      vertex 0.14645 3.71008 0
      vertex 0.170858 3.73449 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.195267 3.73449 0
      vertex 0.170858 3.73449 0
      vertex 0.195267 3.75889 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.244083 3.75889 0
      vertex 0.195267 3.75889 0
      vertex 0.244083 3.7833 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.268492 3.7833 0
      vertex 0.244083 3.7833 0
      vertex 0.268492 3.80771 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.781069 3.80771 0
      vertex 0.268492 3.80771 0
      vertex 0.781069 3.83212 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.829885 3.83212 0
      vertex 0.781069 3.83212 0
      vertex 0.829885 3.85653 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.854294 3.85653 0
      vertex 0.829885 3.85653 0
      vertex 0.854294 3.92975 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.878702 3.92975 0
      vertex 0.854294 3.92975 0
      vertex 0.878702 4.0762 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.927519 4.0762 0
      vertex 0.878702 4.0762 0
      vertex 0.927519 4.10061 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.951927 4.10061 0
      vertex 0.927519 4.10061 0
      vertex 0.951927 4.12502 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.00074 4.12502 0
      vertex 0.951927 4.12502 0
      vertex 1.00074 4.14943 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.02515 4.14943 0
      vertex 1.00074 4.14943 0
      vertex 1.02515 4.32029 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.04956 4.32029 0
      vertex 1.02515 4.32029 0
      vertex 1.04956 4.3447 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.04956 4.3447 0
      vertex 1.07397 4.41792 0
      vertex 1.07397 4.3447 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.02515 4.32029 0
      vertex 1.07397 4.41792 0
      vertex 1.04956 4.3447 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.07397 4.41792 0
      vertex 1.02515 4.32029 0
      vertex 1.07397 4.49115 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.07397 4.41792 0
      vertex 1.09838 4.49115 0
      vertex 1.09838 4.41792 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.09838 4.49115 0
      vertex 1.07397 4.41792 0
      vertex 1.07397 4.49115 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.09838 4.51556 0
      vertex 1.07397 4.51556 0
      vertex 1.09838 4.56437 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.12279 4.56437 0
      vertex 1.09838 4.56437 0
      vertex 1.12279 4.61319 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.14719 4.61319 0
      vertex 1.12279 4.61319 0
      vertex 1.14719 4.6376 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.19601 4.6376 0
      vertex 1.14719 4.6376 0
      vertex 1.19601 4.66201 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.22042 4.66201 0
      vertex 1.19601 4.66201 0
      vertex 1.22042 4.71082 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.0259 4.78405 0
      vertex 2.00149 4.78405 0
      vertex 2.0259 4.80846 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.0259 4.80846 0
      vertex 2.05031 4.83286 0
      vertex 2.05031 4.80846 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.00149 5.12576 0
      vertex 2.05031 4.83286 0
      vertex 2.0259 4.80846 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.05031 4.83286 0
      vertex 2.00149 5.12576 0
      vertex 2.05031 5.10136 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.00149 5.12576 0
      vertex 2.0259 4.80846 0
      vertex 2.00149 4.78405 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.05031 5.10136 0
      vertex 2.00149 5.12576 0
      vertex 2.05031 5.12576 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.05031 4.83286 0
      vertex 2.07471 4.85727 0
      vertex 2.07471 4.83286 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.07471 4.85727 0
      vertex 2.05031 4.83286 0
      vertex 2.07471 5.07695 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.05031 5.10136 0
      vertex 2.07471 5.07695 0
      vertex 2.05031 4.83286 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.07471 5.07695 0
      vertex 2.05031 5.10136 0
      vertex 2.07471 5.10136 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.07471 4.85727 0
      vertex 2.09912 4.95491 0
      vertex 2.09912 4.85727 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.07471 5.07695 0
      vertex 2.09912 4.95491 0
      vertex 2.07471 4.85727 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.09912 4.95491 0
      vertex 2.07471 5.07695 0
      vertex 2.09912 5.02813 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.09912 5.02813 0
      vertex 2.07471 5.07695 0
      vertex 2.09912 5.07695 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.09912 4.95491 0
      vertex 2.12353 5.02813 0
      vertex 2.12353 4.95491 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.12353 5.02813 0
      vertex 2.09912 4.95491 0
      vertex 2.09912 5.02813 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.22042 4.71082 0
      vertex 1.39128 4.73523 0
      vertex 1.39128 4.71082 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.39128 4.73523 0
      vertex 1.22042 4.71082 0
      vertex 1.39128 7.63983 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 8.10359 0
      vertex 1.39128 7.63983 0
      vertex 1.22042 4.71082 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.39128 7.63983 0
      vertex 0 8.10359 0
      vertex 1.39128 7.66424 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.39128 8.00596 0
      vertex 1.36687 8.03037 0
      vertex 1.39128 8.03037 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.36687 8.03037 0
      vertex 1.34246 8.05477 0
      vertex 1.36687 8.05477 0
    endloop
  endfacet
  facet normal -0 -0 -1
    outer loop
      vertex 1.34246 8.05477 0
      vertex 1.39128 7.66424 0
      vertex 0 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.39128 7.66424 0
      vertex 1.36687 8.03037 0
      vertex 1.39128 8.00596 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.39128 7.66424 0
      vertex 1.34246 8.05477 0
      vertex 1.36687 8.03037 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.14719 4.6376 0
      vertex 1.22042 4.71082 0
      vertex 1.19601 4.66201 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.22042 4.71082 0
      vertex 1.14719 4.6376 0
      vertex 0 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 8.10359 0
      vertex 1.14719 4.6376 0
      vertex 1.12279 4.61319 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.268492 3.80771 0
      vertex 1.12279 4.61319 0
      vertex 1.09838 4.56437 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.268492 3.80771 0
      vertex 1.09838 4.56437 0
      vertex 1.07397 4.51556 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.07397 4.49115 0
      vertex 1.02515 4.32029 0
      vertex 1.07397 4.51556 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.268492 3.80771 0
      vertex 1.07397 4.51556 0
      vertex 1.02515 4.32029 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.951927 4.12502 0
      vertex 1.02515 4.32029 0
      vertex 1.00074 4.14943 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.878702 4.0762 0
      vertex 1.02515 4.32029 0
      vertex 0.951927 4.12502 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.878702 4.0762 0
      vertex 0.951927 4.12502 0
      vertex 0.927519 4.10061 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.268492 3.80771 0
      vertex 1.02515 4.32029 0
      vertex 0.878702 4.0762 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.781069 3.83212 0
      vertex 0.878702 4.0762 0
      vertex 0.854294 3.92975 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.781069 3.83212 0
      vertex 0.854294 3.92975 0
      vertex 0.829885 3.85653 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.878702 4.0762 0
      vertex 0.781069 3.83212 0
      vertex 0.268492 3.80771 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.12279 4.61319 0
      vertex 0.268492 3.80771 0
      vertex 0 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.195267 3.75889 0
      vertex 0.268492 3.80771 0
      vertex 0.244083 3.7833 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.268492 3.80771 0
      vertex 0.195267 3.75889 0
      vertex 0 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 8.10359 0
      vertex 0.195267 3.75889 0
      vertex 0.170858 3.73449 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 8.10359 0
      vertex 0.170858 3.73449 0
      vertex 0.14645 3.71008 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 8.10359 0
      vertex 0.14645 3.71008 0
      vertex 0.122042 3.68567 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 8.10359 0
      vertex 0.122042 3.68567 0
      vertex 0.0976334 3.66126 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 8.10359 0
      vertex 0.0976334 3.66126 0
      vertex 0.073225 3.63685 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 3.1975 0
      vertex 0.073225 3.63685 0
      vertex 0.0488167 3.31954 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 3.05105 0
      vertex 0.073225 3.63685 0
      vertex 0.0244083 3.1975 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.34246 8.05477 0
      vertex 0 8.10359 0
      vertex 1.34246 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 8.10359 0
      vertex 0.073225 3.63685 0
      vertex 0 3.05105 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.39128 4.73523 0
      vertex 1.51332 4.75964 0
      vertex 1.51332 4.73523 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.51332 4.75964 0
      vertex 1.39128 4.73523 0
      vertex 1.51332 5.78479 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.51332 5.78479 0
      vertex 1.48891 5.8092 0
      vertex 1.51332 5.8092 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.39128 4.73523 0
      vertex 1.48891 5.93124 0
      vertex 1.48891 5.8092 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.48891 5.93124 0
      vertex 1.39128 4.73523 0
      vertex 1.48891 6.00447 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.48891 6.00447 0
      vertex 1.39128 4.73523 0
      vertex 1.48891 6.1021 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.48891 6.1021 0
      vertex 1.39128 4.73523 0
      vertex 1.48891 6.22414 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.48891 6.22414 0
      vertex 1.39128 4.73523 0
      vertex 1.48891 6.24855 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.48891 6.24855 0
      vertex 1.4645 7.5422 0
      vertex 1.48891 7.51779 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.48891 7.51779 0
      vertex 1.4645 7.5422 0
      vertex 1.48891 7.5422 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4645 7.5422 0
      vertex 1.4401 7.59101 0
      vertex 1.4645 7.59101 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.48891 6.24855 0
      vertex 1.39128 7.63983 0
      vertex 1.4645 7.5422 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.51332 5.78479 0
      vertex 1.39128 4.73523 0
      vertex 1.48891 5.8092 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.48891 6.24855 0
      vertex 1.39128 4.73523 0
      vertex 1.39128 7.63983 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4645 7.5422 0
      vertex 1.39128 7.63983 0
      vertex 1.4401 7.59101 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4401 7.59101 0
      vertex 1.39128 7.63983 0
      vertex 1.4401 7.63983 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.51332 4.75964 0
      vertex 2.00149 4.78405 0
      vertex 2.00149 4.75964 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.00149 4.78405 0
      vertex 1.51332 4.75964 0
      vertex 2.00149 5.12576 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.00149 5.12576 0
      vertex 1.97708 5.19899 0
      vertex 2.00149 5.19899 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.97708 5.19899 0
      vertex 1.95267 5.2234 0
      vertex 1.97708 5.2234 0
    endloop
  endfacet
  facet normal 0 -0 -1
    outer loop
      vertex 1.87945 5.27222 0
      vertex 2.00149 5.12576 0
      vertex 1.51332 4.75964 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.95267 5.2234 0
      vertex 1.87945 5.27222 0
      vertex 1.95267 5.27222 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.00149 5.12576 0
      vertex 1.95267 5.2234 0
      vertex 1.97708 5.19899 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.87945 5.27222 0
      vertex 1.85504 5.32103 0
      vertex 1.87945 5.29662 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.00149 5.12576 0
      vertex 1.87945 5.27222 0
      vertex 1.95267 5.2234 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.85504 5.32103 0
      vertex 1.83063 5.34544 0
      vertex 1.85504 5.34544 0
    endloop
  endfacet
  facet normal 0 -0 -1
    outer loop
      vertex 1.75741 5.39426 0
      vertex 1.87945 5.27222 0
      vertex 1.51332 4.75964 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.83063 5.34544 0
      vertex 1.80622 5.36985 0
      vertex 1.83063 5.36985 0
    endloop
  endfacet
  facet normal -0 -0 -1
    outer loop
      vertex 1.83063 5.34544 0
      vertex 1.87945 5.27222 0
      vertex 1.75741 5.39426 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.80622 5.36985 0
      vertex 1.75741 5.39426 0
      vertex 1.80622 5.39426 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.87945 5.27222 0
      vertex 1.83063 5.34544 0
      vertex 1.85504 5.32103 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.75741 5.39426 0
      vertex 1.733 5.46748 0
      vertex 1.75741 5.46748 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.733 5.46748 0
      vertex 1.68418 5.49189 0
      vertex 1.733 5.49189 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.75741 5.39426 0
      vertex 1.68418 5.49189 0
      vertex 1.733 5.46748 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.83063 5.34544 0
      vertex 1.75741 5.39426 0
      vertex 1.80622 5.36985 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.68418 5.49189 0
      vertex 1.65977 5.54071 0
      vertex 1.68418 5.54071 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.75741 5.39426 0
      vertex 1.51332 4.75964 0
      vertex 1.68418 5.49189 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.65977 5.54071 0
      vertex 1.58655 5.56512 0
      vertex 1.65977 5.56512 0
    endloop
  endfacet
  facet normal 0 -0 -1
    outer loop
      vertex 1.58655 5.56512 0
      vertex 1.68418 5.49189 0
      vertex 1.51332 4.75964 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.56214 5.63834 0
      vertex 1.58655 5.58953 0
      vertex 1.58655 5.56512 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.58655 5.58953 0
      vertex 1.56214 5.63834 0
      vertex 1.58655 5.61393 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.58655 5.61393 0
      vertex 1.56214 5.63834 0
      vertex 1.58655 5.63834 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.56214 5.63834 0
      vertex 1.53773 5.73598 0
      vertex 1.56214 5.73598 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.68418 5.49189 0
      vertex 1.58655 5.56512 0
      vertex 1.65977 5.54071 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.51332 4.75964 0
      vertex 1.56214 5.63834 0
      vertex 1.58655 5.56512 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.51332 5.78479 0
      vertex 1.56214 5.63834 0
      vertex 1.51332 4.75964 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.56214 5.63834 0
      vertex 1.51332 5.78479 0
      vertex 1.53773 5.73598 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.53773 5.73598 0
      vertex 1.51332 5.78479 0
      vertex 1.53773 5.78479 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.87945 5.29662 0
      vertex 1.90386 5.32103 0
      vertex 1.90386 5.29662 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.90386 5.32103 0
      vertex 1.87945 5.29662 0
      vertex 1.85504 5.32103 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.58655 5.58953 0
      vertex 1.61095 5.61393 0
      vertex 1.61095 5.58953 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.61095 5.61393 0
      vertex 1.58655 5.58953 0
      vertex 1.58655 5.61393 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.48891 5.93124 0
      vertex 1.51332 6.00447 0
      vertex 1.51332 5.93124 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.51332 6.00447 0
      vertex 1.48891 5.93124 0
      vertex 1.48891 6.00447 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.48891 6.1021 0
      vertex 1.51332 6.22414 0
      vertex 1.51332 6.1021 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.51332 6.22414 0
      vertex 1.48891 6.1021 0
      vertex 1.48891 6.22414 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.48891 6.24855 0
      vertex 1.51332 6.32178 0
      vertex 1.51332 6.24855 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.48891 7.51779 0
      vertex 1.51332 6.32178 0
      vertex 1.48891 6.24855 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.51332 6.32178 0
      vertex 1.48891 7.51779 0
      vertex 1.51332 7.49338 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.51332 7.49338 0
      vertex 1.48891 7.51779 0
      vertex 1.51332 7.51779 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.51332 6.32178 0
      vertex 1.56214 6.46823 0
      vertex 1.56214 6.32178 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.51332 7.49338 0
      vertex 1.56214 6.46823 0
      vertex 1.51332 6.32178 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.56214 7.42016 0
      vertex 1.53773 7.44456 0
      vertex 1.56214 7.44456 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.56214 6.46823 0
      vertex 1.53773 7.44456 0
      vertex 1.56214 7.42016 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.56214 6.46823 0
      vertex 1.51332 7.49338 0
      vertex 1.53773 7.44456 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.53773 7.44456 0
      vertex 1.51332 7.49338 0
      vertex 1.53773 7.49338 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.56214 6.46823 0
      vertex 1.58655 6.56586 0
      vertex 1.58655 6.46823 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.56214 7.42016 0
      vertex 1.58655 6.56586 0
      vertex 1.56214 6.46823 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.58655 6.56586 0
      vertex 1.56214 7.42016 0
      vertex 1.58655 7.37134 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.58655 7.37134 0
      vertex 1.56214 7.42016 0
      vertex 1.58655 7.42016 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.58655 6.56586 0
      vertex 1.61095 6.76113 0
      vertex 1.61095 6.56586 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.58655 7.37134 0
      vertex 1.61095 6.76113 0
      vertex 1.58655 6.56586 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.61095 6.76113 0
      vertex 1.58655 7.37134 0
      vertex 1.61095 7.2493 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.61095 7.2493 0
      vertex 1.58655 7.37134 0
      vertex 1.61095 7.37134 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.61095 6.76113 0
      vertex 1.63536 6.80995 0
      vertex 1.63536 6.76113 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.61095 7.2493 0
      vertex 1.63536 6.80995 0
      vertex 1.61095 6.76113 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.63536 6.80995 0
      vertex 1.61095 7.2493 0
      vertex 1.63536 7.22489 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.63536 7.22489 0
      vertex 1.61095 7.2493 0
      vertex 1.63536 7.2493 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.63536 6.80995 0
      vertex 1.65977 7.02962 0
      vertex 1.65977 6.80995 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.63536 7.22489 0
      vertex 1.65977 7.02962 0
      vertex 1.63536 6.80995 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.65977 7.02962 0
      vertex 1.63536 7.22489 0
      vertex 1.65977 7.07844 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.65977 7.07844 0
      vertex 1.63536 7.22489 0
      vertex 1.65977 7.22489 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.65977 7.02962 0
      vertex 1.68418 7.07844 0
      vertex 1.68418 7.02962 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.68418 7.07844 0
      vertex 1.65977 7.02962 0
      vertex 1.65977 7.07844 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.39128 7.66424 0
      vertex 1.41569 8.00596 0
      vertex 1.41569 7.66424 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.41569 8.00596 0
      vertex 1.39128 7.66424 0
      vertex 1.39128 8.00596 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0976334 0 0
      vertex 0.073225 0.0244083 0
      vertex 0.0976334 0.0244083 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 0 0
      vertex 0.073225 0.0488167 0
      vertex 0.073225 0.0244083 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.073225 0.0488167 0
      vertex 0 0 0
      vertex 0.073225 0.122042 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.073225 0.122042 0
      vertex 0.0488167 0.341717 0
      vertex 0.073225 0.341717 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 0 0
      vertex 0.0488167 1.02515 0
      vertex 0.0488167 0.341717 0
    endloop
  endfacet
  facet normal 0 -0 -1
    outer loop
      vertex 0.0244083 1.39128 0
      vertex 0.0488167 1.02515 0
      vertex 0 0 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0488167 1.04956 0
      vertex 0.0244083 1.39128 0
      vertex 0.0488167 1.39128 0
    endloop
  endfacet
  facet normal 0 0 0
    outer loop
      vertex 0.0244083 1.39128 0
      vertex 0.0244083 1.48891 0
      vertex 0.0244083 1.4645 0
    endloop
  endfacet
  facet normal 0 0 0
    outer loop
      vertex 0.0244083 1.39128 0
      vertex 0.0244083 1.53773 0
      vertex 0.0244083 1.48891 0
    endloop
  endfacet
  facet normal 0 0 0
    outer loop
      vertex 0.0244083 1.39128 0
      vertex 0.0244083 1.56214 0
      vertex 0.0244083 1.53773 0
    endloop
  endfacet
  facet normal 0 0 0
    outer loop
      vertex 0.0244083 1.39128 0
      vertex 0.0244083 1.61095 0
      vertex 0.0244083 1.56214 0
    endloop
  endfacet
  facet normal 0 0 0
    outer loop
      vertex 0.0244083 1.39128 0
      vertex 0.0244083 1.65977 0
      vertex 0.0244083 1.61095 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 2.51407 0
      vertex 0.0244083 1.65977 0
      vertex 0.0244083 1.39128 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 1.65977 0
      vertex 0 2.51407 0
      vertex 0.0244083 1.87945 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 1.87945 0
      vertex 0 2.51407 0
      vertex 0.0244083 1.90386 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 1.90386 0
      vertex 0 2.51407 0
      vertex 0.0244083 1.95267 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 1.95267 0
      vertex 0 2.51407 0
      vertex 0.0244083 1.97708 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 1.97708 0
      vertex 0 2.51407 0
      vertex 0.0244083 2.0259 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 2.0259 0
      vertex 0 2.51407 0
      vertex 0.0244083 2.44084 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 0 0
      vertex 0.073225 0.0244083 0
      vertex 0.0976334 0 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.073225 0.122042 0
      vertex 0 0 0
      vertex 0.0488167 0.341717 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0488167 1.02515 0
      vertex 0.0244083 1.39128 0
      vertex 0.0488167 1.04956 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 2.51407 0
      vertex 0.0244083 1.39128 0
      vertex 0 0 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 2.44084 0
      vertex 0 2.51407 0
      vertex 0.0244083 2.51407 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.073225 0.0488167 0
      vertex 0.0976334 0.122042 0
      vertex 0.0976334 0.0488167 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.0976334 0.122042 0
      vertex 0.073225 0.0488167 0
      vertex 0.073225 0.122042 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0488167 1.02515 0
      vertex 0.073225 1.04956 0
      vertex 0.073225 1.02515 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.073225 1.04956 0
      vertex 0.0488167 1.02515 0
      vertex 0.0488167 1.04956 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 1.4645 0
      vertex 0.0488167 1.48891 0
      vertex 0.0488167 1.4645 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.0488167 1.48891 0
      vertex 0.0244083 1.4645 0
      vertex 0.0244083 1.48891 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 1.53773 0
      vertex 0.0488167 1.56214 0
      vertex 0.0488167 1.53773 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.0488167 1.56214 0
      vertex 0.0244083 1.53773 0
      vertex 0.0244083 1.56214 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 1.61095 0
      vertex 0.0488167 1.65977 0
      vertex 0.0488167 1.61095 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.0488167 1.65977 0
      vertex 0.0244083 1.61095 0
      vertex 0.0244083 1.65977 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 1.87945 0
      vertex 0.0488167 1.90386 0
      vertex 0.0488167 1.87945 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.0488167 1.90386 0
      vertex 0.0244083 1.87945 0
      vertex 0.0244083 1.90386 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 1.95267 0
      vertex 0.0488167 1.97708 0
      vertex 0.0488167 1.95267 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.0488167 1.97708 0
      vertex 0.0244083 1.95267 0
      vertex 0.0244083 1.97708 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 2.0259 0
      vertex 0.0488167 2.44084 0
      vertex 0.0488167 2.0259 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.0488167 2.44084 0
      vertex 0.0244083 2.0259 0
      vertex 0.0244083 2.44084 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.12279 2.56288 0
      vertex 1.09838 2.73374 0
      vertex 1.12279 2.75815 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.12279 2.56288 0
      vertex 1.07397 2.63611 0
      vertex 1.09838 2.73374 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.04956 2.56288 0
      vertex 1.07397 2.63611 0
      vertex 1.12279 2.56288 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.07397 2.63611 0
      vertex 1.04956 2.56288 0
      vertex 1.04956 2.63611 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.12279 2.56288 0
      vertex 1.14719 2.53847 0
      vertex 1.12279 2.53847 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.14719 2.53847 0
      vertex 1.12279 2.56288 0
      vertex 1.14719 2.78256 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.12279 2.75815 0
      vertex 1.14719 2.78256 0
      vertex 1.12279 2.56288 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.14719 2.78256 0
      vertex 1.12279 2.75815 0
      vertex 1.12279 2.78256 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.14719 2.53847 0
      vertex 1.19601 2.51407 0
      vertex 1.14719 2.51407 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.19601 2.51407 0
      vertex 1.14719 2.53847 0
      vertex 1.19601 2.80697 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.14719 2.78256 0
      vertex 1.19601 2.80697 0
      vertex 1.14719 2.53847 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.19601 2.80697 0
      vertex 1.14719 2.78256 0
      vertex 1.14719 2.80697 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.41569 1.63536 0
      vertex 1.4401 1.733 0
      vertex 1.4401 1.63536 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.4401 1.733 0
      vertex 1.41569 1.63536 0
      vertex 1.41569 1.733 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.41569 1.14719 0
      vertex 1.4401 1.1716 0
      vertex 1.4401 1.14719 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.4401 1.1716 0
      vertex 1.41569 1.14719 0
      vertex 1.41569 1.1716 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4401 1.48891 0
      vertex 1.4645 1.53773 0
      vertex 1.4645 1.48891 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.4645 1.53773 0
      vertex 1.4401 1.48891 0
      vertex 1.4401 1.53773 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4645 1.39128 0
      vertex 1.4401 1.4401 0
      vertex 1.4645 1.4645 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.41569 1.39128 0
      vertex 1.4401 1.4401 0
      vertex 1.4645 1.39128 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.4401 1.4401 0
      vertex 1.41569 1.39128 0
      vertex 1.41569 1.4401 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4401 1.14719 0
      vertex 1.4645 0.878702 0
      vertex 1.4401 0.878702 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4645 0.878702 0
      vertex 1.4401 1.14719 0
      vertex 1.4645 1.29364 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4401 1.1716 0
      vertex 1.4645 1.29364 0
      vertex 1.4401 1.14719 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.4645 1.29364 0
      vertex 1.4401 1.1716 0
      vertex 1.4401 1.29364 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.56288 6.6635 0
      vertex 2.58729 6.6879 0
      vertex 2.58729 6.6635 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.58729 6.6879 0
      vertex 2.56288 6.6635 0
      vertex 2.56288 6.6879 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.66052 6.85876 0
      vertex 2.70933 7.02962 0
      vertex 2.70933 6.63909 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.70933 7.02962 0
      vertex 2.66052 6.85876 0
      vertex 2.68492 7.00521 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.70933 6.63909 0
      vertex 2.6117 6.78554 0
      vertex 2.66052 6.85876 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.58729 6.6635 0
      vertex 2.70933 6.63909 0
      vertex 2.58729 6.63909 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.58729 6.6879 0
      vertex 2.70933 6.63909 0
      vertex 2.58729 6.6635 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.70933 6.63909 0
      vertex 2.58729 6.6879 0
      vertex 2.6117 6.78554 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.6117 6.78554 0
      vertex 2.58729 6.6879 0
      vertex 2.58729 6.78554 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.70933 6.56586 0
      vertex 2.68492 6.59027 0
      vertex 2.70933 6.61468 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.66052 6.56586 0
      vertex 2.68492 6.59027 0
      vertex 2.70933 6.56586 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.68492 6.59027 0
      vertex 2.66052 6.56586 0
      vertex 2.66052 6.59027 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.70933 6.56586 0
      vertex 2.73374 6.54145 0
      vertex 2.70933 6.54145 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.70933 6.61468 0
      vertex 2.73374 6.54145 0
      vertex 2.70933 6.56586 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.70933 6.63909 0
      vertex 2.73374 6.54145 0
      vertex 2.70933 6.61468 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.73374 6.54145 0
      vertex 2.70933 6.63909 0
      vertex 2.73374 7.12725 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.70933 7.02962 0
      vertex 2.73374 7.12725 0
      vertex 2.70933 6.63909 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.73374 7.12725 0
      vertex 2.70933 7.02962 0
      vertex 2.70933 7.12725 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.73374 6.54145 0
      vertex 2.75815 6.51705 0
      vertex 2.73374 6.51705 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.75815 6.51705 0
      vertex 2.73374 6.54145 0
      vertex 2.75815 7.15166 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.73374 7.12725 0
      vertex 2.75815 7.15166 0
      vertex 2.73374 6.54145 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.75815 7.15166 0
      vertex 2.73374 7.12725 0
      vertex 2.73374 7.15166 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.78256 4.19825 0
      vertex 2.80697 4.22265 0
      vertex 2.80697 4.19825 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.80697 4.22265 0
      vertex 2.78256 4.19825 0
      vertex 2.78256 4.22265 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.85578 4.17384 0
      vertex 2.83138 4.24706 0
      vertex 2.85578 4.27147 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.80697 4.19825 0
      vertex 2.85578 4.17384 0
      vertex 2.80697 4.17384 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.85578 4.17384 0
      vertex 2.80697 4.19825 0
      vertex 2.83138 4.24706 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.80697 4.22265 0
      vertex 2.83138 4.24706 0
      vertex 2.80697 4.19825 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.83138 4.24706 0
      vertex 2.80697 4.22265 0
      vertex 2.80697 4.24706 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.88019 6.395 0
      vertex 2.92901 6.37059 0
      vertex 2.88019 6.37059 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.85578 6.41941 0
      vertex 2.92901 6.37059 0
      vertex 2.88019 6.395 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.85578 6.41941 0
      vertex 2.88019 6.395 0
      vertex 2.85578 6.395 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.83138 6.44382 0
      vertex 2.92901 6.37059 0
      vertex 2.85578 6.41941 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.83138 6.44382 0
      vertex 2.85578 6.41941 0
      vertex 2.83138 6.41941 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.92901 6.37059 0
      vertex 2.83138 6.44382 0
      vertex 2.9046 7.17607 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.80697 6.46823 0
      vertex 2.83138 6.44382 0
      vertex 2.80697 6.44382 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.83138 6.44382 0
      vertex 2.80697 6.46823 0
      vertex 2.9046 7.17607 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.78256 6.49264 0
      vertex 2.80697 6.46823 0
      vertex 2.78256 6.46823 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.80697 6.46823 0
      vertex 2.78256 6.49264 0
      vertex 2.9046 7.17607 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.75815 6.51705 0
      vertex 2.78256 6.49264 0
      vertex 2.75815 6.49264 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.78256 6.49264 0
      vertex 2.75815 6.51705 0
      vertex 2.9046 7.17607 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.75815 7.15166 0
      vertex 2.9046 7.17607 0
      vertex 2.75815 6.51705 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.9046 7.17607 0
      vertex 2.75815 7.15166 0
      vertex 2.75815 7.17607 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.92901 6.37059 0
      vertex 2.95342 6.32178 0
      vertex 2.92901 6.32178 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.95342 6.32178 0
      vertex 2.92901 6.37059 0
      vertex 2.95342 7.20048 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.9046 7.17607 0
      vertex 2.95342 7.20048 0
      vertex 2.92901 6.37059 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.95342 7.20048 0
      vertex 2.9046 7.17607 0
      vertex 2.9046 7.20048 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.95342 6.32178 0
      vertex 3.05105 6.29737 0
      vertex 2.95342 6.29737 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.05105 6.29737 0
      vertex 2.95342 6.32178 0
      vertex 3.05105 7.22489 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.95342 7.20048 0
      vertex 3.05105 7.22489 0
      vertex 2.95342 6.32178 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.05105 7.22489 0
      vertex 2.95342 7.20048 0
      vertex 2.95342 7.22489 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.12428 6.19974 0
      vertex 3.14868 6.17533 0
      vertex 3.12428 6.17533 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.09987 6.27296 0
      vertex 3.14868 6.17533 0
      vertex 3.12428 6.19974 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.09987 6.27296 0
      vertex 3.12428 6.19974 0
      vertex 3.09987 6.19974 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.14868 6.17533 0
      vertex 3.09987 6.27296 0
      vertex 3.14868 7.2493 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.05105 6.29737 0
      vertex 3.09987 6.27296 0
      vertex 3.05105 6.27296 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.09987 6.27296 0
      vertex 3.05105 6.29737 0
      vertex 3.14868 7.2493 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.05105 7.22489 0
      vertex 3.14868 7.2493 0
      vertex 3.05105 6.29737 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.14868 7.2493 0
      vertex 3.05105 7.22489 0
      vertex 3.05105 7.2493 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.17309 6.15092 0
      vertex 3.1975 6.12651 0
      vertex 3.17309 6.12651 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.1975 6.12651 0
      vertex 3.17309 6.15092 0
      vertex 3.1975 7.27371 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.14868 6.17533 0
      vertex 3.17309 6.15092 0
      vertex 3.14868 6.15092 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.17309 6.15092 0
      vertex 3.14868 6.17533 0
      vertex 3.1975 7.27371 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.14868 7.2493 0
      vertex 3.1975 7.27371 0
      vertex 3.14868 6.17533 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.1975 7.27371 0
      vertex 3.14868 7.2493 0
      vertex 3.14868 7.27371 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.24632 5.88243 0
      vertex 3.34395 7.37134 0
      vertex 3.34395 0 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.24632 6.05328 0
      vertex 3.34395 7.37134 0
      vertex 3.24632 5.88243 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.1975 6.12651 0
      vertex 3.34395 7.37134 0
      vertex 3.24632 6.05328 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.34395 7.37134 0
      vertex 3.1975 6.12651 0
      vertex 3.31954 7.34693 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.09987 5.32103 0
      vertex 3.24632 5.88243 0
      vertex 3.34395 0 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.24632 5.88243 0
      vertex 3.1975 5.76038 0
      vertex 3.22191 5.85802 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.24632 5.88243 0
      vertex 3.09987 5.32103 0
      vertex 3.1975 5.76038 0
    endloop
  endfacet
  facet normal 0 -0 -1
    outer loop
      vertex 3.12428 5.49189 0
      vertex 3.1975 5.76038 0
      vertex 3.09987 5.32103 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.1975 5.76038 0
      vertex 3.14868 5.61393 0
      vertex 3.17309 5.71157 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.1975 5.76038 0
      vertex 3.12428 5.49189 0
      vertex 3.14868 5.61393 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.00223 4.9305 0
      vertex 3.09987 5.32103 0
      vertex 3.34395 0 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.09987 5.32103 0
      vertex 3.05105 5.15017 0
      vertex 3.07546 5.29662 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.09987 5.32103 0
      vertex 3.00223 4.9305 0
      vertex 3.05105 5.15017 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.05105 5.15017 0
      vertex 3.00223 4.9305 0
      vertex 3.02664 5.07695 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.85578 4.14943 0
      vertex 3.00223 4.9305 0
      vertex 3.34395 0 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.00223 4.9305 0
      vertex 2.95342 4.75964 0
      vertex 2.97783 4.88168 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.00223 4.9305 0
      vertex 2.85578 4.14943 0
      vertex 2.95342 4.75964 0
    endloop
  endfacet
  facet normal 0 -0 -1
    outer loop
      vertex 2.9046 4.53996 0
      vertex 2.95342 4.75964 0
      vertex 2.85578 4.14943 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.95342 4.75964 0
      vertex 2.9046 4.53996 0
      vertex 2.92901 4.66201 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.9046 4.53996 0
      vertex 2.85578 4.14943 0
      vertex 2.88019 4.39351 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.73374 3.88094 0
      vertex 2.85578 4.14943 0
      vertex 3.34395 0 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.85578 4.14943 0
      vertex 2.73374 3.88094 0
      vertex 2.80697 4.0762 0
    endloop
  endfacet
  facet normal 0 -0 -1
    outer loop
      vertex 2.75815 3.97857 0
      vertex 2.80697 4.0762 0
      vertex 2.73374 3.88094 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.80697 4.0762 0
      vertex 2.75815 3.97857 0
      vertex 2.78256 4.0518 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.68492 3.80771 0
      vertex 2.73374 3.88094 0
      vertex 3.34395 0 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.73374 3.88094 0
      vertex 2.68492 3.80771 0
      vertex 2.70933 3.85653 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.34321 3.24632 0
      vertex 2.68492 3.80771 0
      vertex 3.34395 0 0
    endloop
  endfacet
  facet normal 0 -0 -1
    outer loop
      vertex 2.39202 3.36836 0
      vertex 2.68492 3.80771 0
      vertex 2.34321 3.24632 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.68492 3.80771 0
      vertex 2.39202 3.36836 0
      vertex 2.66052 3.7833 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.66052 3.7833 0
      vertex 2.39202 3.36836 0
      vertex 2.63611 3.75889 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.63611 3.75889 0
      vertex 2.39202 3.36836 0
      vertex 2.6117 3.73449 0
    endloop
  endfacet
  facet normal 0 -0 -1
    outer loop
      vertex 2.46525 3.56363 0
      vertex 2.58729 3.71008 0
      vertex 2.39202 3.36836 0
    endloop
  endfacet
  facet normal 0 -0 -1
    outer loop
      vertex 2.51407 3.66126 0
      vertex 2.58729 3.71008 0
      vertex 2.46525 3.56363 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.51407 3.66126 0
      vertex 2.46525 3.56363 0
      vertex 2.48966 3.63685 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.58729 3.71008 0
      vertex 2.51407 3.66126 0
      vertex 2.53847 3.68567 0
    endloop
  endfacet
  facet normal 0 -0 -1
    outer loop
      vertex 2.41643 3.46599 0
      vertex 2.46525 3.56363 0
      vertex 2.39202 3.36836 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.46525 3.56363 0
      vertex 2.41643 3.46599 0
      vertex 2.44084 3.53922 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.6117 3.73449 0
      vertex 2.39202 3.36836 0
      vertex 2.58729 3.71008 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.39202 3.36836 0
      vertex 2.34321 3.24632 0
      vertex 2.36761 3.31954 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.26998 3.09987 0
      vertex 2.34321 3.24632 0
      vertex 3.34395 0 0
    endloop
  endfacet
  facet normal 0 -0 -1
    outer loop
      vertex 2.29439 3.17309 0
      vertex 2.34321 3.24632 0
      vertex 2.26998 3.09987 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.34321 3.24632 0
      vertex 2.29439 3.17309 0
      vertex 2.3188 3.22191 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.34395 0 0
      vertex 2.24557 3.07546 0
      vertex 2.26998 3.09987 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.14794 3.00223 0
      vertex 2.24557 3.07546 0
      vertex 3.34395 0 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.24557 3.07546 0
      vertex 2.17235 3.02664 0
      vertex 2.19676 3.05105 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.24557 3.07546 0
      vertex 2.14794 3.00223 0
      vertex 2.17235 3.02664 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4645 1.61095 0
      vertex 2.14794 3.00223 0
      vertex 3.34395 0 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.14794 3.00223 0
      vertex 1.4645 1.61095 0
      vertex 2.09912 2.97783 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4401 1.733 0
      vertex 2.09912 2.97783 0
      vertex 1.4645 1.61095 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4401 2.07471 0
      vertex 2.09912 2.97783 0
      vertex 1.4401 1.733 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.09912 2.97783 0
      vertex 1.4401 2.07471 0
      vertex 2.05031 2.95342 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.00149 2.92901 0
      vertex 1.85504 2.83138 0
      vertex 1.95267 2.9046 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.95267 2.9046 0
      vertex 1.87945 2.85578 0
      vertex 1.90386 2.88019 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.48891 1.36687 0
      vertex 3.34395 0 0
      vertex 1.48891 1.31805 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4645 0.878702 0
      vertex 3.34395 0 0
      vertex 1.4645 0.829885 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.34395 0 0
      vertex 1.4401 0.390534 0
      vertex 1.4645 0.829885 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.34395 0 0
      vertex 1.41569 0.122042 0
      vertex 1.4401 0.390534 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.34395 0 0
      vertex 1.39128 0.0976334 0
      vertex 1.41569 0.122042 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.34395 0 0
      vertex 1.36687 0.073225 0
      vertex 1.39128 0.0976334 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.34395 0 0
      vertex 1.34246 0.0488167 0
      vertex 1.36687 0.073225 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.34395 0 0
      vertex 1.31805 0.0244083 0
      vertex 1.34246 0.0488167 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.463759 0 0
      vertex 1.31805 0.0244083 0
      vertex 3.34395 0 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.31805 0.0244083 0
      vertex 0.463759 0 0
      vertex 0.463759 0.0244083 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.34395 7.37134 0
      vertex 3.31954 7.34693 0
      vertex 3.31954 7.37134 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.31954 7.34693 0
      vertex 3.29513 7.32252 0
      vertex 3.29513 7.34693 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.29513 7.32252 0
      vertex 3.27073 7.29811 0
      vertex 3.27073 7.32252 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.31954 7.34693 0
      vertex 3.1975 6.12651 0
      vertex 3.29513 7.32252 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.22191 6.07769 0
      vertex 3.24632 6.05328 0
      vertex 3.22191 6.05328 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.1975 6.12651 0
      vertex 3.24632 6.05328 0
      vertex 3.22191 6.07769 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.1975 6.12651 0
      vertex 3.22191 6.07769 0
      vertex 3.1975 6.07769 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.29513 7.32252 0
      vertex 3.1975 6.12651 0
      vertex 3.27073 7.29811 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.1975 7.27371 0
      vertex 3.27073 7.29811 0
      vertex 3.1975 6.12651 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.27073 7.29811 0
      vertex 3.1975 7.27371 0
      vertex 3.1975 7.29811 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.24632 5.88243 0
      vertex 3.22191 5.85802 0
      vertex 3.22191 5.88243 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.1975 5.8092 0
      vertex 3.22191 5.85802 0
      vertex 3.1975 5.76038 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.17309 5.83361 0
      vertex 3.1975 5.8092 0
      vertex 3.17309 5.8092 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.1975 5.8092 0
      vertex 3.17309 5.83361 0
      vertex 3.22191 5.85802 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.14868 5.85802 0
      vertex 3.17309 5.83361 0
      vertex 3.14868 5.83361 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.17309 5.83361 0
      vertex 3.14868 5.85802 0
      vertex 3.22191 5.85802 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.1975 5.76038 0
      vertex 3.17309 5.71157 0
      vertex 3.17309 5.76038 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.17309 5.71157 0
      vertex 3.14868 5.61393 0
      vertex 3.14868 5.71157 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.12428 5.56512 0
      vertex 3.14868 5.61393 0
      vertex 3.12428 5.49189 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.09987 5.61393 0
      vertex 3.12428 5.56512 0
      vertex 3.09987 5.56512 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.12428 5.56512 0
      vertex 3.09987 5.61393 0
      vertex 3.14868 5.61393 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.12428 5.49189 0
      vertex 3.09987 5.32103 0
      vertex 3.09987 5.49189 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.09987 5.32103 0
      vertex 3.07546 5.29662 0
      vertex 3.07546 5.32103 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.07546 5.29662 0
      vertex 3.05105 5.15017 0
      vertex 3.05105 5.29662 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.05105 5.15017 0
      vertex 3.02664 5.07695 0
      vertex 3.02664 5.15017 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.02664 5.07695 0
      vertex 3.00223 4.9305 0
      vertex 3.00223 5.07695 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 3.00223 4.9305 0
      vertex 2.97783 4.88168 0
      vertex 2.97783 4.9305 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.97783 4.88168 0
      vertex 2.95342 4.75964 0
      vertex 2.95342 4.88168 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.95342 4.75964 0
      vertex 2.92901 4.66201 0
      vertex 2.92901 4.75964 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.92901 4.66201 0
      vertex 2.9046 4.53996 0
      vertex 2.9046 4.66201 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.9046 4.53996 0
      vertex 2.88019 4.39351 0
      vertex 2.88019 4.53996 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.85578 4.17384 0
      vertex 2.88019 4.39351 0
      vertex 2.85578 4.14943 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.85578 4.27147 0
      vertex 2.88019 4.39351 0
      vertex 2.85578 4.17384 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.88019 4.39351 0
      vertex 2.85578 4.27147 0
      vertex 2.85578 4.39351 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.85578 4.27147 0
      vertex 2.83138 4.24706 0
      vertex 2.83138 4.27147 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.85578 4.14943 0
      vertex 2.80697 4.0762 0
      vertex 2.80697 4.14943 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.80697 4.0762 0
      vertex 2.78256 4.0518 0
      vertex 2.78256 4.0762 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.78256 4.0518 0
      vertex 2.75815 3.97857 0
      vertex 2.75815 4.0518 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.75815 3.97857 0
      vertex 2.73374 3.88094 0
      vertex 2.73374 3.97857 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.73374 3.88094 0
      vertex 2.70933 3.85653 0
      vertex 2.70933 3.88094 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.70933 3.85653 0
      vertex 2.68492 3.80771 0
      vertex 2.68492 3.85653 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.70933 6.61468 0
      vertex 2.68492 6.59027 0
      vertex 2.68492 6.61468 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.70933 7.02962 0
      vertex 2.68492 7.00521 0
      vertex 2.68492 7.02962 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.68492 3.80771 0
      vertex 2.66052 3.7833 0
      vertex 2.66052 3.80771 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.68492 7.00521 0
      vertex 2.66052 6.85876 0
      vertex 2.66052 7.00521 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.66052 3.7833 0
      vertex 2.63611 3.75889 0
      vertex 2.63611 3.7833 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.63611 3.75889 0
      vertex 2.6117 3.73449 0
      vertex 2.6117 3.75889 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.66052 6.85876 0
      vertex 2.6117 6.78554 0
      vertex 2.6117 6.85876 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.6117 3.73449 0
      vertex 2.58729 3.71008 0
      vertex 2.58729 3.73449 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.58729 3.71008 0
      vertex 2.53847 3.68567 0
      vertex 2.53847 3.71008 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.53847 3.68567 0
      vertex 2.51407 3.66126 0
      vertex 2.51407 3.68567 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.51407 3.66126 0
      vertex 2.48966 3.63685 0
      vertex 2.48966 3.66126 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.48966 3.63685 0
      vertex 2.46525 3.56363 0
      vertex 2.46525 3.63685 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.46525 3.56363 0
      vertex 2.44084 3.53922 0
      vertex 2.44084 3.56363 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.44084 3.53922 0
      vertex 2.41643 3.46599 0
      vertex 2.41643 3.53922 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.41643 3.46599 0
      vertex 2.39202 3.36836 0
      vertex 2.39202 3.46599 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.39202 3.36836 0
      vertex 2.36761 3.31954 0
      vertex 2.36761 3.36836 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.36761 3.31954 0
      vertex 2.34321 3.24632 0
      vertex 2.34321 3.31954 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.34321 3.24632 0
      vertex 2.3188 3.22191 0
      vertex 2.3188 3.24632 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.3188 3.22191 0
      vertex 2.29439 3.17309 0
      vertex 2.29439 3.22191 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.29439 3.17309 0
      vertex 2.26998 3.09987 0
      vertex 2.26998 3.17309 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.26998 3.09987 0
      vertex 2.24557 3.07546 0
      vertex 2.24557 3.09987 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.24557 3.07546 0
      vertex 2.19676 3.05105 0
      vertex 2.19676 3.07546 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.19676 3.05105 0
      vertex 2.17235 3.02664 0
      vertex 2.17235 3.05105 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.17235 3.02664 0
      vertex 2.14794 3.00223 0
      vertex 2.14794 3.02664 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.14794 3.00223 0
      vertex 2.09912 2.97783 0
      vertex 2.09912 3.00223 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.09912 2.97783 0
      vertex 2.05031 2.95342 0
      vertex 2.05031 2.97783 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.05031 2.95342 0
      vertex 2.00149 2.92901 0
      vertex 2.00149 2.95342 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.00149 2.92901 0
      vertex 1.95267 2.9046 0
      vertex 1.95267 2.92901 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.95267 2.9046 0
      vertex 1.90386 2.88019 0
      vertex 1.90386 2.9046 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.90386 2.88019 0
      vertex 1.87945 2.85578 0
      vertex 1.87945 2.88019 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.87945 2.85578 0
      vertex 1.85504 2.83138 0
      vertex 1.85504 2.85578 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4645 1.61095 0
      vertex 3.34395 0 0
      vertex 1.48891 1.36687 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4645 1.39128 0
      vertex 1.48891 1.36687 0
      vertex 1.4645 1.36687 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4645 1.4645 0
      vertex 1.48891 1.36687 0
      vertex 1.4645 1.39128 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4645 1.48891 0
      vertex 1.48891 1.36687 0
      vertex 1.4645 1.4645 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4645 1.53773 0
      vertex 1.48891 1.36687 0
      vertex 1.4645 1.48891 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4645 1.61095 0
      vertex 1.48891 1.36687 0
      vertex 1.4645 1.53773 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.95267 2.9046 0
      vertex 1.85504 2.83138 0
      vertex 1.87945 2.85578 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4401 1.63536 0
      vertex 1.4645 1.61095 0
      vertex 1.4401 1.61095 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4401 1.733 0
      vertex 1.4645 1.61095 0
      vertex 1.4401 1.63536 0
    endloop
  endfacet
  facet normal 0 -0 -1
    outer loop
      vertex 1.85504 2.83138 0
      vertex 2.05031 2.95342 0
      vertex 1.4401 2.07471 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.05031 2.95342 0
      vertex 1.85504 2.83138 0
      vertex 2.00149 2.92901 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.41569 2.19676 0
      vertex 1.4401 2.07471 0
      vertex 1.41569 2.07471 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4401 2.07471 0
      vertex 1.41569 2.19676 0
      vertex 1.85504 2.83138 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.39128 2.24557 0
      vertex 1.41569 2.19676 0
      vertex 1.39128 2.19676 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.41569 2.19676 0
      vertex 1.39128 2.24557 0
      vertex 1.85504 2.83138 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.36687 2.26998 0
      vertex 1.39128 2.24557 0
      vertex 1.36687 2.24557 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.39128 2.24557 0
      vertex 1.36687 2.26998 0
      vertex 1.85504 2.83138 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.34246 2.29439 0
      vertex 1.36687 2.26998 0
      vertex 1.34246 2.26998 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.36687 2.26998 0
      vertex 1.34246 2.29439 0
      vertex 1.85504 2.83138 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.29364 2.3188 0
      vertex 1.34246 2.29439 0
      vertex 1.29364 2.29439 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.26924 2.34321 0
      vertex 1.34246 2.29439 0
      vertex 1.29364 2.3188 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.26924 2.34321 0
      vertex 1.29364 2.3188 0
      vertex 1.26924 2.3188 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.22042 2.41643 0
      vertex 1.34246 2.29439 0
      vertex 1.26924 2.34321 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.24483 2.36761 0
      vertex 1.26924 2.34321 0
      vertex 1.24483 2.34321 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.22042 2.41643 0
      vertex 1.26924 2.34321 0
      vertex 1.24483 2.36761 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.22042 2.41643 0
      vertex 1.24483 2.36761 0
      vertex 1.22042 2.36761 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.34246 2.29439 0
      vertex 1.22042 2.41643 0
      vertex 1.19601 2.51407 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.19601 2.51407 0
      vertex 1.22042 2.41643 0
      vertex 1.19601 2.41643 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.34246 2.29439 0
      vertex 1.19601 2.51407 0
      vertex 1.85504 2.83138 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.19601 2.80697 0
      vertex 1.85504 2.83138 0
      vertex 1.19601 2.51407 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.85504 2.83138 0
      vertex 1.19601 2.80697 0
      vertex 1.19601 2.83138 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.34395 0 0
      vertex 1.4645 0.878702 0
      vertex 1.48891 1.31805 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.4645 1.29364 0
      vertex 1.48891 1.31805 0
      vertex 1.4645 0.878702 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.48891 1.31805 0
      vertex 1.4645 1.29364 0
      vertex 1.4645 1.31805 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.4645 0.829885 0
      vertex 1.4401 0.390534 0
      vertex 1.4401 0.829885 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.4645 1.4645 0
      vertex 1.4401 1.4401 0
      vertex 1.4401 1.4645 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.4401 0.390534 0
      vertex 1.41569 0.122042 0
      vertex 1.41569 0.390534 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.41569 0.122042 0
      vertex 1.39128 0.0976334 0
      vertex 1.39128 0.122042 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.39128 0.0976334 0
      vertex 1.36687 0.073225 0
      vertex 1.36687 0.0976334 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.36687 0.073225 0
      vertex 1.34246 0.0488167 0
      vertex 1.34246 0.073225 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.34246 0.0488167 0
      vertex 1.31805 0.0244083 0
      vertex 1.31805 0.0488167 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.12279 2.75815 0
      vertex 1.09838 2.73374 0
      vertex 1.09838 2.75815 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.09838 2.73374 0
      vertex 1.07397 2.63611 0
      vertex 1.07397 2.73374 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.29513 7.61542 0
      vertex 3.34395 7.59101 0
      vertex 3.29513 7.59101 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.27073 7.63983 0
      vertex 3.34395 7.59101 0
      vertex 3.29513 7.61542 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.27073 7.63983 0
      vertex 3.29513 7.61542 0
      vertex 3.27073 7.61542 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.34395 7.59101 0
      vertex 3.27073 7.63983 0
      vertex 3.34395 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.1975 7.66424 0
      vertex 3.27073 7.63983 0
      vertex 3.1975 7.63983 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.27073 7.63983 0
      vertex 3.1975 7.66424 0
      vertex 3.34395 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.07546 7.68865 0
      vertex 3.1975 7.66424 0
      vertex 3.07546 7.66424 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.1975 7.66424 0
      vertex 3.07546 7.68865 0
      vertex 3.34395 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.02664 7.71306 0
      vertex 3.07546 7.68865 0
      vertex 3.02664 7.68865 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.00223 7.73746 0
      vertex 3.07546 7.68865 0
      vertex 3.02664 7.71306 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.00223 7.73746 0
      vertex 3.02664 7.71306 0
      vertex 3.00223 7.71306 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.07546 7.68865 0
      vertex 3.00223 7.73746 0
      vertex 3.34395 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.95342 7.76187 0
      vertex 3.00223 7.73746 0
      vertex 2.95342 7.73746 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 3.00223 7.73746 0
      vertex 2.95342 7.76187 0
      vertex 3.34395 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.9046 7.78628 0
      vertex 2.95342 7.76187 0
      vertex 2.9046 7.76187 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.95342 7.76187 0
      vertex 2.9046 7.78628 0
      vertex 3.34395 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.83138 7.81069 0
      vertex 2.9046 7.78628 0
      vertex 2.83138 7.78628 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.9046 7.78628 0
      vertex 2.83138 7.81069 0
      vertex 3.34395 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.73374 7.8351 0
      vertex 2.83138 7.81069 0
      vertex 2.73374 7.81069 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.70933 7.85951 0
      vertex 2.83138 7.81069 0
      vertex 2.73374 7.8351 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.70933 7.85951 0
      vertex 2.73374 7.8351 0
      vertex 2.70933 7.8351 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.68492 7.88392 0
      vertex 2.83138 7.81069 0
      vertex 2.70933 7.85951 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.68492 7.88392 0
      vertex 2.70933 7.85951 0
      vertex 2.68492 7.85951 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.83138 7.81069 0
      vertex 2.68492 7.88392 0
      vertex 3.34395 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.6117 7.90832 0
      vertex 2.68492 7.88392 0
      vertex 2.6117 7.88392 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.56288 7.93273 0
      vertex 2.68492 7.88392 0
      vertex 2.6117 7.90832 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.56288 7.93273 0
      vertex 2.6117 7.90832 0
      vertex 2.56288 7.90832 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.68492 7.88392 0
      vertex 2.56288 7.93273 0
      vertex 3.34395 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.46525 7.95714 0
      vertex 2.56288 7.93273 0
      vertex 2.46525 7.93273 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.56288 7.93273 0
      vertex 2.46525 7.95714 0
      vertex 3.34395 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.34321 7.98155 0
      vertex 2.46525 7.95714 0
      vertex 2.34321 7.95714 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.29439 8.00596 0
      vertex 2.46525 7.95714 0
      vertex 2.34321 7.98155 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.29439 8.00596 0
      vertex 2.34321 7.98155 0
      vertex 2.29439 7.98155 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.46525 7.95714 0
      vertex 2.29439 8.00596 0
      vertex 3.34395 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.19676 8.03037 0
      vertex 2.29439 8.00596 0
      vertex 2.19676 8.00596 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.29439 8.00596 0
      vertex 2.19676 8.03037 0
      vertex 3.34395 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.0259 8.05477 0
      vertex 2.19676 8.03037 0
      vertex 2.0259 8.03037 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.95267 8.07918 0
      vertex 2.19676 8.03037 0
      vertex 2.0259 8.05477 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.95267 8.07918 0
      vertex 2.0259 8.05477 0
      vertex 1.95267 8.05477 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.19676 8.03037 0
      vertex 1.95267 8.07918 0
      vertex 3.34395 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.68418 8.10359 0
      vertex 1.95267 8.07918 0
      vertex 1.68418 8.07918 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.95267 8.07918 0
      vertex 1.68418 8.10359 0
      vertex 3.34395 8.10359 0
    endloop
  endfacet
  facet normal -0 0 1
    outer loop
      vertex 1.34246 8.128 0
      vertex 1.4401 8.10359 0
      vertex 1.4401 8.128 0
    endloop
  endfacet
  facet normal 0 0 1
    outer loop
      vertex 1.4401 8.10359 0
      vertex 1.34246 8.128 0
      vertex 1.34246 8.10359 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 2.73374 0
      vertex 0.0244083 2.75815 0
      vertex 0.0244083 2.73374 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.0244083 2.75815 0
      vertex 0 2.73374 0
      vertex 0 2.75815 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 2.6117 0
      vertex 0.0244083 2.66052 0
      vertex 0.0244083 2.6117 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.0244083 2.66052 0
      vertex 0 2.6117 0
      vertex 0 2.66052 0
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 2.53847 0
      vertex 0.0244083 2.58729 0
      vertex 0.0244083 2.53847 0
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.0244083 2.58729 0
      vertex 0 2.53847 0
      vertex 0 2.58729 0
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.073225 0.0244083 -3.38991
      vertex 0.0976334 0.0244083 0
      vertex 0.073225 0.0244083 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 0.0976334 0.0244083 0
      vertex 0.073225 0.0244083 -3.38991
      vertex 0.0976334 0.0244083 -3.38991
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.463759 0.0244083 -3.38991
      vertex 1.31805 0.0244083 0
      vertex 0.463759 0.0244083 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.31805 0.0244083 0
      vertex 0.463759 0.0244083 -3.38991
      vertex 1.31805 0.0244083 -3.38991
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.34246 8.10359 -31.75
      vertex 1.4401 8.128 -31.75
      vertex 1.4401 8.10359 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 1.4401 8.128 -31.75
      vertex 1.34246 8.10359 -31.75
      vertex 1.34246 8.128 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.0244083 3.05105 -31.75
      vertex 1.85504 2.85578 -31.75
      vertex 1.85504 2.85394 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.85504 2.85578 -31.75
      vertex 0.854294 3.85653 -31.75
      vertex 0.878702 3.92975 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.85504 2.85578 -31.75
      vertex 0.829885 3.83212 -31.75
      vertex 0.854294 3.85653 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.85504 2.85578 -31.75
      vertex 0.781069 3.80771 -31.75
      vertex 0.829885 3.83212 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.85504 2.85578 -31.75
      vertex 0.0244083 3.05105 -31.75
      vertex 0.781069 3.80771 -31.75
    endloop
  endfacet
  facet normal 0 -0 -1
    outer loop
      vertex 0.244083 3.75889 -31.75
      vertex 0.781069 3.80771 -31.75
      vertex 0.073225 3.31954 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.781069 3.80771 -31.75
      vertex 0.244083 3.75889 -31.75
      vertex 0.268492 3.7833 -31.75
    endloop
  endfacet
  facet normal 0 -0 -1
    outer loop
      vertex 0.14645 3.68567 -31.75
      vertex 0.244083 3.75889 -31.75
      vertex 0.073225 3.31954 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.244083 3.75889 -31.75
      vertex 0.170858 3.71008 -31.75
      vertex 0.195267 3.73449 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.244083 3.75889 -31.75
      vertex 0.14645 3.68567 -31.75
      vertex 0.170858 3.71008 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.14645 3.68567 -31.75
      vertex 0.073225 3.31954 -31.75
      vertex 0.122042 3.66126 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.122042 3.66126 -31.75
      vertex 0.073225 3.31954 -31.75
      vertex 0.0976334 3.63685 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.781069 3.80771 -31.75
      vertex 0.0488167 3.1975 -31.75
      vertex 0.073225 3.31954 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.781069 3.80771 -31.75
      vertex 0.0244083 3.05105 -31.75
      vertex 0.0488167 3.1975 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0 2.85394 -31.75
      vertex 0.0244083 3.05105 -31.75
      vertex 1.85504 2.85394 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.0244083 3.05105 -31.75
      vertex 0 2.85394 -31.75
      vertex 0 3.05105 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.87945 2.85578 -31.75
      vertex 1.85504 2.85578 -31.75
      vertex 1.87945 2.88019 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.90386 2.88019 -31.75
      vertex 1.87945 2.88019 -31.75
      vertex 1.90386 2.9046 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 1.95267 2.9046 -31.75
      vertex 1.90386 2.9046 -31.75
      vertex 1.95267 2.92901 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.00149 2.92901 -31.75
      vertex 1.95267 2.92901 -31.75
      vertex 2.00149 2.95342 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.05031 2.95342 -31.75
      vertex 2.00149 2.95342 -31.75
      vertex 2.05031 2.97783 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.09912 2.97783 -31.75
      vertex 2.05031 2.97783 -31.75
      vertex 2.09912 3.00223 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.14794 3.00223 -31.75
      vertex 2.09912 3.00223 -31.75
      vertex 2.14794 3.02664 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.17235 3.02664 -31.75
      vertex 2.14794 3.02664 -31.75
      vertex 2.17235 3.05105 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.19676 3.05105 -31.75
      vertex 2.17235 3.05105 -31.75
      vertex 2.19676 3.07546 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.24557 3.07546 -31.75
      vertex 2.19676 3.07546 -31.75
      vertex 2.24557 3.09987 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.26998 3.09987 -31.75
      vertex 2.24557 3.09987 -31.75
      vertex 2.26998 3.17309 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.29439 3.17309 -31.75
      vertex 2.26998 3.17309 -31.75
      vertex 2.29439 3.22191 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.3188 3.22191 -31.75
      vertex 2.29439 3.22191 -31.75
      vertex 2.3188 3.24632 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.34321 3.24632 -31.75
      vertex 2.3188 3.24632 -31.75
      vertex 2.34321 3.31954 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.36761 3.31954 -31.75
      vertex 2.34321 3.31954 -31.75
      vertex 2.36761 3.36836 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.39202 3.36836 -31.75
      vertex 2.36761 3.36836 -31.75
      vertex 2.39202 3.46599 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.41643 3.46599 -31.75
      vertex 2.39202 3.46599 -31.75
      vertex 2.41643 3.53922 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.44084 3.53922 -31.75
      vertex 2.41643 3.53922 -31.75
      vertex 2.44084 3.56363 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.46525 3.56363 -31.75
      vertex 2.44084 3.56363 -31.75
      vertex 2.46525 3.63685 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.48966 3.63685 -31.75
      vertex 2.46525 3.63685 -31.75
      vertex 2.48966 3.66126 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.51407 3.66126 -31.75
      vertex 2.48966 3.66126 -31.75
      vertex 2.51407 3.68567 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.53847 3.68567 -31.75
      vertex 2.51407 3.68567 -31.75
      vertex 2.53847 3.71008 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.58729 3.71008 -31.75
      vertex 2.53847 3.71008 -31.75
      vertex 2.58729 3.73449 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.6117 3.73449 -31.75
      vertex 2.58729 3.73449 -31.75
      vertex 2.6117 3.75889 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.63611 3.75889 -31.75
      vertex 2.6117 3.75889 -31.75
      vertex 2.63611 3.7833 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.66052 3.7833 -31.75
      vertex 2.63611 3.7833 -31.75
      vertex 2.66052 3.80771 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.68492 3.80771 -31.75
      vertex 2.66052 3.80771 -31.75
      vertex 2.68492 3.85653 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.70933 3.85653 -31.75
      vertex 2.68492 3.85653 -31.75
      vertex 2.70933 3.88094 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.73374 3.88094 -31.75
      vertex 2.70933 3.88094 -31.75
      vertex 2.73374 3.97857 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.73374 3.97857 -31.75
      vertex 2.75815 4.0518 -31.75
      vertex 2.75815 3.97857 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.68492 3.85653 -31.75
      vertex 2.73374 3.97857 -31.75
      vertex 2.70933 3.88094 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.53847 3.71008 -31.75
      vertex 2.73374 3.97857 -31.75
      vertex 2.68492 3.85653 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.63611 3.7833 -31.75
      vertex 2.68492 3.85653 -31.75
      vertex 2.66052 3.80771 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.53847 3.71008 -31.75
      vertex 2.68492 3.85653 -31.75
      vertex 2.63611 3.7833 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.53847 3.71008 -31.75
      vertex 2.63611 3.7833 -31.75
      vertex 2.6117 3.75889 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.53847 3.71008 -31.75
      vertex 2.6117 3.75889 -31.75
      vertex 2.58729 3.73449 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.73374 3.97857 -31.75
      vertex 2.53847 3.71008 -31.75
      vertex 2.75815 4.0518 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.51407 3.68567 -31.75
      vertex 2.75815 4.0518 -31.75
      vertex 2.53847 3.71008 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.878702 4.0518 -31.75
      vertex 2.51407 3.68567 -31.75
      vertex 2.48966 3.66126 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.878702 4.0518 -31.75
      vertex 2.48966 3.66126 -31.75
      vertex 2.46525 3.63685 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.41643 3.53922 -31.75
      vertex 2.46525 3.63685 -31.75
      vertex 2.44084 3.56363 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.34321 3.31954 -31.75
      vertex 2.39202 3.46599 -31.75
      vertex 2.36761 3.36836 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.29439 3.22191 -31.75
      vertex 2.34321 3.31954 -31.75
      vertex 2.3188 3.24632 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.00149 2.95342 -31.75
      vertex 2.34321 3.31954 -31.75
      vertex 2.29439 3.22191 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 2.34321 3.31954 -31.75
      vertex 2.00149 2.95342 -31.75
      vertex 2.39202 3.46599 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.05031 2.97783 -31.75
      vertex 2.29439 3.22191 -31.75
      vertex 2.26998 3.17309 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.19676 3.07546 -31.75
      vertex 2.26998 3.17309 -31.75
      vertex 2.24557 3.09987 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.09912 3.00223 -31.75
      vertex 2.26998 3.17309 -31.75
      vertex 2.19676 3.07546 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.09912 3.00223 -31.75
      vertex 2.19676 3.07546 -31.75
      vertex 2.17235 3.05105 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.29439 3.22191 -31.75
      vertex 2.05031 2.97783 -31.75
      vertex 2.00149 2.95342 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.09912 3.00223 -31.75
      vertex 2.17235 3.05105 -31.75
      vertex 2.14794 3.02664 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.26998 3.17309 -31.75
      vertex 2.09912 3.00223 -31.75
      vertex 2.05031 2.97783 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.878702 3.92975 -31.75
      vertex 2.39202 3.46599 -31.75
      vertex 2.00149 2.95342 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.39202 3.46599 -31.75
      vertex 0.878702 3.92975 -31.75
      vertex 2.41643 3.53922 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.878702 3.92975 -31.75
      vertex 2.00149 2.95342 -31.75
      vertex 1.95267 2.92901 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.41643 3.53922 -31.75
      vertex 0.878702 3.92975 -31.75
      vertex 2.46525 3.63685 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.878702 3.92975 -31.75
      vertex 1.95267 2.92901 -31.75
      vertex 1.90386 2.9046 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.878702 3.92975 -31.75
      vertex 1.90386 2.9046 -31.75
      vertex 1.87945 2.88019 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.878702 3.92975 -31.75
      vertex 1.87945 2.88019 -31.75
      vertex 1.85504 2.85578 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 0.878702 4.0518 -31.75
      vertex 2.46525 3.63685 -31.75
      vertex 0.878702 3.92975 -31.75
    endloop
  endfacet
  facet normal 0 0 -1
    outer loop
      vertex 2.51407 3.68567 -31.75
      vertex 0.878702 4.0518 -31.75
      vertex 2.75815 4.0518 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.878702 3.92975 -31.75
      vertex 0.854294 3.85653 -31.75
      vertex 0.854294 3.92975 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.854294 3.85653 -31.75
      vertex 0.829885 3.83212 -31.75
      vertex 0.829885 3.85653 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.829885 3.83212 -31.75
      vertex 0.781069 3.80771 -31.75
      vertex 0.781069 3.83212 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.781069 3.80771 -31.75
      vertex 0.268492 3.7833 -31.75
      vertex 0.268492 3.80771 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.268492 3.7833 -31.75
      vertex 0.244083 3.75889 -31.75
      vertex 0.244083 3.7833 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.244083 3.75889 -31.75
      vertex 0.195267 3.73449 -31.75
      vertex 0.195267 3.75889 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.195267 3.73449 -31.75
      vertex 0.170858 3.71008 -31.75
      vertex 0.170858 3.73449 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.170858 3.71008 -31.75
      vertex 0.14645 3.68567 -31.75
      vertex 0.14645 3.71008 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.14645 3.68567 -31.75
      vertex 0.122042 3.66126 -31.75
      vertex 0.122042 3.68567 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.122042 3.66126 -31.75
      vertex 0.0976334 3.63685 -31.75
      vertex 0.0976334 3.66126 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.0976334 3.63685 -31.75
      vertex 0.073225 3.31954 -31.75
      vertex 0.073225 3.63685 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.073225 3.31954 -31.75
      vertex 0.0488167 3.1975 -31.75
      vertex 0.0488167 3.31954 -31.75
    endloop
  endfacet
  facet normal -0 0 -1
    outer loop
      vertex 0.0488167 3.1975 -31.75
      vertex 0.0244083 3.05105 -31.75
      vertex 0.0244083 3.1975 -31.75
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.0976334 0 -3.3655
      vertex 0.463759 0 0
      vertex 0.0976334 0 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 0.463759 0 0
      vertex 0.0976334 0 -3.3655
      vertex 0.463759 0 -3.3655
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.0976334 0 0
      vertex 0 0 0.0030508
      vertex 0 0 0
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.463759 0 0
      vertex 0 0 0.0030508
      vertex 0.0976334 0 0
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0 0 0.0030508
      vertex 0.463759 0 0
      vertex 3.34395 0 0.0030508
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 3.34395 0 0.0030508
      vertex 0.463759 0 0
      vertex 3.34395 0 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 0.463759 0 -3.3655
      vertex 0.463759 0.0244083 0
      vertex 0.463759 0 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 0.463759 0.0244083 0
      vertex 0.463759 0 -3.3655
      vertex 0.463759 0.0244083 -3.38991
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.073225 0.0244083 -3.38991
      vertex 0.073225 0.0488167 0
      vertex 0.073225 0.0488167 -3.41432
    endloop
  endfacet
  facet normal -1 -0 0
    outer loop
      vertex 0.073225 0.0488167 0
      vertex 0.073225 0.0244083 -3.38991
      vertex 0.073225 0.0244083 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.31805 0.0244083 -3.38991
      vertex 1.31805 0.0488167 0
      vertex 1.31805 0.0244083 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.31805 0.0488167 0
      vertex 1.31805 0.0244083 -3.38991
      vertex 1.31805 0.0488167 -3.41432
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 0.0976334 0.0488167 -3.41432
      vertex 0.073225 0.0488167 0
      vertex 0.0976334 0.0488167 0
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 0.073225 0.0488167 0
      vertex 0.0976334 0.0488167 -3.41432
      vertex 0.073225 0.0488167 -3.41432
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.31805 0.0488167 -3.41432
      vertex 1.34246 0.0488167 0
      vertex 1.31805 0.0488167 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.34246 0.0488167 0
      vertex 1.31805 0.0488167 -3.41432
      vertex 1.34246 0.0488167 -3.41432
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0976334 0.0488167 -3.41432
      vertex 0.0976334 0.122042 0
      vertex 0.0976334 0.122042 -3.48754
    endloop
  endfacet
  facet normal -1 -0 0
    outer loop
      vertex 0.0976334 0.122042 0
      vertex 0.0976334 0.0488167 -3.41432
      vertex 0.0976334 0.0488167 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.34246 0.0488167 -3.41432
      vertex 1.34246 0.073225 0
      vertex 1.34246 0.0488167 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.34246 0.073225 0
      vertex 1.34246 0.0488167 -3.41432
      vertex 1.34246 0.073225 -3.43872
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.34246 0.073225 -3.43872
      vertex 1.36687 0.073225 0
      vertex 1.34246 0.073225 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.36687 0.073225 0
      vertex 1.34246 0.073225 -3.43872
      vertex 1.36687 0.073225 -3.43872
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.36687 0.073225 -3.43872
      vertex 1.36687 0.0976334 0
      vertex 1.36687 0.073225 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.36687 0.0976334 0
      vertex 1.36687 0.073225 -3.43872
      vertex 1.36687 0.0976334 -3.46313
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.36687 0.0976334 -3.46313
      vertex 1.39128 0.0976334 0
      vertex 1.36687 0.0976334 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.39128 0.0976334 0
      vertex 1.36687 0.0976334 -3.46313
      vertex 1.39128 0.0976334 -3.46313
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.39128 0.0976334 -3.46313
      vertex 1.39128 0.122042 0
      vertex 1.39128 0.0976334 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.39128 0.122042 0
      vertex 1.39128 0.0976334 -3.46313
      vertex 1.39128 0.122042 -3.48754
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.073225 0.122042 -3.48754
      vertex 0.0976334 0.122042 0
      vertex 0.073225 0.122042 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 0.0976334 0.122042 0
      vertex 0.073225 0.122042 -3.48754
      vertex 0.0976334 0.122042 -3.48754
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.39128 0.122042 -3.48754
      vertex 1.41569 0.122042 0
      vertex 1.39128 0.122042 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.41569 0.122042 0
      vertex 1.39128 0.122042 -3.48754
      vertex 1.41569 0.122042 -3.48754
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.073225 0.122042 -3.48754
      vertex 0.073225 0.341717 0
      vertex 0.073225 0.341717 -3.70722
    endloop
  endfacet
  facet normal -1 -0 0
    outer loop
      vertex 0.073225 0.341717 0
      vertex 0.073225 0.122042 -3.48754
      vertex 0.073225 0.122042 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.41569 0.122042 -3.48754
      vertex 1.41569 0.390534 0
      vertex 1.41569 0.122042 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.41569 0.390534 0
      vertex 1.41569 0.122042 -3.48754
      vertex 1.41569 0.390534 -3.75603
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.0488167 0.341717 -3.70722
      vertex 0.073225 0.341717 0
      vertex 0.0488167 0.341717 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 0.073225 0.341717 0
      vertex 0.0488167 0.341717 -3.70722
      vertex 0.073225 0.341717 -3.70722
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 0.952501 -4.318
      vertex 0.0488167 1.02515 -6.61315
      vertex 0.0488167 0.952501 -5.588
    endloop
  endfacet
  facet normal -1 0 -0
    outer loop
      vertex 0.0488167 0.952501 -5.588
      vertex 0.0488167 1.02515 -6.61315
      vertex 0.0488167 0.47625 -6.06425
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.02515 -6.61315
      vertex 0.0488167 0.952501 -4.318
      vertex 0.0488167 1.02515 0
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 0.341717 -3.70722
      vertex 0.0488167 1.02515 0
      vertex 0.0488167 0.952501 -4.318
    endloop
  endfacet
  facet normal -1 -0 0
    outer loop
      vertex 0.0488167 1.02515 0
      vertex 0.0488167 0.341717 -3.70722
      vertex 0.0488167 0.341717 0
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.02515 -29.9212
      vertex 0.0488167 0.569722 -29.4658
      vertex 0.0488167 1.02515 -29.0103
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.02515 -26.6157
      vertex 0.0488167 0.47625 -26.0667
      vertex 0.0488167 1.02515 -25.5178
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.02515 -22.4882
      vertex 0.0488167 0.9525 -22.4155
      vertex 0.0488167 1.02515 -22.3428
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.02515 -11.3757
      vertex 0.0488167 0.79375 -11.1442
      vertex 0.0488167 1.02515 -10.9128
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.02515 -13.9157
      vertex 0.0488167 0.9525 -13.843
      vertex 0.0488167 1.02515 -13.7703
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.41569 0.390534 -3.75603
      vertex 1.4401 0.390534 0
      vertex 1.41569 0.390534 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4401 0.390534 0
      vertex 1.41569 0.390534 -3.75603
      vertex 1.4401 0.390534 -3.75603
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 0.390534 -3.75603
      vertex 1.4401 0.829885 0
      vertex 1.4401 0.390534 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 0.829885 0
      vertex 1.4401 0.390534 -3.75603
      vertex 1.4401 0.829885 -4.19539
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 0.829885 -29.2056
      vertex 1.4401 0.569722 -29.4658
      vertex 1.4401 0.829885 -29.7259
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 0.829885 -25.7131
      vertex 1.4401 0.47625 -26.0667
      vertex 1.4401 0.829885 -26.4204
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 0.829885 -11.1081
      vertex 1.4401 0.79375 -11.1442
      vertex 1.4401 0.829885 -11.1804
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 0.829885 -5.71061
      vertex 1.4401 0.47625 -6.06425
      vertex 1.4401 0.829885 -6.41789
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4401 0.829885 -4.19539
      vertex 1.4645 0.829885 0
      vertex 1.4401 0.829885 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4645 0.829885 0
      vertex 1.4401 0.829885 -4.19539
      vertex 1.4645 0.829885 -4.19539
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4401 0.829885 -29.7259
      vertex 1.4645 0.829885 -29.2056
      vertex 1.4401 0.829885 -29.2056
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4645 0.829885 -29.2056
      vertex 1.4401 0.829885 -29.7259
      vertex 1.4645 0.829885 -29.7259
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4401 0.829885 -26.4204
      vertex 1.4645 0.829885 -25.7131
      vertex 1.4401 0.829885 -25.7131
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4645 0.829885 -25.7131
      vertex 1.4401 0.829885 -26.4204
      vertex 1.4645 0.829885 -26.4204
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4401 0.829885 -11.1804
      vertex 1.4645 0.829885 -11.1081
      vertex 1.4401 0.829885 -11.1081
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4645 0.829885 -11.1081
      vertex 1.4401 0.829885 -11.1804
      vertex 1.4645 0.829885 -11.1804
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4401 0.829885 -6.41789
      vertex 1.4645 0.829885 -5.71061
      vertex 1.4401 0.829885 -5.71061
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4645 0.829885 -5.71061
      vertex 1.4401 0.829885 -6.41789
      vertex 1.4645 0.829885 -6.41789
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 0.829885 -4.19539
      vertex 1.4645 0.878702 0
      vertex 1.4645 0.829885 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 0.878702 0
      vertex 1.4645 0.829885 -4.19539
      vertex 1.4645 0.878702 -4.2442
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4645 0.829885 -29.2056
      vertex 1.4645 0.878702 -29.7748
      vertex 1.4645 0.878702 -29.1568
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 0.878702 -29.7748
      vertex 1.4645 0.829885 -29.2056
      vertex 1.4645 0.829885 -29.7259
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4645 0.829885 -25.7131
      vertex 1.4645 0.878702 -26.4692
      vertex 1.4645 0.878702 -25.6643
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 0.878702 -26.4692
      vertex 1.4645 0.829885 -25.7131
      vertex 1.4645 0.829885 -26.4204
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4645 0.829885 -11.1081
      vertex 1.4645 0.878702 -11.2292
      vertex 1.4645 0.878702 -11.0593
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 0.878702 -11.2292
      vertex 1.4645 0.829885 -11.1081
      vertex 1.4645 0.829885 -11.1804
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4645 0.829885 -5.71061
      vertex 1.4645 0.878702 -6.4667
      vertex 1.4645 0.878702 -5.6618
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 0.878702 -6.4667
      vertex 1.4645 0.829885 -5.71061
      vertex 1.4645 0.829885 -6.41789
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.4645 0.878702 -4.2442
      vertex 1.4401 0.878702 0
      vertex 1.4645 0.878702 0
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.4401 0.878702 0
      vertex 1.4645 0.878702 -4.2442
      vertex 1.4401 0.878702 -4.2442
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.4645 0.878702 -29.7748
      vertex 1.4401 0.878702 -29.1568
      vertex 1.4645 0.878702 -29.1568
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.4401 0.878702 -29.1568
      vertex 1.4645 0.878702 -29.7748
      vertex 1.4401 0.878702 -29.7748
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.4645 0.878702 -26.4692
      vertex 1.4401 0.878702 -25.6643
      vertex 1.4645 0.878702 -25.6643
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.4401 0.878702 -25.6643
      vertex 1.4645 0.878702 -26.4692
      vertex 1.4401 0.878702 -26.4692
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.4645 0.878702 -11.2292
      vertex 1.4401 0.878702 -11.0593
      vertex 1.4645 0.878702 -11.0593
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.4401 0.878702 -11.0593
      vertex 1.4645 0.878702 -11.2292
      vertex 1.4401 0.878702 -11.2292
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.4645 0.878702 -6.4667
      vertex 1.4401 0.878702 -5.6618
      vertex 1.4645 0.878702 -5.6618
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.4401 0.878702 -5.6618
      vertex 1.4645 0.878702 -6.4667
      vertex 1.4401 0.878702 -6.4667
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 1.14719 0
      vertex 1.4401 0.952501 -4.318
      vertex 1.4401 1.14719 -6.73519
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 0.878702 -4.2442
      vertex 1.4401 1.14719 0
      vertex 1.4401 0.878702 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 1.14719 0
      vertex 1.4401 0.878702 -4.2442
      vertex 1.4401 0.952501 -4.318
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4401 0.952501 -5.588
      vertex 1.4401 1.14719 -6.73519
      vertex 1.4401 0.952501 -4.318
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 0.878702 -6.4667
      vertex 1.4401 0.952501 -5.588
      vertex 1.4401 0.878702 -5.6618
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 0.952501 -5.588
      vertex 1.4401 0.878702 -6.4667
      vertex 1.4401 1.14719 -6.73519
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4401 0.878702 -29.1568
      vertex 1.4401 1.14719 -30.0433
      vertex 1.4401 1.14719 -28.8883
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 1.14719 -30.0433
      vertex 1.4401 0.878702 -29.1568
      vertex 1.4401 0.878702 -29.7748
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4401 0.878702 -25.6643
      vertex 1.4401 1.14719 -26.7377
      vertex 1.4401 1.14719 -25.3958
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 1.14719 -26.7377
      vertex 1.4401 0.878702 -25.6643
      vertex 1.4401 0.878702 -26.4692
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 1.14719 -22.2208
      vertex 1.4401 0.9525 -22.4155
      vertex 1.4401 1.14719 -22.6102
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4401 0.878702 -11.0593
      vertex 1.4401 1.14719 -11.4977
      vertex 1.4401 1.14719 -10.7908
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 1.14719 -11.4977
      vertex 1.4401 0.878702 -11.0593
      vertex 1.4401 0.878702 -11.2292
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 1.14719 -13.6483
      vertex 1.4401 0.9525 -13.843
      vertex 1.4401 1.14719 -14.0377
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 0.073225 1.02515 -6.61315
      vertex 0.0488167 1.02515 0
      vertex 0.073225 1.02515 0
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 0.0488167 1.02515 0
      vertex 0.073225 1.02515 -6.61315
      vertex 0.0488167 1.02515 -6.61315
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 0.073225 1.02515 -29.9212
      vertex 0.0488167 1.02515 -29.0103
      vertex 0.073225 1.02515 -29.0103
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 0.0488167 1.02515 -29.0103
      vertex 0.073225 1.02515 -29.9212
      vertex 0.0488167 1.02515 -29.9212
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 0.073225 1.02515 -26.6157
      vertex 0.0488167 1.02515 -25.5178
      vertex 0.073225 1.02515 -25.5178
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 0.0488167 1.02515 -25.5178
      vertex 0.073225 1.02515 -26.6157
      vertex 0.0488167 1.02515 -26.6157
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 0.073225 1.02515 -22.4882
      vertex 0.0488167 1.02515 -22.3428
      vertex 0.073225 1.02515 -22.3428
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 0.0488167 1.02515 -22.3428
      vertex 0.073225 1.02515 -22.4882
      vertex 0.0488167 1.02515 -22.4882
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 0.073225 1.02515 -11.3757
      vertex 0.0488167 1.02515 -10.9128
      vertex 0.073225 1.02515 -10.9128
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 0.0488167 1.02515 -10.9128
      vertex 0.073225 1.02515 -11.3757
      vertex 0.0488167 1.02515 -11.3757
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 0.073225 1.02515 -13.9157
      vertex 0.0488167 1.02515 -13.7703
      vertex 0.073225 1.02515 -13.7703
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 0.0488167 1.02515 -13.7703
      vertex 0.073225 1.02515 -13.9157
      vertex 0.0488167 1.02515 -13.9157
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.073225 1.02515 -6.61315
      vertex 0.073225 1.04956 0
      vertex 0.073225 1.04956 -6.63756
    endloop
  endfacet
  facet normal -1 -0 0
    outer loop
      vertex 0.073225 1.04956 0
      vertex 0.073225 1.02515 -6.61315
      vertex 0.073225 1.02515 0
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.073225 1.02515 -29.9212
      vertex 0.073225 1.04956 -28.9859
      vertex 0.073225 1.04956 -29.9456
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.073225 1.04956 -28.9859
      vertex 0.073225 1.02515 -29.9212
      vertex 0.073225 1.02515 -29.0103
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.073225 1.02515 -26.6157
      vertex 0.073225 1.04956 -25.4934
      vertex 0.073225 1.04956 -26.6401
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.073225 1.04956 -25.4934
      vertex 0.073225 1.02515 -26.6157
      vertex 0.073225 1.02515 -25.5178
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.073225 1.02515 -22.4882
      vertex 0.073225 1.04956 -22.3184
      vertex 0.073225 1.04956 -22.5126
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.073225 1.04956 -22.3184
      vertex 0.073225 1.02515 -22.4882
      vertex 0.073225 1.02515 -22.3428
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.073225 1.02515 -11.3757
      vertex 0.073225 1.04956 -10.8884
      vertex 0.073225 1.04956 -11.4001
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.073225 1.04956 -10.8884
      vertex 0.073225 1.02515 -11.3757
      vertex 0.073225 1.02515 -10.9128
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.073225 1.02515 -13.9157
      vertex 0.073225 1.04956 -13.7459
      vertex 0.073225 1.04956 -13.9401
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.073225 1.04956 -13.7459
      vertex 0.073225 1.02515 -13.9157
      vertex 0.073225 1.02515 -13.7703
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.0488167 1.04956 -6.63756
      vertex 0.073225 1.04956 0
      vertex 0.0488167 1.04956 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 0.073225 1.04956 0
      vertex 0.0488167 1.04956 -6.63756
      vertex 0.073225 1.04956 -6.63756
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.0488167 1.04956 -29.9456
      vertex 0.073225 1.04956 -28.9859
      vertex 0.0488167 1.04956 -28.9859
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 0.073225 1.04956 -28.9859
      vertex 0.0488167 1.04956 -29.9456
      vertex 0.073225 1.04956 -29.9456
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.0488167 1.04956 -26.6401
      vertex 0.073225 1.04956 -25.4934
      vertex 0.0488167 1.04956 -25.4934
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 0.073225 1.04956 -25.4934
      vertex 0.0488167 1.04956 -26.6401
      vertex 0.073225 1.04956 -26.6401
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.0488167 1.04956 -22.5126
      vertex 0.073225 1.04956 -22.3184
      vertex 0.0488167 1.04956 -22.3184
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 0.073225 1.04956 -22.3184
      vertex 0.0488167 1.04956 -22.5126
      vertex 0.073225 1.04956 -22.5126
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.0488167 1.04956 -11.4001
      vertex 0.073225 1.04956 -10.8884
      vertex 0.0488167 1.04956 -10.8884
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 0.073225 1.04956 -10.8884
      vertex 0.0488167 1.04956 -11.4001
      vertex 0.073225 1.04956 -11.4001
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.0488167 1.04956 -13.9401
      vertex 0.073225 1.04956 -13.7459
      vertex 0.0488167 1.04956 -13.7459
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 0.073225 1.04956 -13.7459
      vertex 0.0488167 1.04956 -13.9401
      vertex 0.073225 1.04956 -13.9401
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.04956 -6.63756
      vertex 0.0488167 1.39128 0
      vertex 0.0488167 1.39128 -6.97928
    endloop
  endfacet
  facet normal -1 -0 0
    outer loop
      vertex 0.0488167 1.39128 0
      vertex 0.0488167 1.04956 -6.63756
      vertex 0.0488167 1.04956 0
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.04956 -29.9456
      vertex 0.0488167 1.39128 -28.6442
      vertex 0.0488167 1.39128 -30.2873
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.39128 -28.6442
      vertex 0.0488167 1.04956 -29.9456
      vertex 0.0488167 1.04956 -28.9859
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.04956 -26.6401
      vertex 0.0488167 1.39128 -25.1517
      vertex 0.0488167 1.39128 -26.9818
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.39128 -25.1517
      vertex 0.0488167 1.04956 -26.6401
      vertex 0.0488167 1.04956 -25.4934
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.04956 -22.5126
      vertex 0.0488167 1.39128 -21.9767
      vertex 0.0488167 1.39128 -22.8543
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.39128 -21.9767
      vertex 0.0488167 1.04956 -22.5126
      vertex 0.0488167 1.04956 -22.3184
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.04956 -11.4001
      vertex 0.0488167 1.39128 -10.5467
      vertex 0.0488167 1.39128 -11.7418
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.39128 -10.5467
      vertex 0.0488167 1.04956 -11.4001
      vertex 0.0488167 1.04956 -10.8884
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.04956 -13.9401
      vertex 0.0488167 1.39128 -13.4042
      vertex 0.0488167 1.39128 -14.2818
    endloop
  endfacet
  facet normal -1 0 0
    outer loop
      vertex 0.0488167 1.39128 -13.4042
      vertex 0.0488167 1.04956 -13.9401
      vertex 0.0488167 1.04956 -13.7459
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.4401 1.14719 -6.73519
      vertex 1.41569 1.14719 0
      vertex 1.4401 1.14719 0
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.41569 1.14719 0
      vertex 1.4401 1.14719 -6.73519
      vertex 1.41569 1.14719 -6.73519
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.4401 1.14719 -30.0433
      vertex 1.41569 1.14719 -28.8883
      vertex 1.4401 1.14719 -28.8883
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.41569 1.14719 -28.8883
      vertex 1.4401 1.14719 -30.0433
      vertex 1.41569 1.14719 -30.0433
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.4401 1.14719 -26.7377
      vertex 1.41569 1.14719 -25.3958
      vertex 1.4401 1.14719 -25.3958
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.41569 1.14719 -25.3958
      vertex 1.4401 1.14719 -26.7377
      vertex 1.41569 1.14719 -26.7377
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.4401 1.14719 -22.6102
      vertex 1.41569 1.14719 -22.2208
      vertex 1.4401 1.14719 -22.2208
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.41569 1.14719 -22.2208
      vertex 1.4401 1.14719 -22.6102
      vertex 1.41569 1.14719 -22.6102
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.4401 1.14719 -11.4977
      vertex 1.41569 1.14719 -10.7908
      vertex 1.4401 1.14719 -10.7908
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.41569 1.14719 -10.7908
      vertex 1.4401 1.14719 -11.4977
      vertex 1.41569 1.14719 -11.4977
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.4401 1.14719 -14.0377
      vertex 1.41569 1.14719 -13.6483
      vertex 1.4401 1.14719 -13.6483
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.41569 1.14719 -13.6483
      vertex 1.4401 1.14719 -14.0377
      vertex 1.41569 1.14719 -14.0377
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.41569 1.14719 -6.73519
      vertex 1.41569 1.1716 0
      vertex 1.41569 1.14719 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.41569 1.1716 0
      vertex 1.41569 1.14719 -6.73519
      vertex 1.41569 1.1716 -6.7596
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.41569 1.14719 -28.8883
      vertex 1.41569 1.1716 -30.0677
      vertex 1.41569 1.1716 -28.8639
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.41569 1.1716 -30.0677
      vertex 1.41569 1.14719 -28.8883
      vertex 1.41569 1.14719 -30.0433
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.41569 1.14719 -25.3958
      vertex 1.41569 1.1716 -26.7621
      vertex 1.41569 1.1716 -25.3714
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.41569 1.1716 -26.7621
      vertex 1.41569 1.14719 -25.3958
      vertex 1.41569 1.14719 -26.7377
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.41569 1.14719 -22.2208
      vertex 1.41569 1.1716 -22.6346
      vertex 1.41569 1.1716 -22.1964
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.41569 1.1716 -22.6346
      vertex 1.41569 1.14719 -22.2208
      vertex 1.41569 1.14719 -22.6102
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.41569 1.14719 -10.7908
      vertex 1.41569 1.1716 -11.5221
      vertex 1.41569 1.1716 -10.7664
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.41569 1.1716 -11.5221
      vertex 1.41569 1.14719 -10.7908
      vertex 1.41569 1.14719 -11.4977
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.41569 1.14719 -13.6483
      vertex 1.41569 1.1716 -14.0621
      vertex 1.41569 1.1716 -13.6239
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.41569 1.1716 -14.0621
      vertex 1.41569 1.14719 -13.6483
      vertex 1.41569 1.14719 -14.0377
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.41569 1.1716 -6.7596
      vertex 1.4401 1.1716 0
      vertex 1.41569 1.1716 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4401 1.1716 0
      vertex 1.41569 1.1716 -6.7596
      vertex 1.4401 1.1716 -6.7596
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.41569 1.1716 -30.0677
      vertex 1.4401 1.1716 -28.8639
      vertex 1.41569 1.1716 -28.8639
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4401 1.1716 -28.8639
      vertex 1.41569 1.1716 -30.0677
      vertex 1.4401 1.1716 -30.0677
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.41569 1.1716 -26.7621
      vertex 1.4401 1.1716 -25.3714
      vertex 1.41569 1.1716 -25.3714
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4401 1.1716 -25.3714
      vertex 1.41569 1.1716 -26.7621
      vertex 1.4401 1.1716 -26.7621
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.41569 1.1716 -22.6346
      vertex 1.4401 1.1716 -22.1964
      vertex 1.41569 1.1716 -22.1964
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4401 1.1716 -22.1964
      vertex 1.41569 1.1716 -22.6346
      vertex 1.4401 1.1716 -22.6346
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.41569 1.1716 -11.5221
      vertex 1.4401 1.1716 -10.7664
      vertex 1.41569 1.1716 -10.7664
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4401 1.1716 -10.7664
      vertex 1.41569 1.1716 -11.5221
      vertex 1.4401 1.1716 -11.5221
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.41569 1.1716 -14.0621
      vertex 1.4401 1.1716 -13.6239
      vertex 1.41569 1.1716 -13.6239
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4401 1.1716 -13.6239
      vertex 1.41569 1.1716 -14.0621
      vertex 1.4401 1.1716 -14.0621
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 1.1716 -6.7596
      vertex 1.4401 1.29364 0
      vertex 1.4401 1.1716 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 1.29364 0
      vertex 1.4401 1.1716 -6.7596
      vertex 1.4401 1.29364 -6.88164
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4401 1.1716 -28.8639
      vertex 1.4401 1.29364 -30.1897
      vertex 1.4401 1.29364 -28.7419
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 1.29364 -30.1897
      vertex 1.4401 1.1716 -28.8639
      vertex 1.4401 1.1716 -30.0677
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4401 1.1716 -25.3714
      vertex 1.4401 1.29364 -26.8841
      vertex 1.4401 1.29364 -25.2494
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 1.29364 -26.8841
      vertex 1.4401 1.1716 -25.3714
      vertex 1.4401 1.1716 -26.7621
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4401 1.1716 -22.1964
      vertex 1.4401 1.29364 -22.7566
      vertex 1.4401 1.29364 -22.0744
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 1.29364 -22.7566
      vertex 1.4401 1.1716 -22.1964
      vertex 1.4401 1.1716 -22.6346
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4401 1.1716 -10.7664
      vertex 1.4401 1.29364 -11.6441
      vertex 1.4401 1.29364 -10.6444
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 1.29364 -11.6441
      vertex 1.4401 1.1716 -10.7664
      vertex 1.4401 1.1716 -11.5221
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4401 1.1716 -13.6239
      vertex 1.4401 1.29364 -14.1841
      vertex 1.4401 1.29364 -13.5019
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4401 1.29364 -14.1841
      vertex 1.4401 1.1716 -13.6239
      vertex 1.4401 1.1716 -14.0621
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4401 1.29364 -6.88164
      vertex 1.4645 1.29364 0
      vertex 1.4401 1.29364 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4645 1.29364 0
      vertex 1.4401 1.29364 -6.88164
      vertex 1.4645 1.29364 -6.88164
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4401 1.29364 -30.1897
      vertex 1.4645 1.29364 -28.7419
      vertex 1.4401 1.29364 -28.7419
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4645 1.29364 -28.7419
      vertex 1.4401 1.29364 -30.1897
      vertex 1.4645 1.29364 -30.1897
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4401 1.29364 -26.8841
      vertex 1.4645 1.29364 -25.2494
      vertex 1.4401 1.29364 -25.2494
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4645 1.29364 -25.2494
      vertex 1.4401 1.29364 -26.8841
      vertex 1.4645 1.29364 -26.8841
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4401 1.29364 -22.7566
      vertex 1.4645 1.29364 -22.0744
      vertex 1.4401 1.29364 -22.0744
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4645 1.29364 -22.0744
      vertex 1.4401 1.29364 -22.7566
      vertex 1.4645 1.29364 -22.7566
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4401 1.29364 -11.6441
      vertex 1.4645 1.29364 -10.6444
      vertex 1.4401 1.29364 -10.6444
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4645 1.29364 -10.6444
      vertex 1.4401 1.29364 -11.6441
      vertex 1.4645 1.29364 -11.6441
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4401 1.29364 -14.1841
      vertex 1.4645 1.29364 -13.5019
      vertex 1.4401 1.29364 -13.5019
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.4645 1.29364 -13.5019
      vertex 1.4401 1.29364 -14.1841
      vertex 1.4645 1.29364 -14.1841
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 1.29364 -6.88164
      vertex 1.4645 1.31805 0
      vertex 1.4645 1.29364 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 1.31805 0
      vertex 1.4645 1.29364 -6.88164
      vertex 1.4645 1.31805 -6.90605
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4645 1.29364 -28.7419
      vertex 1.4645 1.31805 -30.2141
      vertex 1.4645 1.31805 -28.7174
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 1.31805 -30.2141
      vertex 1.4645 1.29364 -28.7419
      vertex 1.4645 1.29364 -30.1897
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4645 1.29364 -25.2494
      vertex 1.4645 1.31805 -26.9086
      vertex 1.4645 1.31805 -25.2249
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 1.31805 -26.9086
      vertex 1.4645 1.29364 -25.2494
      vertex 1.4645 1.29364 -26.8841
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4645 1.29364 -22.0744
      vertex 1.4645 1.31805 -22.7811
      vertex 1.4645 1.31805 -22.0499
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 1.31805 -22.7811
      vertex 1.4645 1.29364 -22.0744
      vertex 1.4645 1.29364 -22.7566
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4645 1.29364 -10.6444
      vertex 1.4645 1.31805 -11.6686
      vertex 1.4645 1.31805 -10.6199
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 1.31805 -11.6686
      vertex 1.4645 1.29364 -10.6444
      vertex 1.4645 1.29364 -11.6441
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4645 1.29364 -13.5019
      vertex 1.4645 1.31805 -14.2086
      vertex 1.4645 1.31805 -13.4774
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 1.31805 -14.2086
      vertex 1.4645 1.29364 -13.5019
      vertex 1.4645 1.29364 -14.1841
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4645 1.31805 -6.90605
      vertex 1.48891 1.31805 0
      vertex 1.4645 1.31805 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.48891 1.31805 0
      vertex 1.4645 1.31805 -6.90605
      vertex 1.48891 1.31805 -6.90605
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4645 1.31805 -30.2141
      vertex 1.48891 1.31805 -28.7174
      vertex 1.4645 1.31805 -28.7174
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.48891 1.31805 -28.7174
      vertex 1.4645 1.31805 -30.2141
      vertex 1.48891 1.31805 -30.2141
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4645 1.31805 -26.9086
      vertex 1.48891 1.31805 -25.2249
      vertex 1.4645 1.31805 -25.2249
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.48891 1.31805 -25.2249
      vertex 1.4645 1.31805 -26.9086
      vertex 1.48891 1.31805 -26.9086
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4645 1.31805 -22.7811
      vertex 1.48891 1.31805 -22.0499
      vertex 1.4645 1.31805 -22.0499
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.48891 1.31805 -22.0499
      vertex 1.4645 1.31805 -22.7811
      vertex 1.48891 1.31805 -22.7811
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4645 1.31805 -11.6686
      vertex 1.48891 1.31805 -10.6199
      vertex 1.4645 1.31805 -10.6199
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.48891 1.31805 -10.6199
      vertex 1.4645 1.31805 -11.6686
      vertex 1.48891 1.31805 -11.6686
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 1.4645 1.31805 -14.2086
      vertex 1.48891 1.31805 -13.4774
      vertex 1.4645 1.31805 -13.4774
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 1.48891 1.31805 -13.4774
      vertex 1.4645 1.31805 -14.2086
      vertex 1.48891 1.31805 -14.2086
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.48891 1.31805 -6.90605
      vertex 1.48891 1.36687 0
      vertex 1.48891 1.31805 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.48891 1.36687 0
      vertex 1.48891 1.31805 -6.90605
      vertex 1.48891 1.36687 -6.95487
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.48891 1.31805 -28.7174
      vertex 1.48891 1.36687 -30.2629
      vertex 1.48891 1.36687 -28.6686
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.48891 1.36687 -30.2629
      vertex 1.48891 1.31805 -28.7174
      vertex 1.48891 1.31805 -30.2141
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.48891 1.31805 -25.2249
      vertex 1.48891 1.36687 -26.9574
      vertex 1.48891 1.36687 -25.1761
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.48891 1.36687 -26.9574
      vertex 1.48891 1.31805 -25.2249
      vertex 1.48891 1.31805 -26.9086
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.48891 1.31805 -22.0499
      vertex 1.48891 1.36687 -22.8299
      vertex 1.48891 1.36687 -22.0011
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.48891 1.36687 -22.8299
      vertex 1.48891 1.31805 -22.0499
      vertex 1.48891 1.31805 -22.7811
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.48891 1.31805 -10.6199
      vertex 1.48891 1.36687 -11.7174
      vertex 1.48891 1.36687 -10.5711
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.48891 1.36687 -11.7174
      vertex 1.48891 1.31805 -10.6199
      vertex 1.48891 1.31805 -11.6686
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.48891 1.31805 -13.4774
      vertex 1.48891 1.36687 -14.2574
      vertex 1.48891 1.36687 -13.4286
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.48891 1.36687 -14.2574
      vertex 1.48891 1.31805 -13.4774
      vertex 1.48891 1.31805 -14.2086
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.48891 1.36687 -6.95487
      vertex 1.4645 1.36687 0
      vertex 1.48891 1.36687 0
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.4645 1.36687 0
      vertex 1.48891 1.36687 -6.95487
      vertex 1.4645 1.36687 -6.95487
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.48891 1.36687 -30.2629
      vertex 1.4645 1.36687 -28.6686
      vertex 1.48891 1.36687 -28.6686
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.4645 1.36687 -28.6686
      vertex 1.48891 1.36687 -30.2629
      vertex 1.4645 1.36687 -30.2629
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.48891 1.36687 -26.9574
      vertex 1.4645 1.36687 -25.1761
      vertex 1.48891 1.36687 -25.1761
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.4645 1.36687 -25.1761
      vertex 1.48891 1.36687 -26.9574
      vertex 1.4645 1.36687 -26.9574
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.48891 1.36687 -22.8299
      vertex 1.4645 1.36687 -22.0011
      vertex 1.48891 1.36687 -22.0011
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.4645 1.36687 -22.0011
      vertex 1.48891 1.36687 -22.8299
      vertex 1.4645 1.36687 -22.8299
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.48891 1.36687 -11.7174
      vertex 1.4645 1.36687 -10.5711
      vertex 1.48891 1.36687 -10.5711
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.4645 1.36687 -10.5711
      vertex 1.48891 1.36687 -11.7174
      vertex 1.4645 1.36687 -11.7174
    endloop
  endfacet
  facet normal 0 1 -0
    outer loop
      vertex 1.48891 1.36687 -14.2574
      vertex 1.4645 1.36687 -13.4286
      vertex 1.48891 1.36687 -13.4286
    endloop
  endfacet
  facet normal 0 1 0
    outer loop
      vertex 1.4645 1.36687 -13.4286
      vertex 1.48891 1.36687 -14.2574
      vertex 1.4645 1.36687 -14.2574
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 1.36687 -6.95487
      vertex 1.4645 1.39128 0
      vertex 1.4645 1.36687 0
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 1.39128 0
      vertex 1.4645 1.36687 -6.95487
      vertex 1.4645 1.39128 -6.97928
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4645 1.36687 -28.6686
      vertex 1.4645 1.39128 -30.2873
      vertex 1.4645 1.39128 -28.6442
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 1.39128 -30.2873
      vertex 1.4645 1.36687 -28.6686
      vertex 1.4645 1.36687 -30.2629
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4645 1.36687 -25.1761
      vertex 1.4645 1.39128 -26.9818
      vertex 1.4645 1.39128 -25.1517
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 1.39128 -26.9818
      vertex 1.4645 1.36687 -25.1761
      vertex 1.4645 1.36687 -26.9574
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4645 1.36687 -22.0011
      vertex 1.4645 1.39128 -22.8543
      vertex 1.4645 1.39128 -21.9767
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 1.39128 -22.8543
      vertex 1.4645 1.36687 -22.0011
      vertex 1.4645 1.36687 -22.8299
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4645 1.36687 -10.5711
      vertex 1.4645 1.39128 -11.7418
      vertex 1.4645 1.39128 -10.5467
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 1.39128 -11.7418
      vertex 1.4645 1.36687 -10.5711
      vertex 1.4645 1.36687 -11.7174
    endloop
  endfacet
  facet normal 1 -0 0
    outer loop
      vertex 1.4645 1.36687 -13.4286
      vertex 1.4645 1.39128 -14.2818
      vertex 1.4645 1.39128 -13.4042
    endloop
  endfacet
  facet normal 1 0 0
    outer loop
      vertex 1.4645 1.39128 -14.2818
      vertex 1.4645 1.36687 -13.4286
      vertex 1.4645 1.36687 -14.2574
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.0244083 1.39128 -6.97928
      vertex 0.0488167 1.39128 0
      vertex 0.0244083 1.39128 0
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 0.0488167 1.39128 0
      vertex 0.0244083 1.39128 -6.97928
      vertex 0.0488167 1.39128 -6.97928
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.0244083 1.39128 -30.2873
      vertex 0.0488167 1.39128 -28.6442
      vertex 0.0244083 1.39128 -28.6442
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 0.0488167 1.39128 -28.6442
      vertex 0.0244083 1.39128 -30.2873
      vertex 0.0488167 1.39128 -30.2873
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.0244083 1.39128 -26.9818
      vertex 0.0488167 1.39128 -25.1517
      vertex 0.0244083 1.39128 -25.1517
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 0.0488167 1.39128 -25.1517
      vertex 0.0244083 1.39128 -26.9818
      vertex 0.0488167 1.39128 -26.9818
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.0244083 1.39128 -22.8543
      vertex 0.0488167 1.39128 -21.9767
      vertex 0.0244083 1.39128 -21.9767
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 0.0488167 1.39128 -21.9767
      vertex 0.0244083 1.39128 -22.8543
      vertex 0.0488167 1.39128 -22.8543
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.0244083 1.39128 -11.7418
      vertex 0.0488167 1.39128 -10.5467
      vertex 0.0244083 1.39128 -10.5467
    endloop
  endfacet
  facet normal 0 -1 -0
    outer loop
      vertex 0.0488167 1.39128 -10.5467
      vertex 0.0244083 1.39128 -11.7418
      vertex 0.0488167 1.39128 -11.7418
    endloop
  endfacet
  facet normal 0 -1 0
    outer loop
      vertex 0.0244083 1.
Download .txt
gitextract_hw6po8ej/

├── Automated-Keyway-Modeling/
│   ├── Generic-Key.jscad
│   ├── Generic-Key.scad
│   ├── Keyway-Detection-JSCAD.py
│   ├── KeywayDetection.py
│   ├── README
│   ├── Sample_Output.scad
│   └── Sample_Output.stl
├── README.md
├── Schlage SC1.scad
├── custom-models/
│   ├── BEST G.scad
│   ├── Kwikset KW1.scad
│   ├── Medeco Biaxial.scad
│   ├── Medeco Keymark.scad
│   ├── SEB-145.ipt
│   └── SED-v5.ipt
└── data/
    ├── CEDAR DID04.py
    ├── bestg-cud-1.out
    ├── bestg-cud-2.out
    ├── bestg-mp-1.out
    ├── bestg-mp-2.out
    ├── bestg-mp-3.out
    ├── bestg-mp-4.out
    ├── bestg-wsfp-1.out
    ├── bestg-wsfp-2.out
    ├── bestg-wsfp-3.out
    ├── bestg-wsfp-4.out
    ├── kw1-cud-1.out
    ├── kw1-cud-2.out
    ├── kw1-mp-1.out
    ├── kw1-mp-2.out
    ├── kw1-mp-3.out
    ├── kw1-mp-4.out
    ├── kw1-ns-1.out
    ├── kw1-rbs-1-bent.out
    ├── kw1-rbs-1.out
    ├── kw1-rbs-2.out
    ├── kw1-rbz-1.out
    ├── kw1-rbz-2.out
    ├── kw1-ss-1.out
    ├── kw1-ss-2-no-springs.out
    ├── kw1-ss-2-opened.out
    ├── kw1-ss-2.out
    ├── kw1-wsfp-1.out
    ├── kw1-wsfp-2.out
    ├── kw1-wsfp-3.out
    ├── kw1-wsfp-4.out
    ├── notes
    ├── sc1-cud-1.out
    ├── sc1-cud-2.out
    ├── sc1-mp-1.out
    ├── sc1-mp-2.out
    ├── sc1-mp-3.out
    ├── sc1-mp-4.out
    ├── sc1-wsfp-1.out
    ├── sc1-wsfp-2.out
    ├── sc1-wsfp-3.out
    └── sc1-wsfp-4.out
Condensed preview — 57 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,100K chars).
[
  {
    "path": "Automated-Keyway-Modeling/Generic-Key.jscad",
    "chars": 3893,
    "preview": "function mm(i) {\n    return i*25.4;\n}\nfunction pixel(i) {\n    return mm(i*###SCALE_FACTOR###);\n}\nfunction channels(blade"
  },
  {
    "path": "Automated-Keyway-Modeling/Generic-Key.scad",
    "chars": 3553,
    "preview": "$fn=100;\n\nfunction mm(i) = i*25.4;\n###SCALE_FACTOR###\n\n//Auto generated channels\nmodule channels(blade_length)\n{\n    ###"
  },
  {
    "path": "Automated-Keyway-Modeling/Keyway-Detection-JSCAD.py",
    "chars": 11831,
    "preview": "import argparse\nimport cv2\nimport exifread\nimport os.path\nimport subprocess\nimport sys\nfrom skimage import measure\nfrom "
  },
  {
    "path": "Automated-Keyway-Modeling/KeywayDetection.py",
    "chars": 11847,
    "preview": "import argparse\nimport cv2\nimport exifread\nimport os.path\nimport subprocess\nimport sys\nfrom skimage import measure\nfrom "
  },
  {
    "path": "Automated-Keyway-Modeling/README",
    "chars": 318,
    "preview": "\n\nDependencies\n---\nsudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pand"
  },
  {
    "path": "Automated-Keyway-Modeling/Sample_Output.scad",
    "chars": 23495,
    "preview": "\n$fn=100;\n\nfunction mm(i) = i*25.4;\nfunction pixel(i) = mm(i*0.000960960961); \n\n//Auto generated channels\nmodule channel"
  },
  {
    "path": "Automated-Keyway-Modeling/Sample_Output.stl",
    "chars": 890638,
    "preview": "solid OpenSCAD_Model\n  facet normal -1 0 0\n    outer loop\n      vertex 0.0976334 0 -3.3655\n      vertex 0.0976334 0.0244"
  },
  {
    "path": "README.md",
    "chars": 260,
    "preview": "Replication Prohibited: Attacking Restricted Keyways with 3D Printing\n====\n\nThis repo contains a few hand-created models"
  },
  {
    "path": "Schlage SC1.scad",
    "chars": 3244,
    "preview": "//BEST G - Model\n\n$fn=100;\n\nfunction mm(i) = i*25.4;\n\nmodule bow(bow_length, bow_width, bow_thickness)\n{\n\tdifference()\n\t"
  },
  {
    "path": "custom-models/BEST G.scad",
    "chars": 3099,
    "preview": "//BEST G - Model\n\n$fn=100;\n\nfunction mm(i) = i*25.4;\n\nmodule bow(bow_length, bow_width, bow_thickness)\n{\n\tdifference()\n\t"
  },
  {
    "path": "custom-models/Kwikset KW1.scad",
    "chars": 3245,
    "preview": "//Kwikset KW1\n\n$fn=100;\n\nfunction mm(i) = i*25.4;\n\nmodule bow(bow_length, bow_width, bow_thickness)\n{\n\tdifference()\n\t{\n\t"
  },
  {
    "path": "custom-models/Medeco Biaxial.scad",
    "chars": 3517,
    "preview": "//Medeco Biaxial\n\n$fn=100;\n\nfunction mm(i) = i*25.4;\n\nmodule bow(bow_length, bow_width, bow_thickness)\n{\n\tdifference()\n\t"
  },
  {
    "path": "custom-models/Medeco Keymark.scad",
    "chars": 4006,
    "preview": "//Medeco Keymark\n\n$fn=100;\n\nfunction mm(i) = i*25.4;\n\nmodule bow(bow_length, bow_width, bow_thickness)\n{\n\tdifference()\n\t"
  },
  {
    "path": "data/CEDAR DID04.py",
    "chars": 562,
    "preview": "#!/usr/bin/python\n\nimport serial\n\ndev = '/dev/ttyUSB0'\nspeed = 19200\n\n\ns = serial.Serial(dev, speed)\n\nwhile (s.read(1) !"
  },
  {
    "path": "data/bestg-cud-1.out",
    "chars": 1360,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n"
  },
  {
    "path": "data/bestg-cud-2.out",
    "chars": 1260,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n"
  },
  {
    "path": "data/bestg-mp-1.out",
    "chars": 1120,
    "preview": "-0.010000\n+0.000000\n-0.010000\n-0.020000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/bestg-mp-2.out",
    "chars": 1430,
    "preview": "+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/bestg-mp-3.out",
    "chars": 1300,
    "preview": "+0.000000\n+0.000000\n+0.000000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/bestg-mp-4.out",
    "chars": 910,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.010000\n+0.000000\n+0.000000\n-0.010000\n+0.000000\n-0.010000\n"
  },
  {
    "path": "data/bestg-wsfp-1.out",
    "chars": 750,
    "preview": "+0.020000\n+0.020000\n+0.020000\n+0.020000\n+0.000000\n+0.020000\n+0.010000\n+0.030000\n+0.020000\n+0.030000\n+0.030000\n+0.080000\n"
  },
  {
    "path": "data/bestg-wsfp-2.out",
    "chars": 1050,
    "preview": "+0.000000\n+0.000000\n+0.000000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/bestg-wsfp-3.out",
    "chars": 1320,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/bestg-wsfp-4.out",
    "chars": 770,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.030000\n+0.030000\n+0.040000\n+0.040000\n+0.030000\n"
  },
  {
    "path": "data/kw1-cud-1.out",
    "chars": 1120,
    "preview": "+0.030000\n+0.030000\n+0.020000\n+0.000000\n+0.000000\n+0.020000\n+0.000000\n+0.010000\n+0.010000\n+0.010000\n+0.010000\n+0.000000\n"
  },
  {
    "path": "data/kw1-cud-2.out",
    "chars": 1370,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/kw1-mp-1.out",
    "chars": 2020,
    "preview": "-0.030000\n-0.030000\n-0.000000\n-0.020000\n-0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/kw1-mp-2.out",
    "chars": 3480,
    "preview": "+0.000000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/kw1-mp-3.out",
    "chars": 3190,
    "preview": "+0.030000\n+0.020000\n+0.030000\n+0.040000\n+0.150000\n+0.180000\n+0.130000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/kw1-mp-4.out",
    "chars": 1720,
    "preview": "-0.010000\n+0.000000\n+0.000000\n-0.030000\n-0.090000\n+0.000000\n-0.010000\n-0.120000\n-0.230000\n-0.290000\n-0.340000\n-0.320000\n"
  },
  {
    "path": "data/kw1-ns-1.out",
    "chars": 2340,
    "preview": "-0.020000\n-0.010000\n-0.020000\n-0.020000\n+0.000000\n+0.000000\n+0.000000\n-0.010000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/kw1-rbs-1-bent.out",
    "chars": 4774,
    "preview": "+0.000000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.010000\n-0.010000\n-0.010000\n"
  },
  {
    "path": "data/kw1-rbs-1.out",
    "chars": 3259,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/kw1-rbs-2.out",
    "chars": 3287,
    "preview": "-0.010000\n-0.030000\n-0.030000\n-0.000000\n-0.030000\n-0.000000\n-0.010000\n-0.030000\n-0.020000\n-0.030000\n-0.020000\n-0.020000\n"
  },
  {
    "path": "data/kw1-rbz-1.out",
    "chars": 2347,
    "preview": "+0.290000\n+0.300000\n+0.330000\n+0.340000\n+0.350000\n+0.300000\n+0.270000\n+0.280000\n+0.260000\n+0.270000\n+0.250000\n+0.250000\n"
  },
  {
    "path": "data/kw1-rbz-2.out",
    "chars": 2118,
    "preview": "+0.020000\n+0.100000\n+0.190000\n+0.360000\n+0.430000\n+0.430000\n+0.300000\n+0.230000\n+0.210000\n+0.230000\n+0.260000\n+0.190000\n"
  },
  {
    "path": "data/kw1-ss-1.out",
    "chars": 4027,
    "preview": "-0.030000\n-0.040000\n-0.040000\n-0.050000\n-0.050000\n-0.050000\n-0.050000\n-0.050000\n-0.040000\n-0.050000\n-0.060000\n-0.040000\n"
  },
  {
    "path": "data/kw1-ss-2-no-springs.out",
    "chars": 2375,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.010000\n-0.010000\n"
  },
  {
    "path": "data/kw1-ss-2-opened.out",
    "chars": 3505,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.020000\n+0.000000\n-0.010000\n+0.000000\n+0.000000\n-0.010000\n-0.010000\n-0.010000\n"
  },
  {
    "path": "data/kw1-ss-2.out",
    "chars": 2417,
    "preview": "+0.000000\n+0.000000\n-0.020000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/kw1-wsfp-1.out",
    "chars": 5140,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/kw1-wsfp-2.out",
    "chars": 2990,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.030000\n"
  },
  {
    "path": "data/kw1-wsfp-3.out",
    "chars": 1840,
    "preview": "+0.020000\n+0.020000\n+0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.030000\n+0.030000\n+0.000000\n+0.010000\n"
  },
  {
    "path": "data/kw1-wsfp-4.out",
    "chars": 1690,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.010000\n-0.020000\n-0.010000\n-0.010000\n-0.010000\n"
  },
  {
    "path": "data/notes",
    "chars": 2631,
    "preview": "=======\nKW1\n=======\n\nwhite strong flexible plastic\nkw1-wsfp-1: eric turned, first turn did not have full key in the slot"
  },
  {
    "path": "data/sc1-cud-1.out",
    "chars": 1040,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/sc1-cud-2.out",
    "chars": 2330,
    "preview": "+0.000000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.020000\n-0.010000\n-0.020000\n-0.010000\n"
  },
  {
    "path": "data/sc1-mp-1.out",
    "chars": 1570,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/sc1-mp-2.out",
    "chars": 1020,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.030000\n+0.000000\n+0.030000\n+0.020000\n-0.010000\n-0.030000\n-0.000000\n"
  },
  {
    "path": "data/sc1-mp-3.out",
    "chars": 1150,
    "preview": "+0.000000\n-0.030000\n-0.030000\n+0.000000\n+0.000000\n-0.030000\n-0.030000\n-0.020000\n-0.030000\n-0.020000\n-0.010000\n-0.030000\n"
  },
  {
    "path": "data/sc1-mp-4.out",
    "chars": 1380,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.010000\n+0.000000\n-0.020000\n"
  },
  {
    "path": "data/sc1-wsfp-1.out",
    "chars": 2850,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n"
  },
  {
    "path": "data/sc1-wsfp-2.out",
    "chars": 1640,
    "preview": "+0.000000\n+0.010000\n+0.000000\n+0.000000\n+0.010000\n+0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
  },
  {
    "path": "data/sc1-wsfp-3.out",
    "chars": 2690,
    "preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.010000\n+0.010000\n"
  },
  {
    "path": "data/sc1-wsfp-4.out",
    "chars": 1140,
    "preview": "+0.000000\n+0.000000\n+0.030000\n+0.020000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.000000\n+0.010000\n+0.010000\n"
  }
]

// ... and 2 more files (download for full content)

About this extraction

This page contains the full source code of the ewust/keys GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 57 files (1.0 MB), approximately 464.6k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!