Repository: drandyhaas/Haasoscope Branch: master Commit: 129231d0bf9a Files: 769 Total size: 11.5 MB Directory structure: gitextract_qp1fcwbx/ ├── .github/ │ └── ISSUE_TEMPLATE/ │ ├── bug.md │ ├── help.md │ └── other.md ├── .gitignore ├── 3d/ │ ├── Haasoscope_v8.81_case.stl │ ├── Haasoscope_v9.01_case.stl │ ├── Haasoscope_v9.01_case_connect.stl │ ├── customizable-cylinder_18mm.stl │ └── customizable-cylinder_25mm.stl ├── LICENSE.md ├── README.md ├── android/ │ ├── .gitignore │ ├── build.gradle │ ├── cp_debug_apk.sh │ ├── debug/ │ │ ├── example-debug.apk │ │ └── output.json │ ├── debug_1.0.3/ │ │ ├── example-debug.apk │ │ └── output.json │ ├── debug_1.0.4/ │ │ ├── example-debug.apk │ │ └── output.json │ ├── example/ │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── example.iml │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── felhr/ │ │ │ └── serialportexample/ │ │ │ ├── FFT.java │ │ │ ├── MainActivity.java │ │ │ └── UsbService.java │ │ └── res/ │ │ ├── drawable/ │ │ │ └── ic_launcher_background.xml │ │ ├── layout/ │ │ │ └── activity_main.xml │ │ ├── layout-land/ │ │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26/ │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ ├── values/ │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── values-w820dp/ │ │ └── dimens.xml │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ └── settings.gradle ├── dockerfiles/ │ ├── README-Docker.md │ ├── haasoscope.docker │ ├── haasoscope.sh │ ├── quartus.docker │ ├── quartus.sh │ ├── quartus_compile.sh │ └── quartus_flash.sh ├── eagle/ │ ├── Seeed_AllPCB_MacroFab_haas6mil.dru │ ├── Seeed_Gerber_Generater_4-layer.cam │ ├── auto 50ohm layer top.ctl │ ├── auto gnd gndlayer135.ctl │ ├── auto gnd layer2.ctl │ ├── auto gndlayer135.ctl │ ├── auto rest after auto gnd vcc layer2.ctl │ ├── auto vcc layer 2.ctl │ ├── haasoscope_trigger_board_v1.1.brd │ ├── haasoscope_trigger_board_v1.1.sch │ ├── haasoscope_triggerout_board.brd │ ├── haasoscope_triggerout_board.sch │ ├── jlcpcb2layer.dru │ ├── jlcpcb4layer.dru │ ├── jlcpcb6layer.dru │ ├── jlcpcb_2_layer_v9.cam │ ├── jlcpcb_4_layer_v9.cam │ ├── jlcpcb_6_layer_v9.cam │ ├── lbr/ │ │ ├── HaasMaxADC.lbr │ │ ├── LMH6724.lbr │ │ ├── SparkFun-Electromechanical.lbr │ │ ├── SparkFun-Passives.lbr │ │ ├── oshw.lbr │ │ ├── pinhead+.lbr │ │ ├── switch-ck.lbr │ │ └── usb-serial.lbr │ ├── max10adc_v8.brd │ ├── max10adc_v8.sch │ ├── max10adc_v8.xls │ ├── max10adc_v9.0.brd │ ├── max10adc_v9.0.sch │ ├── max10adc_v9.0.xls │ ├── max10adc_v9.0_rack.brd │ ├── max10adc_v9.0_rack.sch │ ├── rack_backplane_v9.0.brd │ └── rack_backplane_v9.0.sch ├── max10_adc_firmware/ │ ├── ASSERTION_ERROR.bsf │ ├── BaudTickGen.bsf │ ├── Chain1.cdf │ ├── Chain2.cdf │ ├── DelayLine.bsf │ ├── SPI.bsf │ ├── SPI.vhd │ ├── SSD1306.bsf │ ├── SSD1306.vhd │ ├── SSD1306.vhd.bak │ ├── async.v │ ├── async_receiver.bsf │ ├── async_transmitter.bsf │ ├── chain_delay.bsf │ ├── chain_delay_race.bsf │ ├── demux1.v │ ├── demux1.v.bak │ ├── demux1to2.bsf │ ├── dpram2.bsf │ ├── dpram2.qip │ ├── dpram2.v │ ├── dpram2_bb.v │ ├── flash_pof.cdf │ ├── haasoscope.cfg │ ├── hvsync_generator.bsf │ ├── hvsync_generator.v │ ├── i2c_master.bsf │ ├── i2c_master.vhd │ ├── i2c_master.vhd.bak │ ├── lp_ram_dp.bsf │ ├── lp_ram_dp.qip │ ├── lp_ram_dp.v │ ├── lp_ram_dp_2.bsf │ ├── lp_ram_dp_2.qip │ ├── lp_ram_dp_2.v │ ├── lp_ram_dp_2_bb.v │ ├── lp_ram_dp_2_inst.v │ ├── lp_ram_dp_bb.v │ ├── mball.bsf │ ├── mball.v │ ├── myadc/ │ │ ├── myadc.bsf │ │ ├── myadc.cmp │ │ ├── myadc.csv │ │ ├── myadc.html │ │ ├── myadc.ppf │ │ ├── myadc.spd │ │ ├── myadc.xml │ │ ├── myadc_bb.v │ │ ├── myadc_generation.rpt │ │ ├── myadc_generation_previous.rpt │ │ ├── myadc_inst.v │ │ ├── myadc_inst.vhd │ │ ├── simulation/ │ │ │ ├── aldec/ │ │ │ │ └── rivierapro_setup.tcl │ │ │ ├── cadence/ │ │ │ │ ├── cds.lib │ │ │ │ ├── cds_libs/ │ │ │ │ │ ├── control_internal.cds.lib │ │ │ │ │ └── modular_adc_0.cds.lib │ │ │ │ ├── hdl.var │ │ │ │ └── ncsim_setup.sh │ │ │ ├── mentor/ │ │ │ │ └── msim_setup.tcl │ │ │ ├── myadc.sip │ │ │ ├── myadc.v │ │ │ ├── submodules/ │ │ │ │ ├── altera_modular_adc_control.v │ │ │ │ ├── altera_modular_adc_control_avrg_fifo.v │ │ │ │ ├── altera_modular_adc_control_fsm.v │ │ │ │ ├── chsel_code_converter_sw_to_hw.v │ │ │ │ ├── fiftyfivenm_adcblock_primitive_wrapper.v │ │ │ │ ├── fiftyfivenm_adcblock_top_wrapper.v │ │ │ │ └── myadc_modular_adc_0.v │ │ │ └── synopsys/ │ │ │ ├── vcs/ │ │ │ │ └── vcs_setup.sh │ │ │ └── vcsmx/ │ │ │ ├── synopsys_sim.setup │ │ │ └── vcsmx_setup.sh │ │ └── synthesis/ │ │ ├── greybox_tmp/ │ │ │ └── cbx_args.txt │ │ ├── myadc.debuginfo │ │ ├── myadc.qip │ │ ├── myadc.v │ │ └── submodules/ │ │ ├── altera_modular_adc_control.sdc │ │ ├── altera_modular_adc_control.v │ │ ├── altera_modular_adc_control_avrg_fifo.v │ │ ├── altera_modular_adc_control_fsm.v │ │ ├── altera_modular_adc_sample_store.v │ │ ├── altera_modular_adc_sample_store_ram.v │ │ ├── altera_modular_adc_sequencer.v │ │ ├── altera_modular_adc_sequencer_csr.v │ │ ├── altera_modular_adc_sequencer_ctrl.v │ │ ├── chsel_code_converter_sw_to_hw.v │ │ ├── fiftyfivenm_adcblock_primitive_wrapper.v │ │ ├── fiftyfivenm_adcblock_top_wrapper.v │ │ ├── myadc_modular_adc_0.v │ │ └── myadc_modular_adc_0.v.bak │ ├── myadc.BAK.qsys │ ├── myadc.qsys │ ├── myadc.sopcinfo │ ├── mypll2.bsf │ ├── mypll2.ppf │ ├── mypll2.qip │ ├── mypll2.v │ ├── mypll2_bb.v │ ├── mypll2_inst.v │ ├── openocd_program.sh │ ├── osc_1.qsys │ ├── osc_1.sopcinfo │ ├── oscillo.bsf │ ├── oscillo.v │ ├── oscillo.v.bak │ ├── oscillo_notrigger.v │ ├── oscillo_notrigger.v.bak │ ├── oscillo_sometrigger.v │ ├── oscillo_sometrigger.v.bak │ ├── pong.bsf │ ├── pong.v │ ├── processor.bsf │ ├── processor_slave.bsf │ ├── qmegawiz_errors_log.txt │ ├── ram1.bsf │ ├── ram1.qip │ ├── ram1.v │ ├── ram1_bb.v │ ├── ram2.bsf │ ├── ram2.qip │ ├── ram2.v │ ├── ram2_bb.v │ ├── remove_unused_qprogrammer_stuff.sh │ ├── ring_counter.bsf │ ├── ring_counter.v │ ├── ring_counter.v.bak │ ├── serial1.bdf │ ├── serial1.bsf │ ├── serial1.cdf │ ├── serial1.ipregen.rpt │ ├── serial1.pti_db_list.ddb │ ├── serial1.qpf │ ├── serial1.qsf │ ├── serial1.sdc │ ├── serial1.sdc.bak │ ├── serial1.tis_db_list.ddb │ ├── serial1_assignment_defaults.qdf │ ├── serial1_nativelink_simulation.rpt │ ├── serial1_scope_9.0_v15_backup.pof │ ├── serial1_scope_9.0_v15_backup.sof │ ├── serial1_scope_9.0_v16_backup.pof │ ├── serial1_scope_9.0_v16_backup.sof │ ├── serialprocessor.v │ ├── serialprocessor.v.bak │ ├── serialprocessor_slave.v │ ├── serialprocessor_slave.v.bak │ ├── tdc1.vhd │ ├── tdc1.vhd.bak │ ├── tdc2.v │ ├── tdc2.v.bak │ ├── uniqueid2/ │ │ └── altchip_id.v │ ├── uniqueid2.bsf │ ├── uniqueid2.cmp │ ├── uniqueid2.ppf │ ├── uniqueid2.qip │ ├── uniqueid2.sip │ ├── uniqueid2.spd │ ├── uniqueid2.v │ ├── uniqueid2_sim/ │ │ ├── aldec/ │ │ │ └── rivierapro_setup.tcl │ │ ├── altchip_id/ │ │ │ └── altchip_id.v │ │ ├── cadence/ │ │ │ ├── cds.lib │ │ │ ├── cds_libs/ │ │ │ │ └── uniqueid2.cds.lib │ │ │ ├── hdl.var │ │ │ └── ncsim_setup.sh │ │ ├── mentor/ │ │ │ └── msim_setup.tcl │ │ ├── synopsys/ │ │ │ ├── vcs/ │ │ │ │ └── vcs_setup.sh │ │ │ └── vcsmx/ │ │ │ ├── synopsys_sim.setup │ │ │ └── vcsmx_setup.sh │ │ └── uniqueid2.v │ ├── uniqueid2_sim.f │ ├── upload_latest_flash.sh │ └── upload_latest_temp.sh ├── max10_adc_firmware_v8/ │ ├── ASSERTION_ERROR.bsf │ ├── BaudTickGen.bsf │ ├── Chain1.cdf │ ├── Chain2.cdf │ ├── DelayLine.bsf │ ├── SPI.bsf │ ├── SPI.vhd │ ├── SSD1306.bsf │ ├── SSD1306.vhd │ ├── SSD1306.vhd.bak │ ├── async.v │ ├── async_receiver.bsf │ ├── async_transmitter.bsf │ ├── chain_delay.bsf │ ├── chain_delay_race.bsf │ ├── demux1.v │ ├── demux1.v.bak │ ├── demux1to2.bsf │ ├── dpram2.bsf │ ├── dpram2.qip │ ├── dpram2.v │ ├── dpram2_bb.v │ ├── flash_pof.cdf │ ├── greybox_tmp/ │ │ └── cbx_args.txt │ ├── hvsync_generator.bsf │ ├── hvsync_generator.v │ ├── i2c_master.bsf │ ├── i2c_master.vhd │ ├── i2c_master.vhd.bak │ ├── lp_ram_dp.bsf │ ├── lp_ram_dp.qip │ ├── lp_ram_dp.v │ ├── lp_ram_dp_bb.v │ ├── mball.bsf │ ├── mball.v │ ├── myadc/ │ │ ├── myadc.bsf │ │ ├── myadc.cmp │ │ ├── myadc.html │ │ ├── myadc.ppf │ │ ├── myadc.xml │ │ ├── myadc_bb.v │ │ ├── myadc_generation.rpt │ │ ├── myadc_generation_previous.rpt │ │ ├── myadc_inst.v │ │ ├── myadc_inst.vhd │ │ └── synthesis/ │ │ ├── greybox_tmp/ │ │ │ └── cbx_args.txt │ │ ├── myadc.debuginfo │ │ ├── myadc.qip │ │ ├── myadc.v │ │ └── submodules/ │ │ ├── altera_modular_adc_control.sdc │ │ ├── altera_modular_adc_control.v │ │ ├── altera_modular_adc_control_avrg_fifo.v │ │ ├── altera_modular_adc_control_fsm.v │ │ ├── altera_modular_adc_sample_store.v │ │ ├── altera_modular_adc_sample_store_ram.v │ │ ├── altera_modular_adc_sequencer.v │ │ ├── altera_modular_adc_sequencer_csr.v │ │ ├── altera_modular_adc_sequencer_ctrl.v │ │ ├── chsel_code_converter_sw_to_hw.v │ │ ├── fiftyfivenm_adcblock_primitive_wrapper.v │ │ ├── fiftyfivenm_adcblock_top_wrapper.v │ │ ├── myadc_modular_adc_0.v │ │ └── myadc_modular_adc_0.v.bak │ ├── myadc.qsys │ ├── myadc.sopcinfo │ ├── mypll2.bsf │ ├── mypll2.ppf │ ├── mypll2.qip │ ├── mypll2.v │ ├── mypll2_bb.v │ ├── mypll2_inst.v │ ├── osc_1.qsys │ ├── osc_1.sopcinfo │ ├── oscillo.bsf │ ├── oscillo.v │ ├── oscillo.v.bak │ ├── oscillo_notrigger.v │ ├── oscillo_notrigger.v.bak │ ├── oscillo_sometrigger.v │ ├── oscillo_sometrigger.v.bak │ ├── output_files/ │ │ ├── serial1.pof │ │ └── serial1.sof │ ├── pong.bsf │ ├── pong.v │ ├── processor.bsf │ ├── processor_slave.bsf │ ├── ram1.bsf │ ├── ram1.qip │ ├── ram1.v │ ├── ram1_bb.v │ ├── ram2.bsf │ ├── ram2.qip │ ├── ram2.v │ ├── ram2_bb.v │ ├── remove_unused_qprogrammer_stuff.sh │ ├── ring_counter.bsf │ ├── ring_counter.v │ ├── ring_counter.v.bak │ ├── serial1.bdf │ ├── serial1.bsf │ ├── serial1.pti_db_list.ddb │ ├── serial1.qpf │ ├── serial1.qsf │ ├── serial1.tis_db_list.ddb │ ├── serial1_assignment_defaults.qdf │ ├── serial1_nativelink_simulation.rpt │ ├── serial1_scope_8.8_backup.pof │ ├── serial1_scope_8.8_backup.sof │ ├── serial1_scope_8.8_v5_backup.pof │ ├── serial1_scope_8.8_v5_backup.sof │ ├── serial1_v8_921600baud.sof │ ├── serialprocessor.v │ ├── serialprocessor.v.bak │ ├── serialprocessor_slave.v │ ├── serialprocessor_slave.v.bak │ ├── tdc1.vhd │ ├── tdc1.vhd.bak │ ├── tdc2.v │ ├── tdc2.v.bak │ ├── uniqueid/ │ │ └── altchip_id.v │ ├── uniqueid.bsf │ ├── uniqueid.cmp │ ├── uniqueid.ppf │ ├── uniqueid.qip │ ├── uniqueid.sip │ ├── uniqueid.spd │ ├── uniqueid.v │ ├── uniqueid_sim/ │ │ ├── aldec/ │ │ │ └── rivierapro_setup.tcl │ │ ├── altchip_id/ │ │ │ └── altchip_id.v │ │ ├── cadence/ │ │ │ ├── cds.lib │ │ │ ├── cds_libs/ │ │ │ │ └── uniqueid.cds.lib │ │ │ ├── hdl.var │ │ │ └── ncsim_setup.sh │ │ ├── mentor/ │ │ │ └── msim_setup.tcl │ │ ├── synopsys/ │ │ │ ├── vcs/ │ │ │ │ └── vcs_setup.sh │ │ │ └── vcsmx/ │ │ │ ├── synopsys_sim.setup │ │ │ └── vcsmx_setup.sh │ │ └── uniqueid.v │ ├── uniqueid_sim.f │ ├── upload_latest_flash.sh │ └── upload_latest_temp.sh └── software/ ├── .gitignore ├── 51-usbblaster.rules ├── CH341SER_LINUX/ │ ├── Makefile │ ├── ch34x.c │ ├── opcodes.h │ └── readme.txt ├── Haasoscope.ui ├── HaasoscopeDraw.py ├── HaasoscopeFFT.ui ├── HaasoscopePersist.ui ├── HaasoscopeQt.py ├── INSTALL.txt ├── calib/ │ ├── calib_80982231109ecf88.json.txt │ ├── calib_80982271106e0030.json.txt │ ├── calib_80982271106e00b0.json.txt │ ├── calib_80982271106e0430.json.txt │ ├── calib_80982271106e0f74.json.txt │ ├── calib_80982271106e1030.json.txt │ ├── calib_80982271106e1074.json.txt │ ├── calib_80982271106e10b8.json.txt │ ├── calib_80982271106e1f74.json.txt │ ├── calib_80982271106e1ff4.json.txt │ ├── calib_80982271106e2030.json.txt │ ├── calib_80982271106e2074.json.txt │ ├── calib_80982271106e3030.json.txt │ ├── calib_80982271106e30b8.json.txt │ ├── calib_80982271106e3774.json.txt │ ├── calib_80982271106e3830.json.txt │ ├── calib_80982271106e3f2c.json.txt │ ├── calib_80982271106e3f30.json.txt │ ├── calib_80982271106e3f5c.json.txt │ ├── calib_80982271106e3fb0.json.txt │ ├── calib_80982271106e4030.json.txt │ ├── calib_80982271106e405c.json.txt │ ├── calib_80982271106e40ec.json.txt │ ├── calib_80982271106e50ec.json.txt │ ├── calib_80982271106e5f2c.json.txt │ ├── calib_80982271106e5f30.json.txt │ ├── calib_80982271106e5fb0.json.txt │ ├── calib_80982271106e5ff4.json.txt │ ├── calib_80982271106e6030.json.txt │ ├── calib_80982271106e6074.json.txt │ ├── calib_80982271106e60ec.json.txt │ ├── calib_80982271106e7f5c.json.txt │ ├── calib_80982271106e8030.json.txt │ ├── calib_80982271106e805c.json.txt │ ├── calib_80982271106e80b0.json.txt │ ├── calib_80982271106e8f74.json.txt │ ├── calib_80982271106e9830.json.txt │ ├── calib_80982271106e98f0.json.txt │ ├── calib_80982271106e9f74.json.txt │ ├── calib_80982271106e9ff4.json.txt │ ├── calib_80982271106ea074.json.txt │ ├── calib_80982271106ea830.json.txt │ ├── calib_80982271106eaff4.json.txt │ ├── calib_80982271106eb830.json.txt │ ├── calib_80982271106ebf74.json.txt │ ├── calib_80982271106ec05c.json.txt │ ├── calib_80982271106ec0b8.json.txt │ ├── calib_80982271106ec81c.json.txt │ ├── calib_80982271106ed0b8.json.txt │ ├── calib_80982271106edf30.json.txt │ ├── calib_80982271106ee074.json.txt │ ├── calib_80982271106ee81c.json.txt │ ├── calib_80982271106eef08.json.txt │ ├── calib_80982271106ef01c.json.txt │ ├── calib_80982271106ef8d0.json.txt │ ├── calib_80982271106effb0.json.txt │ ├── calib_8098227110ee0458.json.txt │ ├── calib_8098227110ee0478.json.txt │ ├── calib_8098227110ee0844.json.txt │ ├── calib_8098227110ee08f8.json.txt │ ├── calib_8098227110ee0f58.json.txt │ ├── calib_8098227110ee1888.json.txt │ ├── calib_8098227110ee2444.json.txt │ ├── calib_8098227110ee2448.json.txt │ ├── calib_8098227110ee2484.json.txt │ ├── calib_8098227110ee2878.json.txt │ ├── calib_8098227110ee3058.json.txt │ ├── calib_8098227110ee30b0.json.txt │ ├── calib_8098227110ee30d4.json.txt │ ├── calib_8098227110ee3858.json.txt │ ├── calib_8098227110ee3878.json.txt │ ├── calib_8098227110ee3884.json.txt │ ├── calib_8098227110ee3f58.json.txt │ ├── calib_8098227110ee4084.json.txt │ ├── calib_8098227110ee4444.json.txt │ ├── calib_8098227110ee44d8.json.txt │ ├── calib_8098227110ee4844.json.txt │ ├── calib_8098227110ee4850.json.txt │ ├── calib_8098227110ee4fd8.json.txt │ ├── calib_8098227110ee5044.json.txt │ ├── calib_8098227110ee5058.json.txt │ ├── calib_8098227110ee50d4.json.txt │ ├── calib_8098227110ee5890.json.txt │ ├── calib_8098227110ee5f58.json.txt │ ├── calib_8098227110ee6058.json.txt │ ├── calib_8098227110ee6850.json.txt │ ├── calib_8098227110ee68f8.json.txt │ ├── calib_8098227110ee7044.json.txt │ ├── calib_8098227110ee7050.json.txt │ ├── calib_8098227110ee7058.json.txt │ ├── calib_8098227110ee70b0.json.txt │ ├── calib_8098227110ee70fc.json.txt │ ├── calib_8098227110ee7838.json.txt │ ├── calib_8098227110ee7858.json.txt │ ├── calib_8098227110ee7890.json.txt │ ├── calib_8098227110ee78f8.json.txt │ ├── calib_8098227110ee8444.json.txt │ ├── calib_8098227110ee8458.json.txt │ ├── calib_8098227110ee8850.json.txt │ ├── calib_8098227110ee8f58.json.txt │ ├── calib_8098227110ee9044.json.txt │ ├── calib_8098227110ee9050.json.txt │ ├── calib_8098227110ee90b0.json.txt │ ├── calib_8098227110ee9838.json.txt │ ├── calib_8098227110ee9878.json.txt │ ├── calib_8098227110ee98f8.json.txt │ ├── calib_8098227110eea058.json.txt │ ├── calib_8098227110eea444.json.txt │ ├── calib_8098227110eea844.json.txt │ ├── calib_8098227110eea878.json.txt │ ├── calib_8098227110eea888.json.txt │ ├── calib_8098227110eea8f8.json.txt │ ├── calib_8098227110eeaf58.json.txt │ ├── calib_8098227110eeb050.json.txt │ ├── calib_8098227110eeb088.json.txt │ ├── calib_8098227110eeb0d4.json.txt │ ├── calib_8098227110eeb0fc.json.txt │ ├── calib_8098227110eeb858.json.txt │ ├── calib_8098227110eeb878.json.txt │ ├── calib_8098227110eeb884.json.txt │ ├── calib_8098227110eeb8f8.json.txt │ ├── calib_8098227110eebf58.json.txt │ ├── calib_8098227110eec444.json.txt │ ├── calib_8098227110eec888.json.txt │ ├── calib_8098227110eecf94.json.txt │ ├── calib_8098227110eed050.json.txt │ ├── calib_8098227110eed0d4.json.txt │ ├── calib_8098227110eed858.json.txt │ ├── calib_8098227110eed8f8.json.txt │ ├── calib_8098227110eedf58.json.txt │ ├── calib_8098227110eee858.json.txt │ ├── calib_8098227110eef044.json.txt │ ├── calib_8098227110eef0fc.json.txt │ ├── calib_8098227110eef8d8.json.txt │ ├── calib_8098227110eef8f8.json.txt │ ├── calib_8098227110eeff70.json.txt │ ├── calib_8098227110eeff7c.json.txt │ ├── calib_80988211106e0028.json.txt │ ├── calib_80988211106e006c.json.txt │ ├── calib_80988211106e00b4.json.txt │ ├── calib_80988211106e00f0.json.txt │ ├── calib_80988211106e0448.json.txt │ ├── calib_80988211106e080c.json.txt │ ├── calib_80988211106e0870.json.txt │ ├── calib_80988211106e0888.json.txt │ ├── calib_80988211106e08f0.json.txt │ ├── calib_80988211106e0f48.json.txt │ ├── calib_80988211106e0f88.json.txt │ ├── calib_80988211106e0fd4.json.txt │ ├── calib_80988211106e0ff8.json.txt │ ├── calib_80988211106e1002.json.txt │ ├── calib_80988211106e1028.json.txt │ ├── calib_80988211106e106c.json.txt │ ├── calib_80988211106e1088.json.txt │ ├── calib_80988211106e1828.json.txt │ ├── calib_80988211106e1848.json.txt │ ├── calib_80988211106e18ec.json.txt │ ├── calib_80988211106e18f0.json.txt │ ├── calib_80988211106e1f08.json.txt │ ├── calib_80988211106e1f74.json.txt │ ├── calib_80988211106e1fb4.json.txt │ ├── calib_80988211106e2002.json.txt │ ├── calib_80988211106e2028.json.txt │ ├── calib_80988211106e206c.json.txt │ ├── calib_80988211106e2088.json.txt │ ├── calib_80988211106e20b4.json.txt │ ├── calib_80988211106e2494.json.txt │ ├── calib_80988211106e286c.json.txt │ ├── calib_80988211106e2888.json.txt │ ├── calib_80988211106e28ec.json.txt │ ├── calib_80988211106e28f0.json.txt │ ├── calib_80988211106e2f08.json.txt │ ├── calib_80988211106e2f0c.json.txt │ ├── calib_80988211106e2f50.json.txt │ ├── calib_80988211106e2f74.json.txt │ ├── calib_80988211106e2fd4.json.txt │ ├── calib_80988211106e2fe0.json.txt │ ├── calib_80988211106e2ff8.json.txt │ ├── calib_80988211106e3028.json.txt │ ├── calib_80988211106e306c.json.txt │ ├── calib_80988211106e3088.json.txt │ ├── calib_80988211106e30f0.json.txt │ ├── calib_80988211106e3728.json.txt │ ├── calib_80988211106e3748.json.txt │ ├── calib_80988211106e3788.json.txt │ ├── calib_80988211106e37c8.json.txt │ ├── calib_80988211106e37f8.json.txt │ ├── calib_80988211106e3828.json.txt │ ├── calib_80988211106e3848.json.txt │ ├── calib_80988211106e388c.json.txt │ ├── calib_80988211106e3f1c.json.txt │ ├── calib_80988211106e3f28.json.txt │ ├── calib_80988211106e3fb4.json.txt │ ├── calib_80988211106e3ff0.json.txt │ ├── calib_80988211106e4028.json.txt │ ├── calib_80988211106e40b4.json.txt │ ├── calib_80988211106e4448.json.txt │ ├── calib_80988211106e44c8.json.txt │ ├── calib_80988211106e4888.json.txt │ ├── calib_80988211106e48f0.json.txt │ ├── calib_80988211106e4fd4.json.txt │ ├── calib_80988211106e4ff8.json.txt │ ├── calib_80988211106e5028.json.txt │ ├── calib_80988211106e5088.json.txt │ ├── calib_80988211106e50f0.json.txt │ ├── calib_80988211106e586c.json.txt │ ├── calib_80988211106e5f28.json.txt │ ├── calib_80988211106e5f84.json.txt │ ├── calib_80988211106e5fb4.json.txt │ ├── calib_80988211106e5fc8.json.txt │ ├── calib_80988211106e5ff0.json.txt │ ├── calib_80988211106e6028.json.txt │ ├── calib_80988211106e6088.json.txt │ ├── calib_80988211106e6828.json.txt │ ├── calib_80988211106e6848.json.txt │ ├── calib_80988211106e686c.json.txt │ ├── calib_80988211106e68ec.json.txt │ ├── calib_80988211106e6f08.json.txt │ ├── calib_80988211106e6f28.json.txt │ ├── calib_80988211106e6fb4.json.txt │ ├── calib_80988211106e6fc8.json.txt │ ├── calib_80988211106e6ff8.json.txt │ ├── calib_80988211106e7008.json.txt │ ├── calib_80988211106e700c.json.txt │ ├── calib_80988211106e706c.json.txt │ ├── calib_80988211106e70ec.json.txt │ ├── calib_80988211106e7748.json.txt │ ├── calib_80988211106e77c8.json.txt │ ├── calib_80988211106e77d4.json.txt │ ├── calib_80988211106e786c.json.txt │ ├── calib_80988211106e7f28.json.txt │ ├── calib_80988211106e7f84.json.txt │ ├── calib_80988211106e7fb4.json.txt │ ├── calib_80988211106e7ff0.json.txt │ ├── calib_80988211106e801c.json.txt │ ├── calib_80988211106e8028.json.txt │ ├── calib_80988211106e806c.json.txt │ ├── calib_80988211106e80b4.json.txt │ ├── calib_80988211106e80fc.json.txt │ ├── calib_80988211106e8834.json.txt │ ├── calib_80988211106e886c.json.txt │ ├── calib_80988211106e8888.json.txt │ ├── calib_80988211106e88f0.json.txt │ ├── calib_80988211106e8f28.json.txt │ ├── calib_80988211106e8f48.json.txt │ ├── calib_80988211106e8f50.json.txt │ ├── calib_80988211106e8f88.json.txt │ ├── calib_80988211106e8fc8.json.txt │ ├── calib_80988211106e8ff8.json.txt │ ├── calib_80988211106e9028.json.txt │ ├── calib_80988211106e9034.json.txt │ ├── calib_80988211106e9088.json.txt │ ├── calib_80988211106e90f0.json.txt │ ├── calib_80988211106e9778.json.txt │ ├── calib_80988211106e9828.json.txt │ ├── calib_80988211106e9848.json.txt │ ├── calib_80988211106e986c.json.txt │ ├── calib_80988211106e98ec.json.txt │ ├── calib_80988211106e98f0.json.txt │ ├── calib_80988211106e9f74.json.txt │ ├── calib_80988211106e9fb4.json.txt │ ├── calib_80988211106e9fc8.json.txt │ ├── calib_80988211106e9ff0.json.txt │ ├── calib_80988211106ea028.json.txt │ ├── calib_80988211106ea06c.json.txt │ ├── calib_80988211106ea088.json.txt │ ├── calib_80988211106ea0b4.json.txt │ ├── calib_80988211106ea828.json.txt │ ├── calib_80988211106ea848.json.txt │ ├── calib_80988211106ea86c.json.txt │ ├── calib_80988211106ea8ec.json.txt │ ├── calib_80988211106ea8f0.json.txt │ ├── calib_80988211106eaf08.json.txt │ ├── calib_80988211106eaf0c.json.txt │ ├── calib_80988211106eaf10.json.txt │ ├── calib_80988211106eaf28.json.txt │ ├── calib_80988211106eaf50.json.txt │ ├── calib_80988211106eaf74.json.txt │ ├── calib_80988211106eafc8.json.txt │ ├── calib_80988211106eafd4.json.txt │ ├── calib_80988211106eaff8.json.txt │ ├── calib_80988211106eb00c.json.txt │ ├── calib_80988211106eb06c.json.txt │ ├── calib_80988211106eb088.json.txt │ ├── calib_80988211106eb0ec.json.txt │ ├── calib_80988211106eb0f0.json.txt │ ├── calib_80988211106eb728.json.txt │ ├── calib_80988211106eb7c8.json.txt │ ├── calib_80988211106eb828.json.txt │ ├── calib_80988211106eb848.json.txt │ ├── calib_80988211106eb870.json.txt │ ├── calib_80988211106ebf1c.json.txt │ ├── calib_80988211106ebf28.json.txt │ ├── calib_80988211106ebff0.json.txt │ ├── calib_80988211106ec028.json.txt │ ├── calib_80988211106ec0b4.json.txt │ ├── calib_80988211106ec0bc.json.txt │ ├── calib_80988211106ec414.json.txt │ ├── calib_80988211106ec86c.json.txt │ ├── calib_80988211106ec870.json.txt │ ├── calib_80988211106ec8d0.json.txt │ ├── calib_80988211106ec8ec.json.txt │ ├── calib_80988211106ec8f0.json.txt │ ├── calib_80988211106ecf08.json.txt │ ├── calib_80988211106ecff8.json.txt │ ├── calib_80988211106ed028.json.txt │ ├── calib_80988211106ed06c.json.txt │ ├── calib_80988211106ed088.json.txt │ ├── calib_80988211106ed0f0.json.txt │ ├── calib_80988211106ed848.json.txt │ ├── calib_80988211106ed88c.json.txt │ ├── calib_80988211106edf28.json.txt │ ├── calib_80988211106edfb4.json.txt │ ├── calib_80988211106edff0.json.txt │ ├── calib_80988211106ee002.json.txt │ ├── calib_80988211106ee028.json.txt │ ├── calib_80988211106ee088.json.txt │ ├── calib_80988211106ee848.json.txt │ ├── calib_80988211106ee8f0.json.txt │ ├── calib_80988211106eef08.json.txt │ ├── calib_80988211106eefb4.json.txt │ ├── calib_80988211106eefe0.json.txt │ ├── calib_80988211106eeff8.json.txt │ ├── calib_80988211106ef008.json.txt │ ├── calib_80988211106ef00c.json.txt │ ├── calib_80988211106ef06c.json.txt │ ├── calib_80988211106ef070.json.txt │ ├── calib_80988211106ef088.json.txt │ ├── calib_80988211106ef0ec.json.txt │ ├── calib_80988211106ef0f0.json.txt │ ├── calib_80988211106ef748.json.txt │ ├── calib_80988211106ef788.json.txt │ ├── calib_80988211106ef7d4.json.txt │ ├── calib_80988211106eff28.json.txt │ ├── calib_80988211106eff84.json.txt │ ├── calib_80988211106effb4.json.txt │ ├── calib_80988211106efff0.json.txt │ └── calib_8098824800eebf0c.json.txt ├── cern.py ├── commands.md ├── ft232h_ftd2xx_template.xml ├── ft232h_template.xml ├── ftdi_config.sh ├── h5py_analyze_example.py ├── haasoscope_handler.py ├── libs/ │ ├── HaasoscopeLib.py │ ├── HaasoscopeLibQt.py │ ├── HaasoscopeTrigLibQt.py │ └── __init__.py ├── scripts/ │ ├── requirements.txt │ └── windows/ │ ├── init_virtual_env.bat │ ├── python2/ │ │ ├── init_virtual_env.bat │ │ ├── requirements.txt │ │ └── run.bat │ └── run.bat ├── serial_read.py ├── serial_read_readioexpanderandboardid.py ├── serial_read_test_py3.py ├── serial_read_versions.py ├── serial_rebooter/ │ └── serial_rebooter.ino ├── serial_relay/ │ └── serial_relay.ino └── serial_write_test_py3.py ================================================ FILE CONTENTS ================================================ ================================================ FILE: .github/ISSUE_TEMPLATE/bug.md ================================================ --- name: There's a bug about: Report a problem with Haasoscope --- **What are you trying to do?** I want to... **What is your OS and python version?** e.g., 'Windows 10, Python 2.8.8'; use `python -v` to get the python version. **Have you installed the prerequisites?** Read the google document. Many 'getting started' problems are resolved by installing the necessary system and python libraries. **To Reproduce** Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error **Expected behavior** A clear and concise description of what you expected to happen. **Screenshots** If applicable, add screenshots to help explain your problem. Text logs are preferred instead of a screenshot of text. **Additional context** Add any other context about the problem here. ================================================ FILE: .github/ISSUE_TEMPLATE/help.md ================================================ --- name: I need help about: You are having trouble with using the Haasoscope --- **What are you trying to do?** I want to... **What is your OS and python version?** e.g., 'Windows 10, Python 2.8.8'; use `python -v` to get the python version. **Have you installed the prerequisites?** Read the google document. Many 'getting started' problems are resolved by installing the necessary system and python libraries. ================================================ FILE: .github/ISSUE_TEMPLATE/other.md ================================================ --- name: Other issue about: Problem or other issue not covered in the previous categories --- ================================================ FILE: .gitignore ================================================ max10_adc_firmware/PLLJ_PLLSPE_INFO.txt max10_adc_firmware/serial1.qws max10_adc_firmware/db/ max10_adc_firmware/incremental_db/ max10_adc_firmware/output_files/ max10_adc_firmware/simulation/ eagle/max10adc*.b#* eagle/max10adc*.s#* eagle/max10adc*.job eagle/max10adc*.pro software/*.pyc software/__* .idea ================================================ FILE: 3d/customizable-cylinder_18mm.stl ================================================ solid OpenSCAD_Model facet normal 0 0 0 outer loop vertex 2 0 18 vertex 1.99572 0.130806 0 vertex 1.99572 0.130806 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 0.130806 0 vertex 2 0 18 vertex 2 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex -2 0 0 vertex -1.99572 0.130806 18 vertex -1.99572 0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 0.130806 18 vertex -2 0 0 vertex -2 0 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.130806 1.99572 0 vertex 0 2 18 vertex 0.130806 1.99572 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0 2 18 vertex 0.130806 1.99572 0 vertex 0 2 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 -1.99572 0 vertex 0 -2 18 vertex -0.130806 -1.99572 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -2 18 vertex -0.130806 -1.99572 0 vertex 0 -2 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 -1.41421 0 vertex -1.50368 -1.31869 18 vertex -1.50368 -1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 -1.31869 18 vertex -1.41421 -1.41421 0 vertex -1.41421 -1.41421 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 1.31869 18 vertex 1.41421 1.41421 0 vertex 1.41421 1.41421 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 1.41421 0 vertex 1.50368 1.31869 18 vertex 1.50368 1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 1.50368 0 vertex -1.41421 1.41421 18 vertex -1.31869 1.50368 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 1.41421 18 vertex -1.31869 1.50368 0 vertex -1.41421 1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 1.89386 0 vertex -0.765367 1.84776 18 vertex -0.642879 1.89386 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 1.84776 18 vertex -0.642879 1.89386 0 vertex -0.765367 1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 -0.765367 0 vertex -1.89386 -0.642879 18 vertex -1.89386 -0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 -0.642879 18 vertex -1.84776 -0.765367 0 vertex -1.84776 -0.765367 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 0.765367 18 vertex 1.79375 0.884577 0 vertex 1.79375 0.884577 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 0.884577 0 vertex 1.84776 0.765367 18 vertex 1.84776 0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 1.79375 0 vertex 0.765367 1.84776 18 vertex 0.884577 1.79375 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 1.84776 18 vertex 0.884577 1.79375 0 vertex 0.765367 1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 1.58671 0 vertex 1.11114 1.66294 18 vertex 1.21752 1.58671 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 1.66294 18 vertex 1.21752 1.58671 0 vertex 1.11114 1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 0.765367 0 vertex -1.79375 0.884577 18 vertex -1.79375 0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 0.884577 18 vertex -1.84776 0.765367 0 vertex -1.84776 0.765367 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 1.98289 0 vertex -0.390181 1.96157 18 vertex -0.261052 1.98289 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 1.96157 18 vertex -0.261052 1.98289 0 vertex -0.390181 1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 -0.765367 18 vertex 1.89386 -0.642879 0 vertex 1.89386 -0.642879 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 -0.642879 0 vertex 1.84776 -0.765367 18 vertex 1.84776 -0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 0.390181 18 vertex 1.93185 0.517637 0 vertex 1.93185 0.517637 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 0.517637 0 vertex 1.96157 0.390181 18 vertex 1.96157 0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 0.130806 18 vertex 1.98289 0.261052 0 vertex 1.98289 0.261052 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 0.261052 0 vertex 1.99572 0.130806 18 vertex 1.99572 0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 0.517637 18 vertex 1.89386 0.642879 0 vertex 1.89386 0.642879 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 0.642879 0 vertex 1.93185 0.517637 18 vertex 1.93185 0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 0.999999 18 vertex 1.66294 1.11114 0 vertex 1.66294 1.11114 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 1.11114 0 vertex 1.73205 0.999999 18 vertex 1.73205 0.999999 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 0.884577 18 vertex 1.73205 0.999999 0 vertex 1.73205 0.999999 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 0.999999 0 vertex 1.79375 0.884577 18 vertex 1.79375 0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 1.93185 0 vertex 0.390181 1.96157 18 vertex 0.517637 1.93185 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 1.96157 18 vertex 0.517637 1.93185 0 vertex 0.390181 1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 1.84776 0 vertex 0.642879 1.89386 18 vertex 0.765367 1.84776 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 1.89386 18 vertex 0.765367 1.84776 0 vertex 0.642879 1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 1.96157 0 vertex 0.261052 1.98289 18 vertex 0.390181 1.96157 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 1.98289 18 vertex 0.390181 1.96157 0 vertex 0.261052 1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 1.41421 0 vertex 1.31869 1.50368 18 vertex 1.41421 1.41421 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 1.50368 18 vertex 1.41421 1.41421 0 vertex 1.31869 1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 0.390181 0 vertex -1.93185 0.517637 18 vertex -1.93185 0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 0.517637 18 vertex -1.96157 0.390181 0 vertex -1.96157 0.390181 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 1.11114 0 vertex -1.58671 1.21752 18 vertex -1.58671 1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 1.21752 18 vertex -1.66294 1.11114 0 vertex -1.66294 1.11114 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 1.31869 0 vertex -1.41421 1.41421 18 vertex -1.41421 1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 1.41421 18 vertex -1.50368 1.31869 0 vertex -1.50368 1.31869 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 0.642879 0 vertex -1.84776 0.765367 18 vertex -1.84776 0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 0.765367 18 vertex -1.89386 0.642879 0 vertex -1.89386 0.642879 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 0.261052 0 vertex -1.96157 0.390181 18 vertex -1.96157 0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 0.390181 18 vertex -1.98289 0.261052 0 vertex -1.98289 0.261052 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.999999 1.73205 0 vertex -1.11114 1.66294 18 vertex -0.999999 1.73205 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 1.66294 18 vertex -0.999999 1.73205 0 vertex -1.11114 1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 1.84776 0 vertex -0.884577 1.79375 18 vertex -0.765367 1.84776 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 1.79375 18 vertex -0.765367 1.84776 0 vertex -0.884577 1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 1.99572 0 vertex -0.261052 1.98289 18 vertex -0.130806 1.99572 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 1.98289 18 vertex -0.130806 1.99572 0 vertex -0.261052 1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 -1.96157 0 vertex 0.517637 -1.93185 18 vertex 0.390181 -1.96157 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 -1.93185 18 vertex 0.390181 -1.96157 0 vertex 0.517637 -1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 -1.93185 0 vertex 0.642879 -1.89386 18 vertex 0.517637 -1.93185 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 -1.89386 18 vertex 0.517637 -1.93185 0 vertex 0.642879 -1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 -1.58671 0 vertex 1.31869 -1.50368 18 vertex 1.21752 -1.58671 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 -1.50368 18 vertex 1.21752 -1.58671 0 vertex 1.31869 -1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 -1 18 vertex 1.79375 -0.884577 0 vertex 1.79375 -0.884577 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 -0.884577 0 vertex 1.73205 -1 18 vertex 1.73205 -1 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 -1.93185 0 vertex -0.390181 -1.96157 18 vertex -0.517637 -1.93185 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 -1.96157 18 vertex -0.517637 -1.93185 0 vertex -0.390181 -1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 -1.41421 0 vertex -1.31869 -1.50368 18 vertex -1.41421 -1.41421 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 -1.50368 18 vertex -1.41421 -1.41421 0 vertex -1.31869 -1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 -1.84776 0 vertex -0.642879 -1.89386 18 vertex -0.765367 -1.84776 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 -1.89386 18 vertex -0.765367 -1.84776 0 vertex -0.642879 -1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 -1.96157 0 vertex -0.261052 -1.98289 18 vertex -0.390181 -1.96157 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 -1.98289 18 vertex -0.390181 -1.96157 0 vertex -0.261052 -1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 -0.884577 0 vertex -1.84776 -0.765367 18 vertex -1.84776 -0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 -0.765367 18 vertex -1.79375 -0.884577 0 vertex -1.79375 -0.884577 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.799999 0 0 vertex 2 0 0 vertex 1.99572 -0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 -0.0523224 0 vertex 1.99572 -0.130806 0 vertex 1.98289 -0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex 2 0 0 vertex 0.799999 0 0 vertex 1.99572 0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 -0.104421 0 vertex 1.98289 -0.261052 0 vertex 1.96157 -0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 0.0523224 0 vertex 1.99572 0.130806 0 vertex 0.799999 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 -0.156072 0 vertex 1.96157 -0.390181 0 vertex 1.93185 -0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 0.130806 0 vertex 0.798286 0.0523224 0 vertex 1.98289 0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 -0.207055 0 vertex 1.93185 -0.517637 0 vertex 1.89386 -0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 0.104421 0 vertex 1.98289 0.261052 0 vertex 0.798286 0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 -0.257151 0 vertex 1.89386 -0.642879 0 vertex 1.84776 -0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 0.261052 0 vertex 0.793156 0.104421 0 vertex 1.96157 0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 -0.306147 0 vertex 1.84776 -0.765367 0 vertex 1.79375 -0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 0.156072 0 vertex 1.96157 0.390181 0 vertex 0.793156 0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 -0.35383 0 vertex 1.79375 -0.884577 0 vertex 1.73205 -1 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 0.390181 0 vertex 0.784628 0.156072 0 vertex 1.93185 0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 -0.4 0 vertex 1.73205 -1 0 vertex 1.66294 -1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 0.207055 0 vertex 1.93185 0.517637 0 vertex 0.784628 0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 -0.444456 0 vertex 1.66294 -1.11114 0 vertex 1.58671 -1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 0.517637 0 vertex 0.77274 0.207055 0 vertex 1.89386 0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 -0.487009 0 vertex 1.58671 -1.21752 0 vertex 1.50368 -1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 0.257151 0 vertex 1.89386 0.642879 0 vertex 0.77274 0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 -0.527476 0 vertex 1.50368 -1.31869 0 vertex 1.41421 -1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 0.642879 0 vertex 0.757544 0.257151 0 vertex 1.84776 0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 -0.565685 0 vertex 1.41421 -1.41421 0 vertex 1.31869 -1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 0.306147 0 vertex 1.84776 0.765367 0 vertex 0.757544 0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 -0.601471 0 vertex 1.31869 -1.50368 0 vertex 1.21752 -1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 0.765367 0 vertex 0.739103 0.306147 0 vertex 1.79375 0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 -0.634683 0 vertex 1.21752 -1.58671 0 vertex 1.11114 -1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 0.35383 0 vertex 1.79375 0.884577 0 vertex 0.739103 0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 -0.665175 0 vertex 1.11114 -1.66294 0 vertex 1 -1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 0.884577 0 vertex 0.717498 0.35383 0 vertex 1.73205 0.999999 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 -0.69282 0 vertex 1 -1.73205 0 vertex 0.884577 -1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 0.4 0 vertex 1.73205 0.999999 0 vertex 0.717498 0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 0.999999 0 vertex 0.69282 0.4 0 vertex 1.66294 1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 -0.130806 0 vertex 0.798286 -0.0523224 0 vertex 0.799999 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 -0.261052 0 vertex 0.793156 -0.104421 0 vertex 0.798286 -0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 -0.390181 0 vertex 0.784628 -0.156072 0 vertex 0.793156 -0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 -0.517637 0 vertex 0.77274 -0.207055 0 vertex 0.784628 -0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 -0.717498 0 vertex 0.884577 -1.79375 0 vertex 0.765367 -1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 -0.642879 0 vertex 0.757544 -0.257151 0 vertex 0.77274 -0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 -0.765367 0 vertex 0.739103 -0.306147 0 vertex 0.757544 -0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 -0.884577 0 vertex 0.717498 -0.35383 0 vertex 0.739103 -0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 -1 0 vertex 0.69282 -0.4 0 vertex 0.717498 -0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 -1.11114 0 vertex 0.665175 -0.444456 0 vertex 0.69282 -0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 -0.739103 0 vertex 0.765367 -1.84776 0 vertex 0.642879 -1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 -1.21752 0 vertex 0.634683 -0.487009 0 vertex 0.665175 -0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 -1.31869 0 vertex 0.601471 -0.527476 0 vertex 0.634683 -0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 -1.41421 0 vertex 0.565685 -0.565685 0 vertex 0.601471 -0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 -1.50368 0 vertex 0.527476 -0.601471 0 vertex 0.565685 -0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 -0.757544 0 vertex 0.642879 -1.89386 0 vertex 0.517637 -1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 -1.58671 0 vertex 0.487009 -0.634683 0 vertex 0.527476 -0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 -1.66294 0 vertex 0.444456 -0.665175 0 vertex 0.487009 -0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1 -1.73205 0 vertex 0.4 -0.69282 0 vertex 0.444456 -0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 -0.77274 0 vertex 0.517637 -1.93185 0 vertex 0.390181 -1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 -1.79375 0 vertex 0.35383 -0.717498 0 vertex 0.4 -0.69282 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 -1.84776 0 vertex 0.306147 -0.739103 0 vertex 0.35383 -0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 -0.784628 0 vertex 0.390181 -1.96157 0 vertex 0.261052 -1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 -1.89386 0 vertex 0.257151 -0.757544 0 vertex 0.306147 -0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 -1.93185 0 vertex 0.207055 -0.77274 0 vertex 0.257151 -0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 -1.96157 0 vertex 0.156072 -0.784628 0 vertex 0.207055 -0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 -0.793156 0 vertex 0.261052 -1.98289 0 vertex 0.130806 -1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 -1.98289 0 vertex 0.104421 -0.793156 0 vertex 0.156072 -0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.130806 -1.99572 0 vertex 0.0523224 -0.798286 0 vertex 0.104421 -0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -2 0 vertex 0.0523224 -0.798286 0 vertex 0.130806 -1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -2 0 vertex 0 -0.799999 0 vertex 0.0523224 -0.798286 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -2 0 vertex -0.0523224 -0.798286 0 vertex 0 -0.799999 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 -1.99572 0 vertex -0.0523224 -0.798286 0 vertex 0 -2 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 -0.798286 0 vertex -0.130806 -1.99572 0 vertex -0.104421 -0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 -1.98289 0 vertex -0.104421 -0.793156 0 vertex -0.130806 -1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 -0.793156 0 vertex -0.261052 -1.98289 0 vertex -0.156072 -0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 -1.96157 0 vertex -0.156072 -0.784628 0 vertex -0.261052 -1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 -0.784628 0 vertex -0.390181 -1.96157 0 vertex -0.207055 -0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 -1.93185 0 vertex -0.207055 -0.77274 0 vertex -0.390181 -1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 -0.77274 0 vertex -0.517637 -1.93185 0 vertex -0.257151 -0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 -1.89386 0 vertex -0.257151 -0.757544 0 vertex -0.517637 -1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 -0.757544 0 vertex -0.642879 -1.89386 0 vertex -0.306147 -0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 -1.84776 0 vertex -0.306147 -0.739103 0 vertex -0.642879 -1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 -0.739103 0 vertex -0.765367 -1.84776 0 vertex -0.35383 -0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 -1.79375 0 vertex -0.35383 -0.717498 0 vertex -0.765367 -1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 -0.717498 0 vertex -0.884577 -1.79375 0 vertex -0.4 -0.69282 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1 -1.73205 0 vertex -0.4 -0.69282 0 vertex -0.884577 -1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 -0.69282 0 vertex -1 -1.73205 0 vertex -0.444456 -0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 -1.66294 0 vertex -0.444456 -0.665175 0 vertex -1 -1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 -0.665175 0 vertex -1.11114 -1.66294 0 vertex -0.487009 -0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 -1.58671 0 vertex -0.487009 -0.634683 0 vertex -1.11114 -1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 -0.634683 0 vertex -1.21752 -1.58671 0 vertex -0.527476 -0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 -1.50368 0 vertex -0.527476 -0.601471 0 vertex -1.21752 -1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 -0.601471 0 vertex -1.31869 -1.50368 0 vertex -0.565685 -0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 -1.41421 0 vertex -0.565685 -0.565685 0 vertex -1.31869 -1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 -0.565685 0 vertex -1.41421 -1.41421 0 vertex -0.601471 -0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 -1.31869 0 vertex -0.601471 -0.527476 0 vertex -1.41421 -1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 -0.527476 0 vertex -1.50368 -1.31869 0 vertex -0.634683 -0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 -1.21752 0 vertex -0.634683 -0.487009 0 vertex -1.50368 -1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 -0.487009 0 vertex -1.58671 -1.21752 0 vertex -0.665175 -0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 -1.11114 0 vertex -0.665175 -0.444456 0 vertex -1.58671 -1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 -0.444456 0 vertex -1.66294 -1.11114 0 vertex -0.69282 -0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 0.444456 0 vertex 1.66294 1.11114 0 vertex 0.69282 0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 1.11114 0 vertex 0.665175 0.444456 0 vertex 1.58671 1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 0.487009 0 vertex 1.58671 1.21752 0 vertex 0.665175 0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 1.21752 0 vertex 0.634683 0.487009 0 vertex 1.50368 1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 0.527476 0 vertex 1.50368 1.31869 0 vertex 0.634683 0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 1.31869 0 vertex 0.601471 0.527476 0 vertex 1.41421 1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 0.565685 0 vertex 1.41421 1.41421 0 vertex 0.601471 0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 1.41421 0 vertex 0.565685 0.565685 0 vertex 1.31869 1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 0.601471 0 vertex 1.31869 1.50368 0 vertex 0.565685 0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 1.50368 0 vertex 0.527476 0.601471 0 vertex 1.21752 1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 0.634683 0 vertex 1.21752 1.58671 0 vertex 0.527476 0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 1.58671 0 vertex 0.487009 0.634683 0 vertex 1.11114 1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 0.665175 0 vertex 1.11114 1.66294 0 vertex 0.487009 0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 1.66294 0 vertex 0.444456 0.665175 0 vertex 1 1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 0.69282 0 vertex 1 1.73205 0 vertex 0.444456 0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1 1.73205 0 vertex 0.4 0.69282 0 vertex 0.884577 1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 0.717498 0 vertex 0.884577 1.79375 0 vertex 0.4 0.69282 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 1.79375 0 vertex 0.35383 0.717498 0 vertex 0.765367 1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 0.739103 0 vertex 0.765367 1.84776 0 vertex 0.35383 0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 1.84776 0 vertex 0.306147 0.739103 0 vertex 0.642879 1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 0.757544 0 vertex 0.642879 1.89386 0 vertex 0.306147 0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 1.89386 0 vertex 0.257151 0.757544 0 vertex 0.517637 1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 0.77274 0 vertex 0.517637 1.93185 0 vertex 0.257151 0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 1.93185 0 vertex 0.207055 0.77274 0 vertex 0.390181 1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 0.784628 0 vertex 0.390181 1.96157 0 vertex 0.207055 0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 1.96157 0 vertex 0.156072 0.784628 0 vertex 0.261052 1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 0.793156 0 vertex 0.261052 1.98289 0 vertex 0.156072 0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 1.98289 0 vertex 0.104421 0.793156 0 vertex 0.130806 1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.0523224 0.798286 0 vertex 0.130806 1.99572 0 vertex 0.104421 0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 0.799999 0 vertex 0.130806 1.99572 0 vertex 0.0523224 0.798286 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 0.799999 0 vertex 0 2 0 vertex 0.130806 1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 0.798286 0 vertex 0 2 0 vertex 0 0.799999 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 1.99572 0 vertex -0.0523224 0.798286 0 vertex -0.104421 0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 0.798286 0 vertex -0.130806 1.99572 0 vertex 0 2 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 1.98289 0 vertex -0.104421 0.793156 0 vertex -0.156072 0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 1.96157 0 vertex -0.156072 0.784628 0 vertex -0.207055 0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 1.93185 0 vertex -0.207055 0.77274 0 vertex -0.257151 0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 0.793156 0 vertex -0.261052 1.98289 0 vertex -0.130806 1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 1.89386 0 vertex -0.257151 0.757544 0 vertex -0.306147 0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 1.84776 0 vertex -0.306147 0.739103 0 vertex -0.35383 0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 0.784628 0 vertex -0.390181 1.96157 0 vertex -0.261052 1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 1.79375 0 vertex -0.35383 0.717498 0 vertex -0.4 0.69282 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.999999 1.73205 0 vertex -0.4 0.69282 0 vertex -0.444456 0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 1.66294 0 vertex -0.444456 0.665175 0 vertex -0.487009 0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 0.77274 0 vertex -0.517637 1.93185 0 vertex -0.390181 1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 1.58671 0 vertex -0.487009 0.634683 0 vertex -0.527476 0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 1.50368 0 vertex -0.527476 0.601471 0 vertex -0.565685 0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 1.41421 0 vertex -0.565685 0.565685 0 vertex -0.601471 0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 1.31869 0 vertex -0.601471 0.527476 0 vertex -0.634683 0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 0.757544 0 vertex -0.642879 1.89386 0 vertex -0.517637 1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 1.21752 0 vertex -0.634683 0.487009 0 vertex -0.665175 0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 1.11114 0 vertex -0.665175 0.444456 0 vertex -0.69282 0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 0.999999 0 vertex -0.69282 0.4 0 vertex -0.717498 0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 0.884577 0 vertex -0.717498 0.35383 0 vertex -0.739103 0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 0.765367 0 vertex -0.739103 0.306147 0 vertex -0.757544 0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 0.739103 0 vertex -0.765367 1.84776 0 vertex -0.642879 1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 0.642879 0 vertex -0.757544 0.257151 0 vertex -0.77274 0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 0.517637 0 vertex -0.77274 0.207055 0 vertex -0.784628 0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 0.390181 0 vertex -0.784628 0.156072 0 vertex -0.793156 0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 0.261052 0 vertex -0.793156 0.104421 0 vertex -0.798286 0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 0.130806 0 vertex -0.798286 0.0523224 0 vertex -0.799999 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 -0.999999 0 vertex -0.69282 -0.4 0 vertex -1.66294 -1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 0.717498 0 vertex -0.884577 1.79375 0 vertex -0.765367 1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 0.69282 0 vertex -0.999999 1.73205 0 vertex -0.884577 1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 -0.4 0 vertex -1.73205 -0.999999 0 vertex -0.717498 -0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 -0.884577 0 vertex -0.717498 -0.35383 0 vertex -1.73205 -0.999999 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 0.665175 0 vertex -1.11114 1.66294 0 vertex -0.999999 1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 -0.35383 0 vertex -1.79375 -0.884577 0 vertex -0.739103 -0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 0.634683 0 vertex -1.21752 1.58671 0 vertex -1.11114 1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 -0.765367 0 vertex -0.739103 -0.306147 0 vertex -1.79375 -0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 0.601471 0 vertex -1.31869 1.50368 0 vertex -1.21752 1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 -0.306147 0 vertex -1.84776 -0.765367 0 vertex -0.757544 -0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 0.565685 0 vertex -1.41421 1.41421 0 vertex -1.31869 1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 -0.642879 0 vertex -0.757544 -0.257151 0 vertex -1.84776 -0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 0.527476 0 vertex -1.50368 1.31869 0 vertex -1.41421 1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 -0.257151 0 vertex -1.89386 -0.642879 0 vertex -0.77274 -0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 0.487009 0 vertex -1.58671 1.21752 0 vertex -1.50368 1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 -0.517637 0 vertex -0.77274 -0.207055 0 vertex -1.89386 -0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 0.444456 0 vertex -1.66294 1.11114 0 vertex -1.58671 1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 -0.207055 0 vertex -1.93185 -0.517637 0 vertex -0.784628 -0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 0.4 0 vertex -1.73205 0.999999 0 vertex -1.66294 1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 -0.390181 0 vertex -0.784628 -0.156072 0 vertex -1.93185 -0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 0.35383 0 vertex -1.79375 0.884577 0 vertex -1.73205 0.999999 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 -0.156072 0 vertex -1.96157 -0.390181 0 vertex -0.793156 -0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 0.306147 0 vertex -1.84776 0.765367 0 vertex -1.79375 0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 -0.261052 0 vertex -0.793156 -0.104421 0 vertex -1.96157 -0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 0.257151 0 vertex -1.89386 0.642879 0 vertex -1.84776 0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 -0.104421 0 vertex -1.98289 -0.261052 0 vertex -0.798286 -0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 0.207055 0 vertex -1.93185 0.517637 0 vertex -1.89386 0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 -0.130806 0 vertex -0.798286 -0.0523224 0 vertex -1.98289 -0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 0.156072 0 vertex -1.96157 0.390181 0 vertex -1.93185 0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 -0.0523224 0 vertex -1.99572 -0.130806 0 vertex -0.799999 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 0.104421 0 vertex -1.98289 0.261052 0 vertex -1.96157 0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex -2 0 0 vertex -0.799999 0 0 vertex -1.99572 -0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 0.0523224 0 vertex -1.99572 0.130806 0 vertex -1.98289 0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.799999 0 0 vertex -2 0 0 vertex -1.99572 0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 0.261052 18 vertex 1.96157 0.390181 0 vertex 1.96157 0.390181 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 0.390181 0 vertex 1.98289 0.261052 18 vertex 1.98289 0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 0.642879 18 vertex 1.84776 0.765367 0 vertex 1.84776 0.765367 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 0.765367 0 vertex 1.89386 0.642879 18 vertex 1.89386 0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 1.11114 18 vertex 1.58671 1.21752 0 vertex 1.58671 1.21752 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 1.21752 0 vertex 1.66294 1.11114 18 vertex 1.66294 1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 1.21752 18 vertex 1.50368 1.31869 0 vertex 1.50368 1.31869 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 1.31869 0 vertex 1.58671 1.21752 18 vertex 1.58671 1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 1.89386 0 vertex 0.517637 1.93185 18 vertex 0.642879 1.89386 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 1.93185 18 vertex 0.642879 1.89386 0 vertex 0.517637 1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 1.98289 0 vertex 0.130806 1.99572 18 vertex 0.261052 1.98289 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.130806 1.99572 18 vertex 0.261052 1.98289 0 vertex 0.130806 1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 1.66294 0 vertex 1 1.73205 18 vertex 1.11114 1.66294 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1 1.73205 18 vertex 1.11114 1.66294 0 vertex 1 1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1 1.73205 0 vertex 0.884577 1.79375 18 vertex 1 1.73205 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 1.79375 18 vertex 1 1.73205 0 vertex 0.884577 1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 1.50368 0 vertex 1.21752 1.58671 18 vertex 1.31869 1.50368 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 1.58671 18 vertex 1.31869 1.50368 0 vertex 1.21752 1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 1.21752 0 vertex -1.50368 1.31869 18 vertex -1.50368 1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 1.31869 18 vertex -1.58671 1.21752 0 vertex -1.58671 1.21752 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 0.884577 0 vertex -1.73205 0.999999 18 vertex -1.73205 0.999999 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 0.999999 18 vertex -1.79375 0.884577 0 vertex -1.79375 0.884577 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 0.999999 0 vertex -1.66294 1.11114 18 vertex -1.66294 1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 1.11114 18 vertex -1.73205 0.999999 0 vertex -1.73205 0.999999 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 0.517637 0 vertex -1.89386 0.642879 18 vertex -1.89386 0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 0.642879 18 vertex -1.93185 0.517637 0 vertex -1.93185 0.517637 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 0.130806 0 vertex -1.98289 0.261052 18 vertex -1.98289 0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 0.261052 18 vertex -1.99572 0.130806 0 vertex -1.99572 0.130806 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.799999 0 18 vertex 2 0 18 vertex 1.99572 0.130806 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 0.0523224 18 vertex 1.99572 0.130806 18 vertex 1.98289 0.261052 18 endloop endfacet facet normal 0 0 0 outer loop vertex 2 0 18 vertex 0.799999 0 18 vertex 1.99572 -0.130806 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 0.104421 18 vertex 1.98289 0.261052 18 vertex 1.96157 0.390181 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 -0.0523224 18 vertex 1.99572 -0.130806 18 vertex 0.799999 0 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 0.156072 18 vertex 1.96157 0.390181 18 vertex 1.93185 0.517637 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 -0.130806 18 vertex 0.798286 -0.0523224 18 vertex 1.98289 -0.261052 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 0.207055 18 vertex 1.93185 0.517637 18 vertex 1.89386 0.642879 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 -0.104421 18 vertex 1.98289 -0.261052 18 vertex 0.798286 -0.0523224 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 0.257151 18 vertex 1.89386 0.642879 18 vertex 1.84776 0.765367 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 -0.261052 18 vertex 0.793156 -0.104421 18 vertex 1.96157 -0.390181 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 0.306147 18 vertex 1.84776 0.765367 18 vertex 1.79375 0.884577 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 -0.156072 18 vertex 1.96157 -0.390181 18 vertex 0.793156 -0.104421 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 0.35383 18 vertex 1.79375 0.884577 18 vertex 1.73205 0.999999 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 -0.390181 18 vertex 0.784628 -0.156072 18 vertex 1.93185 -0.517637 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 0.4 18 vertex 1.73205 0.999999 18 vertex 1.66294 1.11114 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 -0.207055 18 vertex 1.93185 -0.517637 18 vertex 0.784628 -0.156072 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 0.444456 18 vertex 1.66294 1.11114 18 vertex 1.58671 1.21752 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 -0.517637 18 vertex 0.77274 -0.207055 18 vertex 1.89386 -0.642879 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 0.487009 18 vertex 1.58671 1.21752 18 vertex 1.50368 1.31869 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 -0.257151 18 vertex 1.89386 -0.642879 18 vertex 0.77274 -0.207055 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 0.527476 18 vertex 1.50368 1.31869 18 vertex 1.41421 1.41421 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 -0.642879 18 vertex 0.757544 -0.257151 18 vertex 1.84776 -0.765367 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 0.565685 18 vertex 1.41421 1.41421 18 vertex 1.31869 1.50368 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 -0.306147 18 vertex 1.84776 -0.765367 18 vertex 0.757544 -0.257151 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 0.601471 18 vertex 1.31869 1.50368 18 vertex 1.21752 1.58671 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 -0.765367 18 vertex 0.739103 -0.306147 18 vertex 1.79375 -0.884577 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 0.634683 18 vertex 1.21752 1.58671 18 vertex 1.11114 1.66294 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 -0.35383 18 vertex 1.79375 -0.884577 18 vertex 0.739103 -0.306147 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 0.665175 18 vertex 1.11114 1.66294 18 vertex 1 1.73205 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 -0.884577 18 vertex 0.717498 -0.35383 18 vertex 1.73205 -1 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 0.69282 18 vertex 1 1.73205 18 vertex 0.884577 1.79375 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 -0.4 18 vertex 1.73205 -1 18 vertex 0.717498 -0.35383 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 -1 18 vertex 0.69282 -0.4 18 vertex 1.66294 -1.11114 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 0.130806 18 vertex 0.798286 0.0523224 18 vertex 0.799999 0 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 0.261052 18 vertex 0.793156 0.104421 18 vertex 0.798286 0.0523224 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 0.390181 18 vertex 0.784628 0.156072 18 vertex 0.793156 0.104421 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 0.517637 18 vertex 0.77274 0.207055 18 vertex 0.784628 0.156072 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 0.717498 18 vertex 0.884577 1.79375 18 vertex 0.765367 1.84776 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 0.642879 18 vertex 0.757544 0.257151 18 vertex 0.77274 0.207055 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 0.765367 18 vertex 0.739103 0.306147 18 vertex 0.757544 0.257151 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 0.884577 18 vertex 0.717498 0.35383 18 vertex 0.739103 0.306147 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 0.999999 18 vertex 0.69282 0.4 18 vertex 0.717498 0.35383 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 1.11114 18 vertex 0.665175 0.444456 18 vertex 0.69282 0.4 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 0.739103 18 vertex 0.765367 1.84776 18 vertex 0.642879 1.89386 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 1.21752 18 vertex 0.634683 0.487009 18 vertex 0.665175 0.444456 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 1.31869 18 vertex 0.601471 0.527476 18 vertex 0.634683 0.487009 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 1.41421 18 vertex 0.565685 0.565685 18 vertex 0.601471 0.527476 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 1.50368 18 vertex 0.527476 0.601471 18 vertex 0.565685 0.565685 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 0.757544 18 vertex 0.642879 1.89386 18 vertex 0.517637 1.93185 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 1.58671 18 vertex 0.487009 0.634683 18 vertex 0.527476 0.601471 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 1.66294 18 vertex 0.444456 0.665175 18 vertex 0.487009 0.634683 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1 1.73205 18 vertex 0.4 0.69282 18 vertex 0.444456 0.665175 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 0.77274 18 vertex 0.517637 1.93185 18 vertex 0.390181 1.96157 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 1.79375 18 vertex 0.35383 0.717498 18 vertex 0.4 0.69282 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 1.84776 18 vertex 0.306147 0.739103 18 vertex 0.35383 0.717498 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 0.784628 18 vertex 0.390181 1.96157 18 vertex 0.261052 1.98289 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 1.89386 18 vertex 0.257151 0.757544 18 vertex 0.306147 0.739103 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 1.93185 18 vertex 0.207055 0.77274 18 vertex 0.257151 0.757544 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 1.96157 18 vertex 0.156072 0.784628 18 vertex 0.207055 0.77274 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 0.793156 18 vertex 0.261052 1.98289 18 vertex 0.130806 1.99572 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 1.98289 18 vertex 0.104421 0.793156 18 vertex 0.156072 0.784628 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.130806 1.99572 18 vertex 0.0523224 0.798286 18 vertex 0.104421 0.793156 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0 2 18 vertex 0.0523224 0.798286 18 vertex 0.130806 1.99572 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0 2 18 vertex 0 0.799999 18 vertex 0.0523224 0.798286 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0 2 18 vertex -0.0523224 0.798286 18 vertex 0 0.799999 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 1.99572 18 vertex -0.0523224 0.798286 18 vertex 0 2 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 0.798286 18 vertex -0.130806 1.99572 18 vertex -0.104421 0.793156 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 1.98289 18 vertex -0.104421 0.793156 18 vertex -0.130806 1.99572 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 0.793156 18 vertex -0.261052 1.98289 18 vertex -0.156072 0.784628 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 1.96157 18 vertex -0.156072 0.784628 18 vertex -0.261052 1.98289 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 0.784628 18 vertex -0.390181 1.96157 18 vertex -0.207055 0.77274 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 1.93185 18 vertex -0.207055 0.77274 18 vertex -0.390181 1.96157 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 0.77274 18 vertex -0.517637 1.93185 18 vertex -0.257151 0.757544 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 1.89386 18 vertex -0.257151 0.757544 18 vertex -0.517637 1.93185 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 0.757544 18 vertex -0.642879 1.89386 18 vertex -0.306147 0.739103 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 1.84776 18 vertex -0.306147 0.739103 18 vertex -0.642879 1.89386 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 0.739103 18 vertex -0.765367 1.84776 18 vertex -0.35383 0.717498 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 1.79375 18 vertex -0.35383 0.717498 18 vertex -0.765367 1.84776 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 0.717498 18 vertex -0.884577 1.79375 18 vertex -0.4 0.69282 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.999999 1.73205 18 vertex -0.4 0.69282 18 vertex -0.884577 1.79375 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 0.69282 18 vertex -0.999999 1.73205 18 vertex -0.444456 0.665175 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 1.66294 18 vertex -0.444456 0.665175 18 vertex -0.999999 1.73205 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 0.665175 18 vertex -1.11114 1.66294 18 vertex -0.487009 0.634683 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 1.58671 18 vertex -0.487009 0.634683 18 vertex -1.11114 1.66294 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 0.634683 18 vertex -1.21752 1.58671 18 vertex -0.527476 0.601471 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 1.50368 18 vertex -0.527476 0.601471 18 vertex -1.21752 1.58671 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 0.601471 18 vertex -1.31869 1.50368 18 vertex -0.565685 0.565685 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 1.41421 18 vertex -0.565685 0.565685 18 vertex -1.31869 1.50368 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 0.565685 18 vertex -1.41421 1.41421 18 vertex -0.601471 0.527476 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 1.31869 18 vertex -0.601471 0.527476 18 vertex -1.41421 1.41421 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 0.527476 18 vertex -1.50368 1.31869 18 vertex -0.634683 0.487009 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 1.21752 18 vertex -0.634683 0.487009 18 vertex -1.50368 1.31869 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 0.487009 18 vertex -1.58671 1.21752 18 vertex -0.665175 0.444456 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 1.11114 18 vertex -0.665175 0.444456 18 vertex -1.58671 1.21752 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 0.444456 18 vertex -1.66294 1.11114 18 vertex -0.69282 0.4 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 -0.444456 18 vertex 1.66294 -1.11114 18 vertex 0.69282 -0.4 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 -1.11114 18 vertex 0.665175 -0.444456 18 vertex 1.58671 -1.21752 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 -0.487009 18 vertex 1.58671 -1.21752 18 vertex 0.665175 -0.444456 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 -1.21752 18 vertex 0.634683 -0.487009 18 vertex 1.50368 -1.31869 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 -0.527476 18 vertex 1.50368 -1.31869 18 vertex 0.634683 -0.487009 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 -1.31869 18 vertex 0.601471 -0.527476 18 vertex 1.41421 -1.41421 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 -0.565685 18 vertex 1.41421 -1.41421 18 vertex 0.601471 -0.527476 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 -1.41421 18 vertex 0.565685 -0.565685 18 vertex 1.31869 -1.50368 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 -0.601471 18 vertex 1.31869 -1.50368 18 vertex 0.565685 -0.565685 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 -1.50368 18 vertex 0.527476 -0.601471 18 vertex 1.21752 -1.58671 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 -0.634683 18 vertex 1.21752 -1.58671 18 vertex 0.527476 -0.601471 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 -1.58671 18 vertex 0.487009 -0.634683 18 vertex 1.11114 -1.66294 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 -0.665175 18 vertex 1.11114 -1.66294 18 vertex 0.487009 -0.634683 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 -1.66294 18 vertex 0.444456 -0.665175 18 vertex 1 -1.73205 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 -0.69282 18 vertex 1 -1.73205 18 vertex 0.444456 -0.665175 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1 -1.73205 18 vertex 0.4 -0.69282 18 vertex 0.884577 -1.79375 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 -0.717498 18 vertex 0.884577 -1.79375 18 vertex 0.4 -0.69282 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 -1.79375 18 vertex 0.35383 -0.717498 18 vertex 0.765367 -1.84776 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 -0.739103 18 vertex 0.765367 -1.84776 18 vertex 0.35383 -0.717498 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 -1.84776 18 vertex 0.306147 -0.739103 18 vertex 0.642879 -1.89386 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 -0.757544 18 vertex 0.642879 -1.89386 18 vertex 0.306147 -0.739103 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 -1.89386 18 vertex 0.257151 -0.757544 18 vertex 0.517637 -1.93185 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 -0.77274 18 vertex 0.517637 -1.93185 18 vertex 0.257151 -0.757544 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 -1.93185 18 vertex 0.207055 -0.77274 18 vertex 0.390181 -1.96157 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 -0.784628 18 vertex 0.390181 -1.96157 18 vertex 0.207055 -0.77274 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 -1.96157 18 vertex 0.156072 -0.784628 18 vertex 0.261052 -1.98289 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 -0.793156 18 vertex 0.261052 -1.98289 18 vertex 0.156072 -0.784628 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 -1.98289 18 vertex 0.104421 -0.793156 18 vertex 0.130806 -1.99572 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.0523224 -0.798286 18 vertex 0.130806 -1.99572 18 vertex 0.104421 -0.793156 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -0.799999 18 vertex 0.130806 -1.99572 18 vertex 0.0523224 -0.798286 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -0.799999 18 vertex 0 -2 18 vertex 0.130806 -1.99572 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 -0.798286 18 vertex 0 -2 18 vertex 0 -0.799999 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 -1.99572 18 vertex -0.0523224 -0.798286 18 vertex -0.104421 -0.793156 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 -0.798286 18 vertex -0.130806 -1.99572 18 vertex 0 -2 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 -1.98289 18 vertex -0.104421 -0.793156 18 vertex -0.156072 -0.784628 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 -1.96157 18 vertex -0.156072 -0.784628 18 vertex -0.207055 -0.77274 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 -1.93185 18 vertex -0.207055 -0.77274 18 vertex -0.257151 -0.757544 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 -0.793156 18 vertex -0.261052 -1.98289 18 vertex -0.130806 -1.99572 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 -1.89386 18 vertex -0.257151 -0.757544 18 vertex -0.306147 -0.739103 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 -1.84776 18 vertex -0.306147 -0.739103 18 vertex -0.35383 -0.717498 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 -0.784628 18 vertex -0.390181 -1.96157 18 vertex -0.261052 -1.98289 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 -1.79375 18 vertex -0.35383 -0.717498 18 vertex -0.4 -0.69282 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1 -1.73205 18 vertex -0.4 -0.69282 18 vertex -0.444456 -0.665175 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 -1.66294 18 vertex -0.444456 -0.665175 18 vertex -0.487009 -0.634683 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 -0.77274 18 vertex -0.517637 -1.93185 18 vertex -0.390181 -1.96157 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 -1.58671 18 vertex -0.487009 -0.634683 18 vertex -0.527476 -0.601471 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 -1.50368 18 vertex -0.527476 -0.601471 18 vertex -0.565685 -0.565685 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 -1.41421 18 vertex -0.565685 -0.565685 18 vertex -0.601471 -0.527476 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 -1.31869 18 vertex -0.601471 -0.527476 18 vertex -0.634683 -0.487009 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 -0.757544 18 vertex -0.642879 -1.89386 18 vertex -0.517637 -1.93185 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 -1.21752 18 vertex -0.634683 -0.487009 18 vertex -0.665175 -0.444456 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 -1.11114 18 vertex -0.665175 -0.444456 18 vertex -0.69282 -0.4 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 -0.999999 18 vertex -0.69282 -0.4 18 vertex -0.717498 -0.35383 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 -0.884577 18 vertex -0.717498 -0.35383 18 vertex -0.739103 -0.306147 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 -0.765367 18 vertex -0.739103 -0.306147 18 vertex -0.757544 -0.257151 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 -0.739103 18 vertex -0.765367 -1.84776 18 vertex -0.642879 -1.89386 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 -0.642879 18 vertex -0.757544 -0.257151 18 vertex -0.77274 -0.207055 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 -0.517637 18 vertex -0.77274 -0.207055 18 vertex -0.784628 -0.156072 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 -0.390181 18 vertex -0.784628 -0.156072 18 vertex -0.793156 -0.104421 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 -0.261052 18 vertex -0.793156 -0.104421 18 vertex -0.798286 -0.0523224 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 -0.130806 18 vertex -0.798286 -0.0523224 18 vertex -0.799999 0 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 0.999999 18 vertex -0.69282 0.4 18 vertex -1.66294 1.11114 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 -0.717498 18 vertex -0.884577 -1.79375 18 vertex -0.765367 -1.84776 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 0.4 18 vertex -1.73205 0.999999 18 vertex -0.717498 0.35383 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 -0.69282 18 vertex -1 -1.73205 18 vertex -0.884577 -1.79375 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 0.884577 18 vertex -0.717498 0.35383 18 vertex -1.73205 0.999999 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 -0.665175 18 vertex -1.11114 -1.66294 18 vertex -1 -1.73205 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 0.35383 18 vertex -1.79375 0.884577 18 vertex -0.739103 0.306147 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 -0.634683 18 vertex -1.21752 -1.58671 18 vertex -1.11114 -1.66294 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 0.765367 18 vertex -0.739103 0.306147 18 vertex -1.79375 0.884577 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 -0.601471 18 vertex -1.31869 -1.50368 18 vertex -1.21752 -1.58671 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 0.306147 18 vertex -1.84776 0.765367 18 vertex -0.757544 0.257151 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 -0.565685 18 vertex -1.41421 -1.41421 18 vertex -1.31869 -1.50368 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 0.642879 18 vertex -0.757544 0.257151 18 vertex -1.84776 0.765367 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 -0.527476 18 vertex -1.50368 -1.31869 18 vertex -1.41421 -1.41421 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 0.257151 18 vertex -1.89386 0.642879 18 vertex -0.77274 0.207055 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 -0.487009 18 vertex -1.58671 -1.21752 18 vertex -1.50368 -1.31869 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 0.517637 18 vertex -0.77274 0.207055 18 vertex -1.89386 0.642879 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 -0.444456 18 vertex -1.66294 -1.11114 18 vertex -1.58671 -1.21752 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 0.207055 18 vertex -1.93185 0.517637 18 vertex -0.784628 0.156072 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 -0.4 18 vertex -1.73205 -0.999999 18 vertex -1.66294 -1.11114 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 0.390181 18 vertex -0.784628 0.156072 18 vertex -1.93185 0.517637 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 -0.35383 18 vertex -1.79375 -0.884577 18 vertex -1.73205 -0.999999 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 0.156072 18 vertex -1.96157 0.390181 18 vertex -0.793156 0.104421 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 -0.306147 18 vertex -1.84776 -0.765367 18 vertex -1.79375 -0.884577 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 0.261052 18 vertex -0.793156 0.104421 18 vertex -1.96157 0.390181 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 -0.257151 18 vertex -1.89386 -0.642879 18 vertex -1.84776 -0.765367 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 0.104421 18 vertex -1.98289 0.261052 18 vertex -0.798286 0.0523224 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 -0.207055 18 vertex -1.93185 -0.517637 18 vertex -1.89386 -0.642879 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 0.130806 18 vertex -0.798286 0.0523224 18 vertex -1.98289 0.261052 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 -0.156072 18 vertex -1.96157 -0.390181 18 vertex -1.93185 -0.517637 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 0.0523224 18 vertex -1.99572 0.130806 18 vertex -0.799999 0 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 -0.104421 18 vertex -1.98289 -0.261052 18 vertex -1.96157 -0.390181 18 endloop endfacet facet normal 0 0 0 outer loop vertex -2 0 18 vertex -0.799999 0 18 vertex -1.99572 0.130806 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 -0.0523224 18 vertex -1.99572 -0.130806 18 vertex -1.98289 -0.261052 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.799999 0 18 vertex -2 0 18 vertex -1.99572 -0.130806 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 1.79375 0 vertex -0.999999 1.73205 18 vertex -0.884577 1.79375 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.999999 1.73205 18 vertex -0.884577 1.79375 0 vertex -0.999999 1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 1.66294 0 vertex -1.21752 1.58671 18 vertex -1.11114 1.66294 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 1.58671 18 vertex -1.11114 1.66294 0 vertex -1.21752 1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 1.58671 0 vertex -1.31869 1.50368 18 vertex -1.21752 1.58671 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 1.50368 18 vertex -1.21752 1.58671 0 vertex -1.31869 1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 1.96157 0 vertex -0.517637 1.93185 18 vertex -0.390181 1.96157 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 1.93185 18 vertex -0.390181 1.96157 0 vertex -0.517637 1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 1.93185 0 vertex -0.642879 1.89386 18 vertex -0.517637 1.93185 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 1.89386 18 vertex -0.517637 1.93185 0 vertex -0.642879 1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 2 0 vertex -0.130806 1.99572 18 vertex 0 2 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 1.99572 18 vertex 0 2 0 vertex -0.130806 1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 -0.130806 18 vertex 2 0 0 vertex 2 0 18 endloop endfacet facet normal 0 0 0 outer loop vertex 2 0 0 vertex 1.99572 -0.130806 18 vertex 1.99572 -0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -2 0 vertex 0.130806 -1.99572 18 vertex 0 -2 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.130806 -1.99572 18 vertex 0 -2 0 vertex 0.130806 -1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 -1.98289 0 vertex 0.390181 -1.96157 18 vertex 0.261052 -1.98289 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 -1.96157 18 vertex 0.261052 -1.98289 0 vertex 0.390181 -1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 -1.89386 0 vertex 0.765367 -1.84776 18 vertex 0.642879 -1.89386 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 -1.84776 18 vertex 0.642879 -1.89386 0 vertex 0.765367 -1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 -1.50368 0 vertex 1.41421 -1.41421 18 vertex 1.31869 -1.50368 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 -1.41421 18 vertex 1.31869 -1.50368 0 vertex 1.41421 -1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 -1.66294 0 vertex 1.21752 -1.58671 18 vertex 1.11114 -1.66294 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 -1.58671 18 vertex 1.11114 -1.66294 0 vertex 1.21752 -1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 -1.79375 0 vertex 1 -1.73205 18 vertex 0.884577 -1.79375 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1 -1.73205 18 vertex 0.884577 -1.79375 0 vertex 1 -1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 -1.31869 18 vertex 1.58671 -1.21752 0 vertex 1.58671 -1.21752 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 -1.21752 0 vertex 1.50368 -1.31869 18 vertex 1.50368 -1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 -1.11114 18 vertex 1.73205 -1 0 vertex 1.73205 -1 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 -1 0 vertex 1.66294 -1.11114 18 vertex 1.66294 -1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 -0.884577 18 vertex 1.84776 -0.765367 0 vertex 1.84776 -0.765367 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 -0.765367 0 vertex 1.79375 -0.884577 18 vertex 1.79375 -0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 -0.642879 18 vertex 1.93185 -0.517637 0 vertex 1.93185 -0.517637 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 -0.517637 0 vertex 1.89386 -0.642879 18 vertex 1.89386 -0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 -0.261052 18 vertex 1.99572 -0.130806 0 vertex 1.99572 -0.130806 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 -0.130806 0 vertex 1.98289 -0.261052 18 vertex 1.98289 -0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 -1.50368 0 vertex -1.21752 -1.58671 18 vertex -1.31869 -1.50368 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 -1.58671 18 vertex -1.31869 -1.50368 0 vertex -1.21752 -1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 -1.79375 0 vertex -0.765367 -1.84776 18 vertex -0.884577 -1.79375 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 -1.84776 18 vertex -0.884577 -1.79375 0 vertex -0.765367 -1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 -1.66294 0 vertex -1 -1.73205 18 vertex -1.11114 -1.66294 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1 -1.73205 18 vertex -1.11114 -1.66294 0 vertex -1 -1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 -1.89386 0 vertex -0.517637 -1.93185 18 vertex -0.642879 -1.89386 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 -1.93185 18 vertex -0.642879 -1.89386 0 vertex -0.517637 -1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 -1.98289 0 vertex -0.130806 -1.99572 18 vertex -0.261052 -1.98289 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 -1.99572 18 vertex -0.261052 -1.98289 0 vertex -0.130806 -1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 -0.999999 0 vertex -1.79375 -0.884577 18 vertex -1.79375 -0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 -0.884577 18 vertex -1.73205 -0.999999 0 vertex -1.73205 -0.999999 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 -1.21752 0 vertex -1.66294 -1.11114 18 vertex -1.66294 -1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 -1.11114 18 vertex -1.58671 -1.21752 0 vertex -1.58671 -1.21752 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 -0.517637 0 vertex -1.96157 -0.390181 18 vertex -1.96157 -0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 -0.390181 18 vertex -1.93185 -0.517637 0 vertex -1.93185 -0.517637 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 -0.390181 0 vertex -1.98289 -0.261052 18 vertex -1.98289 -0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 -0.261052 18 vertex -1.96157 -0.390181 0 vertex -1.96157 -0.390181 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 -0.130806 0 vertex -2 0 18 vertex -2 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex -2 0 18 vertex -1.99572 -0.130806 0 vertex -1.99572 -0.130806 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.130806 -1.99572 0 vertex 0.261052 -1.98289 18 vertex 0.130806 -1.99572 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 -1.98289 18 vertex 0.130806 -1.99572 0 vertex 0.261052 -1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 -1.84776 0 vertex 0.884577 -1.79375 18 vertex 0.765367 -1.84776 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 -1.79375 18 vertex 0.765367 -1.84776 0 vertex 0.884577 -1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 -1.41421 18 vertex 1.50368 -1.31869 0 vertex 1.50368 -1.31869 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 -1.31869 0 vertex 1.41421 -1.41421 18 vertex 1.41421 -1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1 -1.73205 0 vertex 1.11114 -1.66294 18 vertex 1 -1.73205 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 -1.66294 18 vertex 1 -1.73205 0 vertex 1.11114 -1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 -1.21752 18 vertex 1.66294 -1.11114 0 vertex 1.66294 -1.11114 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 -1.11114 0 vertex 1.58671 -1.21752 18 vertex 1.58671 -1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 -0.517637 18 vertex 1.96157 -0.390181 0 vertex 1.96157 -0.390181 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 -0.390181 0 vertex 1.93185 -0.517637 18 vertex 1.93185 -0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 -1.58671 0 vertex -1.11114 -1.66294 18 vertex -1.21752 -1.58671 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 -1.66294 18 vertex -1.21752 -1.58671 0 vertex -1.11114 -1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1 -1.73205 0 vertex -0.884577 -1.79375 18 vertex -1 -1.73205 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 -1.79375 18 vertex -1 -1.73205 0 vertex -0.884577 -1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 -1.11114 0 vertex -1.73205 -0.999999 18 vertex -1.73205 -0.999999 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 -0.999999 18 vertex -1.66294 -1.11114 0 vertex -1.66294 -1.11114 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 -1.31869 0 vertex -1.58671 -1.21752 18 vertex -1.58671 -1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 -1.21752 18 vertex -1.50368 -1.31869 0 vertex -1.50368 -1.31869 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 -0.642879 0 vertex -1.93185 -0.517637 18 vertex -1.93185 -0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 -0.517637 18 vertex -1.89386 -0.642879 0 vertex -1.89386 -0.642879 18 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 -0.261052 0 vertex -1.99572 -0.130806 18 vertex -1.99572 -0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 -0.130806 18 vertex -1.98289 -0.261052 0 vertex -1.98289 -0.261052 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 -0.390181 18 vertex 1.98289 -0.261052 0 vertex 1.98289 -0.261052 18 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 -0.261052 0 vertex 1.96157 -0.390181 18 vertex 1.96157 -0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.799999 0 0 vertex 0.798286 0.0523224 18 vertex 0.798286 0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 0.0523224 18 vertex 0.799999 0 0 vertex 0.799999 0 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 0.798286 0 vertex 0 0.799999 18 vertex -0.0523224 0.798286 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0 0.799999 18 vertex -0.0523224 0.798286 0 vertex 0 0.799999 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 0.601471 0 vertex 0.565685 0.565685 18 vertex 0.527476 0.601471 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 0.565685 18 vertex 0.527476 0.601471 0 vertex 0.565685 0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 0.739103 0 vertex -0.257151 0.757544 18 vertex -0.306147 0.739103 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 0.757544 18 vertex -0.306147 0.739103 0 vertex -0.257151 0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 0.306147 0 vertex 0.717498 0.35383 18 vertex 0.717498 0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 0.35383 18 vertex 0.739103 0.306147 0 vertex 0.739103 0.306147 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 0.757544 0 vertex 0.306147 0.739103 18 vertex 0.257151 0.757544 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 0.739103 18 vertex 0.257151 0.757544 0 vertex 0.306147 0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 0.4 18 vertex -0.665175 0.444456 0 vertex -0.665175 0.444456 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 0.444456 0 vertex -0.69282 0.4 18 vertex -0.69282 0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 0.444456 18 vertex -0.634683 0.487009 0 vertex -0.634683 0.487009 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 0.487009 0 vertex -0.665175 0.444456 18 vertex -0.665175 0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 0.104421 0 vertex 0.784628 0.156072 18 vertex 0.784628 0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 0.156072 18 vertex 0.793156 0.104421 0 vertex 0.793156 0.104421 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 0.0523224 0 vertex 0.793156 0.104421 18 vertex 0.793156 0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 0.104421 18 vertex 0.798286 0.0523224 0 vertex 0.798286 0.0523224 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 0.444456 0 vertex 0.634683 0.487009 18 vertex 0.634683 0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 0.487009 18 vertex 0.665175 0.444456 0 vertex 0.665175 0.444456 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 0.527476 0 vertex 0.565685 0.565685 18 vertex 0.565685 0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 0.565685 18 vertex 0.601471 0.527476 0 vertex 0.601471 0.527476 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 0.4 0 vertex 0.665175 0.444456 18 vertex 0.665175 0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 0.444456 18 vertex 0.69282 0.4 0 vertex 0.69282 0.4 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 0.793156 0 vertex 0.156072 0.784628 18 vertex 0.104421 0.793156 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 0.784628 18 vertex 0.104421 0.793156 0 vertex 0.156072 0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 0.77274 0 vertex 0.257151 0.757544 18 vertex 0.207055 0.77274 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 0.757544 18 vertex 0.207055 0.77274 0 vertex 0.257151 0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 0.799999 0 vertex 0.0523224 0.798286 18 vertex 0 0.799999 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.0523224 0.798286 18 vertex 0 0.799999 0 vertex 0.0523224 0.798286 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 0.634683 0 vertex 0.527476 0.601471 18 vertex 0.487009 0.634683 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 0.601471 18 vertex 0.487009 0.634683 0 vertex 0.527476 0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 0.739103 0 vertex 0.35383 0.717498 18 vertex 0.306147 0.739103 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 0.717498 18 vertex 0.306147 0.739103 0 vertex 0.35383 0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 0.306147 18 vertex -0.717498 0.35383 0 vertex -0.717498 0.35383 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 0.35383 0 vertex -0.739103 0.306147 18 vertex -0.739103 0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 0.156072 18 vertex -0.77274 0.207055 0 vertex -0.77274 0.207055 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 0.207055 0 vertex -0.784628 0.156072 18 vertex -0.784628 0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 0.665175 0 vertex -0.4 0.69282 18 vertex -0.444456 0.665175 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 0.69282 18 vertex -0.444456 0.665175 0 vertex -0.4 0.69282 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 0.717498 0 vertex -0.306147 0.739103 18 vertex -0.35383 0.717498 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 0.739103 18 vertex -0.35383 0.717498 0 vertex -0.306147 0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 0.634683 0 vertex -0.444456 0.665175 18 vertex -0.487009 0.634683 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 0.665175 18 vertex -0.487009 0.634683 0 vertex -0.444456 0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 0.793156 0 vertex -0.0523224 0.798286 18 vertex -0.104421 0.793156 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 0.798286 18 vertex -0.104421 0.793156 0 vertex -0.0523224 0.798286 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 -0.306147 0 vertex 0.757544 -0.257151 18 vertex 0.757544 -0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 -0.257151 18 vertex 0.739103 -0.306147 0 vertex 0.739103 -0.306147 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 -0.487009 18 vertex -0.665175 -0.444456 0 vertex -0.665175 -0.444456 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 -0.444456 0 vertex -0.634683 -0.487009 18 vertex -0.634683 -0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 -0.306147 18 vertex -0.757544 -0.257151 0 vertex -0.757544 -0.257151 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 -0.257151 0 vertex -0.739103 -0.306147 18 vertex -0.739103 -0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 -0.717498 0 vertex 0.306147 -0.739103 18 vertex 0.35383 -0.717498 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 -0.739103 18 vertex 0.35383 -0.717498 0 vertex 0.306147 -0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 0.156072 0 vertex 0.77274 0.207055 18 vertex 0.77274 0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 0.207055 18 vertex 0.784628 0.156072 0 vertex 0.784628 0.156072 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 0.207055 0 vertex 0.757544 0.257151 18 vertex 0.757544 0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 0.257151 18 vertex 0.77274 0.207055 0 vertex 0.77274 0.207055 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 0.257151 0 vertex 0.739103 0.306147 18 vertex 0.739103 0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 0.306147 18 vertex 0.757544 0.257151 0 vertex 0.757544 0.257151 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 0.35383 0 vertex 0.69282 0.4 18 vertex 0.69282 0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 0.4 18 vertex 0.717498 0.35383 0 vertex 0.717498 0.35383 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 0.784628 0 vertex 0.207055 0.77274 18 vertex 0.156072 0.784628 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 0.77274 18 vertex 0.156072 0.784628 0 vertex 0.207055 0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.0523224 0.798286 0 vertex 0.104421 0.793156 18 vertex 0.0523224 0.798286 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 0.793156 18 vertex 0.0523224 0.798286 0 vertex 0.104421 0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 0.717498 0 vertex 0.4 0.69282 18 vertex 0.35383 0.717498 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 0.69282 18 vertex 0.35383 0.717498 0 vertex 0.4 0.69282 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 0.665175 0 vertex 0.487009 0.634683 18 vertex 0.444456 0.665175 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 0.634683 18 vertex 0.444456 0.665175 0 vertex 0.487009 0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 0.69282 0 vertex 0.444456 0.665175 18 vertex 0.4 0.69282 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 0.665175 18 vertex 0.4 0.69282 0 vertex 0.444456 0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.799999 0 18 vertex -0.798286 0.0523224 0 vertex -0.798286 0.0523224 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 0.0523224 0 vertex -0.799999 0 18 vertex -0.799999 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 0.527476 18 vertex -0.565685 0.565685 0 vertex -0.565685 0.565685 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 0.565685 0 vertex -0.601471 0.527476 18 vertex -0.601471 0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 0.487009 18 vertex -0.601471 0.527476 0 vertex -0.601471 0.527476 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 0.527476 0 vertex -0.634683 0.487009 18 vertex -0.634683 0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 0.35383 18 vertex -0.69282 0.4 0 vertex -0.69282 0.4 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 0.4 0 vertex -0.717498 0.35383 18 vertex -0.717498 0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 0.257151 18 vertex -0.739103 0.306147 0 vertex -0.739103 0.306147 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 0.306147 0 vertex -0.757544 0.257151 18 vertex -0.757544 0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 0.104421 18 vertex -0.784628 0.156072 0 vertex -0.784628 0.156072 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 0.156072 0 vertex -0.793156 0.104421 18 vertex -0.793156 0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 0.207055 18 vertex -0.757544 0.257151 0 vertex -0.757544 0.257151 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 0.257151 0 vertex -0.77274 0.207055 18 vertex -0.77274 0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 0.565685 0 vertex -0.527476 0.601471 18 vertex -0.565685 0.565685 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 0.601471 18 vertex -0.565685 0.565685 0 vertex -0.527476 0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 0.69282 0 vertex -0.35383 0.717498 18 vertex -0.4 0.69282 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 0.717498 18 vertex -0.4 0.69282 0 vertex -0.35383 0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 0.757544 0 vertex -0.207055 0.77274 18 vertex -0.257151 0.757544 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 0.77274 18 vertex -0.257151 0.757544 0 vertex -0.207055 0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 0.784628 0 vertex -0.104421 0.793156 18 vertex -0.156072 0.784628 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 0.793156 18 vertex -0.156072 0.784628 0 vertex -0.104421 0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 0.77274 0 vertex -0.156072 0.784628 18 vertex -0.207055 0.77274 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 0.784628 18 vertex -0.207055 0.77274 0 vertex -0.156072 0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 -0.104421 0 vertex 0.798286 -0.0523224 18 vertex 0.798286 -0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 -0.0523224 18 vertex 0.793156 -0.104421 0 vertex 0.793156 -0.104421 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 -0.207055 0 vertex 0.784628 -0.156072 18 vertex 0.784628 -0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 -0.156072 18 vertex 0.77274 -0.207055 0 vertex 0.77274 -0.207055 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 -0.0523224 0 vertex 0.799999 0 18 vertex 0.799999 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.799999 0 18 vertex 0.798286 -0.0523224 0 vertex 0.798286 -0.0523224 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 -0.35383 18 vertex -0.739103 -0.306147 0 vertex -0.739103 -0.306147 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 -0.306147 0 vertex -0.717498 -0.35383 18 vertex -0.717498 -0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 -0.207055 18 vertex -0.784628 -0.156072 0 vertex -0.784628 -0.156072 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 -0.156072 0 vertex -0.77274 -0.207055 18 vertex -0.77274 -0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 -0.793156 0 vertex 0.0523224 -0.798286 18 vertex 0.104421 -0.793156 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.0523224 -0.798286 18 vertex 0.104421 -0.793156 0 vertex 0.0523224 -0.798286 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 0.487009 0 vertex 0.601471 0.527476 18 vertex 0.601471 0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 0.527476 18 vertex 0.634683 0.487009 0 vertex 0.634683 0.487009 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 0.0523224 18 vertex -0.793156 0.104421 0 vertex -0.793156 0.104421 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 0.104421 0 vertex -0.798286 0.0523224 18 vertex -0.798286 0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 0.601471 0 vertex -0.487009 0.634683 18 vertex -0.527476 0.601471 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 0.634683 18 vertex -0.527476 0.601471 0 vertex -0.487009 0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 -0.4 0 vertex 0.717498 -0.35383 18 vertex 0.717498 -0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 -0.35383 18 vertex 0.69282 -0.4 0 vertex 0.69282 -0.4 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 -0.257151 0 vertex 0.77274 -0.207055 18 vertex 0.77274 -0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 -0.207055 18 vertex 0.757544 -0.257151 0 vertex 0.757544 -0.257151 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 -0.527476 0 vertex 0.634683 -0.487009 18 vertex 0.634683 -0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 -0.487009 18 vertex 0.601471 -0.527476 0 vertex 0.601471 -0.527476 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 -0.487009 0 vertex 0.665175 -0.444456 18 vertex 0.665175 -0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 -0.444456 18 vertex 0.634683 -0.487009 0 vertex 0.634683 -0.487009 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 -0.444456 0 vertex 0.69282 -0.4 18 vertex 0.69282 -0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 -0.4 18 vertex 0.665175 -0.444456 0 vertex 0.665175 -0.444456 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 -0.601471 0 vertex 0.487009 -0.634683 18 vertex 0.527476 -0.601471 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 -0.634683 18 vertex 0.527476 -0.601471 0 vertex 0.487009 -0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.0523224 -0.798286 0 vertex 0 -0.799999 18 vertex 0.0523224 -0.798286 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -0.799999 18 vertex 0.0523224 -0.798286 0 vertex 0 -0.799999 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 -0.784628 0 vertex -0.207055 -0.77274 18 vertex -0.156072 -0.784628 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 -0.77274 18 vertex -0.156072 -0.784628 0 vertex -0.207055 -0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 -0.634683 0 vertex -0.527476 -0.601471 18 vertex -0.487009 -0.634683 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 -0.601471 18 vertex -0.487009 -0.634683 0 vertex -0.527476 -0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 -0.69282 0 vertex -0.444456 -0.665175 18 vertex -0.4 -0.69282 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 -0.665175 18 vertex -0.4 -0.69282 0 vertex -0.444456 -0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 -0.257151 18 vertex -0.77274 -0.207055 0 vertex -0.77274 -0.207055 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 -0.207055 0 vertex -0.757544 -0.257151 18 vertex -0.757544 -0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 -0.0523224 18 vertex -0.799999 0 0 vertex -0.799999 0 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.799999 0 0 vertex -0.798286 -0.0523224 18 vertex -0.798286 -0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 -0.156072 18 vertex -0.793156 -0.104421 0 vertex -0.793156 -0.104421 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 -0.104421 0 vertex -0.784628 -0.156072 18 vertex -0.784628 -0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 -0.757544 0 vertex 0.207055 -0.77274 18 vertex 0.257151 -0.757544 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 -0.77274 18 vertex 0.257151 -0.757544 0 vertex 0.207055 -0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 -0.739103 0 vertex 0.257151 -0.757544 18 vertex 0.306147 -0.739103 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 -0.757544 18 vertex 0.306147 -0.739103 0 vertex 0.257151 -0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 -0.35383 0 vertex 0.739103 -0.306147 18 vertex 0.739103 -0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 -0.306147 18 vertex 0.717498 -0.35383 0 vertex 0.717498 -0.35383 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 -0.156072 0 vertex 0.793156 -0.104421 18 vertex 0.793156 -0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 -0.104421 18 vertex 0.784628 -0.156072 0 vertex 0.784628 -0.156072 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 -0.69282 0 vertex 0.35383 -0.717498 18 vertex 0.4 -0.69282 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 -0.717498 18 vertex 0.4 -0.69282 0 vertex 0.35383 -0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 -0.634683 0 vertex 0.444456 -0.665175 18 vertex 0.487009 -0.634683 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 -0.665175 18 vertex 0.487009 -0.634683 0 vertex 0.444456 -0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -0.799999 0 vertex -0.0523224 -0.798286 18 vertex 0 -0.799999 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 -0.798286 18 vertex 0 -0.799999 0 vertex -0.0523224 -0.798286 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 -0.798286 0 vertex -0.104421 -0.793156 18 vertex -0.0523224 -0.798286 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 -0.793156 18 vertex -0.0523224 -0.798286 0 vertex -0.104421 -0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 -0.757544 0 vertex -0.306147 -0.739103 18 vertex -0.257151 -0.757544 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 -0.739103 18 vertex -0.257151 -0.757544 0 vertex -0.306147 -0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 -0.77274 0 vertex -0.257151 -0.757544 18 vertex -0.207055 -0.77274 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 -0.757544 18 vertex -0.207055 -0.77274 0 vertex -0.257151 -0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 -0.739103 0 vertex -0.35383 -0.717498 18 vertex -0.306147 -0.739103 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 -0.717498 18 vertex -0.306147 -0.739103 0 vertex -0.35383 -0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 -0.665175 0 vertex -0.487009 -0.634683 18 vertex -0.444456 -0.665175 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 -0.634683 18 vertex -0.444456 -0.665175 0 vertex -0.487009 -0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 -0.601471 0 vertex -0.565685 -0.565685 18 vertex -0.527476 -0.601471 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 -0.565685 18 vertex -0.527476 -0.601471 0 vertex -0.565685 -0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 -0.565685 18 vertex -0.601471 -0.527476 0 vertex -0.601471 -0.527476 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 -0.527476 0 vertex -0.565685 -0.565685 18 vertex -0.565685 -0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 -0.527476 18 vertex -0.634683 -0.487009 0 vertex -0.634683 -0.487009 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 -0.487009 0 vertex -0.601471 -0.527476 18 vertex -0.601471 -0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 -0.444456 18 vertex -0.69282 -0.4 0 vertex -0.69282 -0.4 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 -0.4 0 vertex -0.665175 -0.444456 18 vertex -0.665175 -0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 -0.4 18 vertex -0.717498 -0.35383 0 vertex -0.717498 -0.35383 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 -0.35383 0 vertex -0.69282 -0.4 18 vertex -0.69282 -0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 -0.104421 18 vertex -0.798286 -0.0523224 0 vertex -0.798286 -0.0523224 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 -0.0523224 0 vertex -0.793156 -0.104421 18 vertex -0.793156 -0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 -0.77274 0 vertex 0.156072 -0.784628 18 vertex 0.207055 -0.77274 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 -0.784628 18 vertex 0.207055 -0.77274 0 vertex 0.156072 -0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 -0.784628 0 vertex 0.104421 -0.793156 18 vertex 0.156072 -0.784628 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 -0.793156 18 vertex 0.156072 -0.784628 0 vertex 0.104421 -0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 -0.565685 0 vertex 0.527476 -0.601471 18 vertex 0.565685 -0.565685 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 -0.601471 18 vertex 0.565685 -0.565685 0 vertex 0.527476 -0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 -0.565685 0 vertex 0.601471 -0.527476 18 vertex 0.601471 -0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 -0.527476 18 vertex 0.565685 -0.565685 0 vertex 0.565685 -0.565685 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 -0.665175 0 vertex 0.4 -0.69282 18 vertex 0.444456 -0.665175 18 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 -0.69282 18 vertex 0.444456 -0.665175 0 vertex 0.4 -0.69282 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 -0.793156 0 vertex -0.156072 -0.784628 18 vertex -0.104421 -0.793156 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 -0.784628 18 vertex -0.104421 -0.793156 0 vertex -0.156072 -0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 -0.717498 0 vertex -0.4 -0.69282 18 vertex -0.35383 -0.717498 18 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 -0.69282 18 vertex -0.35383 -0.717498 0 vertex -0.4 -0.69282 0 endloop endfacet endsolid OpenSCAD_Model ================================================ FILE: 3d/customizable-cylinder_25mm.stl ================================================ solid OpenSCAD_Model facet normal 0 0 0 outer loop vertex 2 0 25 vertex 1.99572 0.130806 0 vertex 1.99572 0.130806 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 0.130806 0 vertex 2 0 25 vertex 2 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex -2 0 0 vertex -1.99572 0.130806 25 vertex -1.99572 0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 0.130806 25 vertex -2 0 0 vertex -2 0 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.130806 1.99572 0 vertex 0 2 25 vertex 0.130806 1.99572 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0 2 25 vertex 0.130806 1.99572 0 vertex 0 2 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 -1.99572 0 vertex 0 -2 25 vertex -0.130806 -1.99572 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -2 25 vertex -0.130806 -1.99572 0 vertex 0 -2 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 -1.41421 0 vertex -1.50368 -1.31869 25 vertex -1.50368 -1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 -1.31869 25 vertex -1.41421 -1.41421 0 vertex -1.41421 -1.41421 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 1.31869 25 vertex 1.41421 1.41421 0 vertex 1.41421 1.41421 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 1.41421 0 vertex 1.50368 1.31869 25 vertex 1.50368 1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 1.50368 0 vertex -1.41421 1.41421 25 vertex -1.31869 1.50368 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 1.41421 25 vertex -1.31869 1.50368 0 vertex -1.41421 1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 1.89386 0 vertex -0.765367 1.84776 25 vertex -0.642879 1.89386 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 1.84776 25 vertex -0.642879 1.89386 0 vertex -0.765367 1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 -0.765367 0 vertex -1.89386 -0.642879 25 vertex -1.89386 -0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 -0.642879 25 vertex -1.84776 -0.765367 0 vertex -1.84776 -0.765367 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 0.765367 25 vertex 1.79375 0.884577 0 vertex 1.79375 0.884577 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 0.884577 0 vertex 1.84776 0.765367 25 vertex 1.84776 0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 1.79375 0 vertex 0.765367 1.84776 25 vertex 0.884577 1.79375 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 1.84776 25 vertex 0.884577 1.79375 0 vertex 0.765367 1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 1.58671 0 vertex 1.11114 1.66294 25 vertex 1.21752 1.58671 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 1.66294 25 vertex 1.21752 1.58671 0 vertex 1.11114 1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 0.765367 0 vertex -1.79375 0.884577 25 vertex -1.79375 0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 0.884577 25 vertex -1.84776 0.765367 0 vertex -1.84776 0.765367 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 1.98289 0 vertex -0.390181 1.96157 25 vertex -0.261052 1.98289 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 1.96157 25 vertex -0.261052 1.98289 0 vertex -0.390181 1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 -0.765367 25 vertex 1.89386 -0.642879 0 vertex 1.89386 -0.642879 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 -0.642879 0 vertex 1.84776 -0.765367 25 vertex 1.84776 -0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 0.390181 25 vertex 1.93185 0.517637 0 vertex 1.93185 0.517637 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 0.517637 0 vertex 1.96157 0.390181 25 vertex 1.96157 0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 0.130806 25 vertex 1.98289 0.261052 0 vertex 1.98289 0.261052 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 0.261052 0 vertex 1.99572 0.130806 25 vertex 1.99572 0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 0.517637 25 vertex 1.89386 0.642879 0 vertex 1.89386 0.642879 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 0.642879 0 vertex 1.93185 0.517637 25 vertex 1.93185 0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 0.999999 25 vertex 1.66294 1.11114 0 vertex 1.66294 1.11114 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 1.11114 0 vertex 1.73205 0.999999 25 vertex 1.73205 0.999999 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 0.884577 25 vertex 1.73205 0.999999 0 vertex 1.73205 0.999999 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 0.999999 0 vertex 1.79375 0.884577 25 vertex 1.79375 0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 1.93185 0 vertex 0.390181 1.96157 25 vertex 0.517637 1.93185 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 1.96157 25 vertex 0.517637 1.93185 0 vertex 0.390181 1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 1.84776 0 vertex 0.642879 1.89386 25 vertex 0.765367 1.84776 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 1.89386 25 vertex 0.765367 1.84776 0 vertex 0.642879 1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 1.96157 0 vertex 0.261052 1.98289 25 vertex 0.390181 1.96157 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 1.98289 25 vertex 0.390181 1.96157 0 vertex 0.261052 1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 1.41421 0 vertex 1.31869 1.50368 25 vertex 1.41421 1.41421 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 1.50368 25 vertex 1.41421 1.41421 0 vertex 1.31869 1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 0.390181 0 vertex -1.93185 0.517637 25 vertex -1.93185 0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 0.517637 25 vertex -1.96157 0.390181 0 vertex -1.96157 0.390181 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 1.11114 0 vertex -1.58671 1.21752 25 vertex -1.58671 1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 1.21752 25 vertex -1.66294 1.11114 0 vertex -1.66294 1.11114 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 1.31869 0 vertex -1.41421 1.41421 25 vertex -1.41421 1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 1.41421 25 vertex -1.50368 1.31869 0 vertex -1.50368 1.31869 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 0.642879 0 vertex -1.84776 0.765367 25 vertex -1.84776 0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 0.765367 25 vertex -1.89386 0.642879 0 vertex -1.89386 0.642879 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 0.261052 0 vertex -1.96157 0.390181 25 vertex -1.96157 0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 0.390181 25 vertex -1.98289 0.261052 0 vertex -1.98289 0.261052 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.999999 1.73205 0 vertex -1.11114 1.66294 25 vertex -0.999999 1.73205 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 1.66294 25 vertex -0.999999 1.73205 0 vertex -1.11114 1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 1.84776 0 vertex -0.884577 1.79375 25 vertex -0.765367 1.84776 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 1.79375 25 vertex -0.765367 1.84776 0 vertex -0.884577 1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 1.99572 0 vertex -0.261052 1.98289 25 vertex -0.130806 1.99572 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 1.98289 25 vertex -0.130806 1.99572 0 vertex -0.261052 1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 -1.96157 0 vertex 0.517637 -1.93185 25 vertex 0.390181 -1.96157 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 -1.93185 25 vertex 0.390181 -1.96157 0 vertex 0.517637 -1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 -1.93185 0 vertex 0.642879 -1.89386 25 vertex 0.517637 -1.93185 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 -1.89386 25 vertex 0.517637 -1.93185 0 vertex 0.642879 -1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 -1.58671 0 vertex 1.31869 -1.50368 25 vertex 1.21752 -1.58671 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 -1.50368 25 vertex 1.21752 -1.58671 0 vertex 1.31869 -1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 -1 25 vertex 1.79375 -0.884577 0 vertex 1.79375 -0.884577 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 -0.884577 0 vertex 1.73205 -1 25 vertex 1.73205 -1 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 -1.41421 0 vertex -1.31869 -1.50368 25 vertex -1.41421 -1.41421 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 -1.50368 25 vertex -1.41421 -1.41421 0 vertex -1.31869 -1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 -1.84776 0 vertex -0.642879 -1.89386 25 vertex -0.765367 -1.84776 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 -1.89386 25 vertex -0.765367 -1.84776 0 vertex -0.642879 -1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 -1.96157 0 vertex -0.261052 -1.98289 25 vertex -0.390181 -1.96157 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 -1.98289 25 vertex -0.390181 -1.96157 0 vertex -0.261052 -1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 -0.884577 0 vertex -1.84776 -0.765367 25 vertex -1.84776 -0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 -0.765367 25 vertex -1.79375 -0.884577 0 vertex -1.79375 -0.884577 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.799999 0 0 vertex 2 0 0 vertex 1.99572 -0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 -0.0523224 0 vertex 1.99572 -0.130806 0 vertex 1.98289 -0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex 2 0 0 vertex 0.799999 0 0 vertex 1.99572 0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 -0.104421 0 vertex 1.98289 -0.261052 0 vertex 1.96157 -0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 0.0523224 0 vertex 1.99572 0.130806 0 vertex 0.799999 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 -0.156072 0 vertex 1.96157 -0.390181 0 vertex 1.93185 -0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 0.130806 0 vertex 0.798286 0.0523224 0 vertex 1.98289 0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 -0.207055 0 vertex 1.93185 -0.517637 0 vertex 1.89386 -0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 0.104421 0 vertex 1.98289 0.261052 0 vertex 0.798286 0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 -0.257151 0 vertex 1.89386 -0.642879 0 vertex 1.84776 -0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 0.261052 0 vertex 0.793156 0.104421 0 vertex 1.96157 0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 -0.306147 0 vertex 1.84776 -0.765367 0 vertex 1.79375 -0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 0.156072 0 vertex 1.96157 0.390181 0 vertex 0.793156 0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 -0.35383 0 vertex 1.79375 -0.884577 0 vertex 1.73205 -1 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 0.390181 0 vertex 0.784628 0.156072 0 vertex 1.93185 0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 -0.4 0 vertex 1.73205 -1 0 vertex 1.66294 -1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 0.207055 0 vertex 1.93185 0.517637 0 vertex 0.784628 0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 -0.444456 0 vertex 1.66294 -1.11114 0 vertex 1.58671 -1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 0.517637 0 vertex 0.77274 0.207055 0 vertex 1.89386 0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 -0.487009 0 vertex 1.58671 -1.21752 0 vertex 1.50368 -1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 0.257151 0 vertex 1.89386 0.642879 0 vertex 0.77274 0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 -0.527476 0 vertex 1.50368 -1.31869 0 vertex 1.41421 -1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 0.642879 0 vertex 0.757544 0.257151 0 vertex 1.84776 0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 -0.565685 0 vertex 1.41421 -1.41421 0 vertex 1.31869 -1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 0.306147 0 vertex 1.84776 0.765367 0 vertex 0.757544 0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 -0.601471 0 vertex 1.31869 -1.50368 0 vertex 1.21752 -1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 0.765367 0 vertex 0.739103 0.306147 0 vertex 1.79375 0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 -0.634683 0 vertex 1.21752 -1.58671 0 vertex 1.11114 -1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 0.35383 0 vertex 1.79375 0.884577 0 vertex 0.739103 0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 -0.665175 0 vertex 1.11114 -1.66294 0 vertex 1 -1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 0.884577 0 vertex 0.717498 0.35383 0 vertex 1.73205 0.999999 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 -0.69282 0 vertex 1 -1.73205 0 vertex 0.884577 -1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 0.4 0 vertex 1.73205 0.999999 0 vertex 0.717498 0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 0.999999 0 vertex 0.69282 0.4 0 vertex 1.66294 1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 -0.130806 0 vertex 0.798286 -0.0523224 0 vertex 0.799999 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 -0.261052 0 vertex 0.793156 -0.104421 0 vertex 0.798286 -0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 -0.390181 0 vertex 0.784628 -0.156072 0 vertex 0.793156 -0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 -0.517637 0 vertex 0.77274 -0.207055 0 vertex 0.784628 -0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 -0.717498 0 vertex 0.884577 -1.79375 0 vertex 0.765367 -1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 -0.642879 0 vertex 0.757544 -0.257151 0 vertex 0.77274 -0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 -0.765367 0 vertex 0.739103 -0.306147 0 vertex 0.757544 -0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 -0.884577 0 vertex 0.717498 -0.35383 0 vertex 0.739103 -0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 -1 0 vertex 0.69282 -0.4 0 vertex 0.717498 -0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 -1.11114 0 vertex 0.665175 -0.444456 0 vertex 0.69282 -0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 -0.739103 0 vertex 0.765367 -1.84776 0 vertex 0.642879 -1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 -1.21752 0 vertex 0.634683 -0.487009 0 vertex 0.665175 -0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 -1.31869 0 vertex 0.601471 -0.527476 0 vertex 0.634683 -0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 -1.41421 0 vertex 0.565685 -0.565685 0 vertex 0.601471 -0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 -1.50368 0 vertex 0.527476 -0.601471 0 vertex 0.565685 -0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 -0.757544 0 vertex 0.642879 -1.89386 0 vertex 0.517637 -1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 -1.58671 0 vertex 0.487009 -0.634683 0 vertex 0.527476 -0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 -1.66294 0 vertex 0.444456 -0.665175 0 vertex 0.487009 -0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1 -1.73205 0 vertex 0.4 -0.69282 0 vertex 0.444456 -0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 -0.77274 0 vertex 0.517637 -1.93185 0 vertex 0.390181 -1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 -1.79375 0 vertex 0.35383 -0.717498 0 vertex 0.4 -0.69282 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 -1.84776 0 vertex 0.306147 -0.739103 0 vertex 0.35383 -0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 -0.784628 0 vertex 0.390181 -1.96157 0 vertex 0.261052 -1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 -1.89386 0 vertex 0.257151 -0.757544 0 vertex 0.306147 -0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 -1.93185 0 vertex 0.207055 -0.77274 0 vertex 0.257151 -0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 -1.96157 0 vertex 0.156072 -0.784628 0 vertex 0.207055 -0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 -0.793156 0 vertex 0.261052 -1.98289 0 vertex 0.130806 -1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 -1.98289 0 vertex 0.104421 -0.793156 0 vertex 0.156072 -0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.130806 -1.99572 0 vertex 0.0523224 -0.798286 0 vertex 0.104421 -0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -2 0 vertex 0.0523224 -0.798286 0 vertex 0.130806 -1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -2 0 vertex 0 -0.799999 0 vertex 0.0523224 -0.798286 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -2 0 vertex -0.0523224 -0.798286 0 vertex 0 -0.799999 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 -1.99572 0 vertex -0.0523224 -0.798286 0 vertex 0 -2 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 -0.798286 0 vertex -0.130806 -1.99572 0 vertex -0.104421 -0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 -1.98289 0 vertex -0.104421 -0.793156 0 vertex -0.130806 -1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 -0.793156 0 vertex -0.261052 -1.98289 0 vertex -0.156072 -0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 -1.96157 0 vertex -0.156072 -0.784628 0 vertex -0.261052 -1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 -0.784628 0 vertex -0.390181 -1.96157 0 vertex -0.207055 -0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 -1.93185 0 vertex -0.207055 -0.77274 0 vertex -0.390181 -1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 -0.77274 0 vertex -0.517637 -1.93185 0 vertex -0.257151 -0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 -1.89386 0 vertex -0.257151 -0.757544 0 vertex -0.517637 -1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 -0.757544 0 vertex -0.642879 -1.89386 0 vertex -0.306147 -0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 -1.84776 0 vertex -0.306147 -0.739103 0 vertex -0.642879 -1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 -0.739103 0 vertex -0.765367 -1.84776 0 vertex -0.35383 -0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 -1.79375 0 vertex -0.35383 -0.717498 0 vertex -0.765367 -1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 -0.717498 0 vertex -0.884577 -1.79375 0 vertex -0.4 -0.69282 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1 -1.73205 0 vertex -0.4 -0.69282 0 vertex -0.884577 -1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 -0.69282 0 vertex -1 -1.73205 0 vertex -0.444456 -0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 -1.66294 0 vertex -0.444456 -0.665175 0 vertex -1 -1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 -0.665175 0 vertex -1.11114 -1.66294 0 vertex -0.487009 -0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 -1.58671 0 vertex -0.487009 -0.634683 0 vertex -1.11114 -1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 -0.634683 0 vertex -1.21752 -1.58671 0 vertex -0.527476 -0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 -1.50368 0 vertex -0.527476 -0.601471 0 vertex -1.21752 -1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 -0.601471 0 vertex -1.31869 -1.50368 0 vertex -0.565685 -0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 -1.41421 0 vertex -0.565685 -0.565685 0 vertex -1.31869 -1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 -0.565685 0 vertex -1.41421 -1.41421 0 vertex -0.601471 -0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 -1.31869 0 vertex -0.601471 -0.527476 0 vertex -1.41421 -1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 -0.527476 0 vertex -1.50368 -1.31869 0 vertex -0.634683 -0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 -1.21752 0 vertex -0.634683 -0.487009 0 vertex -1.50368 -1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 -0.487009 0 vertex -1.58671 -1.21752 0 vertex -0.665175 -0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 -1.11114 0 vertex -0.665175 -0.444456 0 vertex -1.58671 -1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 -0.444456 0 vertex -1.66294 -1.11114 0 vertex -0.69282 -0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 0.444456 0 vertex 1.66294 1.11114 0 vertex 0.69282 0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 1.11114 0 vertex 0.665175 0.444456 0 vertex 1.58671 1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 0.487009 0 vertex 1.58671 1.21752 0 vertex 0.665175 0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 1.21752 0 vertex 0.634683 0.487009 0 vertex 1.50368 1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 0.527476 0 vertex 1.50368 1.31869 0 vertex 0.634683 0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 1.31869 0 vertex 0.601471 0.527476 0 vertex 1.41421 1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 0.565685 0 vertex 1.41421 1.41421 0 vertex 0.601471 0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 1.41421 0 vertex 0.565685 0.565685 0 vertex 1.31869 1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 0.601471 0 vertex 1.31869 1.50368 0 vertex 0.565685 0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 1.50368 0 vertex 0.527476 0.601471 0 vertex 1.21752 1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 0.634683 0 vertex 1.21752 1.58671 0 vertex 0.527476 0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 1.58671 0 vertex 0.487009 0.634683 0 vertex 1.11114 1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 0.665175 0 vertex 1.11114 1.66294 0 vertex 0.487009 0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 1.66294 0 vertex 0.444456 0.665175 0 vertex 1 1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 0.69282 0 vertex 1 1.73205 0 vertex 0.444456 0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1 1.73205 0 vertex 0.4 0.69282 0 vertex 0.884577 1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 0.717498 0 vertex 0.884577 1.79375 0 vertex 0.4 0.69282 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 1.79375 0 vertex 0.35383 0.717498 0 vertex 0.765367 1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 0.739103 0 vertex 0.765367 1.84776 0 vertex 0.35383 0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 1.84776 0 vertex 0.306147 0.739103 0 vertex 0.642879 1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 0.757544 0 vertex 0.642879 1.89386 0 vertex 0.306147 0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 1.89386 0 vertex 0.257151 0.757544 0 vertex 0.517637 1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 0.77274 0 vertex 0.517637 1.93185 0 vertex 0.257151 0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 1.93185 0 vertex 0.207055 0.77274 0 vertex 0.390181 1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 0.784628 0 vertex 0.390181 1.96157 0 vertex 0.207055 0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 1.96157 0 vertex 0.156072 0.784628 0 vertex 0.261052 1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 0.793156 0 vertex 0.261052 1.98289 0 vertex 0.156072 0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 1.98289 0 vertex 0.104421 0.793156 0 vertex 0.130806 1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.0523224 0.798286 0 vertex 0.130806 1.99572 0 vertex 0.104421 0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 0.799999 0 vertex 0.130806 1.99572 0 vertex 0.0523224 0.798286 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 0.799999 0 vertex 0 2 0 vertex 0.130806 1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 0.798286 0 vertex 0 2 0 vertex 0 0.799999 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 1.99572 0 vertex -0.0523224 0.798286 0 vertex -0.104421 0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 0.798286 0 vertex -0.130806 1.99572 0 vertex 0 2 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 1.98289 0 vertex -0.104421 0.793156 0 vertex -0.156072 0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 1.96157 0 vertex -0.156072 0.784628 0 vertex -0.207055 0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 1.93185 0 vertex -0.207055 0.77274 0 vertex -0.257151 0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 0.793156 0 vertex -0.261052 1.98289 0 vertex -0.130806 1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 1.89386 0 vertex -0.257151 0.757544 0 vertex -0.306147 0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 1.84776 0 vertex -0.306147 0.739103 0 vertex -0.35383 0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 0.784628 0 vertex -0.390181 1.96157 0 vertex -0.261052 1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 1.79375 0 vertex -0.35383 0.717498 0 vertex -0.4 0.69282 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.999999 1.73205 0 vertex -0.4 0.69282 0 vertex -0.444456 0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 1.66294 0 vertex -0.444456 0.665175 0 vertex -0.487009 0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 0.77274 0 vertex -0.517637 1.93185 0 vertex -0.390181 1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 1.58671 0 vertex -0.487009 0.634683 0 vertex -0.527476 0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 1.50368 0 vertex -0.527476 0.601471 0 vertex -0.565685 0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 1.41421 0 vertex -0.565685 0.565685 0 vertex -0.601471 0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 1.31869 0 vertex -0.601471 0.527476 0 vertex -0.634683 0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 0.757544 0 vertex -0.642879 1.89386 0 vertex -0.517637 1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 1.21752 0 vertex -0.634683 0.487009 0 vertex -0.665175 0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 1.11114 0 vertex -0.665175 0.444456 0 vertex -0.69282 0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 0.999999 0 vertex -0.69282 0.4 0 vertex -0.717498 0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 0.884577 0 vertex -0.717498 0.35383 0 vertex -0.739103 0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 0.765367 0 vertex -0.739103 0.306147 0 vertex -0.757544 0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 0.739103 0 vertex -0.765367 1.84776 0 vertex -0.642879 1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 0.642879 0 vertex -0.757544 0.257151 0 vertex -0.77274 0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 0.517637 0 vertex -0.77274 0.207055 0 vertex -0.784628 0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 0.390181 0 vertex -0.784628 0.156072 0 vertex -0.793156 0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 0.261052 0 vertex -0.793156 0.104421 0 vertex -0.798286 0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 0.130806 0 vertex -0.798286 0.0523224 0 vertex -0.799999 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 -0.999999 0 vertex -0.69282 -0.4 0 vertex -1.66294 -1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 0.717498 0 vertex -0.884577 1.79375 0 vertex -0.765367 1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 0.69282 0 vertex -0.999999 1.73205 0 vertex -0.884577 1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 -0.4 0 vertex -1.73205 -0.999999 0 vertex -0.717498 -0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 -0.884577 0 vertex -0.717498 -0.35383 0 vertex -1.73205 -0.999999 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 0.665175 0 vertex -1.11114 1.66294 0 vertex -0.999999 1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 -0.35383 0 vertex -1.79375 -0.884577 0 vertex -0.739103 -0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 0.634683 0 vertex -1.21752 1.58671 0 vertex -1.11114 1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 -0.765367 0 vertex -0.739103 -0.306147 0 vertex -1.79375 -0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 0.601471 0 vertex -1.31869 1.50368 0 vertex -1.21752 1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 -0.306147 0 vertex -1.84776 -0.765367 0 vertex -0.757544 -0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 0.565685 0 vertex -1.41421 1.41421 0 vertex -1.31869 1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 -0.642879 0 vertex -0.757544 -0.257151 0 vertex -1.84776 -0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 0.527476 0 vertex -1.50368 1.31869 0 vertex -1.41421 1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 -0.257151 0 vertex -1.89386 -0.642879 0 vertex -0.77274 -0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 0.487009 0 vertex -1.58671 1.21752 0 vertex -1.50368 1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 -0.517637 0 vertex -0.77274 -0.207055 0 vertex -1.89386 -0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 0.444456 0 vertex -1.66294 1.11114 0 vertex -1.58671 1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 -0.207055 0 vertex -1.93185 -0.517637 0 vertex -0.784628 -0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 0.4 0 vertex -1.73205 0.999999 0 vertex -1.66294 1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 -0.390181 0 vertex -0.784628 -0.156072 0 vertex -1.93185 -0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 0.35383 0 vertex -1.79375 0.884577 0 vertex -1.73205 0.999999 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 -0.156072 0 vertex -1.96157 -0.390181 0 vertex -0.793156 -0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 0.306147 0 vertex -1.84776 0.765367 0 vertex -1.79375 0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 -0.261052 0 vertex -0.793156 -0.104421 0 vertex -1.96157 -0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 0.257151 0 vertex -1.89386 0.642879 0 vertex -1.84776 0.765367 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 -0.104421 0 vertex -1.98289 -0.261052 0 vertex -0.798286 -0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 0.207055 0 vertex -1.93185 0.517637 0 vertex -1.89386 0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 -0.130806 0 vertex -0.798286 -0.0523224 0 vertex -1.98289 -0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 0.156072 0 vertex -1.96157 0.390181 0 vertex -1.93185 0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 -0.0523224 0 vertex -1.99572 -0.130806 0 vertex -0.799999 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 0.104421 0 vertex -1.98289 0.261052 0 vertex -1.96157 0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex -2 0 0 vertex -0.799999 0 0 vertex -1.99572 -0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 0.0523224 0 vertex -1.99572 0.130806 0 vertex -1.98289 0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.799999 0 0 vertex -2 0 0 vertex -1.99572 0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 0.261052 25 vertex 1.96157 0.390181 0 vertex 1.96157 0.390181 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 0.390181 0 vertex 1.98289 0.261052 25 vertex 1.98289 0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 0.642879 25 vertex 1.84776 0.765367 0 vertex 1.84776 0.765367 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 0.765367 0 vertex 1.89386 0.642879 25 vertex 1.89386 0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 1.11114 25 vertex 1.58671 1.21752 0 vertex 1.58671 1.21752 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 1.21752 0 vertex 1.66294 1.11114 25 vertex 1.66294 1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 1.21752 25 vertex 1.50368 1.31869 0 vertex 1.50368 1.31869 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 1.31869 0 vertex 1.58671 1.21752 25 vertex 1.58671 1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 1.89386 0 vertex 0.517637 1.93185 25 vertex 0.642879 1.89386 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 1.93185 25 vertex 0.642879 1.89386 0 vertex 0.517637 1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 1.98289 0 vertex 0.130806 1.99572 25 vertex 0.261052 1.98289 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.130806 1.99572 25 vertex 0.261052 1.98289 0 vertex 0.130806 1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 1.66294 0 vertex 1 1.73205 25 vertex 1.11114 1.66294 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1 1.73205 25 vertex 1.11114 1.66294 0 vertex 1 1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1 1.73205 0 vertex 0.884577 1.79375 25 vertex 1 1.73205 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 1.79375 25 vertex 1 1.73205 0 vertex 0.884577 1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 1.50368 0 vertex 1.21752 1.58671 25 vertex 1.31869 1.50368 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 1.58671 25 vertex 1.31869 1.50368 0 vertex 1.21752 1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 1.21752 0 vertex -1.50368 1.31869 25 vertex -1.50368 1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 1.31869 25 vertex -1.58671 1.21752 0 vertex -1.58671 1.21752 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 0.884577 0 vertex -1.73205 0.999999 25 vertex -1.73205 0.999999 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 0.999999 25 vertex -1.79375 0.884577 0 vertex -1.79375 0.884577 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 0.999999 0 vertex -1.66294 1.11114 25 vertex -1.66294 1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 1.11114 25 vertex -1.73205 0.999999 0 vertex -1.73205 0.999999 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 0.517637 0 vertex -1.89386 0.642879 25 vertex -1.89386 0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 0.642879 25 vertex -1.93185 0.517637 0 vertex -1.93185 0.517637 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 0.130806 0 vertex -1.98289 0.261052 25 vertex -1.98289 0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 0.261052 25 vertex -1.99572 0.130806 0 vertex -1.99572 0.130806 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.799999 0 25 vertex 2 0 25 vertex 1.99572 0.130806 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 0.0523224 25 vertex 1.99572 0.130806 25 vertex 1.98289 0.261052 25 endloop endfacet facet normal 0 0 0 outer loop vertex 2 0 25 vertex 0.799999 0 25 vertex 1.99572 -0.130806 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 0.104421 25 vertex 1.98289 0.261052 25 vertex 1.96157 0.390181 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 -0.0523224 25 vertex 1.99572 -0.130806 25 vertex 0.799999 0 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 0.156072 25 vertex 1.96157 0.390181 25 vertex 1.93185 0.517637 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 -0.130806 25 vertex 0.798286 -0.0523224 25 vertex 1.98289 -0.261052 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 0.207055 25 vertex 1.93185 0.517637 25 vertex 1.89386 0.642879 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 -0.104421 25 vertex 1.98289 -0.261052 25 vertex 0.798286 -0.0523224 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 0.257151 25 vertex 1.89386 0.642879 25 vertex 1.84776 0.765367 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 -0.261052 25 vertex 0.793156 -0.104421 25 vertex 1.96157 -0.390181 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 0.306147 25 vertex 1.84776 0.765367 25 vertex 1.79375 0.884577 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 -0.156072 25 vertex 1.96157 -0.390181 25 vertex 0.793156 -0.104421 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 0.35383 25 vertex 1.79375 0.884577 25 vertex 1.73205 0.999999 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 -0.390181 25 vertex 0.784628 -0.156072 25 vertex 1.93185 -0.517637 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 0.4 25 vertex 1.73205 0.999999 25 vertex 1.66294 1.11114 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 -0.207055 25 vertex 1.93185 -0.517637 25 vertex 0.784628 -0.156072 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 0.444456 25 vertex 1.66294 1.11114 25 vertex 1.58671 1.21752 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 -0.517637 25 vertex 0.77274 -0.207055 25 vertex 1.89386 -0.642879 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 0.487009 25 vertex 1.58671 1.21752 25 vertex 1.50368 1.31869 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 -0.257151 25 vertex 1.89386 -0.642879 25 vertex 0.77274 -0.207055 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 0.527476 25 vertex 1.50368 1.31869 25 vertex 1.41421 1.41421 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 -0.642879 25 vertex 0.757544 -0.257151 25 vertex 1.84776 -0.765367 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 0.565685 25 vertex 1.41421 1.41421 25 vertex 1.31869 1.50368 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 -0.306147 25 vertex 1.84776 -0.765367 25 vertex 0.757544 -0.257151 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 0.601471 25 vertex 1.31869 1.50368 25 vertex 1.21752 1.58671 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 -0.765367 25 vertex 0.739103 -0.306147 25 vertex 1.79375 -0.884577 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 0.634683 25 vertex 1.21752 1.58671 25 vertex 1.11114 1.66294 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 -0.35383 25 vertex 1.79375 -0.884577 25 vertex 0.739103 -0.306147 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 0.665175 25 vertex 1.11114 1.66294 25 vertex 1 1.73205 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 -0.884577 25 vertex 0.717498 -0.35383 25 vertex 1.73205 -1 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 0.69282 25 vertex 1 1.73205 25 vertex 0.884577 1.79375 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 -0.4 25 vertex 1.73205 -1 25 vertex 0.717498 -0.35383 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 -1 25 vertex 0.69282 -0.4 25 vertex 1.66294 -1.11114 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 0.130806 25 vertex 0.798286 0.0523224 25 vertex 0.799999 0 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 0.261052 25 vertex 0.793156 0.104421 25 vertex 0.798286 0.0523224 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 0.390181 25 vertex 0.784628 0.156072 25 vertex 0.793156 0.104421 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 0.517637 25 vertex 0.77274 0.207055 25 vertex 0.784628 0.156072 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 0.717498 25 vertex 0.884577 1.79375 25 vertex 0.765367 1.84776 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 0.642879 25 vertex 0.757544 0.257151 25 vertex 0.77274 0.207055 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 0.765367 25 vertex 0.739103 0.306147 25 vertex 0.757544 0.257151 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 0.884577 25 vertex 0.717498 0.35383 25 vertex 0.739103 0.306147 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 0.999999 25 vertex 0.69282 0.4 25 vertex 0.717498 0.35383 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 1.11114 25 vertex 0.665175 0.444456 25 vertex 0.69282 0.4 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 0.739103 25 vertex 0.765367 1.84776 25 vertex 0.642879 1.89386 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 1.21752 25 vertex 0.634683 0.487009 25 vertex 0.665175 0.444456 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 1.31869 25 vertex 0.601471 0.527476 25 vertex 0.634683 0.487009 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 1.41421 25 vertex 0.565685 0.565685 25 vertex 0.601471 0.527476 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 1.50368 25 vertex 0.527476 0.601471 25 vertex 0.565685 0.565685 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 0.757544 25 vertex 0.642879 1.89386 25 vertex 0.517637 1.93185 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 1.58671 25 vertex 0.487009 0.634683 25 vertex 0.527476 0.601471 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 1.66294 25 vertex 0.444456 0.665175 25 vertex 0.487009 0.634683 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1 1.73205 25 vertex 0.4 0.69282 25 vertex 0.444456 0.665175 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 0.77274 25 vertex 0.517637 1.93185 25 vertex 0.390181 1.96157 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 1.79375 25 vertex 0.35383 0.717498 25 vertex 0.4 0.69282 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 1.84776 25 vertex 0.306147 0.739103 25 vertex 0.35383 0.717498 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 0.784628 25 vertex 0.390181 1.96157 25 vertex 0.261052 1.98289 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 1.89386 25 vertex 0.257151 0.757544 25 vertex 0.306147 0.739103 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 1.93185 25 vertex 0.207055 0.77274 25 vertex 0.257151 0.757544 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 1.96157 25 vertex 0.156072 0.784628 25 vertex 0.207055 0.77274 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 0.793156 25 vertex 0.261052 1.98289 25 vertex 0.130806 1.99572 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 1.98289 25 vertex 0.104421 0.793156 25 vertex 0.156072 0.784628 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.130806 1.99572 25 vertex 0.0523224 0.798286 25 vertex 0.104421 0.793156 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0 2 25 vertex 0.0523224 0.798286 25 vertex 0.130806 1.99572 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0 2 25 vertex 0 0.799999 25 vertex 0.0523224 0.798286 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0 2 25 vertex -0.0523224 0.798286 25 vertex 0 0.799999 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 1.99572 25 vertex -0.0523224 0.798286 25 vertex 0 2 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 0.798286 25 vertex -0.130806 1.99572 25 vertex -0.104421 0.793156 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 1.98289 25 vertex -0.104421 0.793156 25 vertex -0.130806 1.99572 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 0.793156 25 vertex -0.261052 1.98289 25 vertex -0.156072 0.784628 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 1.96157 25 vertex -0.156072 0.784628 25 vertex -0.261052 1.98289 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 0.784628 25 vertex -0.390181 1.96157 25 vertex -0.207055 0.77274 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 1.93185 25 vertex -0.207055 0.77274 25 vertex -0.390181 1.96157 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 0.77274 25 vertex -0.517637 1.93185 25 vertex -0.257151 0.757544 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 1.89386 25 vertex -0.257151 0.757544 25 vertex -0.517637 1.93185 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 0.757544 25 vertex -0.642879 1.89386 25 vertex -0.306147 0.739103 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 1.84776 25 vertex -0.306147 0.739103 25 vertex -0.642879 1.89386 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 0.739103 25 vertex -0.765367 1.84776 25 vertex -0.35383 0.717498 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 1.79375 25 vertex -0.35383 0.717498 25 vertex -0.765367 1.84776 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 0.717498 25 vertex -0.884577 1.79375 25 vertex -0.4 0.69282 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.999999 1.73205 25 vertex -0.4 0.69282 25 vertex -0.884577 1.79375 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 0.69282 25 vertex -0.999999 1.73205 25 vertex -0.444456 0.665175 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 1.66294 25 vertex -0.444456 0.665175 25 vertex -0.999999 1.73205 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 0.665175 25 vertex -1.11114 1.66294 25 vertex -0.487009 0.634683 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 1.58671 25 vertex -0.487009 0.634683 25 vertex -1.11114 1.66294 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 0.634683 25 vertex -1.21752 1.58671 25 vertex -0.527476 0.601471 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 1.50368 25 vertex -0.527476 0.601471 25 vertex -1.21752 1.58671 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 0.601471 25 vertex -1.31869 1.50368 25 vertex -0.565685 0.565685 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 1.41421 25 vertex -0.565685 0.565685 25 vertex -1.31869 1.50368 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 0.565685 25 vertex -1.41421 1.41421 25 vertex -0.601471 0.527476 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 1.31869 25 vertex -0.601471 0.527476 25 vertex -1.41421 1.41421 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 0.527476 25 vertex -1.50368 1.31869 25 vertex -0.634683 0.487009 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 1.21752 25 vertex -0.634683 0.487009 25 vertex -1.50368 1.31869 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 0.487009 25 vertex -1.58671 1.21752 25 vertex -0.665175 0.444456 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 1.11114 25 vertex -0.665175 0.444456 25 vertex -1.58671 1.21752 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 0.444456 25 vertex -1.66294 1.11114 25 vertex -0.69282 0.4 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 -0.444456 25 vertex 1.66294 -1.11114 25 vertex 0.69282 -0.4 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 -1.11114 25 vertex 0.665175 -0.444456 25 vertex 1.58671 -1.21752 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 -0.487009 25 vertex 1.58671 -1.21752 25 vertex 0.665175 -0.444456 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 -1.21752 25 vertex 0.634683 -0.487009 25 vertex 1.50368 -1.31869 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 -0.527476 25 vertex 1.50368 -1.31869 25 vertex 0.634683 -0.487009 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 -1.31869 25 vertex 0.601471 -0.527476 25 vertex 1.41421 -1.41421 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 -0.565685 25 vertex 1.41421 -1.41421 25 vertex 0.601471 -0.527476 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 -1.41421 25 vertex 0.565685 -0.565685 25 vertex 1.31869 -1.50368 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 -0.601471 25 vertex 1.31869 -1.50368 25 vertex 0.565685 -0.565685 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 -1.50368 25 vertex 0.527476 -0.601471 25 vertex 1.21752 -1.58671 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 -0.634683 25 vertex 1.21752 -1.58671 25 vertex 0.527476 -0.601471 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 -1.58671 25 vertex 0.487009 -0.634683 25 vertex 1.11114 -1.66294 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 -0.665175 25 vertex 1.11114 -1.66294 25 vertex 0.487009 -0.634683 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 -1.66294 25 vertex 0.444456 -0.665175 25 vertex 1 -1.73205 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 -0.69282 25 vertex 1 -1.73205 25 vertex 0.444456 -0.665175 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1 -1.73205 25 vertex 0.4 -0.69282 25 vertex 0.884577 -1.79375 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 -0.717498 25 vertex 0.884577 -1.79375 25 vertex 0.4 -0.69282 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 -1.79375 25 vertex 0.35383 -0.717498 25 vertex 0.765367 -1.84776 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 -0.739103 25 vertex 0.765367 -1.84776 25 vertex 0.35383 -0.717498 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 -1.84776 25 vertex 0.306147 -0.739103 25 vertex 0.642879 -1.89386 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 -0.757544 25 vertex 0.642879 -1.89386 25 vertex 0.306147 -0.739103 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 -1.89386 25 vertex 0.257151 -0.757544 25 vertex 0.517637 -1.93185 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 -0.77274 25 vertex 0.517637 -1.93185 25 vertex 0.257151 -0.757544 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.517637 -1.93185 25 vertex 0.207055 -0.77274 25 vertex 0.390181 -1.96157 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 -0.784628 25 vertex 0.390181 -1.96157 25 vertex 0.207055 -0.77274 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 -1.96157 25 vertex 0.156072 -0.784628 25 vertex 0.261052 -1.98289 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 -0.793156 25 vertex 0.261052 -1.98289 25 vertex 0.156072 -0.784628 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 -1.98289 25 vertex 0.104421 -0.793156 25 vertex 0.130806 -1.99572 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.0523224 -0.798286 25 vertex 0.130806 -1.99572 25 vertex 0.104421 -0.793156 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -0.799999 25 vertex 0.130806 -1.99572 25 vertex 0.0523224 -0.798286 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -0.799999 25 vertex 0 -2 25 vertex 0.130806 -1.99572 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 -0.798286 25 vertex 0 -2 25 vertex 0 -0.799999 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 -1.99572 25 vertex -0.0523224 -0.798286 25 vertex -0.104421 -0.793156 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 -0.798286 25 vertex -0.130806 -1.99572 25 vertex 0 -2 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 -1.98289 25 vertex -0.104421 -0.793156 25 vertex -0.156072 -0.784628 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 -1.96157 25 vertex -0.156072 -0.784628 25 vertex -0.207055 -0.77274 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 -1.93185 25 vertex -0.207055 -0.77274 25 vertex -0.257151 -0.757544 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 -0.793156 25 vertex -0.261052 -1.98289 25 vertex -0.130806 -1.99572 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 -1.89386 25 vertex -0.257151 -0.757544 25 vertex -0.306147 -0.739103 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 -1.84776 25 vertex -0.306147 -0.739103 25 vertex -0.35383 -0.717498 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 -0.784628 25 vertex -0.390181 -1.96157 25 vertex -0.261052 -1.98289 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 -1.79375 25 vertex -0.35383 -0.717498 25 vertex -0.4 -0.69282 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1 -1.73205 25 vertex -0.4 -0.69282 25 vertex -0.444456 -0.665175 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 -1.66294 25 vertex -0.444456 -0.665175 25 vertex -0.487009 -0.634683 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 -0.77274 25 vertex -0.517637 -1.93185 25 vertex -0.390181 -1.96157 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 -1.58671 25 vertex -0.487009 -0.634683 25 vertex -0.527476 -0.601471 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 -1.50368 25 vertex -0.527476 -0.601471 25 vertex -0.565685 -0.565685 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.41421 -1.41421 25 vertex -0.565685 -0.565685 25 vertex -0.601471 -0.527476 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 -1.31869 25 vertex -0.601471 -0.527476 25 vertex -0.634683 -0.487009 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 -0.757544 25 vertex -0.642879 -1.89386 25 vertex -0.517637 -1.93185 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 -1.21752 25 vertex -0.634683 -0.487009 25 vertex -0.665175 -0.444456 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 -1.11114 25 vertex -0.665175 -0.444456 25 vertex -0.69282 -0.4 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 -0.999999 25 vertex -0.69282 -0.4 25 vertex -0.717498 -0.35383 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 -0.884577 25 vertex -0.717498 -0.35383 25 vertex -0.739103 -0.306147 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 -0.765367 25 vertex -0.739103 -0.306147 25 vertex -0.757544 -0.257151 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 -0.739103 25 vertex -0.765367 -1.84776 25 vertex -0.642879 -1.89386 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 -0.642879 25 vertex -0.757544 -0.257151 25 vertex -0.77274 -0.207055 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 -0.517637 25 vertex -0.77274 -0.207055 25 vertex -0.784628 -0.156072 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 -0.390181 25 vertex -0.784628 -0.156072 25 vertex -0.793156 -0.104421 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 -0.261052 25 vertex -0.793156 -0.104421 25 vertex -0.798286 -0.0523224 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 -0.130806 25 vertex -0.798286 -0.0523224 25 vertex -0.799999 0 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 0.999999 25 vertex -0.69282 0.4 25 vertex -1.66294 1.11114 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 -0.717498 25 vertex -0.884577 -1.79375 25 vertex -0.765367 -1.84776 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 0.4 25 vertex -1.73205 0.999999 25 vertex -0.717498 0.35383 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 -0.69282 25 vertex -1 -1.73205 25 vertex -0.884577 -1.79375 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 0.884577 25 vertex -0.717498 0.35383 25 vertex -1.73205 0.999999 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 -0.665175 25 vertex -1.11114 -1.66294 25 vertex -1 -1.73205 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 0.35383 25 vertex -1.79375 0.884577 25 vertex -0.739103 0.306147 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 -0.634683 25 vertex -1.21752 -1.58671 25 vertex -1.11114 -1.66294 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.84776 0.765367 25 vertex -0.739103 0.306147 25 vertex -1.79375 0.884577 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 -0.601471 25 vertex -1.31869 -1.50368 25 vertex -1.21752 -1.58671 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 0.306147 25 vertex -1.84776 0.765367 25 vertex -0.757544 0.257151 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 -0.565685 25 vertex -1.41421 -1.41421 25 vertex -1.31869 -1.50368 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 0.642879 25 vertex -0.757544 0.257151 25 vertex -1.84776 0.765367 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 -0.527476 25 vertex -1.50368 -1.31869 25 vertex -1.41421 -1.41421 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 0.257151 25 vertex -1.89386 0.642879 25 vertex -0.77274 0.207055 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 -0.487009 25 vertex -1.58671 -1.21752 25 vertex -1.50368 -1.31869 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 0.517637 25 vertex -0.77274 0.207055 25 vertex -1.89386 0.642879 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 -0.444456 25 vertex -1.66294 -1.11114 25 vertex -1.58671 -1.21752 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 0.207055 25 vertex -1.93185 0.517637 25 vertex -0.784628 0.156072 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 -0.4 25 vertex -1.73205 -0.999999 25 vertex -1.66294 -1.11114 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 0.390181 25 vertex -0.784628 0.156072 25 vertex -1.93185 0.517637 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 -0.35383 25 vertex -1.79375 -0.884577 25 vertex -1.73205 -0.999999 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 0.156072 25 vertex -1.96157 0.390181 25 vertex -0.793156 0.104421 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 -0.306147 25 vertex -1.84776 -0.765367 25 vertex -1.79375 -0.884577 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 0.261052 25 vertex -0.793156 0.104421 25 vertex -1.96157 0.390181 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 -0.257151 25 vertex -1.89386 -0.642879 25 vertex -1.84776 -0.765367 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 0.104421 25 vertex -1.98289 0.261052 25 vertex -0.798286 0.0523224 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 -0.207055 25 vertex -1.93185 -0.517637 25 vertex -1.89386 -0.642879 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 0.130806 25 vertex -0.798286 0.0523224 25 vertex -1.98289 0.261052 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 -0.156072 25 vertex -1.96157 -0.390181 25 vertex -1.93185 -0.517637 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 0.0523224 25 vertex -1.99572 0.130806 25 vertex -0.799999 0 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 -0.104421 25 vertex -1.98289 -0.261052 25 vertex -1.96157 -0.390181 25 endloop endfacet facet normal 0 0 0 outer loop vertex -2 0 25 vertex -0.799999 0 25 vertex -1.99572 0.130806 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 -0.0523224 25 vertex -1.99572 -0.130806 25 vertex -1.98289 -0.261052 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.799999 0 25 vertex -2 0 25 vertex -1.99572 -0.130806 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 1.79375 0 vertex -0.999999 1.73205 25 vertex -0.884577 1.79375 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.999999 1.73205 25 vertex -0.884577 1.79375 0 vertex -0.999999 1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 1.66294 0 vertex -1.21752 1.58671 25 vertex -1.11114 1.66294 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 1.58671 25 vertex -1.11114 1.66294 0 vertex -1.21752 1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 1.58671 0 vertex -1.31869 1.50368 25 vertex -1.21752 1.58671 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 1.50368 25 vertex -1.21752 1.58671 0 vertex -1.31869 1.50368 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 1.96157 0 vertex -0.517637 1.93185 25 vertex -0.390181 1.96157 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 1.93185 25 vertex -0.390181 1.96157 0 vertex -0.517637 1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 1.93185 0 vertex -0.642879 1.89386 25 vertex -0.517637 1.93185 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 1.89386 25 vertex -0.517637 1.93185 0 vertex -0.642879 1.89386 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 2 0 vertex -0.130806 1.99572 25 vertex 0 2 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 1.99572 25 vertex 0 2 0 vertex -0.130806 1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 -0.130806 25 vertex 2 0 0 vertex 2 0 25 endloop endfacet facet normal 0 0 0 outer loop vertex 2 0 0 vertex 1.99572 -0.130806 25 vertex 1.99572 -0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -2 0 vertex 0.130806 -1.99572 25 vertex 0 -2 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.130806 -1.99572 25 vertex 0 -2 0 vertex 0.130806 -1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 -1.98289 0 vertex 0.390181 -1.96157 25 vertex 0.261052 -1.98289 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.390181 -1.96157 25 vertex 0.261052 -1.98289 0 vertex 0.390181 -1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.642879 -1.89386 0 vertex 0.765367 -1.84776 25 vertex 0.642879 -1.89386 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 -1.84776 25 vertex 0.642879 -1.89386 0 vertex 0.765367 -1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.31869 -1.50368 0 vertex 1.41421 -1.41421 25 vertex 1.31869 -1.50368 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 -1.41421 25 vertex 1.31869 -1.50368 0 vertex 1.41421 -1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 -1.66294 0 vertex 1.21752 -1.58671 25 vertex 1.11114 -1.66294 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.21752 -1.58671 25 vertex 1.11114 -1.66294 0 vertex 1.21752 -1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 -1.79375 0 vertex 1 -1.73205 25 vertex 0.884577 -1.79375 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1 -1.73205 25 vertex 0.884577 -1.79375 0 vertex 1 -1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 -1.31869 25 vertex 1.58671 -1.21752 0 vertex 1.58671 -1.21752 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 -1.21752 0 vertex 1.50368 -1.31869 25 vertex 1.50368 -1.31869 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 -1.11114 25 vertex 1.73205 -1 0 vertex 1.73205 -1 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.73205 -1 0 vertex 1.66294 -1.11114 25 vertex 1.66294 -1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.79375 -0.884577 25 vertex 1.84776 -0.765367 0 vertex 1.84776 -0.765367 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.84776 -0.765367 0 vertex 1.79375 -0.884577 25 vertex 1.79375 -0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.89386 -0.642879 25 vertex 1.93185 -0.517637 0 vertex 1.93185 -0.517637 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 -0.517637 0 vertex 1.89386 -0.642879 25 vertex 1.89386 -0.642879 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 -0.261052 25 vertex 1.99572 -0.130806 0 vertex 1.99572 -0.130806 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.99572 -0.130806 0 vertex 1.98289 -0.261052 25 vertex 1.98289 -0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.31869 -1.50368 0 vertex -1.21752 -1.58671 25 vertex -1.31869 -1.50368 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 -1.58671 25 vertex -1.31869 -1.50368 0 vertex -1.21752 -1.58671 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 -1.79375 0 vertex -0.765367 -1.84776 25 vertex -0.884577 -1.79375 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.765367 -1.84776 25 vertex -0.884577 -1.79375 0 vertex -0.765367 -1.84776 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 -1.66294 0 vertex -1 -1.73205 25 vertex -1.11114 -1.66294 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1 -1.73205 25 vertex -1.11114 -1.66294 0 vertex -1 -1.73205 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.642879 -1.89386 0 vertex -0.517637 -1.93185 25 vertex -0.642879 -1.89386 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 -1.93185 25 vertex -0.642879 -1.89386 0 vertex -0.517637 -1.93185 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.261052 -1.98289 0 vertex -0.130806 -1.99572 25 vertex -0.261052 -1.98289 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.130806 -1.99572 25 vertex -0.261052 -1.98289 0 vertex -0.130806 -1.99572 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 -0.999999 0 vertex -1.79375 -0.884577 25 vertex -1.79375 -0.884577 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.79375 -0.884577 25 vertex -1.73205 -0.999999 0 vertex -1.73205 -0.999999 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 -1.21752 0 vertex -1.66294 -1.11114 25 vertex -1.66294 -1.11114 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 -1.11114 25 vertex -1.58671 -1.21752 0 vertex -1.58671 -1.21752 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 -0.517637 0 vertex -1.96157 -0.390181 25 vertex -1.96157 -0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 -0.390181 25 vertex -1.93185 -0.517637 0 vertex -1.93185 -0.517637 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.96157 -0.390181 0 vertex -1.98289 -0.261052 25 vertex -1.98289 -0.261052 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 -0.261052 25 vertex -1.96157 -0.390181 0 vertex -1.96157 -0.390181 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 -0.130806 0 vertex -2 0 25 vertex -2 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex -2 0 25 vertex -1.99572 -0.130806 0 vertex -1.99572 -0.130806 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.130806 -1.99572 0 vertex 0.261052 -1.98289 25 vertex 0.130806 -1.99572 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.261052 -1.98289 25 vertex 0.130806 -1.99572 0 vertex 0.261052 -1.98289 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.765367 -1.84776 0 vertex 0.884577 -1.79375 25 vertex 0.765367 -1.84776 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.884577 -1.79375 25 vertex 0.765367 -1.84776 0 vertex 0.884577 -1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.41421 -1.41421 25 vertex 1.50368 -1.31869 0 vertex 1.50368 -1.31869 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.50368 -1.31869 0 vertex 1.41421 -1.41421 25 vertex 1.41421 -1.41421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1 -1.73205 0 vertex 1.11114 -1.66294 25 vertex 1 -1.73205 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.11114 -1.66294 25 vertex 1 -1.73205 0 vertex 1.11114 -1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.58671 -1.21752 25 vertex 1.66294 -1.11114 0 vertex 1.66294 -1.11114 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.66294 -1.11114 0 vertex 1.58671 -1.21752 25 vertex 1.58671 -1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex 1.93185 -0.517637 25 vertex 1.96157 -0.390181 0 vertex 1.96157 -0.390181 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 -0.390181 0 vertex 1.93185 -0.517637 25 vertex 1.93185 -0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.21752 -1.58671 0 vertex -1.11114 -1.66294 25 vertex -1.21752 -1.58671 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.11114 -1.66294 25 vertex -1.21752 -1.58671 0 vertex -1.11114 -1.66294 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1 -1.73205 0 vertex -0.884577 -1.79375 25 vertex -1 -1.73205 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.884577 -1.79375 25 vertex -1 -1.73205 0 vertex -0.884577 -1.79375 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.517637 -1.93185 0 vertex -0.390181 -1.96157 25 vertex -0.517637 -1.93185 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.390181 -1.96157 25 vertex -0.517637 -1.93185 0 vertex -0.390181 -1.96157 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.66294 -1.11114 0 vertex -1.73205 -0.999999 25 vertex -1.73205 -0.999999 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.73205 -0.999999 25 vertex -1.66294 -1.11114 0 vertex -1.66294 -1.11114 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.50368 -1.31869 0 vertex -1.58671 -1.21752 25 vertex -1.58671 -1.21752 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.58671 -1.21752 25 vertex -1.50368 -1.31869 0 vertex -1.50368 -1.31869 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.89386 -0.642879 0 vertex -1.93185 -0.517637 25 vertex -1.93185 -0.517637 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.93185 -0.517637 25 vertex -1.89386 -0.642879 0 vertex -1.89386 -0.642879 25 endloop endfacet facet normal 0 0 0 outer loop vertex -1.98289 -0.261052 0 vertex -1.99572 -0.130806 25 vertex -1.99572 -0.130806 0 endloop endfacet facet normal 0 0 0 outer loop vertex -1.99572 -0.130806 25 vertex -1.98289 -0.261052 0 vertex -1.98289 -0.261052 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.96157 -0.390181 25 vertex 1.98289 -0.261052 0 vertex 1.98289 -0.261052 25 endloop endfacet facet normal 0 0 0 outer loop vertex 1.98289 -0.261052 0 vertex 1.96157 -0.390181 25 vertex 1.96157 -0.390181 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.799999 0 0 vertex 0.798286 0.0523224 25 vertex 0.798286 0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 0.0523224 25 vertex 0.799999 0 0 vertex 0.799999 0 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 0.798286 0 vertex 0 0.799999 25 vertex -0.0523224 0.798286 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0 0.799999 25 vertex -0.0523224 0.798286 0 vertex 0 0.799999 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 0.601471 0 vertex 0.565685 0.565685 25 vertex 0.527476 0.601471 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 0.565685 25 vertex 0.527476 0.601471 0 vertex 0.565685 0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 0.739103 0 vertex -0.257151 0.757544 25 vertex -0.306147 0.739103 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 0.757544 25 vertex -0.306147 0.739103 0 vertex -0.257151 0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 0.306147 0 vertex 0.717498 0.35383 25 vertex 0.717498 0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 0.35383 25 vertex 0.739103 0.306147 0 vertex 0.739103 0.306147 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 0.757544 0 vertex 0.306147 0.739103 25 vertex 0.257151 0.757544 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 0.739103 25 vertex 0.257151 0.757544 0 vertex 0.306147 0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 0.4 25 vertex -0.665175 0.444456 0 vertex -0.665175 0.444456 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 0.444456 0 vertex -0.69282 0.4 25 vertex -0.69282 0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 0.444456 25 vertex -0.634683 0.487009 0 vertex -0.634683 0.487009 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 0.487009 0 vertex -0.665175 0.444456 25 vertex -0.665175 0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 0.104421 0 vertex 0.784628 0.156072 25 vertex 0.784628 0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 0.156072 25 vertex 0.793156 0.104421 0 vertex 0.793156 0.104421 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 0.0523224 0 vertex 0.793156 0.104421 25 vertex 0.793156 0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 0.104421 25 vertex 0.798286 0.0523224 0 vertex 0.798286 0.0523224 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 0.444456 0 vertex 0.634683 0.487009 25 vertex 0.634683 0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 0.487009 25 vertex 0.665175 0.444456 0 vertex 0.665175 0.444456 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 0.527476 0 vertex 0.565685 0.565685 25 vertex 0.565685 0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 0.565685 25 vertex 0.601471 0.527476 0 vertex 0.601471 0.527476 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 0.4 0 vertex 0.665175 0.444456 25 vertex 0.665175 0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 0.444456 25 vertex 0.69282 0.4 0 vertex 0.69282 0.4 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 0.793156 0 vertex 0.156072 0.784628 25 vertex 0.104421 0.793156 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 0.784628 25 vertex 0.104421 0.793156 0 vertex 0.156072 0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 0.77274 0 vertex 0.257151 0.757544 25 vertex 0.207055 0.77274 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 0.757544 25 vertex 0.207055 0.77274 0 vertex 0.257151 0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 0.799999 0 vertex 0.0523224 0.798286 25 vertex 0 0.799999 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.0523224 0.798286 25 vertex 0 0.799999 0 vertex 0.0523224 0.798286 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 0.634683 0 vertex 0.527476 0.601471 25 vertex 0.487009 0.634683 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 0.601471 25 vertex 0.487009 0.634683 0 vertex 0.527476 0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 0.739103 0 vertex 0.35383 0.717498 25 vertex 0.306147 0.739103 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 0.717498 25 vertex 0.306147 0.739103 0 vertex 0.35383 0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 0.306147 25 vertex -0.717498 0.35383 0 vertex -0.717498 0.35383 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 0.35383 0 vertex -0.739103 0.306147 25 vertex -0.739103 0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 0.156072 25 vertex -0.77274 0.207055 0 vertex -0.77274 0.207055 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 0.207055 0 vertex -0.784628 0.156072 25 vertex -0.784628 0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 0.665175 0 vertex -0.4 0.69282 25 vertex -0.444456 0.665175 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 0.69282 25 vertex -0.444456 0.665175 0 vertex -0.4 0.69282 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 0.717498 0 vertex -0.306147 0.739103 25 vertex -0.35383 0.717498 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 0.739103 25 vertex -0.35383 0.717498 0 vertex -0.306147 0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 0.793156 0 vertex -0.0523224 0.798286 25 vertex -0.104421 0.793156 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 0.798286 25 vertex -0.104421 0.793156 0 vertex -0.0523224 0.798286 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 -0.306147 0 vertex 0.757544 -0.257151 25 vertex 0.757544 -0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 -0.257151 25 vertex 0.739103 -0.306147 0 vertex 0.739103 -0.306147 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 -0.487009 25 vertex -0.665175 -0.444456 0 vertex -0.665175 -0.444456 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 -0.444456 0 vertex -0.634683 -0.487009 25 vertex -0.634683 -0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 -0.306147 25 vertex -0.757544 -0.257151 0 vertex -0.757544 -0.257151 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 -0.257151 0 vertex -0.739103 -0.306147 25 vertex -0.739103 -0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 -0.717498 0 vertex 0.306147 -0.739103 25 vertex 0.35383 -0.717498 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 -0.739103 25 vertex 0.35383 -0.717498 0 vertex 0.306147 -0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 0.156072 0 vertex 0.77274 0.207055 25 vertex 0.77274 0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 0.207055 25 vertex 0.784628 0.156072 0 vertex 0.784628 0.156072 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 0.207055 0 vertex 0.757544 0.257151 25 vertex 0.757544 0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 0.257151 25 vertex 0.77274 0.207055 0 vertex 0.77274 0.207055 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 0.257151 0 vertex 0.739103 0.306147 25 vertex 0.739103 0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 0.306147 25 vertex 0.757544 0.257151 0 vertex 0.757544 0.257151 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 0.487009 0 vertex 0.601471 0.527476 25 vertex 0.601471 0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 0.527476 25 vertex 0.634683 0.487009 0 vertex 0.634683 0.487009 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 0.35383 0 vertex 0.69282 0.4 25 vertex 0.69282 0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 0.4 25 vertex 0.717498 0.35383 0 vertex 0.717498 0.35383 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 0.784628 0 vertex 0.207055 0.77274 25 vertex 0.156072 0.784628 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 0.77274 25 vertex 0.156072 0.784628 0 vertex 0.207055 0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.0523224 0.798286 0 vertex 0.104421 0.793156 25 vertex 0.0523224 0.798286 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 0.793156 25 vertex 0.0523224 0.798286 0 vertex 0.104421 0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 0.717498 0 vertex 0.4 0.69282 25 vertex 0.35383 0.717498 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 0.69282 25 vertex 0.35383 0.717498 0 vertex 0.4 0.69282 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 0.665175 0 vertex 0.487009 0.634683 25 vertex 0.444456 0.665175 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 0.634683 25 vertex 0.444456 0.665175 0 vertex 0.487009 0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 0.69282 0 vertex 0.444456 0.665175 25 vertex 0.4 0.69282 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 0.665175 25 vertex 0.4 0.69282 0 vertex 0.444456 0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.799999 0 25 vertex -0.798286 0.0523224 0 vertex -0.798286 0.0523224 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 0.0523224 0 vertex -0.799999 0 25 vertex -0.799999 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 0.487009 25 vertex -0.601471 0.527476 0 vertex -0.601471 0.527476 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 0.527476 0 vertex -0.634683 0.487009 25 vertex -0.634683 0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 0.35383 25 vertex -0.69282 0.4 0 vertex -0.69282 0.4 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 0.4 0 vertex -0.717498 0.35383 25 vertex -0.717498 0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 0.104421 25 vertex -0.784628 0.156072 0 vertex -0.784628 0.156072 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 0.156072 0 vertex -0.793156 0.104421 25 vertex -0.793156 0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 0.207055 25 vertex -0.757544 0.257151 0 vertex -0.757544 0.257151 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 0.257151 0 vertex -0.77274 0.207055 25 vertex -0.77274 0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 0.565685 0 vertex -0.527476 0.601471 25 vertex -0.565685 0.565685 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 0.601471 25 vertex -0.565685 0.565685 0 vertex -0.527476 0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 0.634683 0 vertex -0.444456 0.665175 25 vertex -0.487009 0.634683 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 0.665175 25 vertex -0.487009 0.634683 0 vertex -0.444456 0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 0.69282 0 vertex -0.35383 0.717498 25 vertex -0.4 0.69282 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 0.717498 25 vertex -0.4 0.69282 0 vertex -0.35383 0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 0.757544 0 vertex -0.207055 0.77274 25 vertex -0.257151 0.757544 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 0.77274 25 vertex -0.257151 0.757544 0 vertex -0.207055 0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 0.784628 0 vertex -0.104421 0.793156 25 vertex -0.156072 0.784628 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 0.793156 25 vertex -0.156072 0.784628 0 vertex -0.104421 0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 0.77274 0 vertex -0.156072 0.784628 25 vertex -0.207055 0.77274 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 0.784628 25 vertex -0.207055 0.77274 0 vertex -0.156072 0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 -0.104421 0 vertex 0.798286 -0.0523224 25 vertex 0.798286 -0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 -0.0523224 25 vertex 0.793156 -0.104421 0 vertex 0.793156 -0.104421 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 -0.207055 0 vertex 0.784628 -0.156072 25 vertex 0.784628 -0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 -0.156072 25 vertex 0.77274 -0.207055 0 vertex 0.77274 -0.207055 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.798286 -0.0523224 0 vertex 0.799999 0 25 vertex 0.799999 0 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.799999 0 25 vertex 0.798286 -0.0523224 0 vertex 0.798286 -0.0523224 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 -0.35383 25 vertex -0.739103 -0.306147 0 vertex -0.739103 -0.306147 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 -0.306147 0 vertex -0.717498 -0.35383 25 vertex -0.717498 -0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 -0.207055 25 vertex -0.784628 -0.156072 0 vertex -0.784628 -0.156072 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 -0.156072 0 vertex -0.77274 -0.207055 25 vertex -0.77274 -0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 -0.793156 0 vertex 0.0523224 -0.798286 25 vertex 0.104421 -0.793156 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.0523224 -0.798286 25 vertex 0.104421 -0.793156 0 vertex 0.0523224 -0.798286 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 0.527476 25 vertex -0.565685 0.565685 0 vertex -0.565685 0.565685 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 0.565685 0 vertex -0.601471 0.527476 25 vertex -0.601471 0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 0.0523224 25 vertex -0.793156 0.104421 0 vertex -0.793156 0.104421 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 0.104421 0 vertex -0.798286 0.0523224 25 vertex -0.798286 0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 0.257151 25 vertex -0.739103 0.306147 0 vertex -0.739103 0.306147 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.739103 0.306147 0 vertex -0.757544 0.257151 25 vertex -0.757544 0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 0.601471 0 vertex -0.487009 0.634683 25 vertex -0.527476 0.601471 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 0.634683 25 vertex -0.527476 0.601471 0 vertex -0.487009 0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 -0.4 0 vertex 0.717498 -0.35383 25 vertex 0.717498 -0.35383 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 -0.35383 25 vertex 0.69282 -0.4 0 vertex 0.69282 -0.4 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.757544 -0.257151 0 vertex 0.77274 -0.207055 25 vertex 0.77274 -0.207055 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.77274 -0.207055 25 vertex 0.757544 -0.257151 0 vertex 0.757544 -0.257151 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 -0.527476 0 vertex 0.634683 -0.487009 25 vertex 0.634683 -0.487009 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 -0.487009 25 vertex 0.601471 -0.527476 0 vertex 0.601471 -0.527476 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.634683 -0.487009 0 vertex 0.665175 -0.444456 25 vertex 0.665175 -0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 -0.444456 25 vertex 0.634683 -0.487009 0 vertex 0.634683 -0.487009 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.665175 -0.444456 0 vertex 0.69282 -0.4 25 vertex 0.69282 -0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.69282 -0.4 25 vertex 0.665175 -0.444456 0 vertex 0.665175 -0.444456 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 -0.601471 0 vertex 0.487009 -0.634683 25 vertex 0.527476 -0.601471 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 -0.634683 25 vertex 0.527476 -0.601471 0 vertex 0.487009 -0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.0523224 -0.798286 0 vertex 0 -0.799999 25 vertex 0.0523224 -0.798286 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -0.799999 25 vertex 0.0523224 -0.798286 0 vertex 0 -0.799999 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 -0.784628 0 vertex -0.207055 -0.77274 25 vertex -0.156072 -0.784628 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 -0.77274 25 vertex -0.156072 -0.784628 0 vertex -0.207055 -0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 -0.634683 0 vertex -0.527476 -0.601471 25 vertex -0.487009 -0.634683 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 -0.601471 25 vertex -0.487009 -0.634683 0 vertex -0.527476 -0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 -0.69282 0 vertex -0.444456 -0.665175 25 vertex -0.4 -0.69282 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 -0.665175 25 vertex -0.4 -0.69282 0 vertex -0.444456 -0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 -0.4 25 vertex -0.717498 -0.35383 0 vertex -0.717498 -0.35383 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.717498 -0.35383 0 vertex -0.69282 -0.4 25 vertex -0.69282 -0.4 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.757544 -0.257151 25 vertex -0.77274 -0.207055 0 vertex -0.77274 -0.207055 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.77274 -0.207055 0 vertex -0.757544 -0.257151 25 vertex -0.757544 -0.257151 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 -0.0523224 25 vertex -0.799999 0 0 vertex -0.799999 0 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.799999 0 0 vertex -0.798286 -0.0523224 25 vertex -0.798286 -0.0523224 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.784628 -0.156072 25 vertex -0.793156 -0.104421 0 vertex -0.793156 -0.104421 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 -0.104421 0 vertex -0.784628 -0.156072 25 vertex -0.784628 -0.156072 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 -0.757544 0 vertex 0.207055 -0.77274 25 vertex 0.257151 -0.757544 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 -0.77274 25 vertex 0.257151 -0.757544 0 vertex 0.207055 -0.77274 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.306147 -0.739103 0 vertex 0.257151 -0.757544 25 vertex 0.306147 -0.739103 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.257151 -0.757544 25 vertex 0.306147 -0.739103 0 vertex 0.257151 -0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.717498 -0.35383 0 vertex 0.739103 -0.306147 25 vertex 0.739103 -0.306147 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.739103 -0.306147 25 vertex 0.717498 -0.35383 0 vertex 0.717498 -0.35383 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.784628 -0.156072 0 vertex 0.793156 -0.104421 25 vertex 0.793156 -0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.793156 -0.104421 25 vertex 0.784628 -0.156072 0 vertex 0.784628 -0.156072 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 -0.69282 0 vertex 0.35383 -0.717498 25 vertex 0.4 -0.69282 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.35383 -0.717498 25 vertex 0.4 -0.69282 0 vertex 0.35383 -0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.487009 -0.634683 0 vertex 0.444456 -0.665175 25 vertex 0.487009 -0.634683 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 -0.665175 25 vertex 0.487009 -0.634683 0 vertex 0.444456 -0.665175 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0 -0.799999 0 vertex -0.0523224 -0.798286 25 vertex 0 -0.799999 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 -0.798286 25 vertex 0 -0.799999 0 vertex -0.0523224 -0.798286 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.0523224 -0.798286 0 vertex -0.104421 -0.793156 25 vertex -0.0523224 -0.798286 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 -0.793156 25 vertex -0.0523224 -0.798286 0 vertex -0.104421 -0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 -0.757544 0 vertex -0.306147 -0.739103 25 vertex -0.257151 -0.757544 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 -0.739103 25 vertex -0.257151 -0.757544 0 vertex -0.306147 -0.739103 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.207055 -0.77274 0 vertex -0.257151 -0.757544 25 vertex -0.207055 -0.77274 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.257151 -0.757544 25 vertex -0.207055 -0.77274 0 vertex -0.257151 -0.757544 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.306147 -0.739103 0 vertex -0.35383 -0.717498 25 vertex -0.306147 -0.739103 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 -0.717498 25 vertex -0.306147 -0.739103 0 vertex -0.35383 -0.717498 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.444456 -0.665175 0 vertex -0.487009 -0.634683 25 vertex -0.444456 -0.665175 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.487009 -0.634683 25 vertex -0.444456 -0.665175 0 vertex -0.487009 -0.634683 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.527476 -0.601471 0 vertex -0.565685 -0.565685 25 vertex -0.527476 -0.601471 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 -0.565685 25 vertex -0.527476 -0.601471 0 vertex -0.565685 -0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.565685 -0.565685 25 vertex -0.601471 -0.527476 0 vertex -0.601471 -0.527476 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 -0.527476 0 vertex -0.565685 -0.565685 25 vertex -0.565685 -0.565685 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.601471 -0.527476 25 vertex -0.634683 -0.487009 0 vertex -0.634683 -0.487009 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.634683 -0.487009 0 vertex -0.601471 -0.527476 25 vertex -0.601471 -0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.665175 -0.444456 25 vertex -0.69282 -0.4 0 vertex -0.69282 -0.4 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.69282 -0.4 0 vertex -0.665175 -0.444456 25 vertex -0.665175 -0.444456 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.793156 -0.104421 25 vertex -0.798286 -0.0523224 0 vertex -0.798286 -0.0523224 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.798286 -0.0523224 0 vertex -0.793156 -0.104421 25 vertex -0.793156 -0.104421 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.207055 -0.77274 0 vertex 0.156072 -0.784628 25 vertex 0.207055 -0.77274 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 -0.784628 25 vertex 0.207055 -0.77274 0 vertex 0.156072 -0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.156072 -0.784628 0 vertex 0.104421 -0.793156 25 vertex 0.156072 -0.784628 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.104421 -0.793156 25 vertex 0.156072 -0.784628 0 vertex 0.104421 -0.793156 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 -0.565685 0 vertex 0.527476 -0.601471 25 vertex 0.565685 -0.565685 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.527476 -0.601471 25 vertex 0.565685 -0.565685 0 vertex 0.527476 -0.601471 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.565685 -0.565685 0 vertex 0.601471 -0.527476 25 vertex 0.601471 -0.527476 0 endloop endfacet facet normal 0 0 0 outer loop vertex 0.601471 -0.527476 25 vertex 0.565685 -0.565685 0 vertex 0.565685 -0.565685 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.444456 -0.665175 0 vertex 0.4 -0.69282 25 vertex 0.444456 -0.665175 25 endloop endfacet facet normal 0 0 0 outer loop vertex 0.4 -0.69282 25 vertex 0.444456 -0.665175 0 vertex 0.4 -0.69282 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.104421 -0.793156 0 vertex -0.156072 -0.784628 25 vertex -0.104421 -0.793156 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.156072 -0.784628 25 vertex -0.104421 -0.793156 0 vertex -0.156072 -0.784628 0 endloop endfacet facet normal 0 0 0 outer loop vertex -0.35383 -0.717498 0 vertex -0.4 -0.69282 25 vertex -0.35383 -0.717498 25 endloop endfacet facet normal 0 0 0 outer loop vertex -0.4 -0.69282 25 vertex -0.35383 -0.717498 0 vertex -0.4 -0.69282 0 endloop endfacet endsolid OpenSCAD_Model ================================================ FILE: LICENSE.md ================================================ MIT License Copyright (c) 2018 Andrew C. Haas Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ # Haasoscope Docs, design, firmware, and software for the Haasoscope! Read the guide here: https://goo.gl/1Ry1k4 Original funding campaign: https://www.crowdsupply.com/andy-haas/haasoscope (see the "updates" tab for lots of info) Now also for sale on eBay - just search for "Haasoscope": https://www.ebay.com/sch/i.html?_nkw=haasoscope A changelog for the python code is here: https://docs.google.com/document/d/18tjrI03KipmFqbNIHOzAKYy1VVE9wWbefSHazbPP8Gc/edit?usp=sharing and it also has pointers to changelogs for the firmware, board, and android app. 3D printable cases are available (see the guide for info) ================================================ FILE: android/.gitignore ================================================ # Key *.jks # Local configuration file (sdk path, etc) local.properties # Gradle build/ .gradle .idea/workspace.xml .idea/caches/* .idea/misc.xml android.iml ================================================ FILE: android/build.gradle ================================================ buildscript { repositories { jcenter() google() } dependencies { classpath 'com.android.tools.build:gradle:3.1.3' } } allprojects { repositories { jcenter() maven { url "https://jitpack.io" } } } ================================================ FILE: android/cp_debug_apk.sh ================================================ cp -r example/build/outputs/apk/debug . ================================================ FILE: android/debug/output.json ================================================ [{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.4","enabled":true,"outputFile":"example-debug.apk","fullName":"debug","baseName":"debug"},"path":"example-debug.apk","properties":{}}] ================================================ FILE: android/debug_1.0.3/output.json ================================================ [{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.3","enabled":true,"outputFile":"example-debug.apk","fullName":"debug","baseName":"debug"},"path":"example-debug.apk","properties":{}}] ================================================ FILE: android/debug_1.0.4/output.json ================================================ [{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.4","enabled":true,"outputFile":"example-debug.apk","fullName":"debug","baseName":"debug"},"path":"example-debug.apk","properties":{}}] ================================================ FILE: android/example/.gitignore ================================================ /build *.jks signing.properties ================================================ FILE: android/example/build.gradle ================================================ apply plugin: 'com.android.application' android { signingConfigs { config { } } repositories { // The order in which you list these repositories matter. google() jcenter() } compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION) defaultConfig { applicationId "com.felhr.serialportexample" minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION) targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION) versionName project.VERSION_NAME versionCode Integer.parseInt(project.VERSION_CODE) minSdkVersion 14 } compileOptions { encoding "UTF-8" sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } buildToolsVersion '27.0.3' } dependencies { implementation 'com.android.support:support-v4:27.1.1' implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'com.android.support:design:27.1.1' implementation 'com.github.felHR85:UsbSerial:4.5.2' implementation 'com.jjoe64:graphview:4.2.2' } ================================================ FILE: android/example/example.iml ================================================ ================================================ FILE: android/example/src/main/AndroidManifest.xml ================================================ ================================================ FILE: android/example/src/main/java/com/felhr/serialportexample/FFT.java ================================================ package com.felhr.serialportexample; /****************************************************************************** * Compilation: javac FFT.java * Execution: java FFT n * Dependencies: Complex.java * * Compute the FFT and inverse FFT of a length n complex sequence * using the radix 2 Cooley-Tukey algorithm. * Bare bones implementation that runs in O(n log n) time. Our goal * is to optimize the clarity of the code, rather than performance. * * Limitations * ----------- * - assumes n is a power of 2 * * - not the most memory efficient algorithm (because it uses * an object type for representing complex numbers and because * it re-allocates memory for the subarray, instead of doing * in-place or reusing a single temporary array) * * For an in-place radix 2 Cooley-Tukey FFT, see * https://introcs.cs.princeton.edu/java/97data/InplaceFFT.java.html * ******************************************************************************/ public class FFT { class FFTresult{ public FFTresult(double[] absSignal, int mPeakPos, double mMaxFFTSample) { this.absSignal = absSignal; this.mPeakPos = mPeakPos; this.mMaxFFTSample = mMaxFFTSample; } public double[] absSignal; public int mPeakPos; public double mMaxFFTSample; } public FFTresult calculateFFT(double[] signal) { int mNumberOfFFTPoints = signal.length; double mMaxFFTSample; double temp; Complex[] y; Complex[] complexSignal = new Complex[mNumberOfFFTPoints]; double[] absSignal = new double[mNumberOfFFTPoints/2]; for(int i = 0; i < mNumberOfFFTPoints; i++){ //temp = (double)((signal[2*i] & 0xFF) | (signal[2*i+1] << 8)) / 32768.0F; complexSignal[i] = new Complex(signal[i],0.0); } y = FFT.fft(complexSignal); // --> Here I use FFT class mMaxFFTSample = 0.0; int mPeakPos = 0; for(int i = 0; i < (mNumberOfFFTPoints/2); i++) { absSignal[i] = Math.sqrt(Math.pow(y[i].re(), 2) + Math.pow(y[i].im(), 2)); if(i>0 && i mMaxFFTSample) // ignore DC component { mMaxFFTSample = absSignal[i]; mPeakPos = i; } } return new FFTresult(absSignal, mPeakPos, mMaxFFTSample); } // compute the FFT of x[], assuming its length is a power of 2 public static Complex[] fft(Complex[] x) { int n = x.length; // base case if (n == 1) return new Complex[] { x[0] }; // radix 2 Cooley-Tukey FFT if (n % 2 != 0) { throw new IllegalArgumentException("n is not a power of 2"); } // fft of even terms Complex[] even = new Complex[n/2]; for (int k = 0; k < n/2; k++) { even[k] = x[2*k]; } Complex[] q = fft(even); // fft of odd terms Complex[] odd = even; // reuse the array for (int k = 0; k < n/2; k++) { odd[k] = x[2*k + 1]; } Complex[] r = fft(odd); // combine Complex[] y = new Complex[n]; for (int k = 0; k < n/2; k++) { double kth = -2 * k * Math.PI / n; Complex wk = new Complex(Math.cos(kth), Math.sin(kth)); y[k] = q[k].plus(wk.times(r[k])); y[k + n/2] = q[k].minus(wk.times(r[k])); } return y; } // compute the inverse FFT of x[], assuming its length is a power of 2 public static Complex[] ifft(Complex[] x) { int n = x.length; Complex[] y = new Complex[n]; // take conjugate for (int i = 0; i < n; i++) { y[i] = x[i].conjugate(); } // compute forward FFT y = fft(y); // take conjugate again for (int i = 0; i < n; i++) { y[i] = y[i].conjugate(); } // divide by n for (int i = 0; i < n; i++) { y[i] = y[i].scale(1.0 / n); } return y; } // compute the circular convolution of x and y public static Complex[] cconvolve(Complex[] x, Complex[] y) { // should probably pad x and y with 0s so that they have same length // and are powers of 2 if (x.length != y.length) { throw new IllegalArgumentException("Dimensions don't agree"); } int n = x.length; // compute FFT of each sequence Complex[] a = fft(x); Complex[] b = fft(y); // point-wise multiply Complex[] c = new Complex[n]; for (int i = 0; i < n; i++) { c[i] = a[i].times(b[i]); } // compute inverse FFT return ifft(c); } // compute the linear convolution of x and y public static Complex[] convolve(Complex[] x, Complex[] y) { Complex ZERO = new Complex(0, 0); Complex[] a = new Complex[2 * x.length]; for (int i = 0; i < x.length; i++) a[i] = x[i]; for (int i = x.length; i < 2 * x.length; i++) a[i] = ZERO; Complex[] b = new Complex[2 * y.length]; for (int i = 0; i < y.length; i++) b[i] = y[i]; for (int i = y.length; i < 2 * y.length; i++) b[i] = ZERO; return cconvolve(a, b); } } /* * Data type for complex numbers. * * The data type is "immutable" so once you create and initialize * a Complex object, you cannot change it. The "final" keyword * when declaring re and im enforces this rule, making it a * compile-time error to change the .re or .im instance variables after * they've been initialized. * * % java Complex * a = 5.0 + 6.0i * b = -3.0 + 4.0i * Re(a) = 5.0 * Im(a) = 6.0 * b + a = 2.0 + 10.0i * a - b = 8.0 + 2.0i * a * b = -39.0 + 2.0i * b * a = -39.0 + 2.0i * a / b = 0.36 - 1.52i * (a / b) * b = 5.0 + 6.0i * conj(a) = 5.0 - 6.0i * |a| = 7.810249675906654 * tan(a) = -6.685231390246571E-6 + 1.0000103108981198i * */ class Complex { private final double re; // the real part private final double im; // the imaginary part // create a new object with the given real and imaginary parts public Complex(double real, double imag) { re = real; im = imag; } // return a string representation of the invoking Complex object public String toString() { if (im == 0) return re + ""; if (re == 0) return im + "i"; if (im < 0) return re + " - " + (-im) + "i"; return re + " + " + im + "i"; } // return abs/modulus/magnitude public double abs() { return Math.hypot(re, im); } // return angle/phase/argument, normalized to be between -pi and pi public double phase() { return Math.atan2(im, re); } // return a new Complex object whose value is (this + b) public Complex plus(Complex b) { Complex a = this; // invoking object double real = a.re + b.re; double imag = a.im + b.im; return new Complex(real, imag); } // return a new Complex object whose value is (this - b) public Complex minus(Complex b) { Complex a = this; double real = a.re - b.re; double imag = a.im - b.im; return new Complex(real, imag); } // return a new Complex object whose value is (this * b) public Complex times(Complex b) { Complex a = this; double real = a.re * b.re - a.im * b.im; double imag = a.re * b.im + a.im * b.re; return new Complex(real, imag); } // return a new object whose value is (this * alpha) public Complex scale(double alpha) { return new Complex(alpha * re, alpha * im); } // return a new Complex object whose value is the conjugate of this public Complex conjugate() { return new Complex(re, -im); } // return a new Complex object whose value is the reciprocal of this public Complex reciprocal() { double scale = re*re + im*im; return new Complex(re / scale, -im / scale); } // return the real or imaginary part public double re() { return re; } public double im() { return im; } // return a / b public Complex divides(Complex b) { Complex a = this; return a.times(b.reciprocal()); } // return a new Complex object whose value is the complex exponential of this public Complex exp() { return new Complex(Math.exp(re) * Math.cos(im), Math.exp(re) * Math.sin(im)); } // return a new Complex object whose value is the complex sine of this public Complex sin() { return new Complex(Math.sin(re) * Math.cosh(im), Math.cos(re) * Math.sinh(im)); } // return a new Complex object whose value is the complex cosine of this public Complex cos() { return new Complex(Math.cos(re) * Math.cosh(im), -Math.sin(re) * Math.sinh(im)); } // return a new Complex object whose value is the complex tangent of this public Complex tan() { return sin().divides(cos()); } // a static version of plus public static Complex plus(Complex a, Complex b) { double real = a.re + b.re; double imag = a.im + b.im; Complex sum = new Complex(real, imag); return sum; } // See Section 3.3. public boolean equals(Object x) { if (x == null) return false; if (this.getClass() != x.getClass()) return false; Complex that = (Complex) x; return (this.re == that.re) && (this.im == that.im); } } ================================================ FILE: android/example/src/main/java/com/felhr/serialportexample/MainActivity.java ================================================ package com.felhr.serialportexample; import android.Manifest; import android.annotation.SuppressLint; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothSocket; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.ServiceConnection; import android.content.pm.PackageManager; import android.content.res.Configuration; import android.graphics.Color; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.Message; import android.support.v4.app.ActivityCompat; import android.support.v4.view.GestureDetectorCompat; import android.support.v7.app.AppCompatActivity; import android.view.GestureDetector; import android.view.MotionEvent; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; import android.widget.TextView; import android.widget.Toast; import android.widget.ToggleButton; import com.jjoe64.graphview.GraphView; import com.jjoe64.graphview.series.DataPoint; import com.jjoe64.graphview.series.DataPointInterface; import com.jjoe64.graphview.series.LineGraphSeries; import com.jjoe64.graphview.series.OnDataPointTapListener; import com.jjoe64.graphview.series.Series; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.lang.ref.WeakReference; import java.math.BigInteger; import java.nio.ByteBuffer; import java.util.Set; import java.util.UUID; import static com.felhr.serialportexample.UsbService.MESSAGE_FROM_SERIAL_PORT; public class MainActivity extends AppCompatActivity { protected boolean findBT() { mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if(mBluetoothAdapter == null) { display.append("No bluetooth adapter available\n"); } if(!mBluetoothAdapter.isEnabled()) { Intent enableBluetooth = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBluetooth, 0); } Set pairedDevices = mBluetoothAdapter.getBondedDevices(); if(pairedDevices.size() > 0) { for(BluetoothDevice device : pairedDevices) { if(device.getName().equals("HC-05")) { mmDevice = device; display.append("Bluetooth Device Paired\n"); return true; } } } return false; } void openBT() throws IOException { UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); //Standard SerialPortService ID mmSocket = mmDevice.createRfcommSocketToServiceRecord(uuid); mmSocket.connect(); mmOutputStream = mmSocket.getOutputStream(); mmInputStream = mmSocket.getInputStream(); beginListenForData(); doingusb = false; display.append("Bluetooth Opened\n"); } void beginListenForData() { final Handler handler = new Handler(); stopWorker = false; workerThread = new Thread(new Runnable() { public void run() { int bytessofar=0; while(!Thread.currentThread().isInterrupted() && !stopWorker) { try { int bytesAvailable = mmInputStream.available(); if(bytesAvailable > 0) { bytessofar+=bytesAvailable; byte[] packetBytes = new byte[bytesAvailable]; //noinspection ResultOfMethodCallIgnored mmInputStream.read(packetBytes); mHandler.obtainMessage(MESSAGE_FROM_SERIAL_PORT, packetBytes).sendToTarget(); String data = byteArrayToHex(packetBytes); String deb = ""; if (bytessofar==8) { if (debugme) deb=" : sync"; bytessofar=0; } if (bytessofar==numsamples*4) { if (debugme) deb=" : event"; bytessofar=0; } if (debugme) { final String dataf = data + deb; handler.post(new Runnable() { public void run() { display.append(dataf + "\n"); } }); } } } catch (IOException ex){ stopWorker = true; } } } }); workerThread.start(); } void sendData(int x) throws IOException { if (x>127) x -= 256; // since it goes to bytes as twos if (mmOutputStream!=null) mmOutputStream.write(x); //display.append(eventn+" Data Sent: "+x+"\n"); } void closeBT() throws IOException { stopWorker = true; if (mmOutputStream!=null){ mmOutputStream.close(); mmInputStream.close(); mmSocket.close(); } //display.append("Bluetooth Closed\n"); } protected UsbService usbService; protected TextView display; protected EditText editText; protected MyHandler mHandler; private GestureDetectorCompat mDetector; protected ToggleButton toggle_selectchan; protected LineGraphSeries _series0; protected LineGraphSeries _series1; protected LineGraphSeries _series2; protected LineGraphSeries _series3; protected LineGraphSeries _series_hl; protected LineGraphSeries _series_vl; protected GraphView graph; private int numsamples = (int)Math.pow(2,9)+1; // <4096 please, and odd (why?), and close to a power of 2 for FFT private int eventn = 0; private int downsample = 3; private boolean autogo = true; private boolean oldautogo = autogo; private ByteBuffer myserialBuffer; // for synchronizing serial data private String myboardid = ""; private boolean synced = false; private double yscale = 7.5; private double clkrate = 125.0; // ADC sample rate in MHz private double xscaling = 1.0; // account for xaxis ns, us, ms protected float lastscreenX=0, lastscreenY=0; protected float lastscreenfracX=0, lastscreenfracY=0; protected int selectedchannel=-1; // the selected channel, or -1 if none protected boolean [] gain = {false,false,false,false}; // true if high gain protected int [] daclevel = {0,0,0,0}; // the dac level of each channel protected boolean doingfft = false; protected static final boolean debugme = false; BluetoothAdapter mBluetoothAdapter; BluetoothSocket mmSocket; BluetoothDevice mmDevice; OutputStream mmOutputStream; InputStream mmInputStream; Thread workerThread; volatile boolean stopWorker; @Override protected void onDestroy(){ super.onDestroy(); if (!doingusb) { try {closeBT();} catch (IOException ignored) { } } } // this function is called upon creation, and whenever the layout (e.g. portrait/landscape) changes @SuppressLint("ClickableViewAccessibility") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mDetector = new GestureDetectorCompat(this, new MyGestureListener()); if (savedInstanceState!=null) { autogo = savedInstanceState.getBoolean("autogo"); doingfft = savedInstanceState.getBoolean("doingfft"); downsample = savedInstanceState.getInt("downsample"); lastscreenX = savedInstanceState.getFloat("lastscreenX"); lastscreenY = savedInstanceState.getFloat("lastscreenY"); doingusb = savedInstanceState.getBoolean("doingusb"); } init_graph(); setupgraph(); graph.setOnTouchListener(new View.OnTouchListener(){ public boolean onTouch(View v, MotionEvent event) { mDetector.onTouchEvent(event); if(event.getAction() == MotionEvent.ACTION_DOWN) { lastscreenfracX = (event.getX()-graph.getGraphContentLeft())/graph.getGraphContentWidth(); lastscreenfracY = (event.getY()-graph.getGraphContentTop())/graph.getGraphContentHeight(); lastscreenX=(float)(graph.getViewport().getMinX(false)+lastscreenfracX*(graph.getViewport().getMaxX(false)-graph.getViewport().getMinX(false))); lastscreenY= (float)(graph.getViewport().getMaxY(false)-lastscreenfracY*(graph.getViewport().getMaxY(false)-graph.getViewport().getMinY(false))); //display.append("Touch "+String.valueOf(lastscreenX)+" "+String.valueOf(lastscreenY)+"\n"); } return false; } }); graph.setOnLongClickListener(new View.OnLongClickListener(){ public boolean onLongClick(View v) { if (doingfft) return true; //display.append("Long click "+String.valueOf(lastscreenX)+" "+String.valueOf(lastscreenY)+"\n"); graph.removeSeries(_series_hl); graph.removeSeries(_series_vl); add_vl_hl(); int thresh = (int)(255*lastscreenfracY); if (thresh<0) thresh=0; if (thresh>255) thresh=255; waitalot(); send2usb(127); send2usb(thresh); int tt = (int)((numsamples-1)*lastscreenfracX); if (tt<5) tt=5; if (tt>numsamples-5) tt=numsamples-5; tt+=Math.pow(2,12);//use the current timebase in the offset send2usb(121); send2usb(tt/256); send2usb(tt%256); display.append("Trig "+String.valueOf(thresh)+" "+String.valueOf(tt-Math.pow(2,12))+"\n"); donewaitalot(); return false; } }); mHandler = new MyHandler(this); myserialBuffer= ByteBuffer.allocateDirect(numsamples*4*2);//for good luck editText = findViewById(R.id.editText1); display = findViewById(R.id.textView1); toggle_selectchan = findViewById(R.id.toggle_selectchan); final ImageButton button_up = findViewById(R.id.button_up); button_up.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //display.append("up\n"); waitalot(); downsample_plus(); donewaitalot(); } }); final ImageButton button_down = findViewById(R.id.button_down); button_down.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //display.append("down\n"); waitalot(); downsample_minus(); donewaitalot(); } }); final ImageButton button_share = findViewById(R.id.button_share); button_share.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //display.append("share\n"); if (isStoragePermissionGranted()){ graph.takeSnapshotAndShare(graph.getContext(), "Haasoscope share", "Haasoscope share"); } else{ display.append("no permissions?\n"); } } }); final ImageButton button_pause = findViewById(R.id.button_pause); button_pause.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //display.append("pause\n"); waitalot(); autogo = !oldautogo; oldautogo = autogo; donewaitalot(); } }); toggle_selectchan.setTextOff("-1"); toggle_selectchan.setChecked(false); toggle_selectchan.invalidate(); toggle_selectchan.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (selectedchannel>=0) { myseries[selectedchannel].setThickness(thickness); graph.invalidate(); selectedchannel = -1; toggle_selectchan.setTextOff("-1"); toggle_selectchan.setChecked(false); toggle_selectchan.invalidate(); } else{ selectedchannel = 0; myseries[selectedchannel].setThickness(2*thickness); graph.invalidate(); toggle_selectchan.setTextOn("0"); toggle_selectchan.setChecked(true); toggle_selectchan.invalidate(); } } }); if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { display.setVisibility(View.GONE); } else { display.setVisibility(View.VISIBLE); } final Button sendButton = findViewById(R.id.buttonSend); sendButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String data = editText.getText().toString(); if (!data.equals("")) { waitalot(); switch (data) { case "G": case "g": send_initialize(); editText.setText(""); break; case "p": case "P": autogo = !oldautogo; oldautogo = autogo; break; case "f": case "F": doingfft = !doingfft; display.append("dofft now = "+doingfft+"\n"); setupgraph(); break; case "(": case "( ": downsample_plus(); break; case ")": case ") ": downsample_minus(); break; case "x": send2usb(134); send2usb(0); togglegain(0); send2usb(134); send2usb(1); togglegain(1); send2usb(134); send2usb(2); togglegain(2); send2usb(134); send2usb(3); togglegain(3); break; case "x0": send2usb(134); send2usb(0); togglegain(0); break; case "x1": send2usb(134); send2usb(1); togglegain(1); break; case "x2": send2usb(134); send2usb(2); togglegain(2); break; case "x3": send2usb(134); send2usb(3); togglegain(3); break; default: display.append(data + "\n"); int di; try { di = Integer.parseInt(data); } catch (NumberFormatException e) { di = -1; } if (di >= 0 && di <= 255) { send2usb(di); // only send if it was a positive integer, 0-255 } else { display.append("bad/unknown command!\n"); editText.setText(""); } break; } donewaitalot(); } } }); if (findBT()) { try { openBT(); } catch (IOException ex) { display.append("BT not opened\n"); } } // a little kickstart for autogo... if (autogo) new kickstartThread().start(); display.append("Haasoscope "+BuildConfig.VERSION_NAME+"\n"); } private void togglegain(int chan){ gain[chan]=!gain[chan]; waitalittle(); if (gain[chan]) setdac(chan,daclevel[chan]+800); else setdac(chan,daclevel[chan]-800); } private void downsample_plus(){ if (downsample < 15) { downsample += 1; display.append("downsample is " + String.valueOf(downsample) + " \n"); send2usb(124); send2usb(downsample); int ds = downsample - 3; if (ds < 1) ds = 1; if (ds > 8) ds = 8; // otherwise we timeout upon readout send2usb(125); send2usb(ds); setupgraph(); } } private void downsample_minus(){ if (downsample > 0) { downsample -= 1; display.append("downsample is " + String.valueOf(downsample) + " \n"); send2usb(124); send2usb(downsample); int ds = downsample - 3; if (ds < 1) ds = 1; if (ds > 8) ds = 8; // otherwise we timeout upon readout send2usb(125); send2usb(ds); setupgraph(); } } class MyGestureListener extends GestureDetector.SimpleOnGestureListener { @Override public boolean onDown(MotionEvent event) { return true; } @Override public boolean onFling(MotionEvent event1, MotionEvent event2, float velocityX, float velocityY) { //display.append( "onFling: " + event1.toString() + event2.toString() +"\n" + velocityX + " " + velocityY +"\n"); if (velocityX<-10000) { display.append("fling left\n"); //waitalot(); downsample_minus(); donewaitalot(); return true; } if (velocityX>10000) { display.append("fling right\n"); //waitalot(); downsample_plus(); donewaitalot(); return true; } if (selectedchannel>=0 && selectedchannel<=3){ int dy = (int)(event2.getY() - event1.getY()); display.append("dy = "+dy+"\n"); waitalot(); setdac(selectedchannel,daclevel[selectedchannel]+dy); donewaitalot(); } return true; } } private boolean gotaneventlately=false; private class kickstartThread extends Thread { @Override public void run() { gotaneventlately=false; while (true) { try { kickstartThread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); return; } if (!gotaneventlately) { send2usb(10); } else return; } } } @Override public void onSaveInstanceState(Bundle savedInstanceState) { super.onSaveInstanceState(savedInstanceState); // Save UI state changes to the savedInstanceState. savedInstanceState.putBoolean("autogo", autogo); savedInstanceState.putBoolean("doingfft",doingfft); savedInstanceState.putInt("downsample",downsample); savedInstanceState.putFloat("lastscreenX",lastscreenX); savedInstanceState.putFloat("lastscreenY",lastscreenY); savedInstanceState.putBoolean("doingusb",doingusb); } void send_initialize(){ waitalittle(); send2usb(0); send2usb(20); // board ID 0 send2usb(30); send2usb(142); // get board ID waitalittle(); if (doingusb) { send2usb(135); send2usb(3); send2usb(100); // serialdelaytimerwait } else { send2usb(135); send2usb(0); send2usb(0); // serialdelaytimerwait } send2usb(143); // enable highres mode waitalittle(); send2usb(139); // auto-rearm trigger send2usb(100);//final arming //send2usb(122); send2usb(1); send2usb(0); // 256 samples per channel send2usb(122); send2usb(numsamples/256); send2usb(numsamples%256); // samples per channel send2usb(123); send2usb(0); // send increment send2usb(124); send2usb(downsample); // downsample 3 send2usb(125); send2usb(1); // tickstowait 1 //100, 10 // get event (or just 10 if auto-rearming) waitalittle(); send2usb(136); send2usb(2); send2usb(32); send2usb(0); send2usb(0); send2usb(255); send2usb(200);// io expanders on waitalittle(); send2usb(136); send2usb(2); send2usb(32); send2usb(1); send2usb(0); send2usb(255); send2usb(200);// io expanders on waitalittle(); send2usb(136); send2usb(2); send2usb(33); send2usb(0); send2usb(0); send2usb(255); send2usb(200);// io expanders on waitalittle(); send2usb(136); send2usb(2); send2usb(33); send2usb(1); send2usb(0); send2usb(255); send2usb(200);// io expanders on waitalittle(); send2usb(136); send2usb(2); send2usb(32); send2usb(18); send2usb(240); send2usb(255); send2usb(200);// init, and turn on ADCs! waitalittle(); send2usb(136); send2usb(2); send2usb(32); send2usb(19); send2usb(15); send2usb(255); send2usb(200);// init, and turn on ADCs! waitalittle(); send2usb(136); send2usb(2); send2usb(33); send2usb(18); send2usb(0); send2usb(255); send2usb(200);// init, and turn on ADCs! waitalittle(); send2usb(136); send2usb(2); send2usb(33); send2usb(19); send2usb(0); send2usb(255); send2usb(200);// init, and turn on ADCs! waitalittle(); send2usb(131); send2usb(8); send2usb(0); // spi offset waitalittle(); send2usb(131); send2usb(6); send2usb(16); // spi offset binary output //waitalittle(); send2usb(131); send2usb(6); send2usb(80); // spi offset binary output - test pattern waitalittle(); send2usb(131); send2usb(1); send2usb(0 ); // spi not multiplexed output //waitalittle(); send2usb(136); send2usb(3); send2usb(96); send2usb(80); send2usb(136); send2usb(22); send2usb(0); // board 0 calib, chan 0 //waitalittle(); send2usb(136); send2usb(3); send2usb(96); send2usb(82); send2usb(135); send2usb(248); send2usb(0); // board 0 calib, chan 1 //waitalittle(); send2usb(136); send2usb(3); send2usb(96); send2usb(84); send2usb(136); send2usb(52); send2usb(0); // board 0 calib, chan 2 //waitalittle(); send2usb(136); send2usb(3); send2usb(96); send2usb(86); send2usb(136); send2usb(52); send2usb(0); // board 0 calib, chan 3 waitalittle(); setdac(0,2070); waitalittle(); setdac(1,2040); waitalittle(); setdac(2,2100); waitalittle(); setdac(3,2100); waitalittle(); display.append("sent initialization commands \n"); } protected void setupgraph(){ if (doingfft){ double range = (clkrate/2.)/Math.pow(2,downsample); graph.getViewport().setMinX(0.); if (range>1.) { xscaling = 1.; graph.getGridLabelRenderer().setHorizontalAxisTitle("Frequency (MHz)"); } else if (range<1.){ xscaling = .001; graph.getGridLabelRenderer().setHorizontalAxisTitle("Frequency (kHz)"); } graph.getViewport().setMaxX(range/xscaling); graph.removeSeries(_series_hl); graph.removeSeries(_series_vl); } else { double range = (numsamples/2)*(Math.pow(2,downsample)/clkrate); if (range>1000.) { xscaling=1000.; graph.getGridLabelRenderer().setHorizontalAxisTitle("Time (ms)"); } else { graph.getGridLabelRenderer().setHorizontalAxisTitle("Time (us)"); xscaling=1.; } graph.getViewport().setMinX(-range/xscaling); graph.getViewport().setMaxX(range/xscaling); graph.removeSeries(_series_hl); graph.removeSeries(_series_vl); add_vl_hl(); } graph.invalidate(); } private String processdata(byte [] bd){ int histlen=bd.length/4; double yoffset = 0.; String debug = ""; DataPoint [] [] seriesies = new DataPoint[4][histlen-1]; int s=0; for (int ss=0; ss<4; ++ss) { for (int p = 0; p < histlen - 1; ++p) { int bdp = bd[1+p+s];//ignore the first sample in each channel if (bdp < 0) bdp += 256; bdp -= 128; double yval = (yoffset - bdp) * (yscale / 256.); // got to flip it, since it's a negative feedback op amp double xoffset = (p - (p / histlen) * histlen - numsamples / 2) * (Math.pow(2, downsample) / clkrate / xscaling); seriesies[ss][p] = new DataPoint(xoffset, yval); } s+=histlen; } if (doingfft){ FFT.FFTresult [] ffTresult = new FFT.FFTresult[4]; double MaxFFTSample = 0.; for (int ss=0; ss<4; ++ss) { double[] x = new double[seriesies[ss].length]; for (int i = 0; i < seriesies[ss].length; ++i) { x[i] = seriesies[ss][i].getY(); ++i; } FFT myfft = new FFT(); ffTresult[ss] = myfft.calculateFFT(x); if (ffTresult[ss].mMaxFFTSample>MaxFFTSample) MaxFFTSample=ffTresult[ss].mMaxFFTSample; } for (int ss=0; ss<4; ++ss) { seriesies[ss] = new DataPoint[ffTresult[ss].absSignal.length/2-1]; double fftscale = 8.0/MaxFFTSample; for (int i = 0; i < ffTresult[ss].absSignal.length/2-1; ++i) { double freq = (clkrate/2./xscaling)*(i+1)/(ffTresult[ss].absSignal.length/2)/Math.pow(2,downsample); seriesies[ss][i] = new DataPoint(freq, -4.0 + fftscale * ffTresult[ss].absSignal[i+1]); } } } _series0.resetData(seriesies[0]); _series1.resetData(seriesies[1]); _series2.resetData(seriesies[2]); _series3.resetData(seriesies[3]); eventn++;//count the events gotaneventlately=true; if (eventn%100==0) display.append("event "+String.valueOf(eventn)+"\n"); if (autogo) send2usb(10); // get another event return debug; } public static String byteArrayToHex(byte[] a) { StringBuilder sb = new StringBuilder(a.length * 2); for(byte b: a) sb.append(String.format("%02x", b)); return sb.toString(); } static class MyHandler extends Handler { private final WeakReference mActivity; private MyHandler(MainActivity activity) { mActivity = new WeakReference<>(activity); } @Override public void handleMessage(Message msg) { switch (msg.what) { case MESSAGE_FROM_SERIAL_PORT: byte [] bd = (byte[])msg.obj; if (8==bd.length) { //get the board id and save it, from the initial 142 call probably if (mActivity.get().myboardid.isEmpty()) { mActivity.get().myboardid = byteArrayToHex(bd); if (debugme) mActivity.get().display.append("myboardid = " + mActivity.get().myboardid+"\n"); mActivity.get().synced = true; } else if (byteArrayToHex(bd).equals(mActivity.get().myboardid)) { mActivity.get().synced = true; // if we got a matching board id, we're synced up if (mActivity.get().autogo) mActivity.get().send2usb(10);//get another event } else mActivity.get().synced=false; mActivity.get().myserialBuffer.position(0); mActivity.get().myserialBuffer.clear(); if (debugme) mActivity.get().display.append("synced now "+String.valueOf(mActivity.get().synced)+" - "+String.valueOf(mActivity.get().eventn)+"\n"); } else{ //deal with other sized packet mActivity.get().myserialBuffer.put(bd); // hopefully we have enough room in the buffer } //make sure we have the expected number of bytes //check via a call to get board id to make sure we know where we are in the serial stream String res=""; if (mActivity.get().synced && mActivity.get().myserialBuffer.position()==mActivity.get().numsamples*4) {//good! byte[] dst = new byte[mActivity.get().myserialBuffer.position()]; mActivity.get().myserialBuffer.position(0); mActivity.get().myserialBuffer.get(dst, 0, dst.length); mActivity.get().myserialBuffer.clear(); if (debugme) res = mActivity.get().processdata(dst); else mActivity.get().processdata(dst); } else if ((mActivity.get().doingusb) && mActivity.get().myserialBuffer.position()%mActivity.get().numsamples!=0){ //oops, we got a weird amount over usb? better resync! (BT often gives odd sized packets) mActivity.get().myserialBuffer.position(0); mActivity.get().myserialBuffer.clear(); mActivity.get().synced=false; } else if (mActivity.get().myserialBuffer.position()>mActivity.get().numsamples*4) { //oops, we got too much data? better resync! mActivity.get().myserialBuffer.position(0); mActivity.get().myserialBuffer.clear(); mActivity.get().synced=false; } if (!mActivity.get().synced){ mActivity.get().myserialBuffer.position(0); mActivity.get().myserialBuffer.clear(); mActivity.get().send2usb(142);//request the board ID } //if (mActivity.get().display.getLineCount()>10) mActivity.get().display.setText(""); if (debugme) if (bd.length!=mActivity.get().numsamples || !res.equals("")) mActivity.get().display.append(res +" - "+String.valueOf(mActivity.get().eventn)+" - "+String.valueOf(bd.length)+"\n"); break; case UsbService.CTS_CHANGE: Toast.makeText(mActivity.get(), "CTS_CHANGE",Toast.LENGTH_LONG).show(); break; case UsbService.DSR_CHANGE: Toast.makeText(mActivity.get(), "DSR_CHANGE",Toast.LENGTH_LONG).show(); break; } } } final int radius = 6; final int thickness = 4; protected LineGraphSeries [] myseries; protected void init_graph() { graph = findViewById(R.id.graph); graph.getViewport().setBackgroundColor(Color.WHITE); graph.getViewport().setDrawBorder(true); graph.getGridLabelRenderer().setHighlightZeroLines(false); graph.getGridLabelRenderer().setPadding(60); _series0 = new LineGraphSeries<>(new DataPoint[]{ new DataPoint(-12, 1), new DataPoint(-6, 2), new DataPoint(0, 3), new DataPoint(6, 2), new DataPoint(12, -2) }); _series0.setTitle("Chan 0"); _series0.setColor(Color.RED); _series0.setDrawDataPoints(true); _series0.setDataPointsRadius(radius); _series0.setThickness(thickness); graph.addSeries(_series0); _series1 = new LineGraphSeries<>(new DataPoint[]{ new DataPoint(-12, 2), new DataPoint(-6, 1), new DataPoint(0, -1), new DataPoint(6, 0), new DataPoint(12, 1) }); _series1.setTitle("Chan 1"); _series1.setColor(Color.GREEN); _series1.setDrawDataPoints(true); _series1.setDataPointsRadius(radius); _series1.setThickness(thickness); graph.addSeries(_series1); _series2 = new LineGraphSeries<>(new DataPoint[]{ new DataPoint(-12, 3), new DataPoint(-6, 2), new DataPoint(0, 2), new DataPoint(6, -1), new DataPoint(12, -2) }); _series2.setTitle("Chan 2"); _series2.setColor(Color.BLUE); _series2.setDrawDataPoints(true); _series2.setDataPointsRadius(radius); _series2.setThickness(thickness); graph.addSeries(_series2); _series3 = new LineGraphSeries<>(new DataPoint[]{ new DataPoint(-12, -3), new DataPoint(-6, -2), new DataPoint(0, -3), new DataPoint(6, -2), new DataPoint(12, -1) }); _series3.setTitle("Chan 3"); _series3.setColor(Color.MAGENTA); _series3.setDrawDataPoints(true); _series3.setDataPointsRadius(radius); _series3.setThickness(thickness); graph.addSeries(_series3); myseries = new LineGraphSeries[]{_series0, _series1, _series2, _series3}; for (LineGraphSeries s : myseries) { s.setOnDataPointTapListener(new OnDataPointTapListener() { @Override public void onTap(Series series, DataPointInterface dataPoint) { display.append("clicked: " + series.getTitle() + " " + dataPoint.toString() + "\n"); int i = 0; selectedchannel = -1; for (LineGraphSeries s : myseries) { if (s.getTitle().equals(series.getTitle())) { if (toggle_selectchan.isChecked()) { s.setThickness(2 * thickness); selectedchannel = i; toggle_selectchan.setTextOn(String.valueOf(selectedchannel)); toggle_selectchan.setChecked(true); toggle_selectchan.invalidate(); } else { display.append("Locked! Click -1 button to unlock.\n"); } } else { s.setThickness(thickness); } ++i; } graph.invalidate(); } }); } if (!doingfft) { add_vl_hl(); } graph.getViewport().setXAxisBoundsManual(true); graph.getViewport().setMinY(-yscale/2.-.25); graph.getViewport().setMaxY(yscale/2.+.25); graph.getViewport().setYAxisBoundsManual(true); graph.getViewport().setScrollable(true); graph.getViewport().setScalable(true); graph.getGridLabelRenderer().setNumHorizontalLabels(7); graph.getGridLabelRenderer().setHumanRounding(true,false); graph.getGridLabelRenderer().setVerticalAxisTitle("Volts"); graph.getGridLabelRenderer().setNumVerticalLabels(9); } protected void add_vl_hl() { if (graph.getSeries().contains(_series_hl)) return; _series_hl = new LineGraphSeries<>(new DataPoint[]{ new DataPoint(-numsamples/2/clkrate/xscaling * Math.pow(2, downsample), lastscreenY), new DataPoint( numsamples/2/clkrate/xscaling * Math.pow(2, downsample), lastscreenY) }); _series_hl.setTitle("Trig thresh"); _series_hl.setColor(Color.GRAY); _series_hl.setDrawDataPoints(false); _series_hl.setThickness(thickness); graph.addSeries(_series_hl); _series_vl = new LineGraphSeries<>(new DataPoint[]{ new DataPoint(lastscreenX, 4), new DataPoint(lastscreenX, -4) }); _series_vl.setTitle("Trig pos"); _series_vl.setColor(Color.GRAY); _series_vl.setDrawDataPoints(false); _series_vl.setThickness(thickness); graph.addSeries(_series_vl); } public boolean isStoragePermissionGranted() { if (Build.VERSION.SDK_INT >= 23) { if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { return true; } else { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1); return false; } } else { //permission is automatically granted on sdk<23 upon installation return true; } } protected void waitalittle(){ try { if (doingusb) Thread.sleep(50); else Thread.sleep(150); // need longer delay for BT?? } catch (InterruptedException e) { e.printStackTrace(); } } protected void waitalot(){ oldautogo = autogo; autogo=false; try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } } protected void donewaitalot(){ autogo=oldautogo; if (autogo) send2usb(10);//for good luck } protected void setdac(int chan, int val){ // channel 0 , board 0 calib // 136, 3, // header for i2c command with 3 bytes of data // 96, // i2c address of dac // 80, // channel 80,82,84,86 for chan 0,1,2,3 // 136, 22, // high 4 bits can be 8 or 9 (internal ref 2V or 4V, respectively), next 12 bits are the 0-4095 level // 0 // send to board 0 (200 for all boards) if (chan<0 || chan>3) return; if (val>4096*2-1 || val<0) return; daclevel[chan]=val; //remember it int d=8*16; //internal ref, gain=1 (0-2V) if (val>4095) { d=9*16; //internal ref, gain=2 (0-4V) val/=2; } send2usb(136); send2usb(3); send2usb(96); send2usb(80+2*chan); send2usb(d+val/256); send2usb(val%256); send2usb(200); } protected void send2usb(int x){ try{sendData(x);} catch (IOException ex) { display.append("IOexception!"); } if (x>127) x -= 256; // since it goes to bytes as twos if (usbService != null) usbService.write( BigInteger.valueOf(x).toByteArray() ); } private final ServiceConnection usbConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName arg0, IBinder arg1) { usbService = ((UsbService.UsbBinder) arg1).getService(); usbService.setHandler(mHandler); } @Override public void onServiceDisconnected(ComponentName arg0) { usbService = null; } }; public boolean doingusb=false; private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction() == null) return; switch (intent.getAction()) { case UsbService.ACTION_USB_PERMISSION_GRANTED: // USB PERMISSION GRANTED doingusb=true; Toast.makeText(context, "Haasoscope USB Ready", Toast.LENGTH_SHORT).show(); waitalot(); send_initialize(); donewaitalot(); break; case UsbService.ACTION_USB_PERMISSION_NOT_GRANTED: // USB PERMISSION NOT GRANTED doingusb=false; Toast.makeText(context, "USB Permission not granted", Toast.LENGTH_SHORT).show(); break; case UsbService.ACTION_NO_USB: // NO USB CONNECTED doingusb=false; Toast.makeText(context, "No USB connected", Toast.LENGTH_SHORT).show(); break; case UsbService.ACTION_USB_DISCONNECTED: // USB DISCONNECTED doingusb=false; Toast.makeText(context, "USB disconnected", Toast.LENGTH_SHORT).show(); break; case UsbService.ACTION_USB_NOT_SUPPORTED: // USB NOT SUPPORTED doingusb=false; Toast.makeText(context, "USB device not supported", Toast.LENGTH_SHORT).show(); break; } } }; @Override public void onResume() { super.onResume(); setFilters(); // Start listening notifications from UsbService startService(UsbService.class, usbConnection); // Start UsbService(if it was not started before) and Bind it } @Override public void onPause() { super.onPause(); unregisterReceiver(mUsbReceiver); unbindService(usbConnection); } private void startService(Class service, ServiceConnection serviceConnection) { if (!UsbService.SERVICE_CONNECTED) { startService(new Intent(this, service)); } Intent bindingIntent = new Intent(this, service); bindService(bindingIntent, serviceConnection, Context.BIND_AUTO_CREATE); } private void setFilters() { IntentFilter filter = new IntentFilter(); filter.addAction(UsbService.ACTION_USB_PERMISSION_GRANTED); filter.addAction(UsbService.ACTION_NO_USB); filter.addAction(UsbService.ACTION_USB_DISCONNECTED); filter.addAction(UsbService.ACTION_USB_NOT_SUPPORTED); filter.addAction(UsbService.ACTION_USB_PERMISSION_NOT_GRANTED); registerReceiver(mUsbReceiver, filter); } } ================================================ FILE: android/example/src/main/java/com/felhr/serialportexample/UsbService.java ================================================ package com.felhr.serialportexample; import android.app.PendingIntent; import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.hardware.usb.UsbDevice; import android.hardware.usb.UsbDeviceConnection; import android.hardware.usb.UsbManager; import android.os.Binder; import android.os.Handler; import android.os.IBinder; import com.felhr.usbserial.CDCSerialDevice; import com.felhr.usbserial.UsbSerialDevice; import com.felhr.usbserial.UsbSerialInterface; //import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.Map; public class UsbService extends Service { public static final String ACTION_USB_READY = "com.felhr.connectivityservices.USB_READY"; public static final String ACTION_USB_ATTACHED = "android.hardware.usb.action.USB_DEVICE_ATTACHED"; public static final String ACTION_USB_DETACHED = "android.hardware.usb.action.USB_DEVICE_DETACHED"; public static final String ACTION_USB_NOT_SUPPORTED = "com.felhr.usbservice.USB_NOT_SUPPORTED"; public static final String ACTION_NO_USB = "com.felhr.usbservice.NO_USB"; public static final String ACTION_USB_PERMISSION_GRANTED = "com.felhr.usbservice.USB_PERMISSION_GRANTED"; public static final String ACTION_USB_PERMISSION_NOT_GRANTED = "com.felhr.usbservice.USB_PERMISSION_NOT_GRANTED"; public static final String ACTION_USB_DISCONNECTED = "com.felhr.usbservice.USB_DISCONNECTED"; public static final String ACTION_CDC_DRIVER_NOT_WORKING = "com.felhr.connectivityservices.ACTION_CDC_DRIVER_NOT_WORKING"; public static final String ACTION_USB_DEVICE_NOT_WORKING = "com.felhr.connectivityservices.ACTION_USB_DEVICE_NOT_WORKING"; public static final int MESSAGE_FROM_SERIAL_PORT = 0; public static final int CTS_CHANGE = 1; public static final int DSR_CHANGE = 2; private static final String ACTION_USB_PERMISSION = "com.android.example.USB_PERMISSION"; private static final int BAUD_RATE = 1500000; //921600; //9600; // BaudRate. Change this value if you need public static boolean SERVICE_CONNECTED = false; private IBinder binder = new UsbBinder(); private Context context; private Handler mHandler; private UsbManager usbManager; private UsbDevice device; private UsbDeviceConnection connection; private UsbSerialDevice serialPort; private boolean serialPortConnected; /* * Data received from serial port will be received here. Just populate onReceivedData with your code * In this particular example. byte stream is converted to String and send to UI thread to * be treated there. */ private UsbSerialInterface.UsbReadCallback mCallback = new UsbSerialInterface.UsbReadCallback() { @Override public void onReceivedData(byte[] arg0) { if (mHandler != null) { mHandler.obtainMessage(MESSAGE_FROM_SERIAL_PORT, arg0).sendToTarget(); } } }; /* * State changes in the CTS line will be received here */ private UsbSerialInterface.UsbCTSCallback ctsCallback = new UsbSerialInterface.UsbCTSCallback() { @Override public void onCTSChanged(boolean state) { if(mHandler != null) mHandler.obtainMessage(CTS_CHANGE).sendToTarget(); } }; /* * State changes in the DSR line will be received here */ private UsbSerialInterface.UsbDSRCallback dsrCallback = new UsbSerialInterface.UsbDSRCallback() { @Override public void onDSRChanged(boolean state) { if(mHandler != null) mHandler.obtainMessage(DSR_CHANGE).sendToTarget(); } }; private static final int CH341_REQ_WRITE_REG = 0x9A; private static final int REQTYPE_HOST_TO_DEVICE = 0x40; protected static final int USB_TIMEOUT = 5000; // for setting the baud rate >921600 private void setBaudRateLinux(int baud) { // ported from linux driver: https://github.com/Ozzadar/CH341SER_LINUX/blob/master/ch34x.c long a, b; long factor; short divisor; factor = (1532620800 / baud); divisor = 3; while ((factor > 0xfff0) && divisor>0) { factor >>= 3; divisor--; } if (factor > 0xfff0) return; factor = 0x10000 - factor; a = (factor & 0xff00) | divisor; b = factor & 0xff; //r = ch341_control_out(dev, 0x9a, 0x1312, a); setControlCommandOut(CH341_REQ_WRITE_REG, 0x1312, (int)a); //r = ch341_control_out(dev, 0x9a, 0x0f2c, b); setControlCommandOut(CH341_REQ_WRITE_REG, 0x0f2c, (int)b); } private void setControlCommandOut(int request, int value, int index) { int dataLength = 0; connection.controlTransfer(REQTYPE_HOST_TO_DEVICE, request, value, index, null, dataLength, USB_TIMEOUT); } /* * Different notifications from OS will be received here (USB attached, detached, permission responses...) * About BroadcastReceiver: http://developer.android.com/reference/android/content/BroadcastReceiver.html */ private final BroadcastReceiver usbReceiver = new BroadcastReceiver() { @Override public void onReceive(Context arg0, Intent arg1) { if (arg1.getAction()==null) return; switch (arg1.getAction()) { case ACTION_USB_PERMISSION: if (arg1.getExtras()==null) return; boolean granted = arg1.getExtras().getBoolean(UsbManager.EXTRA_PERMISSION_GRANTED); if (granted) // User accepted our USB connection. Try to open the device as a serial port { Intent intent = new Intent(ACTION_USB_PERMISSION_GRANTED); arg0.sendBroadcast(intent); connection = usbManager.openDevice(device); new ConnectionThread().start(); } else // User not accepted our USB connection. Send an Intent to the Main Activity { Intent intent = new Intent(ACTION_USB_PERMISSION_NOT_GRANTED); arg0.sendBroadcast(intent); } break; case ACTION_USB_ATTACHED: if (!serialPortConnected) findSerialPortDevice(); // A USB device has been attached. Try to open it as a Serial port break; case ACTION_USB_DETACHED: // Usb device was disconnected. send an intent to the Main Activity Intent intent = new Intent(ACTION_USB_DISCONNECTED); arg0.sendBroadcast(intent); if (serialPortConnected) { serialPort.close(); } serialPortConnected = false; break; } } }; /* * onCreate will be executed when service is started. It configures an IntentFilter to listen for * incoming Intents (USB ATTACHED, USB DETACHED...) and it tries to open a serial port. */ @Override public void onCreate() { this.context = this; serialPortConnected = false; UsbService.SERVICE_CONNECTED = true; setFilter(); usbManager = (UsbManager) getSystemService(Context.USB_SERVICE); findSerialPortDevice(); } /* MUST READ about services * http://developer.android.com/guide/components/services.html * http://developer.android.com/guide/components/bound-services.html */ @Override public IBinder onBind(Intent intent) { return binder; } @Override public int onStartCommand(Intent intent, int flags, int startId) { return Service.START_NOT_STICKY; } @Override public void onDestroy() { super.onDestroy(); UsbService.SERVICE_CONNECTED = false; } /* * This function will be called from MainActivity to write data through Serial Port */ public void write(byte[] data) { if (serialPort != null) serialPort.write(data); } public void setHandler(Handler mHandler) { this.mHandler = mHandler; } private void findSerialPortDevice() { // This snippet will try to open the first encountered usb device connected, excluding usb root hubs HashMap usbDevices = usbManager.getDeviceList(); if (!usbDevices.isEmpty()) { boolean keep = true; for (Map.Entry entry : usbDevices.entrySet()) { device = entry.getValue(); int deviceVID = device.getVendorId(); int devicePID = device.getProductId(); if (deviceVID != 0x1d6b && (devicePID != 0x0001 && devicePID != 0x0002 && devicePID != 0x0003) && deviceVID != 0x5c6 && devicePID != 0x904c) { // There is a device connected to our Android device. Try to open it as a Serial Port. requestUserPermission(); keep = false; } else { connection = null; device = null; } if (!keep) break; } if (!keep) { // There is no USB devices connected (but usb host were listed). Send an intent to MainActivity. Intent intent = new Intent(ACTION_NO_USB); sendBroadcast(intent); } } else { // There is no USB devices connected. Send an intent to MainActivity Intent intent = new Intent(ACTION_NO_USB); sendBroadcast(intent); } } private void setFilter() { IntentFilter filter = new IntentFilter(); filter.addAction(ACTION_USB_PERMISSION); filter.addAction(ACTION_USB_DETACHED); filter.addAction(ACTION_USB_ATTACHED); registerReceiver(usbReceiver, filter); } /* * Request user permission. The response will be received in the BroadcastReceiver */ private void requestUserPermission() { PendingIntent mPendingIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0); usbManager.requestPermission(device, mPendingIntent); } public class UsbBinder extends Binder { public UsbService getService() { return UsbService.this; } } /* * A simple thread to open a serial port. * Although it should be a fast operation. moving usb operations away from UI thread is a good thing. */ private class ConnectionThread extends Thread { @Override public void run() { serialPort = UsbSerialDevice.createUsbSerialDevice(device, connection); if (serialPort != null) { if (serialPort.open()) { serialPortConnected = true; if (BAUD_RATE>921600) setBaudRateLinux(BAUD_RATE); // ACH else serialPort.setBaudRate(BAUD_RATE); serialPort.setDataBits(UsbSerialInterface.DATA_BITS_8); serialPort.setStopBits(UsbSerialInterface.STOP_BITS_1); serialPort.setParity(UsbSerialInterface.PARITY_NONE); /* * Current flow control Options: * UsbSerialInterface.FLOW_CONTROL_OFF * UsbSerialInterface.FLOW_CONTROL_RTS_CTS only for CP2102 and FT232 * UsbSerialInterface.FLOW_CONTROL_DSR_DTR only for CP2102 and FT232 */ serialPort.setFlowControl(UsbSerialInterface.FLOW_CONTROL_OFF); serialPort.read(mCallback); serialPort.getCTS(ctsCallback); serialPort.getDSR(dsrCallback); // // Some Arduinos would need some sleep because firmware wait some time to know whether a new sketch is going // to be uploaded or not //Thread.sleep(2000); // sleep some. YMMV with different chips. // Everything went as expected. Send an intent to MainActivity Intent intent = new Intent(ACTION_USB_READY); context.sendBroadcast(intent); } else { // Serial port could not be opened, maybe an I/O error or if CDC driver was chosen, it does not really fit // Send an Intent to Main Activity if (serialPort instanceof CDCSerialDevice) { Intent intent = new Intent(ACTION_CDC_DRIVER_NOT_WORKING); context.sendBroadcast(intent); } else { Intent intent = new Intent(ACTION_USB_DEVICE_NOT_WORKING); context.sendBroadcast(intent); } } } else { // No driver for given device, even generic CDC driver could not be loaded Intent intent = new Intent(ACTION_USB_NOT_SUPPORTED); context.sendBroadcast(intent); } } } } ================================================ FILE: android/example/src/main/res/drawable/ic_launcher_background.xml ================================================ ================================================ FILE: android/example/src/main/res/layout/activity_main.xml ================================================